@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_daiei: #c12e29;
  --c_lemon: #ffffaa;
  --c_smoke: #f2f2f2;
  --c_beige: #e7e5de;
  --c_mocha: #dad6cb;
  --c_lightpink: #f8eae9;
  --c_black: #111;
}


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

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

@media(min-width: 600px) {
	html { font-size: clamp( 14px, 3vw, 24px ); }
}

.f_fjalla { font-family: "Fjalla One", sans-serif;}

.content { color: var(--c_black);}

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_daiei { color: var(--c_daiei);}
.c_white { color: #fff;}
.c_lemon { color: var(--c_lemon);}
.c_black { color: var(--c_black);}
.c_lightpink { color: var(--c_lightpink);}

.underline_lemon { background: linear-gradient(transparent 70%, var(--c_lemon) 30%);}
.underline_daiei { background: linear-gradient(transparent 70%, var(--c_daiei) 30%);}

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

/*背景色*/
.bg_white { background: #fff;}
.bg_daiei { background: var(--c_daiei);}
.bg_smoke { background: var(--c_smoke);}
.bg_lemon { background: var(--c_lemon);}
.bg_beige { background: var(--c_beige);}
.bg_mocha { background: var(--c_mocha);}
.bg_lightpink { background: var(--c_lightpink);}
.bg_black { background: var(--c_black);}
.bg_gold { background: #C3922E; background: linear-gradient(90deg,rgba(195, 146, 46, 1) 0%, rgba(251, 201, 38, 1) 54%, rgba(238, 214, 136, 1) 78%, rgba(195, 146, 46, 1) 100%);}

/*テーブル*/
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%; position: relative;}
.inr { margin: 0 auto; padding: clamp( 2em, 6vw, 80px ) clamp( 1em, 4vw, 80px );}

@media(min-width: 1400px) {
	.inr { max-width: 1300px; padding-inline: 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 all and (min-width: 600px){
	.noPC{ display:none !important; }
}
@media all and (max-width: 599.999px){
	.noSP{ display:none !important; }
}
@media (max-width:599px) {
	.noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td { display:block; width:100%; }
	.noTab tr { margin-top: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: var(--c_daiei);}
.btn a.bg_light { background: var(--c_daiei);}



.arrow01 a {
  position: relative;
}

.arrow01 a::after {
  content: "\f054";
  font-family: FAsolid;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}




/*もっと見る*/
.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;
}


}









.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: 60px; height: 60px; position: fixed; z-index: 9999; display: none; right: 0; bottom: 0; background: var(--c_mocha); border: solid 1px #fff;}
#page_top.on { display: block;}
#page_top a { position: relative; display: block; width: 100%; height: 100%; text-decoration: none; text-align: center; color: var(--c_black);}
#page_top a::before { font-family: FAsolid; font-weight: 900; content: '\f106'; font-size: 25px; position: absolute; left: 50%; top: 50%; transform: translate( -50%, -50% );}







.f_search { display: none; position: fixed; width: 100%; height: auto; left: 0; bottom: 0; z-index: 9999;}
.f_search.on { display: block;}
.f_search .col2 { width: 100%; display: flex; justify-content: space-between;}
.f_search .col2 a { width: calc( ( 100% - 4px ) / 3 ); display: block;}
.f_search .col2 a img { width: 100%; height: auto;}
.f_search .col2 a[target="_blank"]::after { display: none;}
#right_banner { display: none;}
.right_banner { width: 159px; height: 264px; position: fixed; right: 0; bottom: 220px; z-index: 10;}
.right_banner .banner { width: 100%; margin-bottom: 12px;}
.right_banner .banner a { display: block;}
.right_banner .banner a[target="_blank"]::after { display: none;}
.right_banner .banner a img { width: 100%; height: auto;}

@media(min-width: 800px) {
	#right_banner.on { display: block;}
	.f_search { display: none!important;}
}



header { position: sticky; top: 0; font-size: 3.5vw; z-index: 9999; border-bottom: solid 1px var(--c_mocha);}
header .local_nav { padding-left: 20vw;}
header .local_nav ul.flex { justify-content: space-around; padding: clamp( 1em, 3vw, 2em ); line-height: 1.1;}

@media(min-width:600px) {
	header { font-size: 3vw;}
}

@media(min-width:1100px) {
	header { font-size: 30px;}
	header .local_nav ul.flex { padding: .8em; max-width: 1300px; margin-inline: auto;}
}



.cta_set { width: 100%; margin-block: 4em 2em; font-size: 5vw; padding: 0 5vw;}
.cta_set li { position: relative; margin: .8em auto;}
.cta_set li .balloon { font-size: 80%; width: 20em; max-width: 100%; padding: .5em; position: absolute; z-index: 1; top: -3em; left: 50%; transform: translateX(-50%); background: #fff; border-radius: .5em;}
.cta_set li .balloon::after { content: ""; display: block; width: 0; height: 0; border: solid .5em transparent; border-top: solid 1em #fff; position: absolute; top: 100%; left: calc( 50% - .5em );}
.cta_set li a { max-width: 600px; margin-inline: auto; padding: 1em 2em;}

@media(min-width:600px) {
	.cta_set { font-size: clamp( 24px, 2.5vw, 30px ); padding-inline: 1em;}
}

@media(min-width:1100px) {
	.cta_set { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: clamp( 1em, 3vw, 2em ); max-width: 36em; margin-inline: auto;}
	.cta_set li { margin-inline: 0; flex: 1;}
	.cta_wrap { max-width: 1100px; margin-inline: auto;}
}





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

.uppercase { text-transform: uppercase;}


.sctn_hdr .icon { width: 20vw; height: auto; margin-inline: auto;}

@media(min-width: 800px) {
	.sctn_hdr .icon { width: 150px;}
}


main.content { background: url(../images/fv_bg.jpg) no-repeat center top; background-size: contain;}

@media(min-width:1000px) {
	main.content { background: url(../images/fv_bg_wide.jpg) no-repeat center top; background-size: 110vw;}
}

@media(min-width:1600px) {
	main.content { background: none; position: relative;}
	main.content::before { content: ""; display: block; width: 100vw; height: 640px; background: var(--c_beige) url(../images/fv_bg_wide.jpg) no-repeat center top; background-size: contain; position: absolute; top: 0; left: 0; right: 0;}
}





.fv { padding-top: 7vw; position: relative;}
.fv .inr { padding: 0;}
.fv .eyecatch { font-size: 6vw; padding-inline: 5vw; line-height: 1.2;}
.fv .eyecatch p.tate { writing-mode: vertical-rl; margin-bottom: 0; height: 10em;}
.fv .eyecatch .bg_daiei { padding: .2em; margin-right: .3em;}
.fv .logo { position: fixed; top: 1vw; left: 5vw; width: 15vw; max-width: 150px; z-index: 9999;}
.fv h1 { font-size: 8vw; padding: 1.5vw; margin-bottom: 5vw; text-shadow: -1px -1px 0 white;}
.fv h1 > span { margin-right: -.5em; position: relative;}
.fv h1 .small { font-size: 90%;}
.fv h1 .large { font-size: 120%; display: inline-block; line-height: 1;}
.fv h1 sup { font-size: 30%; position: absolute; top: .5em; right: 4.25em;}
.fv h1 + .note { line-height: 1.2; font-size: clamp( 9px, 1.5vw, 14px ); margin: -3vw auto 5vw; padding-inline: 3vw;}
.fv .strong_point { padding-inline: 5vw; flex-wrap: nowrap; gap: 3vw; justify-content: center;}

@media(min-width: 600px) {
	.fv .logo { width: 13vw;}
}

@media(min-width: 800px) {
	.fv .eyecatch { font-size: clamp( 30px, 5vw, 48px );}
}

@media(min-width: 1000px) {
	.fv { padding-top: 10vw;}
	.fv .eyecatch { font-size: clamp( 30px, 4vw, 48px );}
	.fv .eyecatch p.tate { writing-mode: lr; max-width: 9em; margin-block: 2em; height: auto;}
	.fv .eyecatch .bg_daiei { margin-block: .3em;}
	.fv .logo { top: .5em;}
	.fv h1 { font-size: clamp( 80px, 8vw, 100px ); line-height: 1; padding: 0 .2em .2em; margin-bottom: .2em;}
	.fv h1 + .note { margin-block: 0 3em;}
	.fv .strong_point { max-width: 1300px; margin-inline: auto;}
}

@media(min-width: 1100px) {
	.fv .logo { width: 110px; top: 10px;}
}

@media(min-width: 1400px) {
	.fv { padding-top: calc( 82px + 2em ); max-width: 1300px; margin-inline: auto;}
	.fv .eyecatch { padding-inline: 0;}
	.fv .logo { left: unset; right: calc( 50% + 650px - 150px );}
}

@media(min-width: 1600px) {
	.fv { padding-top: 170px;}
}





.sctn_voice .inr { padding-inline: 0;}
.sctn_voice .sctn_hdr { font-size: 12vw; margin: 0 auto .5em; padding-inline: .5em; max-width: 1300px;}
.sctn_voice .sctn_hdr h2 { margin: 0; line-height: 1.2; padding-left: .3em; border-left: solid .2em white;}
.sctn_voice .sctn_hdr h2 > span { position: relative;}
.sctn_voice .sctn_hdr h2 > span > .small { font-size: 65%;}
.sctn_voice .sctn_hdr h2 > .small { font-size: 50%; margin-top: .5em; line-height: 1.4;}
.sctn_voice .sctn_hdr h2 sup { font-size: 30%; position: absolute; top: .5em; left: 18em;}
.sctn_voice .sctn_hdr h2 + .note { line-height: 1.2; font-size: clamp( 9px, 1.5vw, 14px ); margin: 3vw auto 5vw; padding-inline: 3vw;}
.sctn_voice .slick-initialized .slick-slide { vertical-align: top;}
.voice_wrap { background: #fff; border-radius: .5em; margin: 0 .5em 2em; padding: clamp( 1em, 4vw, 1.5em ); box-shadow: 0 .5em .5em rgba( 0,0,0,.1 );}
.voice_wrap .voice_hdr { column-gap: .8em; font-size: clamp( 14px, 4vw, 21px ); align-items: center;}
.voice_wrap .voice_hdr h3 { margin-bottom: .5em; width: 100%; font-size: 120%;}
.voice_wrap .voice_hdr h3 br.pc { display: none;}
.voice_wrap .voice_hdr .img_area { width: 25%;}
.voice_wrap .voice_hdr .img_area img { border-radius: 50%;}
.voice_wrap .voice_hdr .txt_area { width: calc(75% - .8em); padding-right: 2.5em;}
.voice_wrap .voice_hdr h4 { margin-bottom: 0;}
.voice_wrap .voice_hdr h4 .small { font-size: 80%;}
.voice_wrap .shikaku { position: relative; font-size: 90%;}
.voice_wrap .shikaku dd { position: absolute; left: 9em; bottom: 0.3em; width: 3em;}
.voice_wrap .voice_body { font-size: clamp( 14px, 2vw, 18px );}
.voice_wrap .voice_body dt { font-weight: bold; margin-top: .5em; position: relative; z-index: 0;}
.voice_wrap .voice_body dt::before { content: ""; display: block; width: calc( 100% - .5em ); height: 2px; background: var(--c_black); position: absolute; right: 0; top: calc( 50% - 1px ); z-index: -1;}
.voice_wrap .voice_body dt .bg_white { padding-right: .5em;}
.sctn_voice .slick-dots li button:before { opacity: 1; text-shadow: -1px -1px 0 black;}
.sctn_voice .slick-dots li.slick-active button:before { color: var(--c_black); text-shadow: none;}
.slick-prev { left: clamp( 5px, 2vw, 15px );}
.slick-next { right: clamp( 5px, 2vw, 15px );}
.slick-prev:before, .slick-next:before { font-family: FAsolid; border-radius: 0; color: var(--c_daiei); padding: .5em; width: auto;}
@media(min-width: 600px) {
	.sctn_voice .sctn_hdr { font-size: clamp( 60px, 10vw, 90px );}
/*
	.voice_wrap .voice_hdr { font-size: 30px;}
	.voice_wrap .voice_hdr .img_area { width: 150px;}
	.voice_wrap .voice_hdr .txt_area { width: calc( 100% - 150px - 1em );}
*/
}

@media(min-width: 1400px) {
	.sctn_voice .inr { max-width: unset;}
}






.sctn_coaching .inr { background: url(../images/coaching_bg.jpg) no-repeat center top 1em; background-size: contain; padding-top: 40vw;}
.sctn_coaching .sctn_hdr h2 { font-size: 10vw; display: flex; flex-wrap: wrap; row-gap: 2vw;}
.sctn_coaching .sctn_hdr h2 .fadein { line-height: 1.4; padding: .1em 2vw;}
.sctn_coaching .sctn_hdr h2 .small { font-size: 60%;}
.sctn_coaching .sctn_hdr h2 br { display: none;}

@media(min-width: 600px) {
	.sctn_coaching .sctn_hdr h2 { font-size: clamp( 60px, 8vw, 90px ); max-width: 9em; row-gap: .3em;}
}

@media(min-width: 1000px) {
	.sctn_coaching { background: url(../images/coaching_bg_wide.jpg) no-repeat center top 1em; background-size: contain;}
	.sctn_coaching .inr { background: none; padding-top: 20vw;}
}

@media(min-width: 1600px) {
	.sctn_coaching { background: none; position: relative;}
	.sctn_coaching::before { content: ""; display: block; width: 100vw; height: 640px; background: #b1c2c4 url(../images/coaching_bg_wide.jpg) no-repeat center top; background-size: contain; position: absolute; top: 1em; left: 0; right: 0;}
	.sctn_coaching .inr { position: relative; padding-top: 350px;}
}








.sctn_reason .sctn_hdr { font-size: 8vw;}
.sctn_reason .sctn_hdr .small { font-size: 70%;}
.reason_wrap { margin-bottom: 2em;;}
.reason_wrap .reason_hdr { font-size: 7vw; column-gap: .5em; margin-bottom: .5em; padding-top: 2em; position: relative;}
.reason_wrap .reason_hdr::before { content: ""; display: block; width: 1.75em; height: .2em; background: var(--c_daiei); position: absolute; left: 0; top: 1em;}
.reason_wrap .reason_hdr .f_fjalla { font-size: 8vw; line-height: 1; position: absolute; top: 0; right: 0; display: flex; gap: .3em; align-items: flex-start;}
.reason_wrap .reason_hdr .f_fjalla .small { margin-top: .3em;}
.reason_wrap .reason_hdr .f_fjalla .num { font-size: 300%;}
.reason_wrap .reason_hdr .ttl { margin: 0; z-index: 1;}
.reason_wrap .reason_hdr .ttl .bg_daiei { font-size: 90%; margin-block: .1em; padding: .1em .2em;}
.reason_wrap .reason_hdr .ttl .bg_daiei sup { font-size: 50%;}
.reason_wrap .reason_hdr .ttl sup { font-size: 50%;}
.reason_wrap .img_area { width: 90%; margin: 0 auto 1em;}
.reason_wrap .note { line-height: 1.2; font-size: clamp( 9px, 1.5vw, 14px );}

@media(min-width: 800px) {
	.sctn_reason .sctn_hdr { font-size: clamp( 36px, 6vw, 48px );}
	.reason_wrap { clear: both;}
	.reason_wrap .reason_hdr { font-size: 150%;}
	.reason_wrap .reason_hdr .f_fjalla { font-size: clamp( 48px, 5vw, 60px );}
	.reason_wrap .img_area { width: 45%; margin: 0 1.5em .5em 0; float: left;}
	.reason_wrap .img_area + p { position: relative;}
}

@media(min-width: 1000px) {
	.reason_wrap .reason_hdr { align-items: center;}
}

@media(min-width: 1400px) {
	.sctn_reason .inr { display: flex; flex-wrap: wrap; column-gap: 2em;}
	.reason_wrap { width: calc( ( 100% - 4em ) / 3 );}
	.sctn_reason .sctn_hdr { width: 100%;}
	.reason_wrap .reason_hdr { font-size: 100%;}
	.reason_wrap .reason_hdr .f_fjalla { font-size: 170%;}
	.reason_wrap .img_area { width: 100%; float: none; margin: 0 auto .5em; position: relative;}
}





.cta_wrap { padding: clamp( 1em, 5vw, 2em );}
.cta_wrap h2 { font-size: 6vw;}
.cta_wrap .shiryo_contents { padding: clamp( 1em, 3vw, 2em ); border-radius: .5em; align-items: center; grid-gap: clamp( 1em, 3vw, 2em ); justify-content: center;}
.cta_wrap .shiryo_contents .icon_area { width: 20%;}
.cta_wrap .shiryo_contents .list_dot { max-width: calc( 80% - clamp( 1em, 3vw, 2em ) );}
.cta_wrap .cta_set { padding-inline: 0; margin-bottom: 0;}

@media(min-width: 800px) {
	.cta_wrap h2 { font-size: clamp( 36px, 6vw, 48px );}
}









.sctn_features .sctn_hdr { font-size: 14vw;}
.sctn_features .sctn_hdr h2 { display: flex; flex-wrap: wrap; justify-content: center; max-width: 10em; margin-inline: auto;}
.sctn_features .sctn_hdr br { display: none;}
.sctn_features .sctn_hdr .balloon { font-size: 50%; border-radius: .5em; line-height: 1.4; padding: .2em .5em; position: relative; margin-block: 1em .8em;}
.sctn_features .sctn_hdr .balloon::after { content: ""; display: block; width: 0; height: 0; border: solid .5em transparent; border-top: solid .8em var(--c_daiei); position: absolute; top: 100%; left: calc( 50% - .5em );}
.sctn_features .sctn_hdr .icon_area { width: 100%; height: 1em; margin: 0 auto;}
.sctn_features .sctn_hdr .icon_area img { height: 100%; width: auto;}
.feature_wrap { margin-bottom: 2em; padding: clamp( 1em, 5vw, 2em ); border-radius: .5em;}
.feature_wrap .catch { margin-bottom: 0; font-size: 8vw; line-height: 1.4;}
.feature_wrap h3 { font-size: 10vw; margin: .3em auto .8em calc( -.5 * clamp( 1em, 5vw, 2em ) ); line-height: 14vw; height: 14vw; padding: 0 clamp( 1em, 5vw, 2em ); position: relative; z-index: 0;}
.feature_wrap h3::after { content: ""; display: block; width: 0; height: 0; border: solid 1em transparent; border-top: solid 14vw var(--c_daiei); position: absolute; top: 0; left: calc( 100% - 1em ); z-index: -1;}
.feature_wrap .img_area { max-width: 90%; margin: 0 auto 1em;}
.feature_wrap h4 .uppercase { padding: .4em .3em 0 .5em; line-height: 1; height: 1.6em; position: relative; z-index: 0;}
.feature_wrap h4 .uppercase::after { content: ""; display: block; width: 0; height: 0; border: solid 1em transparent; border-bottom: solid 1.6em var(--c_lemon); position: absolute; bottom: 0; left: calc( 100% - 1em + 1px ); z-index: -1;}
.feature_wrap h4 .bg_daiei { padding: .3em;}
.feature_wrap .support_list { grid-gap: 1em; margin-bottom: 1em;}
.feature_wrap .support_list > li { border-radius: .5em; padding: 1em;}
.feature_wrap .support_list > li .icon_area { width: clamp( 80px, 30%, 150px ); margin: 0 auto .5em;}
.feature_wrap .support_list > li dt { font-size: 120%;}

@media(min-width: 600px) {
	.sctn_features .sctn_hdr { font-size: clamp( 50px, 12vw, 100px );}
	.feature_wrap { padding: 5vw;}
	.feature_wrap .catch { font-size: clamp( 36px, 5vw, 60px );}
	.feature_wrap .support_list > li { align-items: center;}
	.feature_wrap .support_list > li .icon_area { margin: 0 auto 0 0;}
	.feature_wrap .support_list > li dl { width: calc( 100% - clamp( 80px, 30%, 150px ) - 1em );}
	.feature_wrap h3 { font-size: clamp( 60px, 8vw, 72px ); margin-left: -5vw;}
	.feature_wrap h4 { font-size: 120%;}
}

@media(min-width: 800px) {
	.sctn_features .sctn_hdr { font-size: clamp( 36px, 10vw, 100px );}
}

@media(min-width: 1100px) {
	.feature_wrap::after { content: ""; clear: both; display: block;}
	.sctn_features .sctn_hdr p.himitsu + h2 { font-size: 90px;}
	.sctn_features .sctn_hdr p.himitsu + h2 .c_daiei { width: 5em;}
	.feature_wrap { padding: clamp( 40px, 5vw, 60px );}
	.feature_wrap h3 { margin-left: calc( -1 * clamp( 40px, 5vw, 60px ) ); line-height: 1.8; height: 1.8em;}
	.feature_wrap h3::after { border-top-width: 1.8em;}
	.feature_wrap .point_wrap { display: flex; flex-wrap: wrap; grid-gap: 1.5em 2em; align-items: center;}
	.feature_wrap .point_wrap h4 { width: 100%; margin: 0;}
	.feature_wrap .point_wrap .img_area { width: 40%; margin: 0;}
	.feature_wrap .point_wrap p { width: calc( 60% - 2em ); margin: 0;}
	.feature_wrap .support_list > li { width: calc( ( 100% - 2em ) / 3 ); display: block;}
	.feature_wrap .support_list > li .icon_area { margin: 0 auto 1em;}
	.feature_wrap .support_list > li dl { width: 100%;}
	.feature_wrap .support_list > li dt { line-height: 1.4;}
}







.sctn_hikaku { padding: clamp( 1em, 4vw, 80px );}
.sctn_hikaku h2 { font-size: 10vw;}
.sctn_hikaku h2 .small { font-size: 80%;}
.sctn_hikaku th, .sctn_hikaku td { border: none; line-height: 1.4; padding: clamp(.5em, 3vw, 1em); vertical-align: middle;}
.sctn_hikaku tr { border-block: solid 1px #ccc;}
.sctn_hikaku tbody td { height: 6em;}
.sctn_hikaku .c_daiei { background: #fff6f5;}
.sctn_hikaku .c_daiei .large { font-size: 130%;}
.sctn_hikaku .c_gray { color: #666; background: var(--c_smoke);}
.sctn_hikaku td.c_daiei { background: #fff6f5 url(../images/cell_bg_daiei.png) no-repeat center center; background-size: contain;}
.sctn_hikaku td.c_gray { background: var(--c_smoke) url(../images/cell_bg_other.png) no-repeat center center; background-size: contain;}
.sctn_hikaku td.c_gray.maru { background: var(--c_smoke) url(../images/cell_bg_other2.png) no-repeat center center; background-size: contain;}

@media(min-width: 600px) {
	.sctn_hikaku h2 { font-size: clamp( 48px, 8vw, 80px );}
}

@media(min-width: 1400px) {
	.sctn_hikaku table { max-width: 1000px; margin-inline: auto;}
}







.sctn_message .inr { padding-inline: 0;}
.sctn_message .sctn_hdr { font-size: 6vw; position: relative; overflow: hidden; padding-inline: clamp( .5em, 4vw, 80px ); margin-bottom: 1em;}
.sctn_message .sctn_hdr .bg_lemon { font-size: 160%; line-height: 1; padding: .2em .3em; margin-top: .3em;}
.sctn_message .sctn_hdr h3 { font-size: 160%; margin: 0;}
.sctn_message .sctn_hdr h3 .small { display: inline-block; font-size: 50%; max-width: 9em;}
.sctn_message .img_area { position: absolute; width: 60vw; left: 50%; top: 2em;}
.sctn_message .message_body { padding-inline: clamp( 1em, 4vw, 80px );}
.sctn_message .prof { background: #4d4d4d; padding: 1em; width: calc( 100% - clamp( 1em, 8vw, 160px ) ); margin-inline: auto;}
.sctn_message .prof dt { font-size: 150%; column-gap: .3em; align-items: center; margin-bottom: .5em;}
.sctn_message .prof dt .icon_area { width: 1.2em; height: 1.2em;}

@media(min-width: 600px) {
	.sctn_message .sctn_hdr .bg_lemon, .sctn_message .sctn_hdr h3 { font-size: 140%;}
	.sctn_message .img_area { width: 45vw; max-width: 385px;}
}

@media(min-width: 1000px) {
	.sctn_message .sctn_hdr { font-size: 60px;}
	.sctn_message .sctn_hdr h2 .fadein { max-width: 12em;}
	.sctn_message .sctn_hdr h3 .small { max-width: unset;}
	.sctn_message .img_area { left: 60%;}
}





.sctn_flow .sctn_hdr { font-size: 8vw;}
.sctn_flow .flow_list { position: relative;}
.sctn_flow .flow_list::before { content: ""; display: block; width: .26em; height: calc( 100% - 3em ); background: white; position: absolute; left: 1.85em; top: 1.5em;}
.sctn_flow .flow_list::after { content: ""; display: block; width: 0; height: 0; border: solid .6em transparent; border-top: solid 1.5em white; position: absolute; bottom: 0; left: 1.4em;}
.sctn_flow .flow_list li { position: relative; padding-left: 5em;}
.sctn_flow .flow_list li:not(:last-of-type) { margin-bottom: 2em;}
.sctn_flow .flow_list dt .f_fjalla { position: absolute; left: 0; top: 0; line-height: 1.1; width: 4em; height: 4em; padding-inline: 1em; border-radius: 50%; align-content: center; justify-content: center;}
.sctn_flow .flow_list dt .f_fjalla .num { font-size: 180%;}
.sctn_flow .flow_list dt .txt_area { font-size: 130%; line-height: 1.4; margin-bottom: .5em;}

@media(min-width: 600px) {
	.sctn_flow .sctn_hdr { font-size: clamp( 48px, 8vw, 80px );}
}









.sctn_coach .sctn_hdr { font-size: 8vw;}
.sctn_coach h2 .small { font-size: 80%;}
.sctn_coach .coach_list > li:not(:last-of-type) { margin-bottom: 2em;}
.sctn_coach .coach_list .img_area { margin: 0 auto 1em; width: 60%;}
.sctn_coach .coach_list h3 { font-size: 10vw; line-height: 1.4; align-items: baseline; margin-bottom: .5em;}
.sctn_coach .coach_list h3 .tantou { font-size: 60%;}

@media(min-width: 600px) {
	.sctn_coach .sctn_hdr { font-size: clamp( 48px, 8vw, 80px );}
	.sctn_coach .coach_list h3 { font-size: clamp( 40px, 8vw, 72px );}
}

@media(min-width: 800px) {
	.sctn_coach .coach_list { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 2em;}
	.sctn_coach .coach_list > li { width: calc( 50% - 1em );}
	.sctn_coach .coach_list > li:not(:last-of-type) { margin-bottom: 0;}
	.sctn_coach .coach_list h3 { font-size: clamp( 36px, 5vw, 48px );}
}

@media(min-width: 1100px) {
	.sctn_coach .coach_list h3 { font-size: clamp( 36px, 3vw, 48px );}
}









.sctn_faq .sctn_hdr { font-size: 7vw;}
.sctn_faq h3 { margin: 0; border-top: solid 1px #999; padding-block: 1em;}
.accordion-area { border-top: solid 1px #999;}
.accordion-area .title { margin-block: 1em; 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; aspect-ratio: 1/1; background: var(--c_daiei); color: #fff;}
.accordion-area .title .txt_area { width: calc( 100% - 3em ); font-weight: bold;}

@media(min-width: 800px) {
	.sctn_faq .sctn_hdr { font-size: clamp( 36px, 6vw, 48px );}
}






#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 );}
.copy { padding: 1em 1em 25vw; font-size: 14px;}

@media(min-width: 800px) {
	.copy { padding-bottom: 1em;}
}
