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

body{
	background-color: #A5E6B6;
}

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

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

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

/*----------英検®---------*/
i.r{
	font-size: 50%;
    font-style: normal;
    vertical-align: top;
    margin: 0 -2px;
}

/*----------ボタン---------*/
.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:#fd6d80;
	color:#fff;
	font-size:30px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
	padding:20px 20px;
	border-radius: 2em;
	border:#fd6d80 4px solid;
	filter: drop-shadow(5px 5px 0 rgba(41,71,69,.35));
	transition:.2s;
}

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

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


.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);}


.applybtn_timer span.on{display:inline;}
.applybtn_timer span.off{display:none;}

.applybtn_timer.campaign_date_out span.on{display:none;}
.applybtn_timer.campaign_date_out span.off{display:inline;}

.applybtn_timer.campaign_date_out{pointer-events: none;background-color:#aaa;border-color:#aaa;filter:none;}

.applybtn_timer.campaign_date_out::before,
.applybtn_timer.campaign_date_out::after{
	content:none;
}

.applybtn_timer.campaign_date_out span.on{display:none;}




@media screen and (min-width:768px) {
	.applybtn_box a:hover{
		background-color:rgba(255,255,255,.75);
		color:#fd6d80;
		transform: translateY(5px);
		filter: drop-shadow(0 0 0 rgba(150,120,100,0));
	}
	.applybtn_box.white a:hover{
		background-color:rgba(255,255,255,1);
	}
	.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:#fd6d80;
	}

	.applybtn_box a[href*="school"]:hover{
		color:#1ea3a2;
	}
	.applybtn_box a[href*="school"]:hover::before,
	.applybtn_box a[href*="school"]:hover::after{
		border-color:#1ea3a2;
	}
	
	.applybtn_box a.admission:hover{
		color:#fd681d;
	}
	.applybtn_box a.admission:hover::before,
	.applybtn_box a.admission:hover::after{
		border-color:#fd681d;
	}
	
}


/*----------ヘッダー---------*/
header {
    position: fixed;
    width: 100vw;
    z-index: 15;
    transition:0.2s;
	background-color: #0b8678;
}
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: #0b8678;
		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;}

.head_apply_btn.campaign_date_out{display:none;}

@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:#fd6d80;
	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:#fd6d80;
	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:#1ea3a2 10px solid;
	border-bottom:#1ea3a2 10px solid;
}

.intro_inner_h2box::before{
	left:0;
	border-left:#1ea3a2 10px solid;
}
.intro_inner_h2box::after{
	right:0;
	border-right:#1ea3a2 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:#fd536e;
	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(52,99,94,.5));
	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;
	padding-left: 0.2em;
}
.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_area{position:relative;}

.movie_box{
	padding:100px 30px;
}

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

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

.movie_areabk{
	line-height:0;
	position: absolute;
	width:20%;
	bottom:0;
	right:0;
}



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

.point_box{
	background-color:rgba(225,255,211,.5);
	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:#1ea3a2 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:#1ea3a2 3px solid;
	border-right:#1ea3a2 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:#fd3e52;
	text-align:left;
	padding-left:1.2em;
}
.point_iner_list h3::before{
	position:absolute;
	content:"●";
	color:#fd3e52;
	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{position:relative;}

.course_areabk{
	line-height:0;
	position: absolute;
	width:35%;
	top:0;
	left:0;
}

.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:#1ea3a2;
	text-align:center;
	color:#fff;
	font-size: 120%;
	font-weight: bold;
	border-radius: 15px 15px 0 0;
	border:#1ea3a2 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:#fd606f;
	border-color:#fd606f;
}

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:#1ea3a2;
}

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

#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:#1ea3a2; 
	border-style:solid;
}
#tab5:checked ~ .tab_item[for="tab5"]::after{
	border-color:#fd606f; 
}


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

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

.tab_note{
	text-align:left;
	padding:10px 20px 20px;
	font-family: lineseed, "sans-serif";
	font-weight: 700;
}

.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 60px;
	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:nth-child(n + 5){width:calc((100% - (20px * 2))/3);}
.contents_button_list ul li i.r{line-height:.5em;}


.contents_button_list ul li a{
	position:relative;
	display: block;
	width:100%;
	height:100%;
	color:#fff;
	padding:20px 0 20px;
	border-radius:20px;
	filter: drop-shadow(6px 6px 0 rgba(194, 152, 108, .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:#fd3e52;border:4px solid #fd3e52;}
.contents_button_list ul li:nth-child(n+5) a{background-color:#ff615a;border:4px solid #ff615a;}

.contents_button_list ul li a span.new{
	position: absolute;
	top: 20px;
	left: 10px;
	background-color: #fff;
	color: #ff615a;
	padding: 4px 8px;
	font-family: lineseed, "sans-serif";
	font-weight: 900;
	font-size: 20px;
	letter-spacing:-0.05em;
	line-height: 1.2em;
	border-radius:8px;
}

@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:#fd3e52;}
	.contents_button_list ul li:nth-child(n+5) a:hover{color:#ff615a;}
}


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

.voice_box .box{display: none;}

.voice_box{
	background-color:#1ea3a2;
	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:20px;
	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 #1ea3a2;
}
.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:#fd3e52;}
.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:#1ea3a2;
        background-color:#222;
	}
	.voice_list_box .title.open:hover::after{
		border-color:#1ea3a2;
	}
}

.voice_note{
	margin-top:-10px;
	text-align: right;
	width:100%;
	color:#fff;
	font-family:lineseed,"sans-serif";
	font-weight:700;
}

.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:#1ea3a2;
	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:#1ea3a2;
	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:#1ea3a2;
	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 #1ea3a2;
}

.flow_list_cts_text::after{
	content:"";
	position:absolute;
	height:30px;
	width:3px;
	background-color:#1ea3a2;
	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{
	padding:60px 30px;
}

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

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

.campaign_inner{
	position: relative;
	width:100%;
	border-radius: 20px;
	padding: 40px 30px;
}

/*
.campaign_inner::before{
	z-index: 5;
	content:"";
	position: absolute;
	top:-30px;
	left:-20px;
	background-color:#fd2759;
	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: #fd2759;
	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: #1ea3a2 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: #1ea3a2 3px solid;
	border-right: #1ea3a2 3px solid;
}


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

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

.campaign_inner_period{
	font-family: lineseed, "sans-serif";
    font-weight: 900;
}
/*
.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:#fd3e52;
	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:#fd3e52;}



.campaign_referral_box{
	display:flex;
	flex-wrap: wrap;
	gap:15px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:32px;
	padding:15px 0 0;
}
.campaign_referral_wrap{
	display:flex;
	flex-wrap: wrap;
	gap:16px;
	width:calc((100% - 15px)/ 2);
	border:#1ea3a2 4px solid;
	border-radius: 10px;
	padding:8px;
}

.campaign_referral_target{
	display:flex;
	flex-wrap: wrap;
	width:110px;
	background-color:#1ea3a2;
	font-weight:700;
	color:#fff;
	font-size:.6em;
	line-height:1.2em;
}
.campaign_referral_target span{display:block;width:100%;text-align: center;}
.campaign_referral_target span:nth-child(1){margin: auto 0 0;}
.campaign_referral_target span:nth-child(2){margin: 0 0 auto;}
.campaign_referral_main{width:calc(100% - 126px);}

.campaign_referral_head{
	font-size:.8em;
	text-align:left;
}
.campaign_referral_num{
	display:flex;
	gap:5px;
}
.campaign_referral_yen{
	color:#fd3e52;
	letter-spacing:-0.01em;
	font-size:2.6em;
	line-height:1em;
}
.campaign_referral_unit{
	display:flex;
	flex-wrap: wrap;
	align-items: flex-end;
	padding-bottom:10px;
}

.campaign_referral_unit .type{
	width:100%;
	font-size:.5em;
	text-align:left;
}

.campaign_referral_unit .unit{
	display:flex;
	flex-wrap: wrap;
	gap:5px;
	line-height:1em;
}


.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:#1ea3a2;
	padding:100px 30px;
}

.school_box h2{
	color:#fff;
	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:#1ea3a2;
	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: #fd2759;
	font-size:75%;
	padding-left: .4em;
	font-weight:900;
}

.school_wrap ul li a h4::before{
	position: absolute;
	content: "●";
	color: #fd2759;
	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;}


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

.map_box{
	padding:100px 0 100px;
	background: url("../images/searchmap-bg.svg") no-repeat center center / cover;
}

.map_box h2 {
    color: #fff;
    font-size:3em;
    letter-spacing: 0.06em;
    font-weight:700;
}

.map_btn_area{
	padding:20px 20px 0;
	display:flex;
	flex-wrap: wrap;
	margin:auto;
	max-width:840px;
	gap:30px;
}

.map_btn_area a{
	position:relative;
	display:block;
	width:calc((100% - 30px)/ 2);
	border:#fff solid 2px;
	padding:10px 0;
	letter-spacing:0.05em;
	font-size: 140%;
    font-weight: bold;
    color: #fff;
    transition: .2s;
}
.map_btn_area a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    right: 15px;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
    z-index: 1;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
	transition: .2s;
}


@media screen and (min-width: 768px){
	.map_btn_area a:hover{
		background-color:#fff;
		color:#ee6b00;
	}
	.map_btn_area a:hover::after{
		border-color:#ee6b00;
	}
}


/*----------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: #0b8678;
	padding:60px 0;
}

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