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

body{}

/*----------アコーディオン---------*/
.title,.title_tgl{cursor: pointer;}
.box_tgl{display:none;}

/*----------格子柄---------*/
.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;
}

.pattern-y{
 background-color:#fff;
 background-image:url("../images/pattern_yellow.webp");
 background-repeat: repeat;
 background-size:100px;
 background-position: center;
}

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

.applybtn_box a span{position:relative;z-index:3;}

.applybtn_box a span.applybtn-bk{
 position:absolute;
 display:block;
 z-index:1;
 top:0;
 left:0;
 width:100%;
 height:100%;
 border-radius: 2em;
 background:linear-gradient(to right,#066de5,#064a9d);
 transition:.2s;
}
.applybtn_box a.normal span.applybtn-bk{
	background-image:url("../images/pattern_red.webp");
 background-repeat: repeat;
 background-size:80px;
 background-position: center;
}

.applybtn_box a[href*="school"],
.applybtn_box a[href*="contents/kobetsu"]{
	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;
 z-index:3;
	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 span.applybtn-bk{display: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{
		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%;
	}	
}


/* ---------------------------------------------------------
■ ヘッダー
--------------------------------------------------------- */
header {
 width: 100vw;
 z-index: 15;
 transition:0.2s;
 background-color:#18305b;
 height: auto;
 margin: 0 auto;
 padding: 8px 0;
 text-align: center;
 overflow: hidden;
}
header .wrapper {
 max-width: 1400px;
 margin: 0 auto;
 display: flex;
 align-items: center;
 padding: 0 20px;
 transition: height 0.3s;
}
#head_btnbox {
 width: 100%;
 height: auto;
 margin: 0 auto;
 text-align: center;
 background-color: #0b6352;
 overflow: hidden;
 padding: 5px;
}

/*追従ヘッダー*/
header #head_btnbox{
	position: fixed;
	height: 65px;
 top: 0;
	width: 100%;
	z-index: 500;
}
.sanaru_logo{
	max-width:250px;
	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:#18305b;
		background-color: #fff;
	}
}


/*-----------------------------------------
ハンバーガーメニュ
 -----------------------------------------*/

.head-02.open {
  transform: translateX(0%);
  visibility: visible;
}
.lp-header__trigger.open span:nth-child(1) {
  transform: rotate(45deg);
}

.lp-header__trigger.open span:nth-child(2) {
  opacity: 0;
}

.lp-header__trigger.open span:nth-child(3) {
  transform: rotate(-45deg);
}
.head-wrap {
  position: relative;
}
.head-nav {
  display: flex;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
.head-nav img {
  margin: 0 auto;
  display: block;
}
.head-items {
  display: flex;
  list-style: none;
  color: #ffffff;
  padding: 0;
  margin: 0 0 0 auto;
}
.head-items li {
  margin-right: 1em;
}
.head-items a {
  text-decoration: none;
  color: #ffffff;
}
.head-items a:hover {
  color: #c6c6c6;
}
.lp-header__trigger {
  position: absolute;
  z-index: 5;
  top: 16px;
  right: 10px;
  background: none;
  border: none;
  padding: 0;
  height: 24px;
  cursor: pointer;
  margin: 0 0 0 auto;
  display: none;
}
.lp-header__trigger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  margin-bottom: 7px;
  transform-origin: center left;
  border-radius: 1px;
  transition: all 600ms ease;
}
.lp-header__trigger.open span{
  width: 25px;
}

.head-02 {
  width: 70%;
  transform: translateX(100%);
  position: fixed;
  background: rgba(0, 0, 0, 0.9);
  padding-top: 50px;
  padding-bottom: 21px;
  top: 0;
  right: 0;
  height: 100vh;
  z-index: 1;
  transition: all 600ms ease;
  visibility: hidden;
}
.head-02__wrap {
	padding: 0 30px;
	font-family: lineseed, "sans-serif";
}

.hamburger_sanaru_logo{
	display: block;
	max-width:340px;
	margin: auto;
}
.hamburger_admission {
	display: block;
	width:fit-content;
	margin:15px auto;
	text-align:center;
	position: relative;
	color: #eee;
	padding:5px 40px;
	font-size:140%;
	font-weight:700;
	border:1px solid #eee;
}
.hamburger_admission:after {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    top:50%;
	right:15px;
    width: 6px;
    height: 6px;
    transform: translateY(-50%) rotate(-45deg);
    z-index: 1;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
}

.hamburger_kobetsu_contents {
	display:flex;flex-wrap:wrap;gap:5px 4%;
	padding:15px 0;
}
.hamburger_kobetsu_contents li{
	width:48%;border-bottom:#eee solid 1px;
}
.hamburger_kobetsu_contents li a{
	display: block;
	text-align:center;
	position: relative;
	color: #eee;
	letter-spacing:0.08em;
	padding:5px;
}
.hamburger_kobetsu_contents li a:after {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    top:50%;
	right:15px;
    width: 6px;
    height: 6px;
    transform: translateY(-50%) rotate(-45deg);
    z-index: 1;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
}

.hamburger_class_contents{
	display:flex;flex-wrap:wrap;gap:5px 2%;
	padding:20px 0 0;
}
.hamburger_class_contents li{
	width:calc((100% - 4%)/ 3);
}
.hamburger_class_contents li a{
	display:block;
	width:100%;
	padding:6px;
	border:1px #eee solid;
	border-radius:2em;
	color:#eee;
	font-weight:600;
}


.head-nav .head-logo{
  margin-left: 10px;
  width: 230px;
}

.hamburgerMenu_timer.campaign_date_out{display:none;}

/*-----------------------------------------
 TOP申し込みボタン
 -----------------------------------------*/
.head_apply_btn{
	display:none;
}
.head_apply_btn a{
	position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
	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 span:nth-child(2){font-weight:700;}

.head_apply_btn a:nth-child(1){background-color:#FFF000;border: 2px solid #FFF000;width:140px;}
.head_apply_btn a:nth-child(1) span:nth-child(1){width:30px;}
.head_apply_btn a:nth-child(1) span:nth-child(2){color:#222;width:calc(100% - 35px);}
.head_apply_btn a:nth-child(1) svg path {fill:#222;stroke-width: 0px;}

.head_apply_btn a:nth-child(2){background-color: #036eb7;border: 2px solid #036eb7;width:130px;}
.head_apply_btn a:nth-child(2) span:nth-child(1){width:25px;}
.head_apply_btn a:nth-child(2) span:nth-child(2){color:#fff;width:calc(100% - 30px);}
.head_apply_btn a:nth-child(2) svg path {fill:#fff;}

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



/*-----------------------------------------
 固定ボタン
 -----------------------------------------*/

.fixed_area{
	position:fixed;
	right:0;
	top:50%;
	transform: translateY(-50%);
	z-index:50;
}
.fixed_box{
	width:180px;
}

.fixed_box ul{
	display:flex;
	flex-wrap: wrap;
	gap:10px 0;
}

.fixed_box li{
	width:100%;
	font-size:20px;
	font-family: lineseed, "sans-serif";
	font-weight: 700;
	line-height: 1.3em;
}

.fixed_box li.fixed_timer.campaign_date_out{display:none;}

.fixed_box li a{
	display:block;
	color:#fff;
	background-color:#aa7a0e;
	padding:.5em 1em;
	border-radius:.5em 0 0 .5em;
	transition:.2s;
}
.fixed_box li a span{display: block;}

.fixed_box li.admission a{position:relative;background-color:#f20c3c;padding:.8em 1em 1.2em 1.3em;}
.fixed_box li.admission a span:nth-child(1){font-size:.85em;padding-bottom:.1em;}
.fixed_box li.admission a span:nth-child(2){font-size:1.5em;font-weight:900;}
.fixed_box li.admission a::after{
	content:"";
	display: block;
	position:absolute;
	top:50%;
	left:calc(50% + 7px);
	transform: translate(-50%,-50%);
	width:100%;
	height:calc(100% - 14px);
	border:#fff 2px solid;
	border-radius:.4em 0 0 .4em;
}

.fixed_box li.school a{background-color:#f20c3c;font-size:1.5em;font-weight:900;padding:.6em .8em;}


@media screen and (min-width:768px) {
	.fixed_box li a:hover,
	.fixed_box li.admission a:hover{
		margin-left:-15%;
	}
}

/*----------準備中---------*/

.before_box{
	padding:60px 20px;
 text-align: center;
 font-size:1.8em;
 line-height:1.4em;
 letter-spacing:.03em;
 font-weight: 600;
}



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

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


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

.mv_area{
	background-image: url("../images/mv_bk.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}


.mv_bk{position: relative;}
.mv_bk img[src*="bk-top"]{
 position:absolute;top:0;left:0;width:40vw;
}

.mv_bk::before,.mv_bk::after{
 content:"";
 position:absolute;
 display: block;
 width:auto;
 height:calc(100% - 145px);
 background-size: 100%;
 background-repeat: no-repeat;
 z-index: 2;
}

.mv_bk::before{
 top:1vw;
 left:2vw;
 aspect-ratio:1 / 1;
 background-image: url("../images/mv_bk-l.webp");
}
.mv_bk::after{
 top:0;
 right:4vw;
 aspect-ratio:1 / 2;
 background-image: url("../images/mv_bk-r.webp");
}


.mv_box h1{
	margin: auto;
	width: 100%;
	height: calc(100vh - 270px);
 min-height:500px;
	line-height: 0;
	overflow: hidden;
	position: relative;
 z-index: 3;
}

.mv_box h1 img[src*="pc"]{
	width: auto;
	height: 100%;
	max-width: none;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


.mv_title_area{
 position: relative;
 background-image:url("../images/pattern_red.webp");
 background-repeat: repeat;
 background-size:80px;
 background-position: center;
	padding:20px 200px;
 z-index:8;
}

.mv_title_box{
 position:relative;
 margin: auto;
 max-width:900px;
 display: flex;
	flex-wrap: wrap;
	gap:0 1%;
 filter: drop-shadow(2px 2px 4px rgba(31,22,4,0.50));
}

.mv_title{
	display: flex;
	flex-wrap: wrap;
	gap:10px 2%;
	width:71%;
}

.mv_title img{margin: auto 0;}
.mv_title img[src*="kobetsu"]{width:75%;}
.mv_title img[src*="toki"]{width:70%;}
.mv_title img[src*="grade"]{width:28%;}
.mv_title_box img[src*="date"]{
 position:absolute;
 right:0;
 bottom:0;
 width:28%;
 z-index: 4;
}



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

.intro_area{background-color:#ffaa00;}

.intro_bk_top,.intro_bk_bottom{position:relative;}

.intro_bk_top::before,.intro_bk_top::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	display:block;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
}

.intro_bk_top::before{
	background-image: url("../images/bk_snow01_l.webp");
	background-position: calc(0% - 70px) 0vw;
	background-size:max(200px,20vw);
}
.intro_bk_top::after{
	background-image: url("../images/bk_snow01_r.webp");
	background-position: calc(100% + 60px) 0;
	background-size:max(200px,24vw);
}

.intro_bk_bottom::before,.intro_bk_bottom::after{
	content:"";
	position:absolute;
	display:block;
	top:0;
	left:0;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
}

.intro_bk_bottom::before{
}
.intro_bk_bottom::after{
}

.intro_box{
	position:relative;
	padding:0 200px 60px;
	z-index:5;
}

/*----------導入：期間

.intro_period{
	padding:10px 20px;
}

.intro_period_wrap{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	gap:30px;
	justify-content: center;
	font-size:56px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
}

.intro_period_title{
	margin: auto 0;
	font-size:65%;
	letter-spacing: 0.15em;
	line-height:1.5em;
}

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

.intro_period_date span:nth-child(2),
.intro_period_date span:nth-child(4){
	padding-left:5px;
}

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

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


/*----------導入：アンカーボタン---------*/

.intro_links_box{
	padding:60px 20px 80px;
}

.intro_links{
	margin: auto;
	max-width:1100px;
	display:flex;
	flex-wrap:wrap;
	background-color:#fff;
	border-radius:10em;
	border:#fff 10px solid;
}
.intro_links a{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: flex-end;
	width:calc(100% / 3);
	padding:20px 10px 30px;
	color: #231815;
 font-family: lineseed, "sans-serif";
font-weight: 900;
	font-size:28px;
   
}


.intro_links a span.red{
	position:relative;
	width:fit-content;
	margin: auto;
	color:#f20c3c;
	font-size:60%;
}
.intro_links a span.red::before,.intro_links a span.red::after{
	content: "";
	position: absolute;
	text-align: center;
	bottom:20%;
	height:68%;
	width:0;
	border-left: 3px solid #f20c3c;
	
}
.intro_links a span.red::before{left:-.8em;transform: skewX(26deg);}
.intro_links a span.red::after{right:-.8em;transform: skewX(-26deg);}


.intro_links a span{display:block;width:100%;}
.intro_links a span:last-child{
	 line-height: 1.3em;
}

.intro_links a{
	border-right:#ffaa09 2px solid;
	position:relative;
	transition:.2s;
}
.intro_links a:first-child{border-radius:10em 0 0 10em;}
.intro_links a:last-child{border-right:none;border-radius:0 10em 10em 0;}

.intro_links a:after {
	position: absolute;
	bottom: 8px;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: calc(50% - 8px);
	width: 6px;
	height: 6px;
	transform:translateX(-50%) rotate(45deg);
	z-index: 1;
	border-bottom: 3px solid #ffaa09;
	border-right: 3px solid #ffaa09;
	transition: .2s;
}

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


/*----------導入：TEXT---------*/

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

.intro_inner_text{margin:auto 0;}

.intro_inner_h2box{
	margin: auto;
	max-width:800px;
	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:#f20c3c 8px solid;
	border-bottom:#f20c3c 8px solid;
}

.intro_inner_h2box::before{
	left:0;
	border-left:#f20c3c 8px solid;
}
.intro_inner_h2box::after{
	right:0;
	border-right:#f20c3c 8px 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{
	position:relative;
	padding:40px 0;
}
.intro_inner_textbox > img[src*="lineimg"]{
	position: absolute;
	width:120px;
	top: calc(5% - 86px);
	left: 0;
	transform:rotate(20deg);
}
.intro_inner_textbox > img[src*="01"]{position: absolute;top:5%;left:-100px;width:230px;border-radius:50%;}
.intro_inner_textbox > img[src*="ill"]{position: absolute;bottom:4%;right:2%;width:120px;}


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

.intro_inner_textbox p span.bold{font-size:1.2em;font-weight:900;}
.intro_inner_textbox p span.red{font-size:1.4em;color:#f20c3c;font-weight:900;line-height: 1.4em;}




/*----------お悩み：お悩み---------*/

.problems_box{position:relative;}
.problems_box > img[src*="ill"]{position: absolute;bottom:4%;left:5vw;width:120px;}

.problems_main_area{
	background-color:#ffcd00;
}
.problems_main_box{
	padding:80px 0;
}

.problems_main_text{
 position:relative;
	margin:auto;
	padding:60px min(19vw,400px) 40px;
}
.problems_main_text > img[src*="bk_photo"]{
 position: absolute;border-radius:50%;bottom:-170px;right:350px;width:260px;
}

.problems_main_h2box{
	position:relative;
	padding:0 20px;
	margin:auto;
	width:fit-content;
}

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

.problems_main_h2box::before{
	left:0;
	border-left:#f20c3c 8px solid;
}
.problems_main_h2box::after{
	right:0;
	border-right:#f20c3c 8px solid;
}
.problems_main_h2box h2{
	margin: auto;
	max-width:800px;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	color:#231815;
	padding:40px 30px 20px;
	font-size:60px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
}
.problems_main_h2box h2 span:nth-child(2){
	color:#f20c3c;
	display: flex;
	flex-wrap: wrap;
}

.problems_main_h2box h2 span:nth-child(2) i{
	font-style:normal;
	position:relative;
	display: block;
}
.problems_main_h2box h2 span:nth-child(2) i::before{
	content:"";
	position:absolute;
	display: block;
	top:-.3em;
	left:50%;
	transform: translateX(-50%);
	width:.3em;
	height:auto;
	aspect-ratio:1 / 1;
	background-color:#f20c3c;
	border-radius: 50%;
}

.problems_main_h2box h2 span:nth-child(3){
 display: block;
 width:100%;
}

.problems_wrap{
	display:flex;
	flex-wrap:wrap;
	max-width:1200px;
}
.problems_inner{width:58%;}
.problems_inner:nth-child(2){margin-left:-16%;}

.problems_inner div{margin:auto;width:100%;position:relative;}
.problems_inner:nth-child(1) div:nth-child(1){width:76%;margin-right:20%;z-index:10;}
.problems_inner:nth-child(1) div:nth-child(2){margin-left: -8%;}
.problems_inner:nth-child(2) div:nth-child(2)::after{
	content:"";
	display:block;
	position:absolute;
	right:-41%;
	bottom:7%;
	width:38%;
	height:auto;
	aspect-ratio:1 / 1;
	background-image: url("../images/problems_ill.webp");
	background-repeat: no-repeat;
	background-size:contain;
	background-position: center;
}
.problems_inner:nth-child(1) div:nth-child(3){width: 74%;margin-left: 0;margin-top: -40px;z-index:10;}
.problems_inner:nth-child(1) div:nth-child(4){width:88%;}

.problems_inner:nth-child(2) div:nth-child(1){margin-top:30px;margin-right:0;}
.problems_inner:nth-child(2) div:nth-child(2){width:80%;margin-top:-25px;}
.problems_inner:nth-child(2) div:nth-child(3){width: 105%;margin-top: 30px;margin-left: -7%;}
.problems_inner:nth-child(2) div:nth-child(4){width:84%;margin-right:0;}




/*----------お悩み：解決---------*/
.problems_solution_area{
}

.problems_solution_triangle{
	margin:auto;
	background-color:#ffcd00;
	width:150px;
	height:70px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	transform: translateY(-1px);
}

.problems_solution{
	position:relative;
	padding:0 20px 80px;
}
.problems_solution > img[src*="photo"]{
	position:absolute;
	width:220px;
	top: -170px;
    right: calc(50vw - 400px);
	border-radius:50%;
}

.problems_solution_h2box{
	position:relative;
	padding:40px 20px;
	margin:auto;
}
.problems_solution_h2box > img[src*="lineimg"]{
	position:absolute;
	width: 140px;
	top: -10px;
	left: calc(50vw - 515px);
	transform: rotate(-30deg);
}

.problems_solution_h2sub{
	font-size:30px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
}

.problems_solution_h2box h2{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size:55px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
	letter-spacing:0.05em;
}

.problems_btn_area .applybtn_box{
	max-width:900px;
}

.problems_btn_area .applybtn_box a{font-size:44px;}



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

.course{
	position:relative;
	background-color:#ffaa00;
}

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

.course_bk_top,.course_bk_bottom{position:relative;}

.course_bk_top::before,.course_bk_top::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	display:block;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
}

.course_bk_top::before{
	background-image: url("../images/bk_snow02_l.webp");
	background-position:2vw 1vw;
	background-size:max(200px,40vw);
}
.course_bk_top::after{
	background-image: url("../images/bk_snow02_r.webp");
	background-position:calc(100% - 2vw) -1vw;
	background-size:max(240px,30vw);
}

.course_bk_bottom::before,.course_bk_bottom::after{
	content:"";
	position:absolute;
	display:block;
	top:0;
	left:0;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
}

.course_bk_bottom::before{
	background-image: url("../images/bk_snow03_l.webp");
	background-position: calc(0% + 5vw) 98%;
 background-size: max(180px, 26vw);
}
.course_bk_bottom::after{
	background-image: url("../images/bk_snow03_r.webp");
	background-position: calc(100% - 2vw) calc(100% - 4vw);
 background-size: max(100px, 11vw);
}

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


.course_h2box{
	position:relative;
	padding:0 20px;
	margin:auto;
	max-width:800px;
}

.course_h2box::before,
.course_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;
}

.course_h2box::before{
	left:0;
	border-left:#ffaa09 10px solid;
}
.course_h2box::after{
	right:0;
	border-right:#ffaa09 10px solid;
}

.course_box h2{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:60px;
	line-height: 1.2em;
}
.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_dates{
 display:flex;
 flex-wrap: wrap;
 justify-content:center;
 padding:25px 0 0;
 font-family: lineseed, "sans-serif";
 font-weight: 900;
 font-size: 25px;
 line-height: 1.2em;
}
.course_dates div{display:flex;flex-wrap: wrap;margin-top:auto;}
.course_dates span{margin-top:auto;}
.course_dates span i{font-style:normal;font-size:190%;letter-spacing:-0.04em;}
.course_dates div:nth-child(1)::after{content:"：";}
.course_dates div:nth-child(n + 2) span:nth-child(1){font-size:80%;letter-spacing:-0.04em;}
.course_dates span:nth-child(4){padding:0 .3em;}

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

.tab_container {
	padding:20px 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:#f20c3c;
	border-color:#f20c3c;
}

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

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


.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#tab4_content{
	border-radius:25px 0 25px 25px;
}
.tab_content#tab5_content{
	border-color:#f20c3c;
 border-radius:0 25px 25px 25px;
}

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

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


.course_btn_area{padding:40px 0 0;}


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

.voice_box .box{display: none;}

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

.voice_box h2{
	position:relative;
	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 #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:800;font-size:24px;line-height:1.4em;
	letter-spacing:.1em;
}
.voice_inner_head h3 span:nth-child(1){
	display: block;
	width: 100%;
	padding-bottom:.25em;
}
.voice_inner_head h3 span:nth-child(1) i{
	display:inline-block;
	font-size:.9em;
	color:#fff;
	background-color:#f20c3c;
	font-weight:900;
	font-style:normal;
	padding:.15em 1.5em 0;
}
.voice_inner_head h3 span:nth-child(2){
	padding-right:.4em;
}

.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:#ffcd00;
  background-color:#222;
	}
	.voice_list_box .title.open:hover::after{
		border-color:#ffcd00;
	}
}

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

.voice_btn_area{
 display: flex;
 flex-wrap: wrap;
 gap:30px;
 padding:60px 0 0;
 margin: auto;
 max-width:1100px;
}
.voice_btn_area .applybtn_box{width:100%;}


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

.flow_box{
 position:relative;
	padding:100px 140px;
}

.flow_box > img[src*="ill"]{position:absolute;top:-14px;left:9vw;width:120px;}

.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_area{background-color:#ffaa09;}

.campaign_bk_top,.campaign_bk_bottom{position:relative;}

.campaign_bk_top::before,.campaign_bk_top::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	display:block;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
}

.campaign_bk_top::before{
	background-image: url(../images/bk_snow02_l.webp);
 background-position: 2vw 1vw;
 background-size: max(200px, 40vw);
}
.campaign_bk_top::after{
 background-image: url(../images/bk_snow02_r.webp);
 background-position: calc(100% - 2vw) -1vw;
 background-size: max(240px, 30vw);
}

.campaign_bk_bottom::before,.campaign_bk_bottom::after{
	content:"";
	position:absolute;
	display:block;
	top:0;
	left:0;
	width: 100%;
	height:100%;
	background-repeat: no-repeat;
}

.campaign_bk_bottom::before{
	background-image: url(../images/bk_snow03_l.webp);
 background-position: calc(0% + 5vw) 98%;
 background-size: max(180px, 26vw);
}
.campaign_bk_bottom::after{
 background-image: url(../images/bk_snow03_r.webp);
 background-position: calc(100% - 2vw) calc(100% - 4vw);
 background-size: max(100px, 11vw);
}

.campaign_box{
	position: relative;
	padding:80px 200px;
	z-index:5;
}

.campaign_box h2{
	width:100%;
	display: flex;flex-wrap: wrap;
	justify-content: center;
	gap:0 .4em;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:55px;
	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;
	margin-bottom: 50px;
}

.campaign_inner > img[src*="ill"]{position:absolute;bottom:30px;right:40px;width:140px;}

.campaign_inner:last-child{margin-bottom: 0;}

/*
.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: #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: 40px;
	line-height:1.4em;
    padding-bottom: 15px;
}
.campaign_inner_h3box h3::after {
	position: absolute;
	bottom:-24px;
	left:50%;
	transform: translateX(-50%);
	content: "";
	width:7%;
	height: 27px;
	background-color:#ffaa09;

	/* 6つの点を結んでV字の形に切り抜く */
	clip-path: polygon(
	0% 0%,                                     /* ① 左上の外側 */
	50% 100%,                                  /* ② 中央下（外側） */
	100% 0%,                                   /* ③ 右上の外側 */
	calc(100% - 4.2px) 0%,                     /* ④ 右上の内側 */
	50% calc(100% - 4.2px),                    /* ⑤ 中央下（内側） */
	4.2px 0%                                   /* ⑥ 左上の内側 */
	);

}


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



.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:#ffaa09 4px solid;
	border-radius: 10px;
	padding:8px;
}

.campaign_referral_wrap.card{position:relative;}
.campaign_referral_wrap.card img[src*="card"]{
	position:absolute;
	top:-24px;
	right:0;
	width:100px;
	transform: rotate(8deg);
}

.campaign_referral_target{
	display:flex;
	flex-wrap: wrap;
	width:110px;
	background-color:#ffaa09;
	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:#f20c3c;
	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;
}


/*--------------*/

.campaign_referral_highbox{
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:32px;
	padding:15px 0 0;
}

.campaign_referral_highwrap{
	max-width:620px;
	margin: auto;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:10px;
}

.campaign_referral_highlinebox{
	display: flex;
    flex-wrap: wrap;
    width:7em;
    background-color: #ffaa09;
    font-weight: 700;
    color: #fff;
    font-size: .6em;
    line-height: 1.2em;
}
.campaign_referral_highlinebox span{
	display:block;
    margin:auto;
	line-height:1em;
}

.campaign_referral_hightext-box{
	width:calc(100% - 5em - 10px);
	display:flex;
	flex-wrap: wrap;
	padding:5px 0;
}

.campaign_referral_hightext{
	width:100%;
	text-align:left;
	line-height:1.2em;
	font-size: .8em;
	margin: auto 0;
}
.campaign_referral_highprice{width:100%;margin: auto 0;display:flex;flex-wrap:wrap;}
.campaign_referral_highprice span{display:block;line-height: 1em;}
.campaign_referral_highprice span:nth-child(1){
	color: #f20c3c;
    letter-spacing: -0.01em;
    font-size: 2.6em;
	margin:auto 0;
}
.campaign_referral_highprice span:nth-child(2){margin:auto 0 0;padding-bottom:.3em;}
.campaign_referral_highprice span:nth-child(3){margin:auto 0 0;padding-bottom:.3em;}


.campaign_referral_highwrap.sub{font-size:.6em;}

.campaign_referral_highwrap.sub div:nth-child(1){display:flex;flex-wrap: wrap;}
.campaign_referral_highwrap.sub div:nth-child(1) > span{display:block;margin: auto;padding:.1em .75em 0;border:2px solid #222;}

.campaign_referral_high-cur{display:flex;flex-wrap: wrap;}
.campaign_referral_high-cur div:nth-child(1){font-size:2em;}
.campaign_referral_high-cur div:nth-child(2){align-content: center;text-align:left;}
.campaign_referral_high-cur div:nth-child(2) span{display:block;line-height:1.2em;}
.campaign_referral_high-cur div:nth-child(2) span:nth-child(1){font-size:.5em;font-weight:400;}
.campaign_referral_high-cur div:nth-child(2) span:nth-child(2){font-size:1em;}

.campaign_referral_high-new{display:flex;flex-wrap: wrap;}
.campaign_referral_high-new div:nth-child(1){font-size:2em;}
.campaign_referral_high-new div:nth-child(2){align-content: center;text-align:left;}
.campaign_referral_high-new div:nth-child(2) span{display:block;line-height:1.2em;}
.campaign_referral_high-new div:nth-child(2) span:nth-child(1){font-size:.5em;font-weight:400;}
.campaign_referral_high-new div:nth-child(2) span:nth-child(2){font-size:1em;}

.campaign_referral_highwrap.sub div:nth-child(3){display:flex;flex-wrap: wrap;gap:.2em;margin: auto 0;}
.campaign_referral_highwrap.sub div:nth-child(3) span{
	display: inline-block;
	width:.5em;
	height:1em;
	background:rgba(0,0,0,.75);
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}



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

.briefing_banner_area{
	padding:120px 200px 40px;
	position: relative;
	z-index:5;
}

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

.briefing_banner a{
	position:relative;
	display:flex;
	flex-wrap:wrap;
 gap:.2em 2%;
	font-size:70px;
	background: linear-gradient(to right, #066de5, #064a9d);
	border-radius:15px;
	font-family:lineseed,"sans-serif";
	font-weight:700;
	color:#fff;
	padding:.4em .75em .5em;
	padding-right:2.5em;
	filter: drop-shadow(10px 10px 0 rgba(219,150,22,0.50));
	transition:.2s;
}

.briefing_banner a div{margin: auto;line-height:0;}

.briefing_banner a div:nth-child(1){width:49%;}
.briefing_banner a div:nth-child(2){width:49%;}
.briefing_banner a div:nth-child(3){width:100%;}
.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.webp");
	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 200px;
	position: relative;
	z-index:5;
}

.movie_main{
	margin: auto;
    max-width:1000px;
	filter: drop-shadow(10px 10px 0 rgba(219,150,22,0.50));
}



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





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

.school_box{
	background-color:#ffcd00;
	padding:100px 200px;
}

.school_box h2{
 position:relative;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	font-size:40px;
	line-height:1.4em;
	padding-bottom:10px;
}
.school_box h2 > img[src*="ill"]{position:absolute;bottom:-15px;left:30px;width:110px;}

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

.school_main .title_tgl{
 position:relative;
 width:100%;
 font-size:50px;
 background-color:#ff7300;
 color:#fff;
	font-family:lineseed,"sans-serif";
	font-weight:700;
 letter-spacing:.05em;
 line-height:1.4em;
 border-radius:5em;
 padding:.2em 0;
 border:2px solid #ff7300;
 transition: .2s;
}
.school_main .title_tgl::before,
.school_main .title_tgl::after {
 display: block;
 content: "";
 position: absolute;
 top: 48%;
 right: .6em;
 margin: auto;
 width: .6em;
 height: .05em;
 background-color: #fff;
}
.school_main .title_tgl::after{
 transform: rotate(-90deg);
 transition: .2s;
}
.school_main .title_tgl.open::after{
 transform: rotate(0deg);
}
@media screen and (min-width:768px) {
 .school_main .title_tgl:hover{background-color:rgba(255,255,255,0);color:#ff7300;}
 .school_main .title_tgl.open:hover{background-color:rgba(255,255,255,0);background-color:#ff7300;color:#fff;}
 .school_main .title_tgl:hover::before,.school_main .title_tgl:hover::after{background-color:#ff7300;}
 .school_main .title_tgl.open:hover::before,.school_main .title_tgl.open:hover::after{background-color:#fff;}
}

.school_wrap{padding-bottom: 40px;}

.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: #f20c3c;
	font-size:75%;
	padding-left: .4em;
	font-weight:900;
}

.school_wrap ul li a h4::before{
	position: absolute;
	content: "●";
	color: #f20c3c;
	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:#f20c3c;}
.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:#f20c3c;}
.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{
	background-color:#ffaa09;
	padding:50px 170px;
}

.inst_btn{
	max-width:960px;
	margin:0 auto 40px;
	display: flex;
	padding:40px;
	border-radius:20px;
}
.sns_text{
	font-family:lineseed,"sans-serif";
	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{
	padding-bottom: .5em;
}
.sns_text div p.sns_bold{
	font-size: 52px;
	font-weight: 600;
}

.inst_btn a{
	margin:auto;
	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: #18305b;
	padding:60px 0;
}

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