@charset "utf-8";

@media screen and (max-width: 1500px) {
	
}
@media screen and (max-width: 1360px) {
	
}

@media screen and (max-width: 1260px) {
	
}


@media screen and (max-width: 1200px) {

}


@media screen and (max-width: 1100px) {

	.button_area a{max-width:800px;}
	.button_area a.apply div > span {font-size: 32px;}
	.button_area a.gakutore div > span {font-size: 32px;}
	.button_area a.honka div > span {font-size:32px;}
	
/*-----------------------------------------
 導入
 -----------------------------------------*/
	.intro_textwrap{max-width:800px;justify-content:center;}
	.intro_text{width:100%;}
	.intro_text h2{text-align:center;padding:0 0 20px;}
	.intro_h2sub{margin:auto;}
	.intro_img{width:70%;}
	
/*-----------------------------------------
 特長①
 -----------------------------------------*/
	.suited_listitem{max-width:800px;}
	.suited_listtext{width:calc(80% - 60px);}
	.suited_listtext-wrap {padding:45px 0 60px 50px;}
	.suited_listtext-wrap div {padding-top: 20px;}
	.suited_listtext-wrap div p {font-size: 18px;}
	.line-frame_wrap::before{}
	.suited_listtext h2 {font-size: 38px;}
	.suited_listimg{margin-top:-40px;width:60%;margin-left:auto;}
	
	.rtl .suited_listtext-wrap {padding: 45px 50px 60px 0;background-position: 108% -6%;}
	.rtl .suited_listimg{margin-left:0;margin-right:auto;}
	
	.suited_situation_h2 h2 {font-size: 46px;}
	.suited_situation_h2 svg {width: 50px;}
	.suited_situation_item {width: calc((100% - 5px) / 2);}
	.suited_situation_item-text {font-size: 18px;}
	
/*-----------------------------------------
 特長②
 -----------------------------------------*/
	.suited_situation{margin:auto;max-width:800px;}
	.feature_main {padding: 110px 30px;}
	.feature_h2box {padding-bottom: 110px;}
	.feature_list{margin:auto;max-width:800px;}
	.feature_list_img {width:130px;}
	.feature_list_text{width: calc(100% - 160px);font-size: 30px;}
	
	
/*-----------------------------------------
 course
 -----------------------------------------*/
	.course_contents_target > div {font-size: 25px;}
	.course_contents_att {font-size: 24px;}
	.course_contents_item h3 {font-size: 30px;}
	
/*-----------------------------------------
 流れ
 -----------------------------------------*/
	.flow_main{padding:80px 30px 30px;}
	
/*-----------------------------------------
 キャンペーン02
 -----------------------------------------*/
	.campaign02_main h2{margin:auto;max-width:600px;justify-content: center;}
	.campaign02_main h2 img:nth-child(1){width:85%;margin-bottom:-3%;}
	.campaign02_main h2 img:nth-child(2){width:100%;margin-left:0;}
	
	.campaign02{background-size: 130%;}
	.campaign02_area {padding: 120px 30px 120px;}
	.campaign02_period{width:60%;padding: 15px 0 0;}
	
}


@media screen and (max-width:870px) {
	.button_area a.apply div > span {font-size: 26px;}
	.button_area a img[src*="orien"] {width: 46%;}
	.button_area a.orien span {font-size: 26px;}
	.button_area a.gakutore div > span {font-size: 26px;}
	.button_area a.honka div > span {font-size:26px;}
	
	
	.suited_listtext {width: calc(94% - 60px);}
	
	
	.feature_listwrap {padding: 0 25px 25px;}
	.feature_list_img {width: 110px;padding: 0 5px;}
	.feature_list_text {width: calc(100% - 140px);font-size:24px;}
	
}



@media screen and (max-width: 767px) {
	
/* ---------------------------------------------------------
■ ヘッダー
--------------------------------------------------------- */
header {
  width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: center;
  background-color: #002b69;
  overflow: hidden;
  padding: 8px;
}

header img {width: 180px;}
	
.head-02.open {transform: translateX(0px);}
.head-wrap {height: 35px;padding-top: 0;}
.head-nav .head-logo{width: 165px;}
.head-items {display: none;color: #dadada;}
.lp-header__trigger{top: 7px;right: 5px;display: block;}

	.head_apply_btn{
		margin-top:-4px;
		margin-left: auto;
		margin-right:40px;
		max-width:120px;
	}
	/*.head_apply_btn a{padding:1px 12px;}*/
	/*.head_apply_btn a span:nth-child(1){width:18px;}
	.head_apply_btn a span:nth-child(2){width:calc(100% - 18px - 5px);}*/
	
	.head_apply_btn a{padding:0;background-color:rgba(255,255,255,0);border:none;}
	.head_apply_btn a span:nth-child(1),.head_apply_btn a span:nth-child(2){display:none;}
	.head_apply_btn a span:nth-child(3){display:inline;}
	.head_apply_btn a span:nth-child(3) img{width:100%;}
	
/* ---------------------------------------------------------
■ ボタン
--------------------------------------------------------- */
	.button_area a img[src*="orien"] {width: 56%;}
	.button_area a.orien span{display:block;width:100%;padding-bottom:.3em;}
	.button_area a.apply div > span{display:block;width:100%;line-height:1.2em;padding-right:0;}
	.button_area a.honka div > span{display:block;width:100%;line-height:1.2em;padding-right:0;}
	
	
/* ---------------------------------------------------------
■ MV
--------------------------------------------------------- */
	.mv_box{padding:0;}
	.mv_box h1{line-height:0;}
	
	

/* ---------------------------------------------------------
■ 導入
--------------------------------------------------------- */
	.intro_main {padding: 50px 30px;}
	.intro_text h2 {font-size: 42px;}
	.intro_h2sub{text-align:center;font-size:27px;font-weight:800;}
	
	.button_area.intro {padding: 60px 0 0;}
	
	
/* ---------------------------------------------------------
■ 特長①
--------------------------------------------------------- */
	
	.suited_main {padding: 90px 30px;}
	.suited_listwrap {padding: 0 0 60px;}
	.suited_listtext-wrap {padding: 35px 0 60px 40px;}
	.rtl .suited_listtext-wrap {padding: 35px 40px 60px 0;}
	.suited_listtext h2 {font-size: 30px;}
	.suited_listtext h2::before {width: 23px;}
	.suited_listtext-wrap div p {font-size: 16px;}
	
	.suited_listimg {width: 75%;}
	
	.suited_situation_wrap {padding: 0 35px 40px;}
	.suited_situation_h2 h2 {font-size:35px;padding-bottom: 10px;}
	.suited_situation_h2 svg {width: 36px;}
	
	.button_area.suited {padding: 60px 0 0;}
	
	
	.suited_situation_h2 {padding-bottom: 5px;}
	.suited_situation_item-img img {width: 75%;}
	.suited_situation_item-text {font-size: 16px;}
	
	.rtl .suited_listtext-wrap{background-image:none;position:relative;z-index: 2;}
	.rtl .suited_listtext{position:relative;}
	.rtl .suited_listtext::before{
		content:"";
		position:absolute;
		display:block;
		left:-50px;
		top:0;
		z-index: 1;
		width:calc(100% + 50px);
		height:100%;
		background-image: url(../images/suited_bk.webp);
		background-position: 115% -3%;
		background-repeat: no-repeat;
		background-size: 140%;
	}
	
	
/* ---------------------------------------------------------
■ 特長②
--------------------------------------------------------- */

	.feature_box::before {width: 90%;}
	.feature_main {padding: 80px 30px;}
	.feature_list {max-width: 580px;}
	.feature_h2box h2 {font-size: 53px;}
	.feature_list_item{gap:5px;}
	.feature_list_img {width:80px;}
	.feature_list_text {width:100%;text-align:center;letter-spacing:0.02em;font-size: 22px;}
	
	.button_area.feature01 {padding: 40px 0 0;}
	
	.lesson_main {padding-top: 70px;}
	.lesson_h2box {padding-bottom: 40px;}
	.lesson_h2box h2{font-size:53px;}
	.lesson_img_note {font-size: 16px;}
	
	.button_area.feature02 {padding: 40px 0 20px;}
	
		
	
/* ---------------------------------------------------------
■ ベースアップコース
--------------------------------------------------------- */
	
	.course_main {padding: 60px 30px;}
	.course_h2img {max-width: 90px;}
	.course_h2box h2 {padding: 15px 10px;font-size: 50px;}
	.course_contents_item {padding-top: 65px;}
	.course_contents_inner {padding: 0 25px 40px;}

	.course_contents_target {margin:0;}
	.course_contents_target > div::before{aspect-ratio:1 / 2;}
	.course_contents_target > div span{display:block;}
	.course_contents_target > div span:nth-child(2){font-size:85%;}
	
	.course_contents_att{line-height:1.2em;}
	.course_school_region{width:100%;}
	.course_school_region.double ul li {width:100%;}
	.course_school_note {text-align: left;font-size: 14px;}
	
	.button_area.course {padding: 60px 0 0;}
	
/* ---------------------------------------------------------
■ 公開説明会
--------------------------------------------------------- */
	
	.orien_table_title{display:none;}
	.orien_table_item h4{
		width:100%;padding:10px;
		border-right:none;border-bottom:none;
		background-color: #003d87;
	}
	.orien_table_item h4 a{color:#fff;letter-spacing:0.05em;font-size:16px;}
	.orien_table_item ul{width:100%;}
	.orien_table_list li:last-child{border-bottom:none;}
	.orien_table_list li div{display:flex;flex-wrap:wrap;}
	.orien_table_list li div span{display:block;margin:auto;}
	.orien_table_list li div:nth-child(1) {width:50%;}
	.orien_table_list li div:nth-child(2) {width:20%;}
	.orien_table_list li div:nth-child(3) {width:30%;}
	
	.orien_table_note{font-size:14px;}
	
	.button_area.orien {padding: 40px 0 0;}
	
	.orien_table.offline .orien_table_item h4{width:100%;}
	.orien_table.offline .orien_table_item ul{width:100%;}

	
/* ---------------------------------------------------------
■ 流れ
--------------------------------------------------------- */
	.flow_main {padding: 60px 30px 20px;}
	.flow_h2box h2{font-size:53px;}
	.flow_item {display:flex;flex-wrap:wrap;gap:20px;width:100%;}
	.flow_imgbox{width:45%;}
	.flow_step {width: 26%;top: -10px;}
	.flow_textbox{width:calc(55% - 20px);}
	.flow_textbox h3{text-align:left;}
	
	.button_area.flow {padding: 0px 30px 60px;}
	
/* ---------------------------------------------------------
■ キャンペーン02
--------------------------------------------------------- */
	.campaign02 {background-size: 220%;}
	.campaign02_area{padding: 100px 30px 90px;}
	.campaign02_period{width:55%;}
	.campaign02_note{font-size:13px;}
	
	
/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
footer {
	width: 100%;
	text-align: center;
	background-color:#002B69;
}
	
}


@media screen and (max-width:670px) {
	
}


@media screen and (max-width:580px) {
	
	.head-wrap {height: 30px;}
	.head-nav .head-logo{width: 135px;}
	
	.head_apply_btn {max-width: 120px;margin:auto;margin-right:40px;}
	/*.head_apply_btn a{padding:1px 8px;}*/
	
	
/* ---------------------------------------------------------
■ ボタン
--------------------------------------------------------- */
	.button_area a {margin: 0 auto 4vw;padding:4.5vw 4vw 4.5vw 0;}
	.button_area a svg {width: 7%;right: 3vw;}
	.button_area a.orien span {font-size: 6.5vw;}
	.button_area a img[src*="orien"] {width: 68%;}
	
	.button_area a.gakutore img[src*="star"]{display:none;}
	.button_area a.gakutore div > span i{font-style:normal;display:inline;padding-right:5px;}
	.button_area a.gakutore div > span{display: block;width:100%;line-height: 1.2em;padding-right:0;}
	
	
	
	.line-frame_wrap::before {right: -8vw;width: 8vw;height: calc(100% - 8vw);}
	.line-frame_wrap::after {right: -8vw;width:8.1vw;height:8.1vw;}
	.line-frame::after {
		height: calc(100% + 4vw);left: -2vw;top: -2vw;width: calc(100% + 4vw + 8vw);
		clip-path: polygon(
    /* --- 外枠 --- */
    0% 0%,                          /* 左上 */
    calc(100% - 9.3vw) 0%,           /* 右上（カット開始点） */
    100% 9.3vw,                      /* 右上（カット終了点） */
    100% 100%,                      /* 右下 */
    0% 100%,                        /* 左下 */
    0% 0%,                          /* 左上に戻る（繋ぎ） */
    
    /* --- 内窓（5pxの厚みを持たせる） --- */
    1vw 1vw,                          /* 内側左上 */
    1vw calc(100% - 1vw),             /* 内側左下 */
    calc(100% - 1vw) calc(100% - 1vw),/* 内側右下 */
    calc(100% - 1vw) 9.5vw,            /* 内側右上（カット下端） */
    calc(100% - 9.5vw) 1vw,            /* 内側右上（カット上端） */
    1vw 1vw                          /* 内側左上に戻る */
  );
	}
	
	.rtl .line-frame_wrap::before {left: -8vw;}
	.rtl .line-frame_wrap::after {left: -8vw;}
	.rtl .line-frame::after {right:-2vw;;}
	
	.top .line-frame::after {top: -10vw;height: calc(100% + 4vw + 8vw);width: calc(100% + 4vw);}
	.top .line-frame_wrap::before {top: -8vw;width: calc(100% - 8vw);height:8vw;}
	.top .line-frame_wrap::after {top: -8vw;}
	
/* ---------------------------------------------------------
■ MV
--------------------------------------------------------- */
	.mv_box {padding:0;}
	
/* ---------------------------------------------------------
■ 導入
--------------------------------------------------------- */	
	.intro_main {padding: 9vw 5vw;}
	.intro_textwrap{gap:7vw;}
	.intro_text h2 {font-size: 7.5vw;font-weight: 900;padding: 0 0 3vw;line-height: 1.15em;}
	.intro_h2sub{font-size:5.5vw;padding:1.5vw 0;width:100%;font-weight: 700;}
	.intro_text_pg {padding: 6vw 0 0;font-size: 16px;}
	.intro_img{width:100%;}
	
	.button_area.intro {padding: 10vw 0 0;}
	
	
/* ---------------------------------------------------------
■ 特長①
--------------------------------------------------------- */
	.suited_main {padding:15vw 5vw 12vw;}
	.suited_listwrap {padding: 0 0 10vw;}
	.suited_listitem {padding-bottom: 15vw;}
	
	.suited_listtext{width:91%;}
	.suited_listtext-wrap {padding: 7vw 0 8vw 6vw;background-position: 100% -3%;background-size: 175%;}
	.rtl .suited_listtext-wrap {padding: 7vw 8vw 6vw 0;}
	.suited_listtext-wrap div {padding-top: 4vw;}
	.suited_listtext h2 {width: 110%;font-size: 6vw;padding-left: 6.5vw;}
	.suited_listtext h2::before{width:4vw;}
	.suited_listimg {margin-top:7vw;width: 100%;}
	
	.suited_situation_wrap {padding: 0 5vw 7vw;}
	.suited_situation_h2{padding-bottom:0;}
	.suited_situation_h2 h2 {font-size: 8vw;padding-bottom: 5px;}
	.suited_situation_h2 h2 span{padding:0 1.5vw;}
	.suited_situation_h2 svg {width: 26px;}
	
	.suited_situation_item{
		position:relative;width:100%;background-color:rgba(255,255,255,0);padding:5px 5px 5px 24px;
		border-bottom:#fff dotted 2px;
	}
	.suited_situation_item::before{
		content:"●";
		position:absolute;
		left:0;
		top:5px;
		color:#003d87;
	}
	.suited_situation_item-img{display:none;}
	.suited_situation_item-text{padding-top:0;text-align:left;line-height:1.3em;color:#fff;font-weight:700;letter-spacing:0.02em;}
	.suited_situation_item-text br.tb{display:none;}
	
	.rtl .suited_listtext::before{
		left:-8vw;
		width:calc(100% + 8vw);
		background-position: 103% -2%;
        background-size: 175%;
	}
	
	.button_area.suited{padding: 10vw 0 0;}
	
	
/* ---------------------------------------------------------
■ 特長②
--------------------------------------------------------- */
	.feature_box::after {width: 75%;}
	.feature_main {padding:10vw 5vw;}
	.feature_h2box h2 {font-size: 9vw;}
	.feature_h2box {padding-bottom: 20vw;}
	.feature_listwrap {padding: 0 5vw 5vw;}
	.feature_list_item{gap:0;padding: 2vw 0 2.5vw;}
	.feature_list_text {font-size: 5vw;line-height:1.3em;letter-spacing: 0.08em;}
	
	.button_area.feature01 {padding: 10vw 0 0;}
	
	.lesson_main {padding-top: 10vw;}
	.lesson_h2box h2 {font-size: 11vw;}
	.lesson_h2box h2 {font-size: 11vw;}
	.lesson_h2box {padding-bottom: 6vw;}
	.lesson_img_note {font-size: 14px;}
	
	.button_area.feature02 {padding: 5vw 0 0;}
	
/* ---------------------------------------------------------
■ course
--------------------------------------------------------- */
	.course_main{padding:12vw 5vw;}
    .course_h2box h2 {padding: 4vw 2vw;font-size: 9vw;}
	.course_contents_inner {padding: 0 6vw 6vw;}
	
	.course_contents_item {padding-top: 13vw;}
	.course_contents_item h3{font-size: 7vw;margin-bottom: 14vw;padding-left: 9vw;letter-spacing:0.05em;}
	.course_contents_target > div {font-size: 6vw;padding-left: 7vw;margin-bottom: 6vw;}
	.course_contents_target > div::before {aspect-ratio: 2 / 5;}
	.course_contents_target > div span:nth-child(2) {font-size: 70%;}
	
	.course_contents_att {font-size: 4vw;padding-bottom: 5vw;}
	
	.course_school_region h4 {padding: 2vw 0;}
	.course_school_region a{padding: 3px 8px 3px 32px;font-weight:600;}
	.course_school_region a::before {font-size: 1.3em;}

	.button_area.course {padding: 11vw 0 0;}
	
	
/* ---------------------------------------------------------
■ 公開説明会
--------------------------------------------------------- */
	.orien_box {padding: 14vw 5vw 8vw;}
	.orien_h2sub{font-size:16px;padding: 10px 2vw;}
	.orien_table_region h3{font-size:4.5vw;font-weight:700;padding: 3px 15px;}
	.orien_table_item h4 {padding:6px;}
	.orien_table_list li{justify-content:center;}
	.orien_table_list li div {font-size: 15px;padding: 7px 0;}
	.orien_table_list li div:nth-child(1) {width: 140px;}
	.orien_table_list li div:nth-child(2) {width: 23%;}
	.orien_table_list li div:nth-child(3) {width: 30%;}
	.orien_table_list li div.on:nth-child(1) a {background-size: 92%;background-image: url("../images/orien_online_sp.webp");aspect-ratio: 3 / 1;}
	.orien_table_list li div.off:nth-child(1) a {background-size: 88%;background-image: url("../images/orien_shool_sp.webp");aspect-ratio: 3 / 1;}
	
	
/* ---------------------------------------------------------
■ 流れ
--------------------------------------------------------- */	
	.flow_main {padding: 13vw 5vw 5vw;}
	.flow_h2box h2 {font-size: 11vw;}
	.flow_list {gap: 5vw;}
	.flow_item{gap:2vw;}
	.flow_imgbox {width:20%;background-color:rgba(255,255,255,0);}
	.flow_step{display:none;}
	.flow_icon {padding:2vw 0 0;}
	.flow_textbox {text-align:left;width: calc(80% - 2vw);}
	.flow_textbox > span{
		display: inline-block;
		background-color:#E75372;
		color:#fff;
		font-weight:600;
		font-size:14px;
		padding:0 15px;
		border-radius:1.5em;
	}
	.flow_arrow > div {max-width: 26px;}
	.flow_text {font-size: 10vw;}
	
	
	
/* ---------------------------------------------------------
■ キャンペーン
--------------------------------------------------------- */
	.campaign02{background-size:230%;}
	.campaign02_area{padding:calc(50px + 3vw) 5vw 12vw;overflow-x: hidden;}
	
/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
	footer div#footlogo img {max-width: 230px;}
}



@media screen and (max-width: 520px){
	
/* ---------------------------------------------------------
■ 公開説明会
--------------------------------------------------------- */
	.orien_table_list li div:nth-child(1) {width: 120px;}
	.orien_table_list li div:nth-child(2) {width:calc((100% - 120px)* .45);}
	.orien_table_list li div:nth-child(3) {width:calc((100% - 120px)* .55);}
	
/* ---------------------------------------------------------
■ キャンペーン
--------------------------------------------------------- */
	.campaign02_detail{padding:15px 0;}
	.campaign02_period{width:80%;}
	.campaign02_detail img[src*="ambassador"]{top:-9vw;}
	
/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
footer {margin:0;}
	
	
}


@media screen and (max-width:370px) {
	
}