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

body{}

/*----------アコーディオン---------*/
.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(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:#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(41,71,69,.35));
	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);}


.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:#c30d23;
		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:#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 {
    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 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:#c30d23;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:.6em 0 0 .6em;
}

.fixed_box li.school a{background-color:#c30d23;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_bkbok {
  position: relative;
  --mv-side-offset: 0px;
}

.mv_bkbok > img {
	position: absolute;
	top: 0;
	width: auto;
	filter: drop-shadow(7px 7px 0 rgba(170, 122, 14,.7));
}

.mv_bkbok > img[src*="_l"] {
	height: calc(100vh - 380px);
	left: var(--mv-side-offset);
	z-index:4;
}

.mv_bkbok > img[src*="_r"] {
	height: calc(100vh - 340px);
	right: var(--mv-side-offset);
	z-index:6;
}
.mv_bkbok > img[src*="_r02"] {
	z-index:4;
}

/* 1400px → 1200px にかけて 0 → -5vw */
@media screen and (max-width: 1400px) and (min-width: 1201px) {
  .mv_bkbok {--mv-side-offset: calc((100vw - 1400px) * 0.3);}
}

/* 1200px以下は -5vw 固定 */
@media screen and (max-width: 1200px) {
  .mv_bkbok {--mv-side-offset: -5vw;}
}

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

.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{
	background-color:#f75c1d;
	padding:15px 180px;
	
}
.mv_title_box{
	display: flex;
	flex-wrap: wrap;
	gap:0 2%;
	margin: auto;
	max-width:1100px;
}

.mv_title_box img{margin: auto 0;}
.mv_title_box img[src*="kobetsu"]{width:40%;}
.mv_title_box img[src*="kaki"]{width:36%;}
.mv_title_box img[src*="grade"]{width:19%;}




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

.intro_area{background-color:#ffca28;}

.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_item01_l.webp");
	background-position: calc(0% - 30px) -2vw;
	background-size:max(200px,15vw);
}
.intro_bk_top::after{
	background-image: url("../images/bk_item01_r.webp");
	background-position: calc(100% + 30px) -1vw;
	background-size:max(240px,16vw);
}

.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{
	background-image: url("../images/bk_itemmin01.webp");
	background-position:calc(100% + 30px) calc(100% + 2vw);
	background-size:max(200px,15vw);
}

.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:0 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:10px 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:#c30d23;
	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 #c30d23;
	
}
.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:#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{
	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*="bk_photo"]{
	position: absolute;
	border-radius:50%;
}
.intro_inner_textbox > img[src*="01"]{top:5%;left:-100px;width:230px;}
.intro_inner_textbox > img[src*="02"]{bottom:-10%;right:0;width:200px;}


.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:#c30d23;font-weight:900;line-height: 1.4em;}




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


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

.problems_main_text{
	margin:auto;
	padding:60px min(19vw,400px) 40px;
}

.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:#c30d23 10px solid;
	border-bottom:#c30d23 10px solid;
}

.problems_main_h2box::before{
	left:0;
	border-left:#c30d23 10px solid;
}
.problems_main_h2box::after{
	right:0;
	border-right:#c30d23 10px solid;
}
.problems_main_h2box h2{
	margin: auto;
	max-width:1100px;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	color:#fff;
	padding:40px 30px 20px;
	font-size:55px;
	font-family:lineseed,"sans-serif";
	font-weight:900;
	line-height:1.3em;
}
.problems_main_h2box h2 span:nth-child(2){
	color:#c30d23;
	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:#c30d23;
	border-radius: 50%;
}

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

.problems_inner div{margin:auto;width:100%;}
.problems_inner:nth-child(1) div:nth-child(1){width:79%;margin-left:-14%;margin-top:80px;}
.problems_inner:nth-child(1) div:nth-child(2){position:relative;}
.problems_inner:nth-child(2) div:nth-child(2)::after{
	content:"";
	display:block;
	position:absolute;
	right:-58%;
	bottom:7%;
	width:50%;
	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){}
.problems_inner:nth-child(1) div:nth-child(4){width:88%;}

.problems_inner:nth-child(2) div:nth-child(1){margin-right:-10%;}
.problems_inner:nth-child(2) div:nth-child(2){width:56%;margin-top:30px;}
.problems_inner:nth-child(2) div:nth-child(3){width:78%;margin-right:-22%;}
.problems_inner:nth-child(2) div:nth-child(4){width:84%;}




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

.problems_solution_triangle{
	margin:auto;
	background-color:#ffaa09;
	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:#ffca28;
}

.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_item02_l.webp");
	background-position: calc(0% - 30px) -2vw;
	background-size:max(200px,15vw);
}
.course_bk_top::after{
	background-image: url("../images/bk_item02_r.webp");
	background-position: calc(100% + 30px) -1vw;
	background-size:max(240px,16vw);
}

.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_item03_l.webp");
	background-position: calc(0% - 10px) 95%;
	background-size:max(100px,7vw);
}
.course_bk_bottom::after{
	background-image: url("../images/bk_item03_r.webp");
	background-position:calc(100% + 30px) calc(100% + 2vw);
	background-size:max(200px,15vw);
}

.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_wrap{
	margin:auto;
	max-width:1100px;
}

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

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

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

.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_item01_l.webp");
	background-position: calc(0% - 30px) -2vw;
	background-size:max(200px,15vw);
}
.campaign_bk_top::after{
}

.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_item04_l.webp");
	background-position: calc(0% - 10px) calc(100% + 2vw);
	background-size:max(160px,14vw);
}
.campaign_bk_bottom::after{
	background-image: url("../images/bk_item04_r.webp");
	background-position:calc(100% + 30px) calc(100% + 2vw);
	background-size:max(200px,15vw);
}

.campaign_box{
	position: relative;
	padding:60px 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: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:#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_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:#c30d23;
	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: #c30d23;
    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;
	font-size:70px;
	background-color:#c30d23;
	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(99,73,52,.5));
	transition:.2s;
}

.briefing_banner a div{margin: auto;}

.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;
	background-color:#ffca28;
}

.movie_bk_top,.movie_bk_bottom{position:relative;}

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

.movie_bk_top::before{
}
.movie_bk_top::after{
	background-image: url("../images/bk_item06_r.webp");
	background-position: calc(100% + 30px) -1vw;
	background-size:max(300px,18vw);
}

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

.movie_bk_bottom::before{
	background-image: url("../images/bk_item05_l.webp");
	background-position: calc(0% - 10px) 95%;
	background-size:max(100px,7vw);
}
.movie_bk_bottom::after{
	background-image: url("../images/bk_item05_r.webp");
	background-position:calc(100% + 30px) calc(100% + 2vw);
	background-size:max(200px,15vw);
}

.movie_box{
	padding:100px 200px;
	position: relative;
	z-index:5;
}

.movie_main{
	margin: auto;
    max-width:1000px;
	filter: drop-shadow(6px 6px 0 rgba(99,73,52,.5));
}



.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;
	filter: drop-shadow(6px 6px 0 rgba(99,73,52,.5));
}





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

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

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

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