@charset "utf-8";

@font-face { font-family:"FAsolid"; src:url("./fa-solid-900.woff") format("woff"); }

.dbl{display: block;}
.dib{display: inline-block;}
.din{display: inline;}
.dtb{display: table;}
.right, .right p { text-align:right; }
.center, .center p { text-align:center; }
.left, .left p { text-align:left; }
a[target="_blank"]::after { font-family: "FAsolid"; font-weight:900; content: "\f35d"; display: inline-block; margin:0 0 0 3px; }
.sns_icon a[target="_blank"]::after { display: none;}
.flex { display: flex; flex-flow: row wrap; }

.p_re{ position: relative; }

.indent { padding-left:1em; text-indent: -1em;}
.lineclamp1 { white-space: nowrap; width: 100%; text-overflow: ellipsis; overflow: hidden;}
.lineclamp2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow:hidden; }
.lineclamp3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow:hidden; }



:root{
  --c_aviva: #C20035;
  --c_navy: #0D3246;
  --c_smoke: #f6f6f6;
  --c_pink: #F35D86;
}


/*==================================================================================================================*/

html { font-size: clamp( 14px, 4vw, 24px ); }
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  word-wrap: break-word;
  background: var(--c_smoke);
}

.f_maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.content { color: #111;}

h1, h2, h3, h4 { line-height: 1.4; margin-bottom: 1em;}

p { margin-bottom: 1em;}

a { text-decoration: none; color: inherit; transition : all 0.8s ease 0s;}
a:hover { opacity: 0.8; }

.c_aviva { color: var(--c_aviva);}
.c_white  { color:#fff;}
.c_navy { color: var(--c_navy);}
.c_pink { color: var(--c_pink);}

.underline { background: linear-gradient(transparent 70%, #FDE89E 30%);}

.semibold { font-weight: 500;}
.bold { font-weight: 700;}
.heavy { font-weight: 900;}

/*背景色*/
.bg_white { background: #fff;}
.bg_aviva { background: var(--c_aviva);}
.bg_smoke { background: var(--c_smoke);}
.bg_pink { background: var(--c_pink);}
.bg_navy { background: var(--c_navy);}

/*テーブル*/
table { border-collapse: collapse; border-spacing:0; width: 100%; }
caption { text-align:left; font-weight:bold; color:#993300; }
th,td{ border: #7f9255 1px solid; padding:10px 20px; font-size: 1rem; vertical-align:top; }
thead th,tfoot th { background-color:#728c42; color:#fff; }
thead td,tfoot td { background-color:#999; color:#fff; }
tbody th { background-color: #a0cc3c; color: #fff; }
tbody td { background-color:#fff; }

.img_frame { border: solid 4px #fff; box-shadow: 0 2px 6px rgb(0 0 0 / 10%); }

/*レイアウト共通*/
#container  { width: 100%; overflow: hidden;}
.inr { margin: 0 auto; padding: clamp( 40px, 4vw, 80px ) 0; }


.gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative;}
.gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%;}


.contents_btm01 {margin-bottom: clamp( 10px, 2vw, 20px );}
.contents_btm02 {margin-bottom: clamp( 20px, 4vw, 40px );}
.contents_btm03 {margin-bottom: clamp( 30px, 6vw, 60px );}
.contents_btm04 {margin-bottom: clamp( 40px, 8vw, 80px );}
.contents_btm05 {margin-bottom: clamp( 50px, 10vw, 100px );}
.contents_btm0 {margin-bottom: 0;}
.p0{padding: 0 !important;}
.mb0{margin-bottom: 0 !important;}
.pt0{padding-top: 0 !important;}
.pb0{padding-bottom: 0 !important;}

.b_shadow { box-shadow: clamp( 3px, 1vw, 5px )  clamp( 3px, 1vw, 5px )  clamp( 3px, 1vw, 5px ) rgba( 0, 0, 0, .2 );}

.float_l { float: left;}
.float_r { float: right;}
.clear { clear: both;}

@media (max-width:799px) {
}

@media all and (min-width: 600px){
	.noPC{ display:none !important; }
}
@media all and (max-width: 599.999px){
	.noSP{ display:none !important; }
}
@media (max-width:599px) {
	body{ line-height: 1.7;}
	.noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td { display:block; width:100%; }
	.noTab tr { margin-top:10px; }
	.inr{padding: 8% 10px;}
}


.btn { line-height: 1.2;}

.btn a {
	display: block;
	padding: 1.5em 3em;
	border-radius: 3em;
}

.btn a:hover {
	opacity: .8;
}

.btn a.bg_dark { background: #506D7C; background: linear-gradient(90deg,rgba(80, 109, 124, 1) 0%, rgba(13, 50, 70, 1) 100%);}
.btn a.bg_light { background: #8DA6B3; background: linear-gradient(90deg,rgba(141, 166, 179, 1) 0%, rgba(138, 158, 169, 1) 100%);}
.btn a.bg_orange { background: #E97132;}
.btn a.bg_green { background: #8ED973;}



.arrow01 a {
  position: relative;
}

.arrow01 a::after {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  right: 1em;
  display: block;
  width: 0;
  height: 0;
  border: solid .5em transparent;
  border-left-color: #fff;
}




/*もっと見る*/
.open-label,
input[type="checkbox"].on-off{
  display: none;
}




@media (max-width: 799px){


/*もっと見る*/

.open-label{
  display: block;
}


/*ラベル（「開く」ボタン）*/
.open-label{
  width: 80%;
  max-width: 340px;
  margin: auto;
  padding-bottom: 0.8em;
  display: block;
  text-align: center;
  border-bottom: 1px solid #333;
}

.open-label.arrow::before,
.open-label.arrow::after{
  background-color: #111;
}


/*開閉エリア*/
.open{
  padding: 0 0;
  height: 0;
  opacity: 0;
  transition: .5s;
}
/*「開く」をタップで表示*/
.on-off:checked  ~ .open{
  padding: 1.5em 0;
  height: auto;
  opacity: 1;
}


}












/*フッター*/

footer{
}


footer .foot_logo{
  width: 100%;
  max-width: 285px;
  margin:0 auto 1em;
}


footer li{
  text-align: center;
}

footer li a{
  color: #fff;
}

.copy{
	font-size: 75%;
	text-align: center;
}

@media (max-width: 799px){
	.copy { padding-bottom: 100px;}
}





.onoff { opacity: 0; transition:all 1s; }
.onoff.on { opacity: 1; }


.fadein{
  display: block;
  transition: 1s;/*効果時間*/
  transition-timing-function:ease;/*開始と完了を滑らかにする*/
  transform:translateY(50px);/*下から表示させる*/
  opacity: 0;/*不透明度*/
}

.fadein.flex { display: flex;}

.fadein.on{
  transform: none;/*active時に拡大解除*/
  opacity: 1;/*不透明度を元に戻す*/
}






#page_top{ width: 54px; height: 54px; position: fixed; z-index: 9999; display:none; right: 55px; bottom: 60px; background: #111; border-radius: 50%;}
#page_top.on { display:block; }
#page_top a{ position: relative; display: block; width: 54px; height: 54px; text-decoration: none; text-align: center; color: #fff;}
#page_top a::before{ font-family: FAsolid; font-weight: 900; content: '\f106'; display: block; font-size: 25px; color: #fff;text-align: center;
  position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
margin: auto;}
@media (max-width: 799px){
	#page_top{ width: 50px; height: 50px; right: 20px;bottom: 90px}
	#page_top a{ width: 50px; height: 50px; line-height:1;}
	#page_top a::before{ margin-bottom:2px;}
}
@media (max-width: 369px){
  #page_top{ right: 10px;bottom: 90px}
	#page_top, #page_top a{width: 40px;height: 40px;}
	#page_top a::before{margin-bottom:0;height: 22px;}
}




/*
.fixed_btn { width: 54px; height: auto; position: fixed; z-index: 9999; display: none; right: 55px; bottom: 120px;}
.fixed_btn.on { display: block;}
*/
.fixed_btn { width: 2em; height: auto; position: fixed; z-index: 9999; right: 0; top: 1em; font-size: 130%;}
.fixed_btn li { writing-mode: vertical-rl; letter-spacing: .2em; margin-bottom: .8em; width: 100%; text-align: center;}
.fixed_btn a { padding: 1.5em 0; display: flex; flex-wrap: wrap; align-content: center; justify-content: center; width: 100%; height: auto; text-decoration: none; color: #fff; border-radius: .3em 0 0 .3em; border: solid 2px rgba(255,255,255,.4);}
.fixed_btn a::after { display: none;}

@media (max-width: 799px){
	.fixed_btn { width: auto; height: auto; left: 0; top: unset; bottom: 0; padding: 2px; font-size: 100%;}
	.fixed_btn ul { display: flex; flex-wrap: wrap; column-gap: 2px;}
	.fixed_btn li { writing-mode: lr; margin: 0; width: calc( 50% - 1px );}
	.fixed_btn a { padding: 0.8em 0; border-radius: 5px;}
}




/*
header {}
*/





.cta_set { width: 100%; margin-top: 2em; font-size: 120%;padding: 0 10px;}
.cta_set li { position: relative; margin: 2em auto 1em;}
.cta_set li .balloon { font-size: 80%; width: 17em; max-width: 90vw; padding: .5em; position: absolute; z-index: 1; top: -1.75em; left: 50%; transform: translateX(-50%); background: rgba( 255,255,255,.8);}
.cta_set li .balloon::after { content: ""; display: block; width: 0; height: 0; border: solid .5em transparent; border-top-color: rgba(255,255,255,.8); position: absolute; top: 100%; left: calc( 50% - .5em );}
.cta_set li a { max-width: 600px; margin-inline: auto; padding-block: 1.25em; box-shadow: 0 1em 1.5em -1em rgba(0,0,0,.4);}

@media(min-width:1000px) {
	.cta_set { display: flex; flex-wrap: wrap; justify-content: center; column-gap: clamp( 1em, 2vw, 2em ); padding-inline: 1em; font-size: 90%;}
	.cta_set li { max-width: 20em; width: calc( 50% - clamp( .5em, 1vw, 1em ) ); margin-inline: 0;}
}





.list_dot > li { padding-left: 1em; position: relative;}
.list_dot > li::before { content: "・"; position: absolute; left: 0; top: 0;}


.sh1 { font-size: 250%;}
.sh1 .small { font-size: 50%;}
.sh2 { font-size: 200%;}
.uppercase { text-transform: uppercase;}

.balloon_pink { background: #CC094E; background: linear-gradient(90deg,rgba(204, 9, 78, 1) 0%, rgba(219, 83, 131, 1) 100%); text-align: center; padding: .2em .7em; text-align: center; margin-bottom: .5em; position: relative;}
.balloon_pink::after { content: ""; display: block; width: 0; height: 0; border: solid .2em transparent; border-top: solid .3em #d32e68; position: absolute; top: 100%; left: calc( 50% - .2em );}


.bg_geo { background: url(../images/bg_geo.jpg) no-repeat center top; background-size: cover;}

@media (max-width:599px) {
	.sh1 { font-size:150%;}
	.sh2 { font-size:130%;}
}


main.content { background: url(../images/fv_bg.jpg) no-repeat center top; background-size: contain;}
.fv { min-height: 100vh; padding-top: 60vw;}
.fv .inr { width: 100%; max-width: 1600px; height: 100%; display: flex; flex-wrap: wrap; align-content: center; padding: 0;}
.fv h1 { font-size: 6.5vw; font-weight: 700; letter-spacing: .05em;}
.fv h1 .txt { display: block; margin: 0 auto 0 3vw;}
.fv h1 .logo { display: block; width: 4em; margin: 1.25em auto 0 1em;}
.fv .strong_point { justify-content: center; column-gap: 1em; max-width: 85%; margin: 0 auto 0;}
.fv .strong_point > li { width: calc( ( 100% - 2em ) / 3 );}
.fv .strong_point > li a { width: 100%;}
.fv .strong_point + p { margin: auto; font-size: 75%; max-width: 85%;}


/*
@media(min-width:1300px) {
	main.content { background: url(../images/fv_bg_wide.jpg) no-repeat center top; background-size: contain;}
	.fv { padding-top: 25vw;}
	.fv h1 { font-size: 5.5vw; max-width: 11em;}
	.fv .strong_point > li { width: 20vw; max-width: 250px;}
}
@media(min-width:1600px) {
	main.content { background-size: 1600px;}
	.fv { padding-top: 300px;}
	.fv h1 { font-size: 64px;}
	.fv h1 .logo { margin-top: .75em;}
	.fv .strong_point { width: 100%; justify-content: flex-start; margin-left: 64px;}
}
*/

@media(min-width:1000px) {
	main.content { background: url(../images/fv_bg.png) no-repeat top -30vw right -30vw; background-size: 100vw;}
	.fv { padding-top: 0;}
	.fv h1 { font-size: 4.5vw; max-width: 11em; margin: 0;}
	.fv h1 .logo { margin-block: 0.8em;}
	.fv .strong_point { width: 100%; max-width: unset; margin-top: -5em;}
	.fv .strong_point > li { width: 15vw;}
}

@media(min-width:1600px) {
	main.content { background: url(../images/fv_bg.png) no-repeat top -300px left 50vw; background-size: 1600px;}
	.fv h1 { font-size: 72px; padding-top: .8em;}
	.fv .strong_point > li { width: 250px;}
}




.sctn_recommend { font-size: 120%;}
.sctn_recommend .needs_list_wrap { position: relative;}
.sctn_recommend .needs_list_wrap::after { position: absolute; content: ""; display: block; width: 0; height: 0; border: solid 1.5em transparent; border-top: solid 1em #fff; top: 100%; left: calc( 50% - 1.5em ); z-index: 1;}
.sctn_recommend .needs_list { max-width: 35em; margin-inline: auto;}
.sctn_recommend .needs_list > li { position: relative; margin: 1em 2em 1em 3em; padding: 1em 1.75em;}
.sctn_recommend .needs_list > li .icon_area { width: 3.5em; position: absolute; top: -1em; left: -1.5em;}
.sctn_recommend .needs_list > li p { margin: 0; line-height: 1.4; text-align: center;}
.sctn_recommend .answer { max-width: 1300px; margin-inline: auto; align-content: flex-end; background: url(../images/answer_bg.jpg) no-repeat top center; background-size: cover; padding: 2em 1em 1em;}
.sctn_recommend .answer h2 span.c_aviva { max-width: 18em;}
.sctn_recommend .answer h2 .balloon_pink { width: 10em;}
.sctn_recommend .answer h2 .bg_white { padding: .3em .5em; margin-block: .15em; font-size: 120%;}
.sctn_recommend .merit_wrap { justify-content: center; border-radius: .5em; padding: 1em; background: rgba( 255,255,255,.7);}

@media (max-width:599px) {
	.sctn_recommend .needs_list > li{margin: 1em 1em 1em 2em;}
	.sctn_recommend .needs_list > li p{font-size: 1rem;}
	.sctn_recommend .answer h2 .bg_white{font-size: 95%;}
	.list_dot > li{font-size: 1rem;}
}

@media (min-width:1000px) {
	.sctn_recommend .answer { min-height: unset; background: url(../images/answer_bg_wide.jpg) no-repeat top center; background-size: cover;}
	.sctn_recommend .answer .txt_area { padding-right: 40%;}
}


.sctn_course .inr { padding-inline: 1.75em;}
.sctn_course .rcm_wrap { max-width: 1000px; margin: 0 auto 2em; border-radius: 0 0 1.75em 1.75em;}
.sctn_course .course_hdr { border-top: solid .3em var(--c_aviva);}
.sctn_course .course_hdr h3 .bg_aviva { display: block; text-align: center; line-height: 1; letter-spacing: .05em; padding: 0 0 .5em; width: 10em; margin: 0 auto 1em; border-radius: 0 0 2em 2em;}
.sctn_course .course_hdr .course_name { display: flex; align-items: center; font-size: 150%; padding-inline: 2em;}
.sctn_course .course_hdr .course_name .icon_area { margin-right: .2em;}
.sctn_course .course_hdr .course_name .icon_area img { height: 1.75em; margin-right: .3em;}
.sctn_course .course_hdr .img_area { width: calc( 100% - 6em ); margin: 0 auto 1em;}
.sctn_course .course_body { padding: 0 2em 2em;}
.sctn_course .course_body dl { margin-block: 1em;}
.sctn_course .course_body dt { font-size: 120%; border-bottom: solid 1px #C8BB9C; margin-bottom: .5em;}
.sctn_course .course_body dd.ac_box { padding: 0;}
.sctn_course .course_body .list_dot > li { line-height: 1.4; margin-block: .3em;}
.sctn_course .course_body .btn { display: none; max-width: 400px; margin-inline: auto;}
.lineup_wrap { max-width: 1300px; margin-inline: auto;}
.lineup_wrap h3 .line { display: block; position: relative; margin-bottom: .8em;}
.lineup_wrap h3 .line::before { content: ""; display: block; width: 100%; height: 2px; background: var(--c_aviva); position: absolute; top: calc( 50% - 1px ); left: 0; right: 0;}
.lineup_wrap h3 .line > span { padding: .2em 1em; border-radius: 1em; position: relative;}
.lineup_wrap h3 .c_gray { color: #4F4C4A; font-size: 200%;}
.course_lineup { grid-gap: 1em; margin-bottom: 1.5em;}
.course_lineup > li { width: calc( ( 100% - 2em ) / 3 ); background: #fff; box-shadow: 0 0 .3em rgba(0,0,0,.15); border-radius: .5em;}
.course_lineup > li a { width: 100%; height: 100%; padding: 1em; display: flex; flex-wrap: wrap; justify-content: center; align-content: flex-start;}
.course_lineup > li a .icon_area { max-width: 50%; width: 4em; margin-bottom: 1em;}
.course_lineup > li a .txt_area { width: 100%; font-size: 80%; font-weight: bold; text-align: center; line-height: 1.2;}
.course_lineup + p.large { font-size: 120%;}
.course_lineup + p.large a:link, .course_lineup + p.large a:visited { text-decoration: underline;}
.course_lineup + p.large a:hover, .course_lineup + p.large a:active { text-decoration: none;}
.sctn_course .suggestion { font-size: 120%;}
.sctn_course .suggestion p.c_aviva { position: relative; padding-inline: .3em;}
.sctn_course .suggestion p.c_aviva::before, .sctn_course .suggestion p.c_aviva::after { content: ""; display: block; height: 2px; background: var(--c_aviva); position: absolute; bottom: 0;}
.sctn_course .suggestion p.c_aviva::before { width: 50%; left: 0;}
.sctn_course .suggestion p.c_aviva::after { width: calc( 50% - .5em ); right: 0;}
.sctn_course .suggestion p.c_aviva > span::after { content: ""; display: block; width: 1em; height: 1em; border-left: dotted 3px var(--c_aviva); position: absolute; top: calc( 100% + .2em ); left: 50%; transform: rotate(45deg);}
.sctn_course .suggestion p.c_navy { font-size: 120%;}

@media (max-width:599px) {
	.sctn_course .inr{padding-inline: 1em;}
	.sctn_course .course_body{padding: 0 1.5em 1.5em;}
}

@media (min-width:1300px) {
	.course_lineup > li { width: calc( ( 100% - 3em ) / 4 );}
}


.sctn_consul h2.sh1 .balloon_pink { font-size: 50%;}
.sctn_consul h3.sh1 .small { font-size: 50%;}
.sctn_consul .skill_wrap { margin: 2em auto; width: calc( 100% - 5em ); max-width: 1000px; padding-top: 2em; border-radius: 1.5em;}
.sctn_consul .consul_point { margin-bottom: 2em;}
.sctn_consul .consul_point .hdr { position: relative;}
.sctn_consul .consul_point .hdr .txt_area { width: 100%;}
.sctn_consul .consul_point .hdr .txt_area p { position: absolute; padding: 0 0.5em; transform: rotate(-5deg);}
.sctn_consul .consul_point .hdr .img_area { width: 80%; margin-inline: auto;}
.sctn_consul .consul_point.point01 .hdr .txt_area p { left: 50%; top: 2em;}
.sctn_consul .consul_point.point02 .hdr .txt_area.txt01 p { left: 1em; top: -1em;}
.sctn_consul .consul_point.point02 .hdr .txt_area.txt02 p { right: 1em; bottom: 0;}
.sctn_consul .consul_point.point02 + div.c_navy { padding: 0 2.5em; line-height: 1.4;}
.sctn_consul .advanced { padding: 0 2.5em;}
.sctn_consul .advanced h3 { font-size: 150%; margin-top: 1em;}
.sctn_consul .advanced > .flex { column-gap: clamp( 1em, 5vw, 2em ); align-items: center; font-size: 80%;}
.sctn_consul .advanced .img_area { width: 40%; text-align: right;}
.sctn_consul .advanced .txt_area { width: calc( 60% - clamp( 1em, 5vw, 2em ) ); line-height: 1.6;}
.sctn_consul .advanced .txt_area li { display: inline-block; background: #fff; padding: .2em .5em; border: solid 2px #98b5c4; margin-bottom: .8em;}
.sctn_consul .btn { font-size: 120%;}
.sctn_consul .btn a { max-width: 600px; margin-inline: auto; padding-block: 1.25em; box-shadow: 0 1em 1.5em -1em rgba(0,0,0,.4);}

@media (max-width:599px) {
	.sctn_consul .skill_wrap { margin-bottom: 1.5em; width: calc( 100% - 3em );}
	.sctn_consul .advanced{padding: 0 1.5em;}
	.sctn_consul .btn{padding: 0 10px;}
	.sctn_consul .advanced h3{font-size: 130%;}
	
}

@media (min-width:1000px) {
	.sctn_consul .advanced > .flex { font-size: 100%;}
}





.sctn_shiryo .subject_list { font-weight: bold; justify-content: center; grid-gap: .3em; line-height: 1; margin-bottom: 1em;}
.sctn_shiryo .subject_list li { padding: .2em;}
.sctn_shiryo h2 { font-size: 200%;}
.sctn_shiryo .shiryo_contents { width: calc( 100% - 4em ); max-width: 1000px; margin: 0 auto 4em; justify-content: center; align-items: center; background: rgba( 255,255,255,.4 ); padding: 1em; border-radius: 1em; column-gap: 1em;}
.sctn_shiryo .shiryo_contents .img_area { max-width: 50%;}
.sctn_shiryo .shiryo_contents .list_dot { max-width: calc( 50% - 1em ); line-height: 1.4;}
.sctn_shiryo .shiryo_contents .list_dot li .small { font-size: 80%; font-weight: 500;}

@media (max-width:599px) {
	.sctn_shiryo h2{font-size: 160%;}
	.sctn_shiryo .shiryo_contents .list_dot{max-width:100%;}
	.sctn_shiryo .shiryo_contents .img_area{max-width:90%;margin-bottom:0.5em;}
}





.voice_wrap { background: #fff; border: solid 5px var(--c_aviva); border-radius: 5px; margin: 0 auto 2em; width: calc( 100% - 4em ); max-width: 1000px; padding: 2em; box-shadow: 0 .5em .5em rgba( 0,0,0,.1 );}
.voice_wrap .voice_hdr h3 { font-size: 150%;}
.voice_wrap .voice_hdr .flex { column-gap: 1em; align-items: center;}
.voice_wrap .voice_hdr .icon_area { width: 30%;}
.voice_wrap .voice_hdr .icon_area img { border-radius: 50%;}
.voice_wrap .voice_hdr .txt_area { width: calc(70% - 1em);}
.voice_wrap .voice_hdr dl.job { display: flex; flex-wrap: wrap; font-weight: 500; padding: .5em; border-radius: .3em; line-height: 1.2;}
.voice_wrap .voice_hdr dl.job dt { padding-inline: .3em; border-right: solid 2px currentColor;}
.voice_wrap .voice_hdr dl.job dd { padding-inline: .3em;}
.voice_wrap .voice_body dt { font-weight: bold; margin-top: .5em;}

@media (max-width:599px) {
	.voice_wrap{ padding: 1.25em; margin-bottom: 2em; width: calc( 100% - 1em );}
	.voice_wrap .voice_hdr h3{font-size: 120%;}
}



.sctn_reason .sh1 .underline { font-size: 90%;}
.reason_wrap { margin: 5em auto; width: calc( 100% - 2em ); max-width: 1000px; border-radius: 1.5em; padding: 1.75em; position: relative;}
.reason_wrap::after { content: ""; display: block; width: 10em; height: 10em; background: #fff; border-radius: 50%; position: absolute; top: -3em; left: calc( 50% - 5em ); z-index: -1;}
.reason_wrap h3 .c_pink { position: absolute; top: -2em; left: 0; right: 0; text-align: center; justify-content: center; align-items: center; letter-spacing: .1em;}
.reason_wrap h3 .c_pink .small { padding-bottom: .1em; border-bottom: dotted 3px currentColor; margin-right: 0.5em;}
.reason_wrap h3 .c_pink .num { font-size: 200%;}
.reason_wrap h3 .c_pink + span { font-size: 180%;}
.reason_wrap .img_area { max-width: 700px; border-radius: 1em; overflow: hidden; margin: 0 auto 1em;}
.reason_wrap .txt_area p:last-child { margin-bottom: 0;}
.reason_wrap .kankyo > li { margin-bottom: 1em; padding: 1em; column-gap: 1em;}
.reason_wrap .kankyo > li .icon_area { width: 20%;}
.reason_wrap .kankyo > li .txt_area { width: calc( 80% - 1em ); line-height: 1.4;}
.reason_wrap .kankyo > li .txt_area dt { font-weight: 700; font-size: 120%; margin-bottom: .3em;}

@media (max-width:599px) {
	.reason_wrap h3 .c_pink + span{font-size: 130%;}
	.reason_wrap{padding: 1.5em;}
}

@media (min-width:1000px) {
	.reason_wrap .kankyo { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 1em;}
	.reason_wrap .kankyo > li { display: block; width: calc( ( 100% - 2em ) / 3 );}
	.reason_wrap .kankyo > li .icon_area { width: auto; height: 5em; text-align: center; margin: 0 auto .5em;}
	.reason_wrap .kankyo > li .icon_area img { width: auto; height: 100%;}
	.reason_wrap .kankyo > li .txt_area { width: 100%;}
}


.sctn_lineup .inr { width: auto; margin-inline: 2.5em;}
.sctn_lineup .lineup_wrap { margin-bottom: 3em;}
.sctn_lineup .course_lineup > li { background: var(--c_smoke);}

@media (max-width:599px) {
	.sctn_lineup .inr{margin-inline: .5em;}
}




.sctn_faq .inr { width: calc( 100% - 5em ); max-width: 1000px;}
.accordion-area .title { margin-block: 1em; font-weight: bold; padding-right: 2em; position: relative;}
.accordion-area .title::before, .accordion-area .title::after { content: ""; display: block; width: .8em; height: 2px; background: #111; position: absolute; right: 0; top: calc( 50% - 1px ); transition: all .3s;}
.accordion-area .title.close::before { transform: rotate(90deg);}
.accordion-area .title .flex { column-gap: 1em;}
.accordion-area .title .icon_area { width: 2em; height: 2em; line-height: 2; text-align: center; border-radius: 50%; aspect-ratio: 1/1; background: #111; color: #fff;}
.accordion-area .title .txt_area { width: calc( 100% - 3em );}
.accordion-area .title + .ac_box { display: block;}
.accordion-area .title.close + .ac_box { display: none;}
.ac_box { padding-left: 3em;}
.ac_box > .bg_white { padding: 1.5em;}
.ac_box > .bg_white p:last-child { margin-bottom: 0;}

@media (max-width:599px) {
	.sctn_faq .inr { width: calc( 100% - 1em );}
}




#footer dl { width: 600px; max-width: 90%; margin: .8em auto; column-gap: 1em; line-height: 1.6;}
#footer dt { width: 5em;}
#footer dd { width: calc( 100% - 6em );}

