@charset "UTF-8";
/*
============================================================
コンテンツ　設定
============================================================
*/

body{
	background-color:#ffca28;
}

/*----------アコーディオン---------*/
.title {cursor: pointer;}

/*----------格子柄---------*/
.plaid {
  background-color:#fff;
  background-image:linear-gradient(90deg,rgba(255,183,40,.25) 1px, transparent 1px), linear-gradient(rgba(255,183,40,.25) 1px, transparent 1px);
  background-position:10px 10px;
  background-size:24px 24px;
}

.img_drop_shadow{filter: drop-shadow(10px 3px 0 rgba(200,140,0,.25));}

/*----------ボタン---------*/
.applybtn_box{
	display:flex;
	flex-wrap:wrap;
	gap:35px;
	margin:auto;
	max-width:700px;
}
.applybtn_box a{
	position:relative;
	display:block;
	width:100%;
	background-color:#c30d23;
	color:#fff;
	font-size:30px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
	padding:20px 20px;
	border-radius: 2em;
	border:#c30d23 4px solid;
	filter: drop-shadow(5px 5px 0 rgba(150,120,100,.6));
	transition:.2s;
}

.applybtn_box a[href*="school"]{
	background-color:#ffaa09;
	border-color:#ffaa09;
}

.applybtn_box a.admission{
	background-color:#036eb7;
	border-color:#036eb7;
}


.applybtn_box a::before,
.applybtn_box a::after{
	content:"";
	position:absolute;
	top:50%;
	height:39%;
	width:auto;
	aspect-ratio:2 / 1;
    background:rgba(255,255,255,0);
    border:#fff 3px solid;
	transform:translateY(-50%) rotate(-90deg);
	border-top-left-radius:50px;
    border-top-right-radius:50px;
	border-bottom:none;
	transition:.2s;
}

.applybtn_box a::before{left:-8px;}
.applybtn_box a::after{right:-8px;transform:translateY(-50%) rotate(-270deg);}

@media screen and (min-width:768px) {
	.applybtn_box a:hover{
		background-color:rgba(255,255,255,.75);
		color:#c30d23;
		transform: translateY(5px);
		filter: drop-shadow(0 0 0 rgba(150,120,100,0));
	}
	.applybtn_box a:hover::before{left:0px;}
	.applybtn_box a:hover::after{right:0px;}
	
	.applybtn_box a:hover::before,
	.applybtn_box a:hover::after{
		height:36%;
		border-color:#c30d23;
	}

	.applybtn_box a[href*="school"]:hover{
		color:#ffaa09;
	}
	.applybtn_box a[href*="school"]:hover::before,
	.applybtn_box a[href*="school"]:hover::after{
		border-color:#ffaa09;
	}
	
	.applybtn_box a.admission:hover{
		color:#036eb7;
	}
	.applybtn_box a.admission:hover::before,
	.applybtn_box a.admission:hover::after{
		border-color:#036eb7;
	}
	
}


/*----------ヘッダー---------*/
header {
    position: fixed;
    width: 100vw;
    z-index: 15;
    transition:0.2s;
	background-color: #ee6b00;
}
header .wrapper {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 0 20px;
    transition: height 0.3s;
}
.sanaru_logo{
	transition:.2s;
	padding-top: 6px;
}

.top_link{
	display: block;
	margin-left:10px;
	color:#fff;
	font-size: 14px;
	font-weight:600;
	padding:8px 13px;
	border:#fff solid 2px;
	border-radius: 8px;
	line-height: 1em;
	letter-spacing: 0.08em;
	transition: .2s;
}
@media screen and (min-width:768px) {
	.top_link:hover{
		color: #ee6b00;
		background-color: #fff;
	}
}


/*-----------------------------------------
 TOP申し込みボタン
 -----------------------------------------*/
.head_apply_btn{margin: auto 0 auto auto;}
.head_apply_btn a{
	position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    background-color:#FFF000;
    border: 3px solid #FFF000;
	padding:6px 12px;
    border-radius: 3px;
    transition: .2s;
}
.head_apply_btn a span{margin:auto 0;display:block;}
.head_apply_btn a span:nth-child(1){width:30px;line-height:0;transition: .2s;}
.head_apply_btn a svg{transition: .2s;}
.head_apply_btn a svg path {fill:#222;stroke-width: 0px;}
.head_apply_btn a span:nth-child(2){width:calc(100% - 35px);color:#222;font-weight:700;}

@media screen and (min-width:768px) {
	.head_apply_btn a:hover{background-color:rgba(0,0,0,0);border-color:#fff;}
	.head_apply_btn a:hover span:nth-child(2){color:#fff;}
	.head_apply_btn a:hover svg path {fill:#fff;}
}


/*----------youtube---------*/

.youtube iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
}


/*----------MVエリア---------*/

.top_mv{padding-top:75px;}
.mv_box h1{line-height:0;}


.mv_period{
	background-color:#ee6b00;
	padding:20px;
}

.mv_period_wrap{
	color:#fff;
	font-size:60px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
}

.mv_period_title{
	display: inline-block;
	background-color:#fff;
	color:#ee6b00;
	font-size:65%;
	letter-spacing: 0.15em;
	line-height:1.5em;
	padding:0 30px;
}

.mv_period_date{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	letter-spacing:0.04em;
}
.mv_period_date div{
	display: flex;
	flex-wrap: wrap;
}
.mv_period_date div span{
	display: block;
}
.mv_period_date span:nth-child(1),
.mv_period_date span:nth-child(3),
.mv_period_date span:nth-child(5){
	margin-top: auto;
	font-size:58%;
	line-height: 1.5em;
	font-weight:700;
	padding-bottom:0.05em;
}
.mv_period_date span:nth-child(2),
.mv_period_date span:nth-child(4){
	padding-left:5px;
}

.mv_period_date div:nth-child(2){
	padding:0 10px;
}

.mv_period_note{
	font-size:45%;
	font-weight:700;
	letter-spacing: 0.08em;
	line-height:1.3em;
}

/*----------導入---------*/

.intro_box{
	padding:60px 30px 0;
}

.intro_wrap{
	margin:auto;
	max-width:1200px;
	display:flex;
	flex-wrap:wrap;
	border-radius:20px;
	padding:40px 70px 10px;
}

/*----------*/
.intro_inner_text{margin:auto 0;width:70%;}

.intro_inner_h2box{
	position:relative;
	padding:0 20px;
}

.intro_inner_h2box::before,
.intro_inner_h2box::after{
	box-sizing: border-box;
	content:"";
	display:block;
	position:absolute;
	top:0;
	width:35px;
	height:100%;
	border-top:#ffaa09 10px solid;
	border-bottom:#ffaa09 10px solid;
}

.intro_inner_h2box::before{
	left:0;
	border-left:#ffaa09 10px solid;
}
.intro_inner_h2box::after{
	right:0;
	border-right:#ffaa09 10px solid;
}
.intro_inner_h2box h2{
	padding:20px 0;
	font-size:55px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
}

.intro_inner_textbox{padding:40px 0;}
.intro_inner_textbox p{
	text-align:center;
	font-family:lineseed,"sans-serif";
	font-weight:normal;
	font-size:24px;
	line-height:1.6em;
	letter-spacing:0.2em;
	padding-bottom:30px;
}
.intro_inner_textbox p:last-child{
	padding-bottom:0;
}


/*----------*/
.intro_inner_img{margin:auto 0;width:30%;}

.intro_inner_imgwrap{
	position:relative;
	padding:10% 10%;
}
.intro_inner_imgwrap img[src*="sub"]{
	position:absolute;
	top:-2%;
	right:8%;
	width:26%;
}
.intro_inner_imgwrap img[src*="main"]{
	
}


/*----------公開説明会バナーエリア---------*/

.briefing_banner_area{
	padding:120px 20px 40px;
}

.briefing_banner{
	margin:auto;
	max-width:1200px;
}

.briefing_banner a{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	font-size:82px;
	background-color:#c10d23;
	border-radius:15px;
	font-family:lineseed,"sans-serif";
	font-weight:700;
	color:#fff;
	padding:.2em 0 .3em;
	padding-right:2em;
	filter: drop-shadow(10px 10px 0 rgba(200,140,0,.6));
	transition:.2s;
}

.briefing_banner a div{margin: auto auto auto 0;}

.briefing_banner a div:nth-child(1){
	width:50%;
	margin-top:-.5em;
	line-height:0;
}
.briefing_banner a div:nth-child(2){
	font-size:.5em;
	letter-spacing:0.07em;
}
.briefing_banner a div:nth-child(3){
	display: flex;
	flex-wrap: wrap;
	gap:0 .2em;
	justify-content: center;
	width:100%;
	line-height:1em;
}
.briefing_banner a div:nth-child(3) span{}

.briefing_banner a::after{
	content:"";
	position: absolute;
	width:1.1em;
	height:auto;
	aspect-ratio:1 / 1;
	background-image:url("../images/link_nub.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	top:50%;
	right:.75em;
	transform: translateY(-50%);
	transition:.2s;
}

@media screen and (min-width:768px) {
	.briefing_banner a:hover{
		transform:translateY(10px);
		filter: drop-shadow(0 0 0 rgba(200,140,0,.6));
	}
	.briefing_banner a:hover::after{
		right:.45em;
		opacity:.65;
	}
}


/*---------- 動画 ---------*/

.movie_box{
	padding:100px 30px;
}

.movie_main{
	margin: auto;
    max-width:1000px;
}

.movie_title{
	margin:30px auto 0;
    max-width:800px;
	background-color:#f49600;
	color: #fff;
	font-size: 30px;
	font-family: lineseed, "sans-serif";
	font-weight: 900;
	line-height: 1.3em;
	padding: 10px 20px;
	border-radius: 2em;
}




/*----------ここがすごい！---------*/

.point_box{
	background-color:#ffaa09;
	padding:100px 30px;
}

.point_wrap{
	position:relative;
	margin:auto;
	max-width:1200px;
	display:flex;
	flex-wrap:wrap;
	gap:40px;
}

.point_wrap > img[src*="point_img"]{
	position:absolute;
	top:-200px;
	left:0;
	width:260px;
	filter: drop-shadow(5px 5px 0 rgba(150,120,100,.6));
}

.point_inner{
	position:relative;
	border-radius: 20px;
	padding:40px 30px;
	z-index: 2;
}

.point_inner:nth-child(2){width:45%;}
.point_inner:nth-child(3){width:calc(55% - 40px);}

.point_inner_h2box{
	position:relative;
}

.point_inner_h2box::before,
.point_inner_h2box::after{
	content:"";
	position:absolute;
	width:47%;
	border-bottom:#ffaa09 3px solid;
	bottom:0;
}

.point_inner_h2box::before{left:0;}
.point_inner_h2box::after{right:0;}
.point_inner_h2box h2{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	padding-bottom:10px;
}
.point_inner_h2box h2::after{
	position: absolute;
	bottom:-10.5px;
	content: "";
	vertical-align: middle;
	left:50%;
	width:calc(3% * sqrt(2));
	height:auto;
	aspect-ratio:1/1;
	transform:translateX(-50%) rotate(45deg);
	z-index: 1;
	border-bottom:#ffaa09 3px solid;
	border-right:#ffaa09 3px solid;
}

.point_inner_h2box h2 span{display:block;}
.point_inner_h2box h2 span:nth-child(1){font-size:.7em;line-height:1.4em;}
.point_inner_h2box h2 span:nth-child(2){}


.point_iner_list{
	padding:45px 25px 15px;
}

.point_iner_list li{padding-bottom:25px;}
.point_iner_list li:last-child{padding-bottom:0;}

.point_iner_list h3{
	position:relative;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:25px;
	line-height:1.2em;
	color:#c10d23;
	text-align:left;
	padding-left:1.2em;
}
.point_iner_list h3::before{
	position:absolute;
	content:"●";
	color:#c10d23;
	font-size:0.9em;
	left:0;
	top:50%;
	transform: translateY(-50%);
}

.point_iner_list p{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:20px;
	padding-left:1.25em;
	
}




/*----------コース---------*/

.course_area{
	padding:100px 30px 150px;
}

.course_box{
	position:relative;
	margin:auto;
	max-width:1200px;
	padding:50px 30px;
	border-radius:25px;
}

.course_box img[src*="course_img"]{
	position:absolute;
	width:255px;
	top:-150px;
	right:0;
	filter: drop-shadow(5px 5px 0 rgba(150,120,100,.6));
}

.course_box h2{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:60px;
}
.course_box h2 span{display:block;}
.course_box h2 span:nth-child(1){font-size:.7em;line-height:1.4em;}
.course_h2sub{font-family:lineseed,"sans-serif";font-size:15px;}

.course_wrap{
	margin:auto;
	max-width:900px;
}

.tab_container {
	padding:30px 0 0;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap:5px 15px;
}
.tab_item{
	position:relative;
	display: block;
	width: calc((100% - (15px * 4))/ 5);
	margin:auto auto 0;
	padding:15px 0;
	background-color:#ffaa09;
	text-align:center;
	color:#fff;
	font-size: 120%;
	font-weight: bold;
	border-radius: 15px 15px 0 0;
	border:#ffaa09 5px solid;
	transition: all 0.2s ease;
}


@media screen and (min-width: 768px) {
	.tab_item:hover {
		padding-top:1.2em;
		padding-bottom:1.2em;
	}
}


.tab_item[for="tab5"]{
	background-color:#c30d23;
	border-color:#c30d23;
}

input[name="tab_item"] {display: none;}
.tab_content {display: none;}

#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content,
#tab5:checked ~ #tab5_content{
	display: block;
}

#tab1:checked ~ .tab_item[for="tab1"],
#tab2:checked ~ .tab_item[for="tab2"],
#tab3:checked ~ .tab_item[for="tab3"],
#tab4:checked ~ .tab_item[for="tab4"]{
	background-color:#fff;
	color:#ffaa09;
}

#tab5:checked ~ .tab_item[for="tab5"]{
	background-color:#fff;
	color:#c30d23;
}

#tab1:checked ~ .tab_item[for="tab1"]::after,
#tab2:checked ~ .tab_item[for="tab2"]::after,
#tab3:checked ~ .tab_item[for="tab3"]::after,
#tab4:checked ~ .tab_item[for="tab4"]::after,
#tab5:checked ~ .tab_item[for="tab5"]::after{
	position:absolute;
	content:"";
	display: block;
	width:100%;
	height:20px;
	background-color:#fff;
	bottom:-15px;
	left:-5px;
	border-width:0 5px;
	border-color:#ffaa09; 
	border-style:solid;
}
#tab5:checked ~ .tab_item[for="tab5"]::after{
	border-color:#c30d23; 
}


.tab_container input:checked + .tab_item {
	padding-top:1.2em;
	padding-bottom:1.2em;
}

.tab_content{
	width:100%;
	padding:40px;
	background-color:#fff;
	border:#ffaa09 5px solid;
	border-radius:25px;
}
.tab_content#tab1_content{
	border-radius:0 25px 25px 25px;
}
.tab_content#tab5_content{
	border-color:#c30d23;
	border-radius:25px 0 25px 25px;
}

.course_note{
	padding:10px 0 20px;
	font-family: lineseed, "sans-serif";
	font-weight: 700;
}


/*----------コンテンツ---------*/

.contents_area{
	padding:0 30px 180px;
}

.contents_box{
	position: relative;
	margin: auto;
	max-width: 1200px;
	padding: 70px 30px;
	border-radius: 25px;
}

.contents_main h2{
	font-family: lineseed, "sans-serif";
    font-weight: 900;
    font-size: 60px;
	line-height: 1.3em;
}
.contents_main h2 span{
	display:block;
}

.contents_h2sub{
	font-family: lineseed, "sans-serif";
    font-weight: 900;
    font-size:30px;
	padding-bottom:40px;
}

.contents_button_list ul{
	display: flex;
	flex-wrap: wrap;
	gap:20px;
}

.contents_button_list ul li{
	width:calc((100% - (20px * 3))/4);
}

.contents_button_list ul li a{
	display: block;
	width:100%;
	height:100%;
	color:#fff;
	padding:20px 0 20px;
	border-radius:20px;
	filter: drop-shadow(6px 6px 0 rgba(200, 150, 0, .5));
	transition: .2s;
}

.contents_button_list ul li a h3{
	font-family: lineseed, "sans-serif";
    font-weight: 900;
    font-size:38px;
	transform : scaleX(.95);
	line-height: 1.2em;
	padding-bottom:10px;
}
.contents_button_list ul li a[href*="reading_power"] h3{
	transform : scaleX(.85);
}
.contents_button_list ul li a > div{
	font-family: lineseed, "sans-serif";
    font-weight: 700;
    font-size:18px;
	line-height: 1.2em;
}

.contents_button_list ul li:nth-child(-n+4) a{background-color:#c30d23;border:4px solid #c30d23;}
.contents_button_list ul li:nth-child(n+5) a{background-color:#DB3A55;border:4px solid #DB3A55;}

@media screen and (min-width: 768px) {
	.contents_button_list ul li a:hover{
		background-color: rgba(255, 255, 255, .75);
		transform: translateY(5px);
        filter: drop-shadow(0 0 0 rgba(200, 150, 0, 0));
	}
	.contents_button_list ul li:nth-child(-n+4) a:hover{color:#c30d23;}
	.contents_button_list ul li:nth-child(n+5) a:hover{color:#DB3A55;}
}


/*---------- 生徒の声 ---------*/

.voice_box .box{display: none;}

.voice_box{
	background-color:#ffaa09;
	padding:0 30px 100px;
}

.voice_box h2{margin:auto;max-width:600px;margin-bottom:30px;}
.voice_box h2 img{margin-top:-80px;}

.voice_list_box{
	margin:auto;
	max-width:900px;
	display:flex;
	flex-wrap:wrap;
	gap:25px;
	justify-content:center;
}

.voice_list{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	gap:20px;
}

.voice_inner{
	width:calc((100% - 20px)/ 2);
	border-radius:18px;
	padding:25px;
}

.voice_inner_head{
	display:flex;
	flex-wrap:wrap;
	gap:15px;
	border-bottom:3px solid #ffaa09;
}
.voice_inner_img{width:calc(25% - 15px);line-height:0;}
.voice_inner_head h3{margin:auto 0;text-align:left;width:75%;font-family:lineseed,"sans-serif";font-weight:700;font-size:24px;line-height:1.4em;letter-spacing:.1em;}
.voice_inner_head h3 span:nth-child(1){padding-right:.4em;}
.voice_inner_head h3 span:nth-child(3){display:block;color:#c30d23;}
.voice_inner_head h3 span:nth-child(3) i{font-style:normal;font-size:1.1em;font-weight:900;}

.voice_inner_text{padding:10px 10px 0;}
.voice_inner_text h4{text-align:left;font-family:lineseed,"sans-serif";font-weight:700;font-size:20px;padding-bottom:5px;}

.voice_inner_text p{font-family:lineseed,"sans-serif";font-weight:700;}


.voice_list_box .title{
	position: relative;
    margin: auto;
    padding: 8px 80px 7px 30px;
    border: 2px solid #222;
    color: #222;
    font-weight: 600;
    border-radius: 25px;
    transition: .2s;
}
.voice_list_box .title::before {
    content: "続きを見る";
}
.voice_list_box .title::after {
    content: "＋";
    font-size: 26px;
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
}

.voice_list_box .title.open::before {
	content: "閉じる";
}

.voice_list_box .title.open::after {
	content: "";
	top: 56%;
	width: 10px;
	height: 10px;
	border-top: #222 2px solid;
	border-right: #222 2px solid;
	transform: rotate(-45deg) translateY(-50%);
	transition: .2s;
}

@media screen and (min-width: 768px) {
	.voice_list_box .title:hover{
		color:#ffaa09;
        background-color:#222;
	}
	.voice_list_box .title.open:hover::after{
		border-color:#ffaa09;
	}
}

.voice_btn_area{padding:60px 0 0;}


/*---------- 受講までの流れ ---------*/

.flow_box{
	padding:100px 30px;
}

.flow_main{
	margin: auto;
	max-width:1200px;
	border-radius:25px;
	padding:40px 0;
}

.flow_main h2{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	line-height:1.4em;
	padding-bottom:10px;
}

.flow_list{
	display:flex;
	flex-wrap:wrap;
	padding:40px 0;
}

.flow_list_cts{
	position:relative;
	width:calc(90% / 3);
	margin-bottom: auto;
}

.flow_list_cts::before{
	content:"";
	position:absolute;
	height:100%;
	width:3px;
	background-color:#ffaa09;
	bottom:0;
	left:5%;
}
.flow_list_cts:nth-child(2)::before{height:100%;}
.flow_list_cts:nth-child(3)::before{height:calc(100% + 30px);}
.flow_list_cts:nth-child(4)::before{height:calc(100% + 60px);}

.flow_list_cts:first-child,
.flow_list_cts:last-child{width:5%;margin:auto 0 0;}

.flow_list_cts:nth-child(1){}
.flow_list_cts:nth-child(2){margin-top:90px;}
.flow_list_cts:nth-child(3){margin-top:60px;}
.flow_list_cts:nth-child(4){margin-top:30px;}
.flow_list_cts:nth-child(5){margin-bottom:60px;}

.flow_list_cts_num{
	position:absolute;
	width:20%;
	background-color:#ffaa09;
	left:5%;
	color:#fff;
	line-height:1.4em;
	padding:7px 5px 7px 15px;
}

.flow_list_cts_num::before,
.flow_list_cts_num::after{
	content:"";
	display:block;
	position:absolute;
	background-color:#ffaa09;
	width:30px;
	height:50%;
	right:-15px;
}

.flow_list_cts_num::before{top:0;clip-path:polygon(50% 100%, 0% 0%, 30px 0%);}
.flow_list_cts_num::after{bottom:0;clip-path:polygon(50% 0%, 0% 100%, 30px 100%);}

.flow_list_cts_num span{position:relative;z-index:2;display:block;font-family:lineseed,"sans-serif";}
.flow_list_cts_num span:nth-child(1){font-weight:700;}
.flow_list_cts_num span:nth-child(2){font-size:20px;font-weight:900;}

.flow_list_cts:nth-child(2) .flow_list_cts_num{top:0;}
.flow_list_cts:nth-child(3) .flow_list_cts_num{top:-30px;}
.flow_list_cts:nth-child(4) .flow_list_cts_num{top:-60px;}

.flow_list_cts_img{
	margin: auto;
	width:70%;
	line-height:0;
	padding-left:10%;
}
.flow_list_cts_text{
	position:relative;
	padding:10px 10px 10px 10%;
	font-family:lineseed,"sans-serif";
	min-height:150px;
}
.flow_list_cts_text h4{font-weight:900;font-size:26px;letter-spacing:-0.05em;}
.flow_list_cts_text p{font-weight:700;font-size:15px;letter-spacing:-0.05em;}

.flow_list_border{
	border-bottom:solid 3px #ffaa09;
}

.flow_list_cts_text::after{
	content:"";
	position:absolute;
	height:30px;
	width:3px;
	background-color:#ffaa09;
	bottom:0;
	right:0;
}

.flow_list_cts:nth-child(4) .flow_list_cts_text::after{content:none;}

.flow_btn_area{padding:20px 0;}



/*---------- Campaign ---------*/

.campaign_box{
	background-color:#ffaa09;
	padding:60px 30px;
}

.campaign_box h2{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	line-height:1.4em;
	padding-bottom:30px;
}

.campaign_wrap{
	margin:auto;
	max-width:1200px;
}

.campaign_inner{
	position: relative;
	width:100%;
	border-radius: 20px;
	padding: 40px 30px;
}
.campaign_inner:nth-child(1){
	margin-bottom:60px;
}
.campaign_inner::before{
	z-index: 5;
	content:"";
	position: absolute;
	top:-30px;
	left:-20px;
	background-color:#c30d23;
	color:#fff;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	letter-spacing:0.09em;
	padding:10px 40px;
	border-radius: 2em;
	transform: rotate(-8deg);
}

.campaign_inner:nth-child(1)::before{content:"小1～高2";}
.campaign_inner:nth-child(2)::before{content: "高1・高2";}

.campaign_inner::after{
	content: "";
	position: absolute;
	top: 42px;
	left: 98px;
	width: 37px;
	height: 38px;
	background-color: #c30d23;
	clip-path: polygon(0 0, 100% 0%, 90% 100%);
	transform:rotate(-17deg);
}

.campaign_inner_h3box{position: relative;}

.campaign_inner_h3box::before,
.campaign_inner_h3box::after{
	content: "";
	position: absolute;
	width: 47%;
	border-bottom: #ffaa09 3px solid;
	bottom: 0;
}
.campaign_inner_h3box::before{left:0;}
.campaign_inner_h3box::after{right:0;}

.campaign_inner_h3box h3{
    font-family: lineseed, "sans-serif";
    font-weight: 900;
    font-size: 66px;
	line-height:1.4em;
    padding-bottom: 10px;
}
.campaign_inner_h3box h3::after {
	position: absolute;
	bottom:-24px;
	content: "";
	vertical-align: middle;
	left: 50%;
	width: calc(3% * 1.4);
	height: auto;
	aspect-ratio: 1 / 1;
	transform: translateX(-50%) rotate(45deg);
	z-index: 1;
	border-bottom: #ffaa09 3px solid;
	border-right: #ffaa09 3px solid;
}


.campaign_inner_text{
	padding:55px 0 10px;
}

.campaign_inner_periodbox{
	margin: auto;
	border:4px solid #ffca28;
	border-radius:20px;
	max-width:560px;
}

.campaign_inner_period{
	font-family: lineseed, "sans-serif";
    font-weight: 900;
	background-color: #ffca28;
	border-radius:15px 15px 0 0;
}

.campaign_inner_target{
	padding:8px 0;
	font-family: lineseed, "sans-serif";
    font-weight: 900;
	font-size:24px;
	line-height:1.3em;
}

.campaign_main{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	letter-spacing:0.09em;
	line-height: 1.65em;
}

.campaign_main.chikara{padding:5px 0 10px;}
.campaign_main.hi{padding:30px 0 10px;}

.campaign_main span.red{
	color:#c30d23;
	letter-spacing:-0.01em;
	font-size:2.2em;
}
.campaign_main span.shorten{
	letter-spacing:-0.08em;
}
.campaign_main span i{
	font-style: normal;
	font-size:.7em;
}

.campaign_main span.title{font-size:1.4em;letter-spacing:-.04em;padding-right:.1em;}
.campaign_main span.small{font-size:.6em;letter-spacing:-.06em;padding-right:.4em;}

.campaign_main.chikara span:nth-child(3){font-size:1.8em;}
.campaign_main.chikara span:nth-child(4){color:#c30d23;}

.campaign_inner_note{
	padding:25px 20px 10px;
	background-color:rgba(255,255,255,.75);
	border-radius:20px;
}
.campaign_inner_note p{
	font-size:13px;
}

.campaign_btn_area{
	padding:40px 0 0;
}



/*---------- 開講校舎 ---------*/

.school_box{
	background-color:#ffaa09;
	padding:100px 30px;
}

.school_box h2{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	line-height:1.4em;
	padding-bottom:10px;
}

.school_main{
	margin:auto;
	max-width:1200px;
	display:flex;
	flex-wrap:wrap;
	gap:40px;
	padding:40px;
	border-radius:20px;
}

.school_wrap{
	width:100%;
}
.school_wrap h3{
	background-color:#ffaa09;
	color:#fff;
	font-family:lineseed,"sans-serif";
	font-size:20px;
	font-weight:700;
}

.school_wrap ul{
	display:flex;
	flex-wrap:wrap;
	gap:0 40px;
}

.school_wrap ul li{
	width:calc((100% - 40px)/ 2);
}

.school_wrap ul li a{
	display:block;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:6px;
	border-bottom:dotted #bbb 2px;
	transition: .2s;
}

.school_wrap ul li a h4{
	margin: auto 0;
	position: relative;
	font-family: lineseed, "sans-serif";
	font-weight:700;
	font-size:20px;
	color:#231815;
	line-height: 1.2em;
	text-align: left;
	padding-left: 1.2em;
}

.school_wrap ul li a h4 span.new{
	color: #c10d23;
	font-size:75%;
	padding-left: .4em;
	font-weight:900;
}

.school_wrap ul li a h4::before{
	position: absolute;
	content: "●";
	color: #c10d23;
	font-size: 0.9em;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.school_wrap ul li a > div{
	margin: auto 0;
	display:flex;
	flex-wrap:wrap;
	gap:5px;
}
.school_wrap ul li a > div span{
	background-color:#999;
	color:#fff;
	font-family: lineseed,"sans-serif";
	font-size:14px;
	letter-spacing:0.1em;
	border-radius:4px;
	padding:.2em 8px 0;
}

.school_wrap ul li a > div span.ko{background-color:#e95513;}
.school_wrap ul li a > div span.ko::before{content:"個別";}
.school_wrap ul li a > div span.ji{background-color:#2ca6e0;}
.school_wrap ul li a > div span.ji::before{content:"自立";}

.school_wrap ul li a > div span.chi{background-color:#c30d23;}
.school_wrap ul li a > div span.chi::before{content:"力シリーズ";letter-spacing:0;}

/*
.school_wrap ul li a > div span.mt{background-color:#171c61;}
.school_wrap ul li a > div span.mt::before{content:"閃き";}
.school_wrap ul li a > div span.ja{background-color:#c30d23;}
.school_wrap ul li a > div span.ja::before{content:"読書";}
.school_wrap ul li a > div span.en{background-color:#00913a;}
.school_wrap ul li a > div span.en::before{content:"英語";}
.school_wrap ul li a > div span.re{background-color:#c43279;transform: scale(.8,1);letter-spacing:0;margin:0 -.5em;}
.school_wrap ul li a > div span.re::before{content:"Reading";}
*/

@media screen and (min-width: 768px) {
	.school_wrap ul li a:hover{
		background-color:rgba(255, 170, 9,.2);
	}
}


.achool_btn_area{padding:40px 0 0;}


/*----------Instagram---------*/

.inst_btn_area{
	padding:50px 30px;
}

.inst_btn{
	max-width:960px;
	margin:0 auto 40px;
	display: flex;
	padding:40px;
	border-radius:20px;
}
.sns_text{
	width:40%;
	margin-right:5%;
}
.sns_text div{
	width: 100%;
	height:100%;
	display: flex;
	flex-wrap: wrap;
	border-top:#222 2px solid;
	border-bottom:#222 2px solid;
	padding:25px 0 10px;
}
.sns_text div p{
	width:100%;
	text-align: center;
	line-height: 1em;
}
.sns_text div p.sns_small{
	
}
.sns_text div p.sns_bold{
	font-size: 52px;
	font-weight: 600;
}

.inst_btn a{
	width:55%;
	display: inline-block;
	line-height: 0;
	filter: drop-shadow(0 0 4px rgba(0,0,0,.2));
	transition: .2s;
}
@media screen and (min-width:521px) {
	.inst_btn a:hover{
		filter: drop-shadow(0 0 4px rgba(0,0,0,0));
		opacity: .7;
	}
}


/*----------フッター---------*/
footer{
	background-color: #ee6b00;
	padding:60px 0;
}

footer .logo{
	width: 28%;
    min-width: 300px;
}