@charset "UTF-8";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-size: 100%;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}
strong {font-weight:normal;}
ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
img{border: 0; margin:0; padding:0;}
figure{margin:0}
option,select {color: #000;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {display: block;}
img {padding:0; margin:0; vertical-align:bottom; max-width: 100%;}
.clearfix:after {content: ".";  display: block; clear: both;height: 0;visibility: hidden;}
.clearfix {min-height: 1px;}
.clear {clear: both;}
a { text-decoration:none;color:#231815;}
a:hover { opacity:0.8;}

@font-face {
	font-family: 'noyh';
	src: url('../font/noyh-heavy.otf');
}

body{color:#000; font-size: 16px; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic", "Meiryo", sans-serif; -webkit-text-size-adjust: 100%;font-weight: 400;line-height: 1.8;letter-spacing: 0.05em;background-image: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(230, 230, 230, 0.7));}

header {width: 100%; background: url("../images/main_bg.webp") no-repeat; background-size:cover; min-height: 740px; height: 100vh; position: relative;}
header > p:not([class]) {position: absolute; bottom: 0; left: 0; width: 100%;}
header > p:not([class]) img {width: 100%;}
header > div.title_cont {position: absolute; left: 0; top: 100px;}
header > div.title_cont > p.txt {font-size: 21px;color: #FFF; width: 394px; background-color: #3E3A39; text-align: center; border-radius: 0px 30px 30px 0px; line-height: 100%; padding: 14px 0px;}
header > div.title_cont > p.txt br {display: none;}
header > div.title_cont > p.txt strong {font-weight: bold; margin-left: 0.05em;}
header > div.title_cont > p.txt span {font-family: 'noyh'; font-size: 28px; font-weight: normal;}
header > div.title_cont > div {margin: 72px 0px 0px 160px;}
header > div.title_cont > div p {font-size: 30px; font-weight: bold;}
header > div.title_cont > div h1 {font-family: 'noyh'; font-size: 80px; line-height: 90%; margin-top: 10px;}
header > div.title_cont > div h2 {font-size: 26px; font-weight: bold; line-height:140%; margin-top: 10px;}
header > div.title_cont > div h2 span {font-size: 40px;font-family: 'noyh'; font-weight: normal;}

.info { background-color: #FBF6EE;}
.info > div {max-width: 1000px; margin: 0px auto; padding-bottom: 95px; position: relative;}
.info > div figure {display: flex; justify-content: space-between; align-items: center;}
.info > div figure picture {width: 222px;}
.info > div figure figcaption {width: 616px;}
.info > div figure figcaption h2 {font-size: 16px; font-weight: bold;}
.info > div figure figcaption h2 span {font-family: 'noyh'; font-size: 38px; font-weight: normal;}
.info > div div ul {display: flex; gap:0 12px;align-items: baseline; position: absolute; bottom: -15px; right: 18px;}

.what { background-color:#DFEEF3; padding: 100px 0px;}
.what > div {max-width: 1000px; margin: 0px auto;}
.what > div h2 {text-align: center; font-size: 20px; font-weight: bold; color: #3E3A3A;}
.what > div h2 span {font-family: 'noyh'; font-size: 38px; font-weight: normal; margin-right: 0.05em;}
.what > div h2 br {display: none;}
.what > div > div.number {display: flex; justify-content: center; gap:0 84px; margin-top: 20px;}
.what > div > div.number dl dt {color: #204F3C;font-family: 'noyh'; font-size: 80px; font-weight: normal; line-height: 90%; text-align: center;}
.what > div > div.number dl dd {text-align: center; font-weight: bold; line-height: 150%;}
.what > div > div.link_bt {margin-top: 120px; position: relative;}

div.link_bt p.bt {width: 504px; position: relative; margin: 0px auto;}
div.link_bt p.bt a {width: 100%; height: 100px; background-color: #204F3C; border-radius: 50px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3); position: relative; display: flex; justify-content: center; text-align: center; align-items: center; color: #FFF; font-size: 20px; font-weight: bold; line-height: 140%;}
div.link_bt p.bt a span {padding-left: 45px;}
div.link_bt p.bt a:after {content: '';width: 10px;height: 10px;border-top: solid 2px #FFF;border-right: solid 2px #FFF;position: absolute;right: 50px;top:calc(50% - 4px); transform: rotate(45deg);}
div.link_bt p.bt img {position: absolute; left: 34px; top: -72px;}
div.link_bt p.txt {width: 340px; font-size: 11px; letter-spacing: 0; margin: 20px auto 0px; line-height: 140%; padding-left: 116px;}

.model { overflow: hidden; padding: 126px 0px 0;}
.model > div { max-width: 1000px; margin: 0px auto; position: relative; padding-bottom: 135px;}
.model > div > p {text-align: center; font-family: 'noyh'; font-size: 30px; font-weight: normal; color: #3E3A3A; line-height: 100%;}
.model > div > h2 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C;}
.model > div > div.txt { width: 582px; margin: 54px auto 0px; letter-spacing: 0;}
.model > div > div.txt p.etc {margin-top: 10px; font-size: 11px; line-height: 180%; padding-right: 77px;}
.model > div > h3 {width: 252px; height: 252px; border-radius: 100%; background-color: #D7CEC7; position: absolute; right: 0; bottom: 0; color: #3E3A39; font-weight: bold; text-align: center; line-height: 160%; display: flex; justify-content: center; align-items: center; z-index: 2;}
.model > div > ul li.i1 {position: absolute; top: 0; left: -320px;}
.model > div > ul li.i2 {position: absolute; top: 80px; right: -273px;z-index: 0;}

.curriculum { overflow: hidden; padding: 68px 0px 0;}
.curriculum > div { max-width: 1000px; margin: 0px auto; position: relative; padding-bottom: 147px;}
.curriculum > div > p {text-align: center; font-family: 'noyh'; font-size: 30px; font-weight: normal; color: #3E3A3A; line-height: 100%;}
.curriculum > div > h2 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C;}
.curriculum div.cont figure {display: flex; justify-content: flex-end; position: relative; margin-top: 65px;}
.curriculum div.cont figure figcaption {width: 580px;}
.curriculum div.cont figure figcaption h3 {font-size:20px; font-weight: bold; color: #3E3A39;}
.curriculum div.cont figure figcaption h4 {font-weight: bold; color: #3E3A39; display: flex; align-items: center; margin-top: 20px;}
.curriculum div.cont figure figcaption h4 br {display: none;}
.curriculum div.cont figure figcaption p {letter-spacing: 0; margin-top: 20px;}
.curriculum div.cont figure figcaption p span {background-color: #FEE3AC;}
.curriculum div.cont figure picture {position: absolute; top: 0; left: -260px;}
.curriculum div.cont figure picture img {border-radius: 20px;}

.curriculum div.cont figure:nth-child(even) {justify-content: flex-start;}
.curriculum div.cont figure:nth-child(even) picture {position: absolute; top: 0; right: -260px; left: auto;}
.curriculum div.cont figure + figure {margin-top: 106px;}

.preschool {background-color: #DFEEF3;padding: 66px 0px;}
.preschool div {max-width: 1000px; margin: 0px auto; display: flex; align-items: center; justify-content: center;}
.preschool div h2 {font-size: 24px; color: #3E3A39; font-weight: bold; margin-right: 78px;}

.schedule {padding: 108px 0px 30px;}
.schedule > div {max-width: 1000px; margin: 0px auto;}
.schedule > div h2 {font-size: 26px; text-align: center; color: #3E3A3A;}
.schedule div.schedule_list {margin-top: 40px; display: flex; justify-content: center; flex-wrap: wrap;}
.schedule div.schedule_list > div {width: 200px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); border-radius: 28px; padding: 20px 0px; display: flex; flex-direction: column; text-align: center; color: #3E3A3A;}
.schedule div.schedule_list > div div {display: contents;}
.schedule div.schedule_list > div h3 {font-size: 28px; font-weight: bold; line-height: 100%; margin: 10px 0px; order: 2;}
.schedule div.schedule_list > div h4 {font-size: 16px; font-weight: bold; order: 1;}
.schedule div.schedule_list > div h5 {font-size: 16px; font-weight: bold; letter-spacing: 0; order: 3;}
.schedule div.schedule_list > div p:not([class]) {font-size: 11px; line-height: 140%; flex-grow: 1; display: flex; justify-content: center; align-items: center;order: 4;}
.schedule div.schedule_list > div p.en {font-family: 'noyh'; font-size: 14px;line-height: 100%; margin-top: 10px; letter-spacing: 0;order: 5;}
.schedule div.schedule_list > div.s1 {background-color: #98CFAB;}
.schedule div.schedule_list > div.s2 {background-color: #C9BFB5;}
.schedule div.schedule_list > div.s3 {background-color: #D7CEC7;}
.schedule div.schedule_list > div.s4 {background-color: #ECE394;}
.schedule div.schedule_list > div.s5 {background-color: #FEE3AC;}
.schedule div.schedule_list + div.cap {font-size: 11px; margin-top: 30px; display: flex;justify-content: flex-end; align-items: flex-end;}
.schedule > div > div.link_bt {margin-top: 100px; position: relative;}

.access { padding-top: 50px;position: relative; overflow: hidden;}
.access > div.access_head {height: 179px; width: 100%; background: url("../images/access_head_bg.png") repeat-x center center;}
.access > div.access_head p {position: absolute; width: 1070px; left: 0; right: 0; margin: auto; top: 0px;}
.access > div.access_cont_W {background-color: #FBF6EE; padding: 42px 0px 100px; }
.access > div.access_cont_W > div.access_cont {max-width: 1000px; margin: 0px auto; padding: 0px 52px; box-sizing: border-box; display: flex; justify-content: space-between;}
.access > div.access_cont_W > div.access_cont > div.map {width: 414px;}
.access > div.access_cont_W > div.access_cont > div.age {width: 395px;}
div.access_cont > div.map > p {text-align: center; font-family: 'noyh'; font-size: 20px; font-weight: normal; color: #3E3A3A; line-height: 100%;}
div.access_cont > div.map > h2 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C;}
div.access_cont > div.map div.gmap {width: 414px; height: 209px; overflow: hidden; border-radius: 19px; margin: 30px 0px;}
div.access_cont > div.map div.gmap iframe {width: 100%; height: 100%;}
div.access_cont > div.map > dl {display: flex; font-size: 14px; font-weight: 140%; letter-spacing: 0;}
div.access_cont > div.map > dl dt {width: 88px; flex-shrink: 0; font-weight: bold;}
div.access_cont > div.map > dl + dl {margin-top: 5px;}
div.access_cont > div.age > p {text-align: center; font-family: 'noyh'; font-size: 20px; font-weight: normal; color: #3E3A3A; line-height: 100%;}
div.access_cont > div.age > h3 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C;}
div.access_cont > div.age > figure {margin-top: 20px;}

.prove {padding: 108px 0px 0px;}
.prove_head{display: none;}
.prove > p:not([class]) {text-align: center; font-family: 'noyh'; font-size: 20px; font-weight: normal; color: #3E3A3A; line-height: 100%;}
.prove > h2 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C;}
.prove > p.txt {text-align: center; margin-top: 30px;}
.prove > ul {display: flex; margin-top: 50px;}
.prove > ul li {width: 50%;}
.prove > ul li img {width: 100%;}

.form {padding-top: 100px;}
.form > h2 {font-size: 26px; text-align: center; font-weight: bold;color: #3E3A3A;}
.form_cont {max-width: 1000px; position: relative; background-color: #F9EFEB; margin: 30px auto 0px; border-radius: 44px; padding: 60px 0px;}
.form_cont > ul.img li.f1 {position: absolute; top: -102px; left: 90px;}
.form_cont > ul.img li.f2 {position: absolute; top: -85px; right: 100px;}

.form_main {max-width: 722px; margin: 0px auto;}

.form_main ul.step_ic {text-align: center; margin-bottom: 50px;}
.form_main dl dt {display: flex; align-items: center; letter-spacing: 0;}
.form_main dl dt span { background-color: #DC4B4B; border-radius: 4px; color: #FFF; font-size: 11px; padding: 3px 5px; margin-right: 20px; line-height: 100%; flex-shrink: 0;}
.form_main dl dt span.no {background-color: #797979;}
.form_main dl:not([class]) {display: flex; }
.form_main dl:not([class]) dt {width: 233px;color: #3E3A39;}
.form_main dl:not([class]) dd {width: calc(100% - 233px);}
.form_main dl:not([class]) dd input {width: 100%; box-sizing: border-box;-moz-appearance: none; -webkit-appearance: none; background-color:#F9EFEB; border: none;border-bottom: 1px solid #6F6F6F; padding: 10px; color: #3E3A39;}
.form_main dl:not([class]) dd input.input-error {border-bottom: 1px solid #FF4346;}
.form_main dl.txtarea dd {margin-top: 20px;}
.form_main dl.txtarea dd textarea {-moz-appearance: none;-webkit-appearance: none;width: 100%; box-sizing: border-box; padding: 10px; height: 100px;border:1px solid #BABABA; line-height: 160%;color: #3E3A39;}
.form_main dl + dl {margin-top: 40px;}
.form_main dl.check {margin-top: 40px;}
.form_main dl.check dd {margin-top: 30px;}
.form_main dl.check dd ul {display: flex; justify-content: center; gap:0 60px;}
.form_main dl.check dd ul.input-error li label {border-bottom: 1px solid #FF4346;}
.form_main dl.check dd li label {display: flex; align-items: flex-start; cursor: pointer;}
.form_main dl.check dd li label input {margin-top: 5px;}
.form_main dl.check dd li label span {color: #343434; line-height: 150%;margin-left: 20px;}
.form_main dl.check dd li label span em {font-size: 13px;}
.form_main div.column {margin-top: 40px; display: flex; justify-content: space-between;}
.form_main div.column dl:first-child {width: 400px;}
.form_main div.column dl + dl {width: 300px; margin-top: 0px;}
.form_main p.txt {margin-top: 20px; font-size: 11px;}
.form_main p.txt a {color: #0062FF; text-decoration: underline;}
.form_main p.ppb {width: 310px; margin: 40px auto 0px;}
.form_main p.ppb label {width: 100%; height: 50px; border: 1px solid #CCCCCC; background-color: #F7F7F7; display: flex; justify-content: center; align-items: center; cursor: pointer;}
.form_main p.ppb label.input-error {border: 1px solid #FF4346;}
.form_main p.ppb label span {font-size: 14px; margin-left: 14px;}

.form_main p.st1_bt {width: 510px; height: 100px; margin: 50px auto;position: relative;}
.form_main p.st1_bt button {width: 100%; height: 100%; background-color: #DC4B4B; border-radius: 50px; color: #FFF; border: none;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);font-size: 20px; font-weight: bold; cursor: pointer;}
.form_main p.st1_bt button:hover {opacity: .7;}
.form_main p.st1_bt:after {content: '';width: 10px;height: 10px;border-top: solid 2px #FFF;border-right: solid 2px #FFF;position: absolute;right: 50px;top:calc(50% - 4px); transform: rotate(45deg);}

.form_main p.etc {margin-top: 30px; width: 414px; margin: 0px auto; font-size: 11px; line-height:160%; }

#contact-form div.step {display: none;}
#contact-form div.step.active-step {display: block;}
.step_ic li {display: none;}
.step_ic li.active {display: block;}

.form-error-message {font-size: 18px; font-weight: bold; color: #FF4346; text-align: center; margin-bottom: 40px; display: none;}
.form-error-message br {display: none;}

.thanks_txt {font-size: 18px; font-weight: bold; text-align: center; margin: 40px 0px;}
.thanks_txt br.sp {display: none;}

.error-message {text-align: center;color: #FF4346;}

#form-step2 #confirm-view dl:not([class]) dd {width: calc(100% - 233px); padding: 10px; box-sizing: border-box; border-bottom: 1px solid #6F6F6F; }
#form-step2 #confirm-view dl:not([class]) dd input {width: 100%; box-sizing: border-box;-moz-appearance: none; -webkit-appearance: none; background-color:#F9EFEB; border: none;border-bottom: 1px solid #6F6F6F; padding: 10px; color: #3E3A39;}
#form-step2 #confirm-view dl.txtarea dd {margin-top: 20px; padding: 10px; border:1px solid #BABABA;line-height: 160%;color: #3E3A39; background-color: #FFF;}

.confirm_bt {display: flex; justify-content: center; margin-top: 50px;}
.confirm_bt button {cursor: pointer;}
.confirm_bt button:hover {opacity: .7;}
.confirm_bt li.back-to-edit {width: 187px; height: 70px;}
.confirm_bt li.back-to-edit button {width: 100%; height: 100%; background-color: #ADADAD; border-radius: 50px; color: #FFF; border: none;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);font-size: 20px; font-weight: bold;}
.confirm_bt li.submit-btn {width: 290px; height: 70px;}
.confirm_bt li.submit-btn button {width: 100%; height: 100%; background-color: #DC4B4B; border-radius: 50px; color: #FFF; border: none;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);font-size: 20px; font-weight: bold;}
.confirm_bt li.submit-btn:after {content: '';width: 10px;height: 10px;border-top: solid 2px #FFF;border-right: solid 2px #FFF;position: absolute;right: 50px;top:calc(50% - 4px); transform: rotate(45deg);}
.confirm_bt li + li {margin-left: 26px;}

.confirm_txt {text-align: center; font-size: 18px; font-weight: bold; margin-bottom: 40px;}
.confirm_txt br {display: none;}

footer {max-width: 1230px; margin: 0px auto; padding: 60px 70px 50px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: flex-end;}
footer p:not([class]) {text-align: center;}
footer > div {text-align: right; width: 287px;}
footer > div p.copy {text-align: right; font-size: 11px; color: #BFBFBF; margin-top: 10px;}

@media only screen and (max-width:1000px){
header {width: 100%; background: url("../images/main_bg.webp") no-repeat; background-size:cover; min-height: 740px; height: 100vh; position: relative; background-position: right 60% top}

.info { background-color: #FBF6EE; padding-top: 94px}
.info > div {max-width: 1000px; margin: 0px auto; padding-bottom: 212px; position: relative;}
.info > div figure {display: flex; flex-direction: column; justify-content: space-between; align-items: center;}
.info > div figure picture {width: 624px;}
.info > div figure picture img {width: 100%;}
.info > div figure figcaption {width: 100%; padding: 0px 30px; box-sizing: border-box; margin-top: 60px;}
.info > div figure figcaption h2 {font-size: 16px; font-weight: bold; text-align: center;}
.info > div figure figcaption h2 span {font-family: 'noyh'; font-size: 38px; font-weight: normal;}
.info > div div ul {display: flex; gap:0 12px;align-items: baseline; position: absolute; bottom: -15px; right: 18px;}

.what > div > div.number {display: flex; flex-wrap: wrap; justify-content: center; gap:26px 84px; margin-top: 20px;}

.form_main div.column {margin-top: 40px; display: flex;  flex-direction: column; justify-content: space-between;}
.form_main div.column dl:first-child {width: 100%;}
.form_main div.column dl + dl {width: 100%; margin-top: 40px;}

.preschool {background-color: #DFEEF3;padding: 66px 0px;}
.preschool div {max-width: 1000px; margin: 0px auto; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.preschool div h2 {font-size: 24px; color: #3E3A39; font-weight: bold; margin-right: 0px; text-align: center;}
.preschool div picture {margin-top: 40px; text-align: center;}

.form_cont {max-width: 1000px; position: relative; background-color: #F9EFEB; margin: 140px auto 0px; border-radius: 44px; padding: 60px 0px;}

footer {max-width: 1230px; margin: 0px auto; padding: 60px 0px 50px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; align-items: center;}
footer p:not([class]) {text-align: center;}
footer > div {text-align: center; margin-top: 40px;}
footer > div p.copy {text-align: center; font-size: 11px; color: #BFBFBF; margin-top: 10px;}

}

@media only screen and (max-width:900px){
.model { overflow: hidden; padding: 126px 0px 0;}
.model > div { max-width: 1000px; margin: 0px auto; position: relative; padding-bottom: 135px; display: flex; flex-direction: column;}
.model > div > p {text-align: center; font-family: 'noyh'; font-size: 30px; font-weight: normal; color: #3E3A3A; line-height: 100%; order: 1;}
.model > div > h2 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C; order: 2;}
.model > div > div.txt { width: 582px; margin: 54px auto 0px; letter-spacing: 0; display: contents;}
.model > div > div.txt p {order: 4; padding: 30px;}
.model > div > div.txt p.etc {margin-top: 0px; font-size: 11px; line-height: 180%; padding: 30px;order: 7;}
.model > div > h3 {width: 252px; height: 252px; border-radius: 100%; background-color: #D7CEC7; position: relative; right: 0; bottom: 0; color: #3E3A39; font-weight: bold; text-align: center; line-height: 160%; display: flex; justify-content: center; align-items: center; z-index: 2; order: 6; margin-top: -100px; margin-left: 30px;}
.model > div > ul {display: contents;}
.model > div > ul li.i1 {position: relative; top: 0; left: 0px;order: 3; margin-top: 30px; text-align: center;}
.model > div > ul li.i2 {position: relative; top: 0px; right: 0px;z-index: 0;order: 5;text-align: center}

.curriculum { overflow: hidden; padding: 68px 0px 0;}
.curriculum > div { max-width: 1000px; margin: 0px auto; position: relative; padding-bottom: 147px;}
.curriculum > div > p {text-align: center; font-family: 'noyh'; font-size: 30px; font-weight: normal; color: #3E3A3A; line-height: 100%;}
.curriculum > div > h2 { text-align: center;font-size: 26px; font-weight: bold; color: #204F3C;}
.curriculum div.cont figure {display: flex; flex-direction: column; justify-content: flex-end; position: relative; margin-top: 65px;}
.curriculum div.cont figure figcaption {width: 580px; display: contents;}
.curriculum div.cont figure figcaption h3 {font-size:20px; font-weight: bold; color: #3E3A39; order: 1; text-align: center;}
.curriculum div.cont figure figcaption h4 {font-weight: bold; color: #3E3A39; display: flex; align-items: center; margin-top: 20px; order: 2; justify-content: center;}
.curriculum div.cont figure figcaption p {letter-spacing: 0; margin-top: 0px; order: 4; padding: 30px;}
.curriculum div.cont figure figcaption p span {background-color: #FEE3AC;}
.curriculum div.cont figure picture {position: relative; top: 0; left: 0px; text-align: center;order: 3; margin-top: 30px;}

.curriculum div.cont figure:nth-child(even) {justify-content: column;}
.curriculum div.cont figure:nth-child(even) picture {position: relative; top: 0; right:0px; left: auto;}
.curriculum div.cont figure + figure {margin-top: 106px;}

.access > div.access_cont_W > div.access_cont {max-width: 1000px; margin: 0px auto; padding: 0px 52px; box-sizing: border-box; display: flex; justify-content: space-between; flex-direction: column;}
.access > div.access_cont_W > div.access_cont > div.map {width: 414px; margin: 0px auto;}
.access > div.access_cont_W > div.access_cont > div.age {width: 395px; margin: 80px auto 0px;}


}

@media only screen and (max-width:768px){
header {width: 100%; background: url("../images/main_bg_sp.webp") no-repeat; background-size:cover; min-height: calc(445 / 375 * 100vw); height: 100vh; position: relative; background-position: right 0% top}

header > div.title_cont {position: absolute; left: 0; top: calc(60 / 375 * 100vw);}
header > div.title_cont > p.txt {font-size:calc(14 / 375 * 100vw);color: #FFF; width: calc(170 / 375 * 100vw); background-color: #3E3A39; text-align: left; border-radius: 0px 30px 30px 0px; line-height: 100%; padding: calc(14 / 375 * 100vw) 0px calc(14 / 375 * 100vw) calc(27 / 375 * 100vw);}
header > div.title_cont > p.txt br {display: block;}
header > div.title_cont > p.txt strong {font-weight: bold; margin-left: 0.05em;}
header > div.title_cont > p.txt span {font-family: 'noyh'; font-size: calc(18 / 375 * 100vw); font-weight: normal;}

header > div.title_cont > div {margin:calc(36 / 375 * 100vw) 0px 0px calc(28 / 375 * 100vw);}
header > div.title_cont > div p {font-size: calc(14 / 375 * 100vw); font-weight: bold;}
header > div.title_cont > div h1 {font-family: 'noyh'; font-size: calc(33 / 375 * 100vw); line-height: 90%; margin-top:calc(10 / 375 * 100vw);}
header > div.title_cont > div h2 {font-size:calc(13 / 375 * 100vw); font-weight: bold; line-height:140%; margin-top:calc(10 / 375 * 100vw);}
header > div.title_cont > div h2 span {font-size:calc(20 / 375 * 100vw);font-family: 'noyh'; font-weight: normal;}

.info { background-color: #FBF6EE; padding-top: calc(47 / 375 * 100vw);}
.info > div {max-width: 1000px; margin: 0px auto; padding-bottom: calc(104 / 375 * 100vw); position: relative;}
.info > div figure picture {width: calc(312 / 375 * 100vw);}
.info > div figure figcaption {width: 100%; padding: 0px calc(30 / 375 * 100vw); box-sizing: border-box; margin-top:calc(60 / 375 * 100vw);}

}


@media only screen and (max-width:600px){
.info > div figure figcaption h2 {font-size:calc(13 / 375 * 100vw);; font-weight: bold; text-align: center;}
.info > div figure figcaption h2 span {font-family: 'noyh'; font-size:calc(32 / 375 * 100vw); font-weight: normal;}
.info > div figure figcaption > p {font-size:calc(14 / 375 * 100vw); }

.what { background-color:#DFEEF3; padding: calc(53 / 375 * 100vw) 0px calc(60 / 375 * 100vw);}
.what > div {max-width: 1000px; margin: 0px auto;}
.what > div h2 {text-align: center; font-size: calc(16 / 375 * 100vw); font-weight: bold; color: #3E3A3A; line-height: 140%;}
.what > div h2 br {display: block;}
.what > div h2 span {font-family: 'noyh'; font-size: calc(31 / 375 * 100vw); font-weight: normal; margin-right: 0.05em;}
.what > div > div.number {display: flex; flex-wrap: wrap; justify-content: center; gap:calc(26 / 375 * 100vw) calc(46 / 375 * 100vw); margin-top:calc(35 / 375 * 100vw);}
.what > div > div.number dl dt {color: #204F3C;font-family: 'noyh'; font-size: calc(66 / 375 * 100vw); font-weight: normal; line-height: 90%; text-align: center;}
.what > div > div.number dl dd {text-align: center; font-weight: bold; line-height: 150%; font-size: calc(13 / 375 * 100vw);}
.what > div > div.link_bt {margin-top: calc(54 / 375 * 100vw); position: relative;}

div.link_bt p.bt {width: calc(322 / 375 * 100vw); position: relative; margin: 0px auto;}
div.link_bt p.bt a {width: 100%; height:calc(71 / 375 * 100vw); background-color: #204F3C; border-radius: 50px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3); position: relative; display: flex; justify-content: center; text-align: center; align-items: center; color: #FFF; font-size: calc(14 / 375 * 100vw); font-weight: bold; line-height: 140%;}
div.link_bt p.bt a span {padding-left: 45px;}
div.link_bt p.bt a:after {content: '';width: calc(10 / 375 * 100vw);height: calc(10 / 375 * 100vw);border-top: solid 2px #FFF;border-right: solid 2px #FFF;position: absolute;right:calc(33 / 375 * 100vw);top:calc(50% - calc(4 / 375 * 100vw)); transform: rotate(45deg);}
div.link_bt p.bt img {position: absolute; left:calc(22 / 375 * 100vw); top: calc(calc(40 / 375 * 100vw) * -1); width: calc(63 / 375 * 100vw);}
div.link_bt p.txt {width: 100%; padding: 0px calc(30 / 375 * 100vw); font-size:calc(10 / 375 * 100vw); letter-spacing: 0; margin: calc(60 / 375 * 100vw) auto 0px; line-height: 140%; box-sizing: border-box;}

.model { overflow: hidden; padding:calc(60 / 375 * 100vw) 0px 0;}
.model > div { max-width: 1000px; margin: 0px auto; position: relative; padding-bottom:calc(45 / 375 * 100vw); display: flex; flex-direction: column;}
.model > div > p {text-align: center; font-family: 'noyh'; font-size: calc(26 / 375 * 100vw); font-weight: normal; color: #3E3A3A; line-height: 100%; order: 1;}
.model > div > h2 { text-align: center;font-size:calc(22 / 375 * 100vw); font-weight: bold; color: #204F3C; order: 2;}
.model > div > div.txt { width: 582px; margin: 54px auto 0px; letter-spacing: 0; display: contents;}
.model > div > div.txt p {order: 4; padding:calc(30 / 375 * 100vw); font-size: calc(14 / 375 * 100vw);}
.model > div > div.txt p.etc {margin-top: 0px; font-size:calc(10 / 375 * 100vw); line-height: 180%; padding:calc(30 / 375 * 100vw);order: 7;}
.model > div > h3 {width: calc(164 / 375 * 100vw); height:calc(164 / 375 * 100vw); border-radius: 100%; background-color: #D7CEC7; position: relative; right: 20px; bottom: 0; color: #3E3A39; font-weight: bold; text-align: center; line-height: 160%; display: flex; justify-content: center; align-items: center; z-index: 2; order: 6; margin-top:calc(calc(120 / 375 * 100vw) * -1); margin-left: calc(30 / 375 * 100vw); font-size: calc(13 / 375 * 100vw);}
.model > div > ul {display: contents;}
.model > div > ul li.i1 {position: relative; top: 0; left: -30px;order: 3; margin-top:calc(30 / 375 * 100vw); text-align: center;}
.model > div > ul li.i2 {position: relative; top: 0px; right: -30px;z-index: 0;order: 5;text-align: center}

.curriculum { overflow: hidden; padding: calc(45 / 375 * 100vw) 0px 0;}
.curriculum > div { max-width: 1000px; margin: 0px auto; position: relative; padding-bottom: calc(50 / 375 * 100vw);}
.curriculum > div > p {text-align: center; font-family: 'noyh'; font-size:calc(26 / 375 * 100vw); font-weight: normal; color: #3E3A3A; line-height: 100%;}
.curriculum > div > h2 { text-align: center;font-size:calc(22 / 375 * 100vw); font-weight: bold; color: #204F3C;}
.curriculum div.cont figure {display: flex; flex-direction: column; justify-content: flex-end; position: relative; margin-top:calc(40 / 375 * 100vw);}
.curriculum div.cont figure figcaption {width: 580px; display: contents;}
.curriculum div.cont figure figcaption h3 {font-size:calc(16 / 375 * 100vw); font-weight: bold; color: #3E3A39; order: 1; text-align: center;}
.curriculum div.cont figure figcaption h4 {font-weight: bold; color: #3E3A39; display: flex; align-items: center; margin-top:calc(15 / 375 * 100vw); order: 2; justify-content: center; font-size: calc(14 / 375 * 100vw); text-align: center;}
.curriculum div.cont figure figcaption h4 br {display: block;}
.curriculum div.cont figure figcaption p {letter-spacing: 0; margin-top: 0px; order: 4; padding:calc(30 / 375 * 100vw);}
.curriculum div.cont figure figcaption p span {background-color: #FEE3AC;}
.curriculum div.cont figure picture {position: relative; top: 0; left: 0px; text-align: center;order: 3; margin-top: calc(30 / 375 * 100vw);}
.curriculum div.cont figure:nth-child(even) {justify-content: column;}
.curriculum div.cont figure:nth-child(even) picture {position: relative; top: 0; right:0px; left: auto;}
.curriculum div.cont figure + figure {margin-top:calc(70 / 375 * 100vw);}
.curriculum div.cont figure picture img {border-radius: 0px;}


.preschool {background-color: #DFEEF3;padding: calc(52 / 375 * 100vw) 0px;}
.preschool div {max-width: 1000px; margin: 0px auto; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.preschool div h2 {font-size:calc(20 / 375 * 100vw); color: #3E3A39; font-weight: bold; margin-right: 0px; text-align: center;}
.preschool div picture {margin-top:calc(40 / 375 * 100vw); text-align: center; padding: 0px calc(64 / 375 * 100vw);}

.schedule {padding: calc(68 / 375 * 100vw) 0px calc(30 / 375 * 100vw);}
.schedule > div {max-width: 1000px; margin: 0px auto;}
.schedule > div h2 {font-size: calc(20 / 375 * 100vw); text-align: center; font-weight: bold;color: #3E3A3A;}

.schedule div.schedule_list {margin-top:calc(40 / 375 * 100vw); display: flex; flex-direction: column; justify-content: center; flex-wrap: wrap; padding: 0px calc(30 / 375 * 100vw);}
.schedule div.schedule_list > div {width: 100%;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); border-radius: calc(14 / 375 * 100vw); padding: calc(10 / 375 * 100vw) calc(15 / 375 * 100vw); height: calc(90 / 375 * 100vw); display: flex; flex-direction: row; justify-content: space-between; align-items: center; text-align: center; color: #3E3A3A; box-sizing: border-box;}
.schedule div.schedule_list > div div {display: block; order: 3; text-align: center; width: 40%;}
.schedule div.schedule_list > div h3 {font-size: calc(22 / 375 * 100vw); font-weight: bold; line-height: 100%; margin: calc(5 / 375 * 100vw) 0px; order: 1; width: 20%;}
.schedule div.schedule_list > div h4 {font-size:calc(18 / 375 * 100vw); font-weight: bold; order: 2; line-height: 120%;width: 40%;}
.schedule div.schedule_list > div h4 span {display: block;font-size:calc(10 / 375 * 100vw);}
.schedule div.schedule_list > div h5 {font-size:calc(12 / 375 * 100vw); font-weight: bold; letter-spacing: 0; order: 3;}
.schedule div.schedule_list > div p:not([class]) {font-size: calc(10 / 375 * 100vw); line-height: 140%; flex-grow: 1; display: flex; justify-content: center; align-items: center;order: 4;}
.schedule div.schedule_list > div p.en {font-family: 'noyh'; font-size:calc(11 / 375 * 100vw);line-height: 100%; margin-top:calc(5 / 375 * 100vw); letter-spacing: 0;order: 5;}

.schedule div.schedule_list > div.s1 {background-color: #98CFAB;}
.schedule div.schedule_list > div.s2 {background-color: #C9BFB5;}
.schedule div.schedule_list > div.s3 {background-color: #D7CEC7;}
.schedule div.schedule_list > div.s4 {background-color: #ECE394;}
.schedule div.schedule_list > div.s5 {background-color: #FEE3AC;}
.schedule div.schedule_list + div.cap {font-size:calc(10 / 375 * 100vw); margin-top: calc(30 / 375 * 100vw); display: block;justify-content: center; align-items: flex-end; padding: 0px calc(38 / 375 * 100vw)}
.schedule div.schedule_list + div.cap ul li {display: inline;}
.schedule > div > div.link_bt {margin-top:calc(96 / 375 * 100vw); position: relative;}


.access { padding-top: 50px;position: relative; overflow: hidden;}
.access > div.access_head {height:calc(62 / 375 * 100vw); width: 100%; background: url("../images/access_head_bg.png") repeat-x center center; background-size: cover;}
.access > div.access_head p {position: absolute; width: calc(700 / 375 * 100vw); left:calc(63 / 375 * 100vw); right: auto; margin: auto; top: calc(40 / 375 * 100vw);}
.access > div.access_cont_W {background-color: #FBF6EE; padding: calc(80 / 375 * 100vw) 0px calc(100 / 375 * 100vw); }
.access > div.access_cont_W > div.access_cont {max-width: 1000px; margin: 0px auto; padding: 0px calc(30 / 375 * 100vw); box-sizing: border-box; display: flex; justify-content: space-between; flex-direction: column;}
.access > div.access_cont_W > div.access_cont > div.map {width: 100%; margin: 0px auto;}
.access > div.access_cont_W > div.access_cont > div.age {width: 100%; margin: calc(80 / 375 * 100vw) auto;}
div.access_cont > div.map > p {text-align: center; font-family: 'noyh'; font-size:calc(26 / 375 * 100vw); font-weight: normal; color: #3E3A3A; line-height: 100%;}
div.access_cont > div.map > h2 { text-align: center;font-size:calc(22 / 375 * 100vw); font-weight: bold; color: #204F3C;}
div.access_cont > div.map div.gmap {width: 100%; height: calc(209 / 375 * 100vw); overflow: hidden; border-radius: 19px; margin: calc(30 / 375 * 100vw) 0px;}
div.access_cont > div.map div.gmap iframe {width: 100%; height: 100%;}
div.access_cont > div.map > dl {display: flex; font-size:calc(14 / 375 * 100vw); font-weight: 140%; letter-spacing: 0;}
div.access_cont > div.map > dl dt {width:calc(88 / 375 * 100vw); flex-shrink: 0; font-weight: bold;}
div.access_cont > div.map > dl + dl {margin-top: calc(5 / 375 * 100vw);}
div.access_cont > div.age > p {text-align: center; font-family: 'noyh'; font-size: calc(26 / 375 * 100vw); font-weight: normal; color: #3E3A3A; line-height: 100%;}
div.access_cont > div.age > h3 { text-align: center;font-size:calc(22 / 375 * 100vw); font-weight: bold; color: #204F3C;}
div.access_cont > div.age > figure {margin-top: calc(30 / 375 * 100vw);}

.prove {padding: calc(86 / 375 * 100vw) 0px 0px;}
.prove > p:not([class]) {text-align: center; font-family: 'noyh'; font-size:calc(26 / 375 * 100vw); font-weight: normal; color: #3E3A3A; line-height: 100%;}
.prove > h2 { text-align: center;font-size:calc(22 / 375 * 100vw); font-weight: bold; color: #204F3C;}
.prove > p.txt {text-align: left; margin-top:calc(30 / 375 * 100vw); padding: 0px calc(30 / 375 * 100vw);}
.prove > ul {display: flex; flex-direction: column; margin-top:calc(40 / 375 * 100vw); overflow: hidden;}
.prove > ul li {width: 100%; margin-left: -20%;}
.prove > ul li img {width: 100%;}
.prove > ul li + li {margin-left: 20%;}
.prove_head{display: block;position: relative;}
.prove > div.prove_head {height:calc(62 / 375 * 100vw); width: 100%; /*background: url("../images/access_head_bg2.png") repeat-x center center; background-size: cover;*/}
.prove > div.prove_head p {position: absolute; /*width: calc(700 / 375 * 100vw); left:calc(63 / 375 * 100vw); right: auto; margin: auto; top: calc(40 / 375 * 100vw)*/margin: 0 auto;bottom: 125px;left:15%;}
.prove > div.prove_head p img {width: 280px; height:auto;}
.form {padding-top: calc(80 / 375 * 100vw);}
.form > h2 {font-size:calc(18 / 375 * 100vw); text-align: center; font-weight: bold;color: #3E3A3A;}
.form_cont {max-width: 1000px; position: relative; background-color: #F9EFEB; margin: calc(117 / 375 * 100vw) auto 0px; border-radius: 0px; padding: calc(50 / 375 * 100vw) calc(30 / 375 * 100vw);}
.form_cont > ul.img {display: flex; justify-content: center; align-items: baseline; position: absolute; top: -100px; right: 0; left: 0; margin: auto;}
.form_cont > ul.img li.f1 {position: relative; top: 0; left: 0;}
.form_cont > ul.img li.f2 {position: relative; top: 0; right: 0;}


.form_main ul.step_ic {text-align: center; margin-bottom: calc(30 / 375 * 100vw);}
.form_main dl dt {display: flex; align-items: center; letter-spacing: 0; font-size: calc(14 / 375 * 100vw); line-height: 140%;}
.form_main dl dt span { background-color: #DC4B4B; border-radius: 4px; color: #FFF; font-size: calc(11 / 375 * 100vw); padding: 3px 5px; margin-right: calc(10 / 375 * 100vw); line-height: 100%;}
.form_main dl dt span.no {background-color: #797979;}
.form_main dl:not([class]) {display: flex; flex-direction: column; }
.form_main dl:not([class]) dt {width:100%;color: #3E3A39;}
.form_main dl:not([class]) dd {width: 100%; margin-top: calc(14 / 375 * 100vw);}
.form_main dl:not([class]) dd input {width: 100%; box-sizing: border-box;-moz-appearance: none; -webkit-appearance: none; background-color:#F9EFEB; border: none;border-bottom: 1px solid #6F6F6F; padding: 10px; color: #3E3A39; font-size: calc(14 / 375 * 100vw);}
.form_main dl.txtarea dd {margin-top: calc(20 / 375 * 100vw);}
.form_main dl.txtarea dd textarea {-moz-appearance: none;-webkit-appearance: none;width: 100%; box-sizing: border-box; padding:calc(10 / 375 * 100vw); height: calc(100 / 375 * 100vw);border:1px solid #BABABA; line-height: 160%;color: #3E3A39;}
.form_main dl + dl {margin-top:calc(30 / 375 * 100vw);}
.form_main dl.check {margin-top: calc(30 / 375 * 100vw);}
.form_main dl.check dd {margin-top: calc(30 / 375 * 100vw);}
.form_main dl.check dd ul {display: flex; flex-direction: column; justify-content: center; gap:0 60px;}
.form_main dl.check dd li label {display: flex; align-items: flex-start; cursor: pointer;}
.form_main dl.check dd li label input {margin-top:calc(7 / 375 * 100vw);}
.form_main dl.check dd li label span {color: #343434; line-height: 140%;margin-left: calc(10 / 375 * 100vw);font-size:calc(16 / 375 * 100vw);}
.form_main dl.check dd li label span em {font-size:calc(13 / 375 * 100vw);}
.form_main dl.check dd li + li {margin-top: calc(20 / 375 * 100vw);}
.form_main div.column {margin-top:calc(30 / 375 * 100vw); display: flex;  flex-direction: column; justify-content: space-between;}
.form_main div.column dl:first-child {width: 100%;}
.form_main div.column dl + dl {width: 100%; margin-top: calc(30 / 375 * 100vw);}
.form_main p.txt {margin-top:calc(16 / 375 * 100vw); font-size:calc(10 / 375 * 100vw);}
.form_main p.txt a {color: #0062FF; text-decoration: underline;}
.form_main p.ppb {width:calc(310 / 375 * 100vw); margin: calc(36 / 375 * 100vw) auto 0px;}
.form_main p.ppb label {width: 100%; height:calc(50 / 375 * 100vw); border: 1px solid #CCCCCC; background-color: #F7F7F7; display: flex; justify-content: center; align-items: center; cursor: pointer;}
.form_main p.ppb label span {font-size:calc(14 / 375 * 100vw); margin-left: calc(14 / 375 * 100vw);}

.form_main p.st1_bt {width: calc(310 / 375 * 100vw); height: calc(70 / 375 * 100vw); margin: 50px auto;position: relative;}
.form_main p.st1_bt button {width: 100%; height: 100%; background-color: #DC4B4B; border-radius: 50px; color: #FFF; border: none;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);font-size:calc(16 / 375 * 100vw); font-weight: bold; cursor: pointer;}
.form_main p.st1_bt button:hover {opacity: .7;}
.form_main p.st1_bt:after {content: '';width: 10px;height: 10px;border-top: solid 2px #FFF;border-right: solid 2px #FFF;position: absolute;right: calc(30 / 375 * 100vw);top:calc(50% - 4px); transform: rotate(45deg);}

.form-error-message {font-size: calc(16 / 375 * 100vw); font-weight: bold; color: #FF4346; text-align: center; margin-bottom: calc(30 / 375 * 100vw); display: none;}
.form-error-message br {display: block;}

.thanks_txt {font-size:calc(16 / 375 * 100vw); font-weight: bold; text-align: center; margin:calc(40 / 375 * 100vw) 0px;}
.thanks_txt br.sp {display: block;}

#form-step2 #confirm-view dl:not([class]) dd {width:100%; padding: calc(10 / 375 * 100vw); box-sizing: border-box; border-bottom: 1px solid #6F6F6F;font-size: calc(14 / 375 * 100vw); }
#form-step2 #confirm-view dl:not([class]) dd input {width: 100%; box-sizing: border-box;-moz-appearance: none; -webkit-appearance: none; background-color:#F9EFEB; border: none;border-bottom: 1px solid #6F6F6F; padding: 10px; color: #3E3A39;}
#form-step2 #confirm-view dl.txtarea dd {margin-top:calc(20 / 375 * 100vw); padding: calc(10 / 375 * 100vw); border:1px solid #BABABA;line-height: 160%;color: #3E3A39; background-color: #FFF; font-size: calc(14 / 375 * 100vw);}

.confirm_bt {display: flex; flex-direction: column; justify-content: center; margin-top:calc(30 / 375 * 100vw);}
.confirm_bt button {cursor: pointer;}
.confirm_bt button:hover {opacity: .7;}
.confirm_bt li.back-to-edit {width: calc(310 / 375 * 100vw); height: calc(40 / 375 * 100vw); order: 2; margin: calc(30 / 375 * 100vw) auto 0px;}
.confirm_bt li.back-to-edit button {width: 100%; height: 100%; background-color: #ADADAD; border-radius: 50px; color: #FFF; border: none;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);font-size:calc(16 / 375 * 100vw); font-weight: bold;}
.confirm_bt li.submit-btn {width:calc(310 / 375 * 100vw); height:calc(70 / 375 * 100vw); order: 1; margin: 0px auto;}
.confirm_bt li.submit-btn button {width: 100%; height: 100%; background-color: #DC4B4B; border-radius: 50px; color: #FFF; border: none;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3);font-size:calc(16 / 375 * 100vw); font-weight: bold;}
.confirm_bt li.submit-btn:after {content: '';width: 10px;height: 10px;border-top: solid 2px #FFF;border-right: solid 2px #FFF;position: absolute;right:calc(30 / 375 * 100vw);top:calc(50% - 4px); transform: rotate(45deg);}
.confirm_bt li + li {margin-left: 0px;}

.confirm_txt {text-align: center; font-size:calc(14 / 375 * 100vw); font-weight: bold; margin-bottom:calc(20 / 375 * 100vw);}
.confirm_txt br {display: block;}

footer { width: 100%; padding:calc(50 / 375 * 100vw) 0px calc(20 / 375 * 100vw);}
footer p:not([class]) {text-align: center;padding: 0 30px;}
footer > div {text-align: center; margin-top: 40px;}
footer > div p.copy {text-align: center; font-size:calc(11 / 375 * 100vw); color: #BFBFBF; margin-top:calc(20 / 375 * 100vw);}
}

@media only screen and (max-width:500px){
header {width: 100%; background: url("../images/main_bg_sp.webp") no-repeat; background-size:cover; min-height: calc(445 / 375 * 100vw); height: calc(445 / 375 * 100vw); position: relative; background-position: right 0% top}

.form_main p.etc {margin-top:calc(30 / 375 * 100vw); width:100%; margin: 0px auto; font-size:calc(10 / 375 * 100vw); line-height:160%; }


}
