@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
*,
::before,
::after { box-sizing: border-box;}

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent;}
body { margin: 0;}
main { display: block;}
p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0;}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0;}
ul, ol { margin: 0; padding: 0; list-style: none;}
dd { margin-left: 0;}
hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit;}
pre { font-family: monospace, monospace; font-size: inherit;}
address { font-style: inherit;}
a { background-color: transparent; text-decoration: none; color: inherit;}
abbr[title] { text-decoration: underline dotted;}
code, kbd, samp { font-family: monospace, monospace; font-size: inherit;}
small { font-size: 80%;}
sub,
sup { line-height: 0; position: relative; vertical-align: baseline;}

svg, img, embed, object, iframe { vertical-align: bottom;}

/* Forms */
/* ============================================ */
button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; background: transparent; padding: 0; margin: 0; border-radius: 0;
 color: inherit; font: inherit; text-align: inherit; text-transform: inherit; vertical-align: middle;
}
button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer;}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default;}
:-moz-focusring { outline: auto;}
select:disabled { opacity: inherit;}
option { padding: 0;}
fieldset { margin: 0; padding: 0; min-width: 0;}
legend { padding: 0;}

progress { vertical-align: baseline;}
textarea { overflow: auto;}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { outline-offset: -2px;}
[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}
[type="number"] { -moz-appearance: textfield;}
label[for] { cursor: pointer;}
details { display: block;}
summary { display: list-item;}
[contenteditable]:focus { outline: auto;}

table { border-color: inherit; border-collapse: collapse;}
td,
th { vertical-align: top; padding: 0;}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 32px; height: 32px; position: absolute; /* top: 50%; */ background: none; border: none; z-index: 100; text-indent: -9999em; outline: none;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 100%; height: 100%; top: 50%;}
.slick-prev:before { transform: translateY(-50%) rotate(90deg); background: url('./img/arw-2.svg') no-repeat 50% 50% / 65% auto;}
.slick-next:before { transform: translateY(-50%) rotate(-90deg); background: url('./img/arw-2.svg') no-repeat 50% 50% / 65% auto; }
.slick-arrow.slick-disabled { opacity: 0;}

/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { font-family: 'slick'; font-size: 6px; line-height: 20px; position: absolute; top: 0; left: 0;
	width: 20px; height: 20px; content: '•'; text-align: center; opacity: .25; color: black;
}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}

@media (max-width: 481px) {
	.slick-arrow{ width: 24px; height: 24px;}
}



html{
  height: -webkit-fill-available;
}
body{
  min-height: 100vh;
  min-height: -webkit-fill-available;
}


/*		font-style
-------------------------------------------------- */
body { width: 100%;
	font-family: "Zen Kaku Gothic New","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.fixed { position: fixed;}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min { font-family: "Hiragino Mincho ProN","ヒラギノ明朝 Pro", "游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

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



#wrapper { position: relative; width: 100%; overflow: hidden;}
#wrapper:after { content: ''; display: block; width: 100%; height: 100vh; height: 100lvh; position: fixed; left: 0; top: 0;
 background: url('./img/bg.jpg') no-repeat 50% 50% / cover; z-index: -1;
}
@media (max-width: 481px) {
	#wrapper:after { content: none;}
}




@keyframes arw1 {
	0% { transform: translate(0px,-50%) scale(1);}
	48%{ transform: translate(12px,-50%) scale(0);;}
	50%{ transform: translate(-16px,-50%) scale(0);}
	52%{ transform: translate(-16px,-50%) scale(0); background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 25"><polygon points="28.6 0 25.3 3.1 32 10.3 0 10.3 0 14.7 32 14.7 25.3 21.9 28.6 24.9 40 12.5 28.6 0" fill="%23cd6120"/></svg>');}
 100%{ transform: translate(0px,-50%) scale(1); background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 25"><polygon points="28.6 0 25.3 3.1 32 10.3 0 10.3 0 14.7 32 14.7 25.3 21.9 28.6 24.9 40 12.5 28.6 0" fill="%23cd6120"/></svg>');}
}
@keyframes arw2 {
	0% { transform: translate(0px,-50%) rotate(45deg) scale(1);}
	48%{ transform: translate(12px,-50%) rotate(45deg) scale(0);;}
	50%{ transform: translate(-12px,-50%) rotate(45deg) scale(0);}
	52%{ transform: translate(-12px,-50%) rotate(45deg) scale(0);}
 100%{ transform: translate(0px,-50%) rotate(45deg) scale(1); }
}


#hd { position: absolute; left: 0; top: 0; width: 100%; z-index: 200;}
#hd .inner-hd { width: 100%; max-width: 500px; margin: 0 auto; background: #fff; border-bottom: solid 1px #3c3c3c;}
#hd .hd-ctn { position: relative; width: 94%; margin: 0 auto; padding: 16px 0;}
#hd .hd-logo { width: 30%; max-width: 180px;}
#hd .hd-logo h1 a { display: block;}
#hd .hd-logo h1 a img { width: 100%;}
#hd .hd-btn { width: 50%; max-width: 180px; position: absolute; right: 0px; top: 50%; transform: translate(0,-50%);}
#hd .hd-btn a { position: relative; display: block; width: 100%; padding: 10px 0; background: linear-gradient(90deg,#ff8c00,#ff581e); border: solid 1px #e86111; border-radius: 50px;
 color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; text-align: center;
 transition: 0.4s ease;
}
#hd .hd-btn a:after { content: ''; display: block; width: 16px; height: 20px;
 position: absolute; right: 15px; top: 50%; transform: translateY(-50%);
 background-image: url('./img/arw-5.svg');
 background-repeat: no-repeat; background-position: 50% 50%; background-size: 100% auto; 
 transition: 0.3s ease;
}
#hd .hd-btn a:hover { opacity: 0.8;}
#hd .hd-btn a:hover:after{ transform: translate(0,-50%) scale(1.4);}

#hd .menu-btn { display: none; width: 56px; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
#hd .menu-btn div { position: relative; width: 100%; cursor: pointer;}
#hd .menu-btn div img { width: 100%;}

#hd.fixed { position: fixed;}
@media (max-width: 1081px) {
	#hd .hd-ctn { padding: 20px 0;}
	#hd .hd-btn { right: 72px;}
	#hd .menu-btn { display: block;}
}
@media (max-width: 481px) {
	#hd .hd-ctn { padding: 15px 0;}
	#hd .menu-btn { width: 36px;}
	#hd .hd-btn { right: 50px; width: 150px;}
	#hd .hd-btn a { padding: 6px 0; font-size: 12px;}
	#hd .hd-btn a:after { width: 12px; height: 18px; right: 12px;}
}


.menu { position: fixed; top: 0; right: 0; width: calc( 50% - 250px ); height: 100vh;}
.menu .inner { position: relative; width: 100%; height: 100%;}
.menu .box { width: 90%; max-width: 350px; margin: 0 auto; padding: 30px; background: #fff; border-radius: 24px; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);}
.menu .logo { width: 32%; max-width: 120px; margin: 0 auto 20px;}
.menu .logo a { display: block; width: 100%;}
.menu .logo a img { width: 100%;}
.menu ul { width: 100%; max-width: 280px; margin: 0 auto 20px; border-top: solid 1px #3c3c3c}
.menu ul.sp { display: none;}
.menu ul li { position: relative; padding: 12px 0; padding-left: 30px; border-bottom: solid 1px #3c3c3c; font-size: 20px; line-height: 1.4;}
.menu ul li:before { content: ''; display: block; width: 6px; height: 6px; background: #e76012; border-radius: 50%;
 position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
}
.menu ul li a { color: #000; font-weight: 700; text-decoration: none;}
.menu ul li a:hover { color: #999;}
.menu .btn { width: 100%; max-width: 280px; margin: 0 auto;}
.menu .btn a { position: relative; display: block; padding: 20px 0; background: linear-gradient(90deg,#ff8c00,#ff581e); box-shadow: 0 4px #ddd; border-radius: 40px;
 color: #fff; font-size: clamp(15px,2.4vw,18px); font-weight: 700; text-align: center; text-decoration: none;
 transition: 0.4s ease;
}
.menu .btn a.sp { display: none;}
.menu .btn a:after { content: ''; display: block; width: 20px; height: 24px;
 position: absolute; right: 24px; top: 50%; transform: translate(0,-50%);
 background-image: url('./img/arw-5.svg');
 background-repeat: no-repeat; background-position: 50% 50%; background-size: 100% auto;
 transition: 0.3s ease;
}
.menu .btn a:hover { opacity: 0.8;}
.menu .btn a:hover:after{ transform: translate(0,-50%) scale(1.4);}
.menu .close { display: none;}
@media (max-width: 1081px) {
	.menu { z-index: -1; visibility: none; opacity: 0; width: 100%; }
	.menu .inner { background: rgba(255,255,255,0.8);}
	.menu .box { height: 100%; margin: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; left: auto; right: 0; top: 0;
	 transition: 0.3s linear; transform: translate(500px,0%);
	}
	.menu ul.pc { display: none;}
	.menu ul.sp { display: block;}
	.menu .close { display: block; width: 40px; height: 40px; position: absolute; right: 18px; top: 18px;}
	.menu .close .trig { position: relative; width: 100%; height: 100%; background: #eee; border-radius: 50%; cursor: pointer;}
	.menu .close .trig:before,
	.menu .close .trig:after { content: ''; display: block; width: 2px; height: 24px; background: #000; position: absolute; left: 50%; top: 50%;}
	.menu .close .trig:before{ transform: translate(-50%,-50%) rotate(45deg);}
	.menu .close .trig:after { transform: translate(-50%,-50%) rotate(-45deg);}
	.menu .close .trig:hover { background: #ddd;}
	.menu.open { visibility: visible; opacity: 1; z-index: 201;}
	.menu.open .box { transform: translate(0px,0%)}
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	.menu ul li { font-size: 16px;}
	.menu .btn a { padding: 12px 0;}
	.menu .btn a.pc { display: none;}
	.menu .btn a.sp { display: block;}
	.menu .close { right: 12px; top: 12px;}
}



.wrap { width: 100%; max-width: 500px; margin: 0 auto; padding-top: 64px; background: #fff;}
@media (max-width: 481px) {
	.wrap { padding-top: 54px;}
}

#ft .inner-ft { background: url('./img/bg-ft.jpg') no-repeat 50% 50% / cover;}
#ft .ft-ctn { width: 90%; margin: 0 auto; padding: 60px 0 40px;}
#ft .ft-logo { width: 40%; max-width: 100px; margin: 0 auto;}
#ft .ft-logo a { display: block;}
#ft .ft-logo a img { width: 100%;}
#ft .ft-logo a:hover img { opacity: 0.8;}




.aside { padding: 40px 0;}
@media (max-width: 481px) {
	.aside { padding: 30px 0;}
}

.ttl { position: relative;}
.ttl h2 { position: relative; font-size: clamp(22px,3.2vw,30px); font-weight: 900; letter-spacing: 0.05rem; line-height: 1.45; text-align: center;}
.ttl h2 span { position: relative; display: block;}

.btn-entry { width: 85%; max-width: 250px; margin: 0 auto;}
.btn-entry a { position: relative; display: block; padding: 20px 0; background: #e86111; border-radius: 40px; border: solid 1px #e86111;
 color: #fff; font-size: clamp(15px,2.4vw,18px); font-weight: 700; text-align: center; text-decoration: none;
 transition: 0.4s ease;
}
.btn-entry a:after { content: ''; display: block; width: 20px; height: 20px;
 position: absolute; right: 24px; top: 50%; transform: translate(0,-50%);
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 40 25"><polygon points="28.6 0 25.3 3.1 32 10.3 0 10.3 0 14.7 32 14.7 25.3 21.9 28.6 24.9 40 12.5 28.6 0" fill="%23ffffff"/></svg>');
 background-repeat: no-repeat; background-position: 50% 50%; background-size: 100% auto;
}
.btn-entry a:hover { background: #fff; color: #e86111;}
.btn-entry a:hover:after { animation: 0.4s arw1 linear forwards;}
@media (max-width: 481px) {
	.btn-entry a { position: relative; display: block; padding: 16px 0; box-shadow: 0 4px #ddd;}
}



.btn-reserve { width: 85%; max-width: 320px; margin: 0 auto;}
.btn-reserve a { position: relative; display: block; padding: 20px 0; background: linear-gradient(90deg,#ff8c00,#ff581e); border-radius: 40px; box-shadow: 0 6px #ddd;
 color: #fff; font-size: clamp(18px,2.8vw,23px); font-weight: 700; text-align: center; text-decoration: none;
 transition: 0.4s ease;
}
.btn-reserve a:after { content: ''; display: block; width: 23px; height: 30px;
 position: absolute; right: 30px; top: 50%; transform: translate(0,-50%);
 background-image: url('./img/arw-5.svg');
 background-repeat: no-repeat; background-position: 50% 50%; background-size: 100% auto;
 transition: 0.4s cubic-bezier(0.34, 1.86, 0.64, 1);
}
.btn-reserve a:hover { opacity: 0.8;}
.btn-reserve a:hover:after{ transform: translate(0,-50%) scale(1.4);}



#kv .inner-kv { position: relative;}
#kv .kv-logo { position: absolute; left: 0; top: 6%; width: 100%; z-index: 10;}
#kv .kv-logo p { text-align: center; transition: 0.2s ease; opacity: 0;}
#kv .kv-logo p img { width: 70%;}
#kv .kv-ctn { position: absolute; left: 0; bottom: 5%; width: 100%; z-index: 11;}
/*
#kv .kv-ctn h2 { text-align: center; transition: 0.4s ease 0.2s; opacity: 0;}
#kv .kv-ctn h2 img { width: 82%;}
*/
#kv .kv-ctn h2 {}
#kv .kv-ctn svg { display: block; width: 100%; margin: 0 auto;}
#kv .kv-ctn svg #mask1 rect { width: 0px; transition: 0.4s ease; transition-delay: 0.2s;}
#kv .kv-ctn svg #mask2 rect { width: 0px; transition: 0.4s ease; transition-delay: 0.3s;}
#kv .kv-ctn svg #mask3 rect { width: 0px; transition: 0.4s ease; transition-delay: 0.4s;}
#kv .kv-ctn svg #mask4 rect { width: 0px; transition: 0.4s ease; transition-delay: 0.5s;}

#kv .kv-slide { z-index: 1;}
#kv .kv-slide img { width: 100%;}

#kv.show .kv-logo p { opacity: 1; }
#kv.show .kv-ctn h2 { opacity: 1; }
#kv.show .kv-ctn svg #mask1 rect { width: 369px;}
#kv.show .kv-ctn svg #mask2 rect { width: 332px;}
#kv.show .kv-ctn svg #mask3 rect { width: 368px;}
#kv.show .kv-ctn svg #mask4 rect { width: 242px;}


#concept .inner-sct { padding: 32px 0 40px;}
#concept .btn-reserve { margin-bottom: 18px;}
#concept p { font-size: clamp(16px,2.4vw,20px); font-weight: 700; letter-spacing: 0.05rem; text-align: center;}
#concept p span { color: #e86111;}



#problem { background: #818cda;}
#problem .inner-sct { padding: 40px 0px;}

#problem .pht { position: relative;}
#problem .pht ul { position: relative; width: 92%; margin: 0 auto; font-size: 0; text-align: center; z-index: 2;}
#problem .pht ul li { display: inline-block; width: 33%; padding: 0 8px;}
#problem .pht ul li figure { position: relative; text-align: center; border-radius: 12px; overflow: hidden; transition: 0.4s linear; opacity: 0;}
#problem .pht ul li:nth-child(1) figure { transition-delay: 0.2s;}
#problem .pht ul li:nth-child(2) figure {}
#problem .pht ul li:nth-child(3) figure { transition-delay: 0.3s;}
#problem .pht ul li figure img { position: relative; width: 100%; transition: 0.4s ease; transform: scale(1.1)}
#problem .pht ul li:nth-child(1) figure img { transition-delay: 0.2s;}
#problem .pht ul li:nth-child(2) figure img {}
#problem .pht ul li:nth-child(3) figure img { transition-delay: 0.3s;}
#problem .pht.show ul li figure { opacity: 1;}
#problem .pht.show ul li figure img { transform: scale(1);}
#problem .ctn { padding: 60px 0px;}
#problem .box { position: relative; width: 88%; margin: 0 auto; padding: 24px 30px 30px; background: #fff; border-radius: 24px;
 transition: 0.4s ease; opacity: 0;
}
#problem .box:after { content: ''; display: block; width: 0px; height: 0px;
 border: solid 15px transparent; border-top: solid 20px #fff; border-bottom: 0;
 position: absolute; left: 50%; bottom: 2px; transform: translateX(-50%); transition: 0.3s ease 0.6s;
}
#problem .box h3 { margin-bottom: 18px; font-size: clamp(20px,3.0vw,30px); font-weight: 700; letter-spacing: 0.05rem; line-height: 1.45; text-align: center;}
#problem .box h3 span { display: block;}
#problem .box h3 em { color: #e86111;}
#problem .box ul { margin-bottom: 20px;}
#problem .box ul li { position: relative; width: 100%; padding: 8px 0; font-size: clamp(15px,2.8vw,20px); line-height: 1.4;}
#problem .box ul li span { position: relative; display: block; padding: 12px 8px; padding-left: 50px; background: #ffebb8; border-radius: 20px; font-weight: 700;}
#problem .box ul li span em { position: absolute; left: 20px; top: 50%; transform: translateY(-55%);
 color: #e86111; font-size: 30px; font-weight: 900; line-height: 1;
}
#problem .box p { font-size: 20px; font-weight: 700; text-align: center;}
#problem .box.show { opacity: 1;}
#problem .box.show:after { bottom: -18px;}
@media (max-width: 481px) {
	#problem .pht ul li { padding: 0 4px;}
	#problem .pht ul li figure img { border-radius: 8px;}
	#problem .ctn { padding: 60px 0px 80px;}
	#problem .box { padding: 30px 20px;}
	#problem .box:after { bottom: -15px;}
	#problem .box h3 { margin-bottom: 12px;}
	#problem .box ul li { padding: 4px 0;}
	#problem .box p { font-size: 16px;}
}



#about .inner-sct {}
#about .tit { position: relative; margin-bottom: 20px; padding-top: 50px;}
#about .tit:before { content: ''; display: block; width: 72%; height: 56px; margin: 0 auto;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 64"><path class="cls-1" d="M150,0C91.01,0,37.77,24.57,0,64h300C262.23,24.57,208.99,0,150,0Z" fill="%23fff"/></svg>');
 background-repeat: no-repeat; background-position: 50% 0%; background-size: 100% auto;
 position: absolute; left: 50%; top: 0px; transform: translate(-50%,-54px);
}
#about .tit .icn { position: absolute; left: 50%; top: -32px; transform: translateX(-50%); width: 72px;}
#about .tit .icn img { position: relative; width: 100%; border: solid 2px #fff; border-radius: 50%;
 transition: 0.4s cubic-bezier(0.34, 1.86, 0.64, 1) 0.2s; opacity: 0; transform: scale(0.4);
}
#about .tit.show .icn img { transform: scale(1); opacity: 1;}


#about .tit h2 { position: relative; font-size: clamp(18px,2.4vw,20px); font-weight: 700; text-align: center; transform: translateY(-12px);}
#about .tit h2 span { position: relative; display: block; padding: 2px 0;}
#about .tit h2 span:after { content: ''; display: block; width: 100%; height: 100%; background: #fff;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); transition: 0.15s ease;
}
#about .tit h2 span.row-1 { line-height: 1.4;}
#about .tit h2 span.row-1:after { transition-delay: 0.1s;}
#about .tit h2 span.row-2 { font-size: clamp(22px,3.0vw,24px); line-height: 1.6;}
#about .tit h2 span.row-2:after { transition-delay: 0.2s;}
#about .tit h2 span.row-2 em { color: #e86111;}

#about .read { position: relative; margin-bottom: 30px; transition: 0.4s ease; opacity: 0;}
#about .read p { font-size: clamp(15px,2.4vw,18px); text-align: center;}
#about .read p span { display: block;}
#about .read p em { color: #e86111;}
#about .img figure { width: 100%; transition: 0.4s ease; opacity: 0; overflow: hidden;}
#about .img figure img { width: 100%; transition: 0.4s ease; transform: scale(1.1);}

#about .arw { padding: 30px 0; text-align: center;}
#about .arw img { position: relative; width: 30%; max-width: 46px; transition: 0.4s ease; opacity: 0; transform: translateY(-20px);}
#about .stl { position: relative;}
#about .stl h3 { font-size: clamp(22px,3.0vw,24px); font-weight: 900; letter-spacing: 0.05rem; line-height: 1.45; text-align: center;}
#about .stl h3 span { display: block;}
#about .stl h3 em { color: #e86111;}
#about .ctn { width: 88%; margin: 0 auto; padding: 0px 0 48px;}
#about .ctn .signboard { position: relative; width: 92%; margin: 0 auto; padding: 36px 0;}
#about .ctn .signboard figure { position: relative; text-align: center; border-radius: 24px; overflow: hidden; transition: 0.4s ease; opacity: 0;}
#about .ctn .signboard figure img { position: relative; width: 100%; transition: 0.4s ease; transform: scale(1.1);}
#about .ctn .signboard .icn { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 72px;}
#about .ctn .signboard .icn img { position: relative; width: 100%; border: solid 2px #fff; border-radius: 50%;
 transition: 0.4s cubic-bezier(0.34, 1.86, 0.64, 1) 0.2s; opacity: 0; transform: scale(0.4);
}
#about .ctn .txt {}
#about .ctn .txt p { font-size: clamp(18px,2.4vw,20px); letter-spacing: 0.05rem; line-height: 1.45; text-align: center;}
#about .ctn .txt p span { display: block;}
#about .ctn ul { position: relative; text-align: center; transition: 0.4s ease; opacity: 1;}
#about .ctn ul li { position: relative; width: 100%; padding: 8px 0; font-size: clamp(15px,3.0vw,20px);}
#about .ctn ul li span { position: relative; display: block; padding: 12px; background: #ffebb8; border-radius: 50px; font-weight: 700;}
#about .ctn ul li span em { color: #e86111;}

#about .tit.show h2 span:after { height: 0%;}
#about .stl.show h3 span:after{ width: 100%;}
#about .read.show { opacity: 1;}
#about .img.show figure { opacity: 1;}
#about .img.show figure img { transform: scale(1);}
#about .arw.show img { transform: translateY(0px); opacity: 1;}

#about .ctn .signboard.show figure { opacity: 1;}
#about .ctn .signboard.show figure img { transform: scale(1);}
#about .ctn .signboard.show .icn img { transform: scale(1); opacity: 1;}
#about .ctn ul.show { transform: translateY(0px); opacity: 1;}
@media (max-width: 481px) {
	#about .tit { margin-bottom: 20px;}
}



#voice { background: #ffe15a;}
#voice .inner-sct { padding: 0 0 50px;}
#voice .tips { margin-bottom: 20px;}
#voice .tips h2 { position: relative; font-size: clamp(22px,3.0vw,24px); font-weight: 900; letter-spacing: 0.05rem; text-align: center;
 transition: 0.3s cubic-bezier(0.34, 1.86, 0.64, 1) 0.1s; opacity: 0; transform: scale(0.4);
}
#voice .tips h2:before,
#voice .tips h2:after { content: ''; position: relative; display: inline-block; width: 30px; height: 60px; vertical-align: middle;}
#voice .tips h2:before{ background: url('./img/L.svg') no-repeat 50% 50% / 100% auto;}
#voice .tips h2:after { background: url('./img/R.svg') no-repeat 50% 50% / 100% auto;}
#voice .tips h2 span { position: relative; display: inline-block; margin: 0 12px; line-height: 1; vertical-align: middle;}
#voice .tips h2 span:after { content: ''; display: block; width: 100%; height: 50px; background: #ffe15a;
 position: absolute; left: 0; bottom: -8px; transition: 0.15s ease;
}
#voice .tips.show h2 { transform: scale(1); opacity: 1;}


#voice .signboard { position: relative; margin-bottom: 12px; padding-bottom: 24px;}
#voice .signboard figure { text-align: center; transition: 0.4s ease; opacity: 0;}
#voice .signboard figure img { width: 100%;}
/*
#voice .signboard .icn { position: absolute; left: 50%; bottom: 0; width: 72px; transform: translateX(-50%); transition: 0.4s ease 0.4s; opacity: 0;}
#voice .signboard .icn img { position: relative; width: 100%;
 transition: 0.4s cubic-bezier(0.34, 1.86, 0.64, 1) 0.6s; opacity: 0; transform: scale(0.5);
}
*/
#voice .ttl { margin-bottom: 30px;}
#voice .ttl h2 span { position: relative; display: block; position: relative;}
#voice .ttl h2 span:after { content: ''; display: block; width: 100%; height: 100%; background: #ffebb8;
 position: absolute; left: 0; bottom: 0; transition: 0.4s ease;
}
#voice .read { position: relative; margin-bottom: 30px; transition: 0.4s ease; opacity: 0;}
#voice .read p { font-size: clamp(15px,2.4vw,18px); text-align: center;}
#voice .voice-slider { transition: 0.4s ease; opacity: 0;}
#voice .slick-track { display: flex;}
#voice .slick-slide { height: auto !important;}
#voice .voice-slider dl { width: 92%; max-width: 360px; height: 100%; margin: 0 auto; border-radius: 12px; background: #fff; overflow: hidden;}
#voice .voice-slider dl dt {}
#voice .voice-slider dl dt img { width: 100%;}
#voice .voice-slider dl dd { position: relative; padding: 20px 24px; font-size: clamp(14px,2.4vw,18px);}
/*
#voice .voice-slider dl dd:after { content: ''; display: block; width: 18px; height: 18px; position: absolute; right: 10px; top: 28px;
 background: url('./img/arw-2.svg') no-repeat 50% 50% / 100% auto;
}
*/
#voice .voice-slider dl dd span { display: block; margin-bottom: 8px; font-size: 20px; font-weight: 700; text-align: center;}
#voice .slick-arrow{ top: 42%;/* transform: translateY(-80%); */}
#voice .slick-prev { left: 16.5%;}
#voice .slick-next { right: 16.5%;}

#voice .tips.show h2 span:after { height: 0px;}
#voice .signboard.show figure,
#voice .signboard.show .icn { opacity: 1;}
#voice .signboard.show .icn img { opacity: 1; transform: scale(1);}
#voice .ttl.show h2 span:after { height: 0%;}
#voice .read.show { transform: translateY(0px); opacity: 1;}
#voice .voice-slider.show { opacity: 1;}
@media (max-width: 481px) {
	#voice .tips h2:before,
	#voice .tips h2:after { width: 20px; height: 40px;}
	#voice .slick-arrow{ top: 43.2%;}
	#voice .slick-prev { left: 15.2%;}
	#voice .slick-next { right: 15.2%;}
}




#feature { background: #818cda;}
#feature .inner-sct { position: relative; padding: 12px 0 30px;}
#feature .inner-sct:before { content: ''; display: block; width: 72%; height: 56px; position: absolute; left: 50%; top: -54px; transform: translateX(-50%);
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 64"><path class="cls-1" d="M150,0C91.01,0,37.77,24.57,0,64h300C262.23,24.57,208.99,0,150,0Z" fill="%23818cda"/></svg>');
 background-repeat: no-repeat; background-position: 50% 0%; background-size: 100% auto; 
}
#feature .signboard { position: relative;}
#feature .signboard figure { text-align: center; transition: 0.4s ease; opacity: 0;}
#feature .signboard figure img { width: 100%;}

#feature .ttl { margin-bottom: 20px;}
#feature .ttl h2 { transition: 0.4s ease; opacity: 1;}
#feature .ttl h2 span { position: relative;}
#feature .ttl h2 span.row-1:before,
#feature .ttl h2 span:after { content: ''; display: block; height: 100%; position: absolute; left: 0%;}
#feature .ttl h2 span.row-1 { display: inline-block; padding: 2px 10px; color: #030303;}
#feature .ttl h2 span.row-1:before { width: 0%; background: #fff; top: 0; z-index: 3;}
#feature .ttl h2 span.row-1:after { width: 0%; background: #fff; top: 0; transition: 0.2s ease; z-index: 1;}
#feature .ttl h2 span.row-2 { color: #fff;}
#feature .ttl h2 span.row-2:after { width: 100%; bottom: 0; background: #818cda; transition: 0.2s ease; transition-delay: 0.3s;}
#feature .ttl h2 span.row-1 em { position: relative; display: block; transition: 0.2s ease 0.2s; opacity: 0; z-index: 2;}


#feature .read { position: relative; margin-bottom: 30px; transition: 0.4s ease; opacity: 0;}
#feature .read p { font-size: clamp(15px,2.4vw,18px); line-height: 2; text-align: center;}
#feature .read p span { display: block;}
#feature .bloc { padding: 9px 0; transition: 0.4s ease; opacity: 1;}
#feature .box { width: 88%; margin: 0 auto; padding: 20px 30px; background: #fff; border-radius: 18px;}
#feature .box h3 { margin-bottom: 12px; font-size: clamp(18px,2.8vw,22px); font-weight: 900; letter-spacing: 0.1rem; line-height: 1.45; text-align: center;}
#feature .box h3 span { position: relative; display: block; width: 88%; max-width: 320px; margin: 0 auto; padding: 4px;}
#feature .box h3 span:after { content: ''; display: block; width: 0%; height: 3px; background: #818cda; position: absolute; left: 0; bottom: -2px;
 transition: 0.3s ease;
}
#feature .box h3 em { color: #e86111;}
#feature .box p { font-size: clamp(14px,2.4vw,18px); letter-spacing: 0.05rem; line-height: 1.8; text-align: center;}
#feature .box .btn { width: 80%; max-width: 260px; margin: 12px auto 0;}
#feature .box .btn a { position: relative; display: block; padding: 8px; background: linear-gradient(90deg,#ff8c00,#ff581e); border-radius: 6px;
 color: #fff; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none;
}
#feature .box .btn a::after { content: ''; display: block; width: 8px; height: 8px; border-top: solid 2px #fff; border-right: solid 2px #fff;
 position: absolute; right: 15px; top: 50%; transform: translate(0,-50%) rotate(45deg);
}
#feature .box .btn a:hover { opacity: 0.8;}
#feature .box .btn a:hover:after { animation: 0.5s arw2 linear forwards;}

#feature .signboard.show figure { opacity: 1;}


#feature .ttl.show h2 span.row-1:before{ animation: 0.4s blind ease forwards;}
#feature .ttl.show h2 span.row-1:after { width: 100%;}
#feature .ttl.show h2 span.row-1 em { opacity: 1;}
#feature .ttl.show h2 span.row-2:after { height: 0%;}
#feature .read.show { transform: translateY(0px); opacity: 1;}
#feature .bloc.show { opacity: 1;}
#feature .box.show h3 span:after { width: 100%;}
@keyframes blind {
 0% { left: 0; width: 0%;}
  50% { left: 0; width: 100%;}
  51% { left: auto; right: 0; width: 100%;}
 100% { left: auto; right: 0; width: 0%;}
}
@media (max-width: 481px) {
	#feature .ttl { margin-bottom: 20px;}
	#feature .read { margin-bottom: 20px;}
	#feature .box { padding: 12px;}
}



#lesson { background: #ffe15a;}
#lesson .inner-sct { position: relative; padding: 50px 0;}
#lesson .inner-sct:before { content: ''; display: block; width: 100%; height: 180px; background: #fff;
 position: absolute; left: 0; top: 0;
}
#lesson .ttl { margin-bottom: 30px;}
#lesson .ttl h2 { position: relative; transition: 0.3s cubic-bezier(0.34, 1.86, 0.64, 1) 0.1s; opacity: 0; transform: scale(0.4);}
/*
#lesson .ttl h2 span:after { content: ''; display: block; width: 100%; height: 100%; background: #fff;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); transition: 0.6s ease;
}
*/
#lesson .slick-track { display: flex;}
#lesson .slick-slide { height: auto !important;}
#lesson .lesson-slider { position: relative; margin-bottom: 50px; transition: 0.4s ease; opacity: 0;}
#lesson .lesson-slider dl { width: 94%; max-width: 360px; height: 100%; margin: 0 auto; border-radius: 12px; background: #fff; overflow: hidden;}
#lesson .lesson-slider dl dt figure img { width: 100%;}
#lesson .lesson-slider dl dd.tit { position: relative; padding: 18px 0 8px; font-size: clamp(15px,2.4vw,18px); font-weight: 700; text-align: center;}
/*
#lesson .lesson-slider dl dd:after { content: ''; display: block; width: 18px; height: 18px; position: absolute; right: 10px; top: 18px;
 background: url('./img/arw-2.svg') no-repeat 50% 50% / 100% auto;
}
*/
#lesson .lesson-slider dl dd.tit span { display: block; margin-bottom: 6px; font-size: 36px; font-weight: 900; line-height: 1;}
#lesson .lesson-slider dl dd.txt { padding: 12px 20px 20px; font-size: clamp(15px,2.4vw,18px);}

#lesson .slick-arrow{ top: 56%; /* transform: translateY(-80%);*/}
#lesson .slick-prev { left: 15.5%;}
#lesson .slick-next { right: 15.5%;}
#lesson #cycle { position: absolute; left: 0; top: -30px;}
#lesson .stl { position: relative; margin-bottom: 30px;}
#lesson .stl h3 { position: relative; font-size: clamp(20px,3.2vw,30px); font-weight: 900; letter-spacing: 0.05rem; line-height: 1.45; text-align: center;
 transition: 0.4s ease; opacity: 1;
}
#lesson .stl h3 span { position: relative; display: block; position: relative;}
#lesson .stl h3 span:after { content: ''; display: block; width: 100%; height: 100%; background: #ffe15a;
 position: absolute; left: 0; bottom: 0; transition: 0.2s ease;
}
#lesson .stl h3 span.row-1:after {}
#lesson .stl h3 span.row-2:after { transition-delay: 0.1s;}

#lesson .tips { position: relative; width: 88%; margin: 0 auto 40px; padding: 24px 0; transition: 0.3s ease; opacity: 0; background: #fff;}
#lesson .tips:after { content: ''; display: block; width: 0px; height: 0px; border: solid 20px transparent; border-top: solid 20px #fff; border-bottom: 0;
 position: absolute; left: 50%; bottom: 0px; transform: translateX(-50%); transition: 0.3s ease 0.2s;
}
#lesson .tips p { font-size: clamp(15px,2.4vw,20px); line-height: 2; text-align: center;}
#lesson .tips p span { display: block;}
#lesson .tips p em { color: #e86111;}
#lesson .weeks { width: 88%; margin: 0 auto;}
#lesson .weeks figure { position: relative; text-align: center; transition: 0.4s ease; opacity: 1;}
#lesson .weeks figure img { width: 100%;}

#lesson .ttl.show h2 { opacity: 1; transform: scale(1);}
#lesson .lesson-slider.show { opacity: 1;}
#lesson .stl.show h3 span:after { height: 0px;}
#lesson .tips.show { opacity: 1;}
#lesson .tips.show:after { bottom: -18px;}
#lesson .weeks.show figure { transform: translateY(0px); opacity: 1;}
@media (max-width: 481px) {
	#lesson .slick-prev { left: 12.5%;}
	#lesson .slick-next { right: 12.5%;}

	#lesson .stl { margin-bottom: 20px;}
	#lesson .tips{ margin-bottom: 30px;}
}


#introduce { background: #ffe15a;}
#introduce .inner-sct { position: relative; padding: 50px 0;}
#introduce .inner-sct:before { content: ''; display: block; width: 100%; height: 225px; background: #fff;
 position: absolute; left: 0; top: 0;
}
#introduce .ttl { margin-bottom: 20px;}
#introduce .ttl h2 { position: relative; transition: 0.3s cubic-bezier(0.34, 1.86, 0.64, 1) 0.1s; opacity: 0; transform: scale(0.4);}
/*
#introduce .ttl h2 span:after { content: ''; display: block; height: 100%; background: #fff;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); transition: 0.4s ease;
}
#introduce .ttl h2 span.row-1:after { width: 50%; transition-delay: 0.2s;}
#introduce .ttl h2 span.row-2:after { width: 100%; transition-delay: 0.5s;}
*/


#introduce .youtube-slider { position: relative;}
#introduce .youtube { width: 94%; max-width: 360px; margin: 0 auto; padding: 12px 0;}
#introduce .youtube iframe { width: 100%;}
#introduce .slick-arrow{ top: 50%; transform: translateY(-50%);}
#introduce .slick-prev { left: 7%;}
#introduce .slick-next { right: 7%;}
#introduce .txt { position: relative; padding: 20px 0 30px; transition: 0.4s ease; opacity: 1;}
#introduce .txt p { font-size: clamp(15px,2.4vw,21px); line-height: 2; text-align: center;}
#introduce .btn-link { width: 80%; max-width: 260px; margin: 0 auto;}
#introduce .btn-link a { position: relative; display: block; padding: 10px; background: #a09682; border-radius: 6px;
 color: #fff; font-size: 16px; font-weight: 700; text-align: center; text-decoration: none;
 transition: 0.4s ease;
}
#introduce .btn-link a:before,
#introduce .btn-link a:after { content: ''; display: block; width: 8px; height: 8px; border-top: solid 2px #fff; border-right: solid 2px #fff;
 position: absolute; right: 15px; top: 50%;
 transition: 0.3s ease;
}
#introduce .btn-link a:before{ transform: translate(-8px,-50%) rotate(45deg) scale(0); transition-delay: 0.3s;}
#introduce .btn-link a:after { transform: translate(0,-50%) rotate(45deg);}
#introduce .btn-link a:hover { opacity: 0.8;}
#introduce .btn-link a:hover:before{ transform: translate(0px,-50%) rotate(45deg) scale(1);}
#introduce .btn-link a:hover:after { transform: translate(8px,-50%) rotate(45deg) scale(0);}

#introduce .ttl.show h2 { opacity: 1; transform: scale(1);}
#introduce .youtube-slider.show { opacity: 1;}
#introduce .btn-link a:hover { opacity: 0.8;}
@media (max-width: 481px) {
	#introduce .inner-sct:before { height: 208px;}
	#introduce .ttl { margin-bottom: 20px;}
	#introduce .txt { padding: 20px 0;}
	#introduce .slick-prev { left: 5%;}
	#introduce .slick-next { right: 5%;}
}



#difference .inner-sct { padding-top: 50px;}
#difference .tips { margin-bottom: 8px;}
#difference .tips h2 { position: relative; text-align: center; transform: 0.3s ease; opacity: 0;}
#difference .tips h2 img { position: relative; width: 65%; transition: 0.3s cubic-bezier(0.34, 1.86, 0.64, 1) 0.2s; opacity: 0; transform: scale(0.4);
 transform-origin: 50% 100%;
}
#difference .ttl { margin-bottom: 30px;}
#difference .ttl h2 { transform: 0.3s ease; opacity: 0;}

#difference .pht { position: relative;}
#difference .pht:after { content: ''; display: block; width: 100%; height: 50%; position: absolute; left: 0; bottom: -1px; background: #818cda;}
#difference .pht ul { position: relative; width: 92%; margin: 0 auto; font-size: 0; text-align: center; z-index: 2;}
#difference .pht ul li { display: inline-block; width: 33%; padding: 0 8px;}
#difference .pht ul li figure { position: relative; text-align: center; border-radius: 12px; overflow: hidden; transition: 0.4s linear; opacity: 0;}
#difference .pht ul li:nth-child(1) figure { transition-delay: 0.2s;}
#difference .pht ul li:nth-child(2) figure {}
#difference .pht ul li:nth-child(3) figure { transition-delay: 0.3s;}
#difference .pht ul li figure img { position: relative; width: 100%; transition: 0.4s ease; transform: scale(1.1);}
#difference .pht ul li:nth-child(1) figure img { transition-delay: 0.2s;}
#difference .pht ul li:nth-child(2) figure img {}
#difference .pht ul li:nth-child(3) figure img { transition-delay: 0.3s;}
#difference .pht.show ul li figure { opacity: 1;}
#difference .pht.show ul li figure img { transform: scale(1);}

#difference .ctn { padding: 40px 0px 60px; background: #818cda;}
#difference .box { position: relative; width: 88%; margin: 0 auto; padding: 30px 0; background: #fff; border-radius: 16px;}
#difference .class-1 { width: 88%; margin: 0 auto;}
#difference .class-1 .tit { padding: 12px 0; border: solid 1px #c7c8c8; background: #eee;}
#difference .class-1 .tit h3 { font-size: clamp(15px,2.4vw,18px); font-weight: 600; text-align: center;}
#difference .class-1 .txt { padding: 20px; border: solid 1px #c7c8c8; border-top: 0;}
#difference .class-1 .txt ul { padding-left: 1em;}
#difference .class-1 .txt ul li { font-size: clamp(14px,2.4vw,18px); list-style-type: disc; letter-spacing: 0.05rem;}
#difference .arw { padding: 20px 0; line-height: 1; text-align: center;}
#difference .arw img { position: relative; width: 30%; max-width: 60px; transition: 0.4s ease 0.1s; transform: translateY(-30px); opacity: 0;}
#difference .class-2 { position: relative; width: 88%; margin: 0 auto; transition: 0.4s ease 0.2s; transform: translateY(-20px); opacity: 0;}
#difference .class-2 .tit { padding: 12px 0; border: solid 1px #c7c8c8; background: #e86111;}
#difference .class-2 .tit h3 { color: #fff; font-size: clamp(16px,2.8vw,24px); font-weight: 600; text-align: center;}
#difference .class-2 .txt { padding: 20px; border: solid 1px #e7ca9a; border-top: 0;}
#difference .class-2 .txt ul { padding-left: 1em;}
#difference .class-2 .txt ul li { font-size: clamp(14px,2.4vw,18px); list-style-type: disc; letter-spacing: 0.05rem;}
#difference .class-2 .txt ul li em { color: #e86111;}
#difference .class-2 .img { border: solid 1px #e7ca9a; border-top: 0;}
#difference .class-2 .img figure img { width: 100%;}

#difference .tips.show h2 { opacity: 1;}
#difference .tips.show h2 img { opacity: 1; transform: scale(1);}
#difference .ttl.show h2 { opacity: 1;}
#difference .box.show .ttl h2 span:after { height: 0%;}
#difference .box.show .arw img { transform: translateY(0px); opacity: 1;}
#difference .class-2.show { transform: translateY(0px); opacity: 1;}
@media (max-width: 481px) {
	#difference .pht ul li { padding: 0 4px;}
	#difference .pht ul li figure img { border-radius: 8px;}
	#difference .box { padding: 20px 0; border-radius: 12px;}
	#difference .ttl { margin-bottom: 20px;}

	#difference .class-1 .tit { padding: 8px 0;}
	#difference .class-1 .txt { padding: 12px 15px;}
	#difference .class-2 .tit { padding: 8px 0;}
	#difference .class-2 .txt { padding: 12px 15px;}
}



#schedule .inner-sct { padding: 40px 0px 60px;}
#schedule .ttl { margin-bottom: 20px;}
#schedule .ttl h2 span { position: relative; display: block; position: relative;}
#schedule .ttl h2 span:after { content: ''; display: block; width: 100%; height: 100%; background: #fff;
 position: absolute; left: 0; bottom: 0; transition: 0.4s ease;
}
#schedule .bloc { padding: 8px 0;}
#schedule .box { position: relative; width: 88%; margin: 0 auto; transition: 0.4s ease; opacity: 1; box-shadow: 3px 3px #ddd;}
#schedule .box .tit { position: relative; padding: 15px 20px; border: solid 1px #c7c8c8; background: #ffe15a; cursor: pointer;}
#schedule .box .tit h3 { position: relative; font-weight: 700; text-align: left;}
#schedule .box .tit h3:before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-45%);
 border: solid 7px transparent; border-top: solid 12px #e86111; border-bottom: 0px;
}
#schedule .box .tit.open h3:before { border-bottom: solid 12px #e86111; border-top: 0px;}
#schedule .box .tit h3 span { display: block; padding-left: 25px;}
#schedule .box .tit .link { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 120px;}
#schedule .box .tit .link a { position: relative; display: block; padding: 5px 0; padding-left: 15px; background: #595757; color: #fff; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none; transition: 0.3s ease;}
#schedule .box .tit .link a:before { content: ''; display: block; width: 8px; height: 8px; border-top: solid 2px #fff; border-right: solid 2px #fff;
 position: absolute; left: 12px; top: 50%; transform: translate(0,-50%) rotate(45deg);

}
#schedule .box .tit .link a:hover { background: #999;}
#schedule .box .txt { display: none; padding: 20px; border: solid 1px #e7ca9a; border-top: 0; background: #f7f7f7; text-align: center;}
#schedule .box .txt ul { display: inline-block; margin-bottom: 20px; text-align: left;}
#schedule .box .txt ul li { font-size: clamp(15px,2.4vw,18px);}
#schedule .box .txt ul li span { font-weight: 700;}

#schedule .box .tit:hover { background: #fff0ac;}


#schedule .stl { position: relative; padding-top: 60px;}
#schedule .stl h3 { margin-bottom: 12px; font-size: 22px; font-weight: 900; letter-spacing: 0.1rem; line-height: 1.45; text-align: center;}
#schedule .stl h3 span { position: relative; display: inline-block; margin: 0 auto; padding: 4px}
#schedule .stl h3 span:after { content: ''; display: block; width: 0%; height: 3px; background: #e86111;
 position: absolute; left: 0; bottom: -2px; transition: 0.4s ease; 
}
#schedule .message { width: 88%; margin: 0 auto;}
#schedule .message .signboard { position: relative; width: 92%; margin: 0 auto 12px; padding: 21px 0 36px;}
#schedule .message .signboard figure { text-align: center; border-radius: 24px; overflow: hidden; transition: 0.4s ease; opacity: 0;}
#schedule .message .signboard figure img { width: 100%; transition: 0.4s ease; transform: scale(1.1);}
#schedule .message .signboard .icn { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 72px;}
#schedule .message .signboard .icn img { position: relative; width: 100%; border-radius: 50%;
 transition: 0.4s cubic-bezier(0.34, 1.86, 0.64, 1) 0.2s; opacity: 0; transform: scale(0.5);
}
#schedule .message ul { position: relative; text-align: center;}
#schedule .message ul li { position: relative; width: 100%; margin-bottom: 16px; padding: 4px 0 8px; background: #ffebb8; border-radius: 20px; font-size: clamp(15px,3.0vw,20px); transition: 0.3s ease; opacity: 0;}
#schedule .message ul li:nth-child(1) { transition-delay: 0.0s;}
#schedule .message ul li:nth-child(2) { transition-delay: 0.1s;}
#schedule .message ul li:nth-child(3) { transition-delay: 0.2s;}
#schedule .message ul li:nth-child(4) { transition-delay: 0.3s;}
#schedule .message ul li:nth-child(5) { transition-delay: 0.4s;}
#schedule .message ul li:last-child { margin-bottom: 0px;}
#schedule .message ul li span { position: relative; display: inline-block; padding: 12px; font-weight: 700;}
#schedule .message ul li span:after { content: ''; display: block; width: 0%; height: 3px; background: #ffb811;
 position: absolute; left: 4%; bottom: 4px; transition: 0.3s ease;
}
#schedule .message ul li:nth-child(1) span:after { transition-delay: 0.08s;}
#schedule .message ul li:nth-child(2) span:after { transition-delay: 0.18s;}
#schedule .message ul li:nth-child(3) span:after { transition-delay: 0.28s;}
#schedule .message ul li:nth-child(4) span:after { transition-delay: 0.38s;}
#schedule .message ul li:nth-child(5) span:after { transition-delay: 0.48s;}
#schedule .message ul li span em { color: #e86111;}
#schedule .message ul.show li { opacity: 1;}
#schedule .message ul.show li span:after { width: 92%;}


#schedule .ttl.show h2 span:after { height: 0%;}
#schedule .box.show { transform: translateY(0px); opacity: 1;}
#schedule .message .signboard.show figure { opacity: 1;}
#schedule .message .signboard.show figure img { transform: scale(1);}
#schedule .message .signboard.show .icn img { transform: scale(1); opacity: 1;}
#schedule .stl.show h3 span:after { width: 100%;}
@media (max-width: 481px) {
	#schedule .message .signboard figure img { border-radius: 12px;}

	#schedule .box .tit { padding: 10px 15px;}
	#schedule .box .tit h3 { font-size: 14px;}
	#schedule .box .tit h3:before { border: solid 5px transparent; border-top: solid 9px #e86111; border-bottom: 0px;}
	#schedule .box .tit.open h3:before { border-bottom: solid 9px #000; border-top: 0px;}
	#schedule .box .tit h3 span { padding-left: 20px;}
	#schedule .box .tit .link { right: 9px; width: 90px;}
	#schedule .box .tit .link a { padding-left: 15px; font-size: 13px;}
	#schedule .box .tit .link a:before { width: 6px; height: 6px;}

}



#school .signboard { position: relative;}
#school .signboard:before { content: ''; display: block; width: 72%; height: 56px;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 64"><path class="cls-1" d="M150,0C91.01,0,37.77,24.57,0,64h300C262.23,24.57,208.99,0,150,0Z" fill="%23ffe15a"/></svg>');
 background-repeat: no-repeat; background-position: 50% 0%; background-size: 100% auto;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); z-index: 2;
}
#school .signboard figure { position: relative; text-align: center; transition: 0.3s ease; opacity: 0; z-index: 1;}
#school .signboard figure img { width: 100%;}
#school .inner-sct { position: relative;}
#school .ctn { padding: 0 0 50px; background: #ffe15a;}
#school .ttl { margin-bottom: 30px;}
#school .ttl h2 { transition: 0.3s cubic-bezier(0.34, 1.86, 0.64, 1) 0.1s; opacity: 0; transform: scale(0.4);}
#school .ttl h2 span.row-2 { color: #e86111;}
/*
#school .ttl h2 span:after { content: ''; display: block; height: 100%; background: #91dc87;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); transition: 0.4s ease;
}
#school .ttl h2 span.row-1:after { width: 50%; transition-delay: 0.2s;}
#school .ttl h2 span.row-2:after { width: 100%; transition-delay: 0.5s;}
*/
#school .read { position: relative; margin-bottom: 30px; transition: 0.4s ease; opacity: 1;}
#school .read p { font-size: clamp(15px,2.4vw,18px); text-align: center;}
#school .read p span { display: block;}
#school .area { position: relative; width: 88%; margin: 0 auto 30px; padding: 12px; background: #fff; border-radius: 12px;
 transition: 0.4s ease; opacity: 1;
}
#school .area ul { text-align: center;
}
#school .area ul li { display: inline-block; width: auto; float: none; padding: 8px;
 color: #e86111; font-size: 16px; font-weight: 700;
}

#school .school-slider { transition: 0.4s ease; opacity: 0;}
#school .box { width: 92%; max-width: 350px; margin: 0 auto; background: #fff; border-radius: 12px; overflow: hidden;}
#school .box figure {}
#school .box figure img { width: 100%;}
#school .box h3 { position: relative; padding: 12px 0; font-size: 20px; font-weight: 700; text-align: center;}
/*
#school .box h3:after { content: ''; display: block; width: 20px; height: 20px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
 background: url('./img/arw-2.svg') no-repeat 50% 50% / 100% auto;
}
*/
#school .box .map-link { width: 72%; margin: 0 auto;}
#school .box .map-link a { display: block; padding: 8px 0; background: #e86111;
 color: #fff; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none;
}
#school .box .map-link a:hover { opacity: 0.8;}
#school .box .access { width: 88%; margin: 0 auto; padding: 30px 0;}
#school .box .access dl dt { color: #e86111; font-size: 18px; font-weight: 700; letter-spacing: 0.05rem;}
#school .box .access dl dd { font-size: 16px; letter-spacing: 0.05rem; line-height: 1.8;}
#school .slick-arrow{ top: 51.5%;}
#school .slick-prev { left: 16.0%;}
#school .slick-next { right: 16.0%;}

#school .signboard.show figure { opacity: 1;}
#school .ttl.show h2 { opacity: 1; transform: scale(1);}
#school .read.show,
#school .area.show { transform: translateY(0px); opacity: 1;}
#school .school-slider.show { opacity: 1;}
@media (max-width: 481px) {
	#school .area { margin-bottom: 20px; padding: 8px 6px; border-radius: 8px;}
	#school .area ul li { padding: 5px; font-size: 13px;}
	
	#school .box .map-link a { padding: 6px 0;font-size: 14px;}
	#school .box .access { padding: 20px 0;}
	#school .box .access dl dt { font-size: 16px;}
	#school .box .access dl dd { font-size: 12px;}
	#school .slick-arrow{ top: 51.0%;}
	#school .slick-prev { left: 16.5%;}
	#school .slick-next { right: 16.5%;}
}


#faq .inner-sct { padding: 40px 0px;}
#faq .ttl { margin-bottom: 24px;}
#faq .ttl h2 span:after { content: ''; display: block; width: 100%; height: 100%; background: #fff;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); transition: 0.4s ease;
}
#faq .ctn { width: 88%; margin: 0 auto;}
#faq .ctn ul { position: relative;}
#faq .ctn ul li { padding: 8px 0;}
#faq .ctn ul li dl { box-shadow: 3px 3px #ddd;}
#faq .ctn ul li dl dt,
#faq .ctn ul li dl dd { position: relative; font-size: clamp(14px,2.4vw,18px); letter-spacing: 0.05rem;}
#faq .ctn ul li dl dt { padding: 18px; border: solid 1px #c7c8c8; background: #ffebb8; font-weight: 600; cursor: pointer;}
#faq .ctn ul li dl dt:after { content: ''; display: block; width: 0px; height: 0px; border: solid 8px transparent; border-top: solid 12px #e86111; border-bottom: 0;
	position: absolute; right: 15px; top: 50%; transform: translateY(-45%);
}
#faq .ctn ul li dl dd { display: none; padding: 18px 20px; border: solid 1px #e7ca9a; border-top: 0; background: #f7f7f7;}
#faq .ctn ul li dl dt:hover { background: #fff5db;}
#faq .ctn ul li dl dt.open:after { transform: translateY(-45%) rotate(180deg);}
#faq .ttl.show h2 span:after { height: 0%;}
#faq .ctn.show ul { transform: translateY(0px); opacity: 1;}
@media (max-width: 481px) {
	#faq .ctn ul li dl dt { padding: 12px;}
	#faq .ctn ul li dl dd { padding: 12px 15px;}
	#faq .ctn ul li dl dt:after { right: 10px; border: solid 6px transparent; border-top: solid 10px #e86111; border-bottom: 0;}
}



#price { background: #eee;}
#price .inner-sct { padding: 40px 0px 50px;}
#price .ttl { margin-bottom: 30px;}
#price .ttl h2 span:after { content: ''; display: block; width: 100%; height: 100%; background: #eee;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); transition: 0.4s ease;
}
#price .ctn { width: 88%; margin: 0 auto;}
#price .box { position: relative; border: solid 1px #e7ca9a; background: #fff; transition: 0.4s ease; opacity: 0;}
#price .box .box-tit { padding: 12px; background: #e7ca9a;}
#price .box .box-tit h3 { font-size: 14px; font-weight: 500; text-align: center;}
#price .box .table { position: relative; display: flex; border-bottom: solid 1px #f1ca98;}
#price .box .table:after { content: ''; display: block; width: 1.5px; height: 100%; background: #f1ca98;
 position: absolute; left: 50%; top: 0;
}
#price .box .table dl { width: 50%; padding: 25px 0;}
#price .box .table dl dt,
#price .box .table dl dd { font-weight: 700; line-height: 1; text-align: center;}
#price .box .table dl dt { margin-bottom: 8px; font-size: 20px; letter-spacing: 0.1rem;}
#price .box .table dl dd { font-size: 14px;}
#price .box .table dl dd em { margin-right: 4px;font-size: clamp(21px,3.2vw, 28px);}
#price .box .standard { padding: 30px; text-align: center;}
#price .box .standard dl { margin-bottom: 12px; padding: 12px; background: #e86111;}
#price .box .standard dl dt { color: #fff; font-size: 18px; font-weight: 700; line-height: 1.4;}
#price .box .standard dl dd { font-size: 16px; font-weight: 700; line-height: 1.4;	}
#price .box .standard dl dd span { font-size: 21px;}
#price .box .standard ul.plan { width: 90%; max-width: 240px; margin: 0 auto 20px;}
#price .box .standard ul.plan li { position: relative; padding: 12px; border-bottom: dotted 2px #272727; font-weight: 700; text-align: right;}
#price .box .standard ul.plan li span.tit { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 50%;
 font-size: 20px; text-align: center;
}
#price .box .standard ul.plan li span.price{ font-size: 18px;}
#price .box .standard ul.plan li span.price em { font-size: 24px; line-height: 1;}
#price .box .standard ul.note { display: inline-block; text-align: left;}
#price .box .standard ul.note li { font-size: 14px;}
#price .box .standard ul.note li em { color: #e86111; }
#price .ttl.show h2 span:after { height: 0%;}
#price .box.show { transform: translateY(0px); opacity: 1;}
@media (max-width: 481px) {
	#price .box .standard dl { padding: 8px;}
	#price .box .standard ul.note li { font-size: 12px;}
}


#flow { background: #818cda;}
#flow .inner-sct { padding: 40px 0;}
#flow .ttl { margin-bottom: 20px;}
#flow .ttl h2 { color: #fff; transition: 0.3s cubic-bezier(0.34, 1.86, 0.64, 1) 0.1s; opacity: 0; transform: scale(0.4);}
#flow .ctn { width: 88%; margin: 0 auto;}
#flow .box { position: relative; width: 100%; background: #fff; border-radius: 12px; overflow: hidden; transition: 0.4s ease; opacity: 1;}
#flow .box figure { position: relative; width: 100%; overflow: hidden; text-align: center; transition: 0.4s ease; opacity: 0;}
#flow .box figure img { position: relative; width: 100%; transition: 0.4s ease; transform: scale(1.1);}
#flow .box ol { padding: 40px 30px;}
#flow .box ol li { position: relative; width: 100%; padding-bottom: 36px; font-size: clamp(15px,3.0vw,20px);}
#flow .box ol li:last-child { padding-bottom: 0px;}
#flow .box ol li::after { content: ''; display: block; width: 20px; height: 24px; background: url('./img/arw-2.svg') no-repeat 50% 50% / 100% auto;
 position: absolute; left: 50%; bottom: 6px; z-index: 1; transition: 0.3s ease; transform: translate(-50%,-40px);
}
#flow .box ol li:last-child:after { content: none;}
#flow .box ol li:nth-child(1):after { transition-delay: 0.1s;}
#flow .box ol li:nth-child(2):after { transition-delay: 0.2s;}
#flow .box ol li:nth-child(3):after { transition-delay: 0.3s;}
#flow .box ol li:nth-child(4):after { transition-delay: 0.4s;}
#flow .box ol li span { position: relative; z-index: 2; display: block; padding: 12px; padding-left: 50px; background: #ffebb8; border-radius: 50px; font-weight: 700;}
#flow .box ol li span em { position: absolute; left: 20px; top: 50%; transform: translateY(-55%);
 color: #e86111; font-size: 30px; font-weight: 900; line-height: 1;
}
#flow .box.show ol li::after { transform: translate(-50%,0);}
#flow .box.show figure { opacity: 1;}
#flow .box.show figure img { transform: scale(1);}

#flow .ttl.show h2 { opacity: 1; transform: scale(1);}
@media (max-width: 481px) {
	#flow .box ol { padding: 24px 20px;}
}


#support .inner-sct { padding: 50px 0px;}
#support .icn { width: 90px; margin: 0 auto 20px;}
#support .icn img { position: relative; width: 100%; transition: 0.4s cubic-bezier(0.34, 1.86, 0.64, 1); opacity: 0; transform: scale(0.4);}
#support .txt { margin-bottom: 12px;}
#support .txt p { font-size: clamp(13px,2.0vw,16px); letter-spacing: 0.05rem; line-height: 2; text-align: center;}
#support .txt p span { display: block;}
#support .txt p.first{ margin-top: 50px; color: #e86111; font-size: clamp(15px,2.4vw,18px); font-weight: 700; letter-spacing: 0.1rem;}
#support.show .icn img { opacity: 1; transform: scale(1);}
@media (max-width: 481px) {
	#support .inner-sct { padding: 40px 0px;}
	#support .txt p.first{ margin-top: 20px;}
}


