@font-face{font-family:URWDINCond-XLight;src:url(/assets/fonts/URWDINCond-XLight.woff) format("woff");font-display:swap}@font-face{font-family:YakuHanJPs;src:url(/assets/fonts/YakuHanJPs-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:YakuHanJPs;src:url(/assets/fonts/YakuHanJPs-Medium.woff2) format("woff2");font-weight:500 700;font-display:swap}:root{--site-font-body: YakuHanJPs, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--site-font-display: URWDINCond-XLight, sans-serif;--sh-ink: #152225;--sh-navy: #1d2b68;--sh-blue: #8eafb8;--sh-pale: #e8f0f0;--sh-paper: #f8f8f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--sh-ink);background:#fff;font-family:var(--site-font-body)}img{max-width:100%}a{color:inherit}body.sh-menu-open{overflow:hidden}body.sh-menu-open .sh-header{z-index:100}.sh-header{position:fixed;inset:0 0 auto;z-index:40;height:112px;display:flex;align-items:stretch;justify-content:space-between;background:#fff;box-shadow:0 1px #15222512;font-size:14px}.sh-header__brand{align-self:center;margin-left:clamp(22px,4vw,58px);color:var(--sh-ink);text-decoration:none;display:flex;align-items:center;gap:13px;line-height:.9;white-space:nowrap}.sh-header__brand-mark{display:block;width:clamp(43px,4vw,56px);height:auto;flex:0 0 auto}.sh-header__brand-mark--white{display:none}.sh-header__brand-copy{display:flex;flex-direction:column}.sh-header__brand-en{font-family:var(--site-font-display);font-size:clamp(28px,3vw,46px);letter-spacing:-.035em}.sh-header__brand-small{margin-top:8px;font:600 10px/1 var(--site-font-body);letter-spacing:.24em}.sh-header__right{display:flex;align-items:stretch}.sh-header__visit{display:flex;align-items:center;justify-content:center;gap:24px;padding:0 33px;color:var(--sh-ink);text-decoration:none;font-weight:600;border-left:1px solid #e5e9e8}.sh-header__visit:hover,.sh-menu a:hover{color:var(--sh-navy)}.sh-header__toggle{width:112px;border:0;background:var(--sh-navy);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#fff}.sh-header__toggle span{display:block;height:1px;width:29px;background:currentColor;transition:transform .2s,opacity .2s}.sh-header__toggle small{font:500 10px/1 var(--site-font-display);letter-spacing:.2em;margin-top:8px}.sh-header__toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.sh-header__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.sh-header__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sh-header__toggle:focus-visible,.sh-menu a:focus-visible,.sh-footer a:focus-visible{outline:3px solid var(--sh-navy);outline-offset:3px}.sh-menu{position:fixed;inset:112px 0 0;z-index:39;overflow:auto;background:var(--sh-paper)}.sh-menu[hidden]{display:none}.sh-menu__inner{max-width:1420px;margin:auto;padding:72px clamp(24px,5vw,80px) 100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,5vw,90px)}.sh-menu__eyebrow{margin:0 0 6px;font:400 22px/1 var(--site-font-display);text-transform:uppercase;color:var(--sh-navy);letter-spacing:.09em}.sh-menu h2{color:var(--sh-navy);font-size:17px;font-weight:500;margin:0 0 30px}.sh-menu__column>a{display:flex;flex-direction:column;gap:4px;padding:13px 0;border-bottom:1px solid #d6e0e1;color:var(--sh-ink);text-decoration:none;font-size:14px}.sh-menu__column small{font-family:var(--site-font-display);color:var(--sh-navy);font-size:17px}.sh-footer{background:#dfe9ea;color:var(--sh-ink);font-size:14px}.sh-footer__cta{text-align:center;padding:100px 22px 108px;background:var(--sh-navy);color:#fff}.sh-footer__eyebrow{font:400 26px/1 var(--site-font-display);letter-spacing:.16em;margin:0 0 24px}.sh-footer__cta h2{margin:0 0 20px;font-size:clamp(25px,3.4vw,44px);font-weight:500;line-height:1.5}.sh-footer__cta>p:not(.sh-footer__eyebrow){margin:0 auto 35px;line-height:2}.sh-footer__cta>a{display:inline-flex;align-items:center;gap:32px;padding:18px 35px;background:#fff;color:var(--sh-ink);text-decoration:none;border-radius:100px}.sh-footer__main{max-width:1420px;margin:auto;padding:88px clamp(24px,5vw,80px);display:grid;grid-template-columns:1.2fr 2fr;gap:80px}.sh-footer__identity{display:flex;flex-direction:column;align-items:flex-start;gap:15px;line-height:1.9}.sh-footer__identity a{color:inherit;text-decoration:none}.sh-footer__identity address{font-style:normal}.sh-footer__logo{display:flex;align-items:center;gap:18px;font:400 42px/1 var(--site-font-display);margin-bottom:16px}.sh-footer__logo img{display:block;width:66px;height:auto}.sh-footer__logo>span{display:block}.sh-footer__logo small{display:block;margin-top:10px;font:600 10px/1 var(--site-font-body);letter-spacing:.24em}.sh-footer__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.sh-footer__links>div{display:flex;flex-direction:column;gap:15px}.sh-footer__links h3{font:400 22px/1 var(--site-font-display);letter-spacing:.1em;margin:0 0 10px}.sh-footer__links a{color:inherit;text-decoration:none;line-height:1.5}.sh-footer__under{border-top:1px solid var(--sh-blue);padding:22px clamp(24px,5vw,80px);display:flex;justify-content:space-between;gap:20px;font-size:11px}.sh-page,.program-page,.faq-page{padding-top:112px}.sh-page__hero{min-height:390px;display:grid;grid-template-columns:1fr 1fr;background:#e3edef}.sh-page__hero-copy{padding:clamp(60px,8vw,125px) clamp(24px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.sh-page__eyebrow{color:var(--sh-navy);font:400 30px/1 var(--site-font-display);letter-spacing:.07em;text-transform:uppercase;margin:0 0 18px}.sh-page__hero h1{font-size:clamp(32px,4.8vw,64px);font-weight:500;line-height:1.35;margin:0}.sh-page__hero p:not(.sh-page__eyebrow){font-size:clamp(15px,1.35vw,18px);line-height:2;margin:27px 0 0}.sh-page__hero-image{min-height:390px;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sh-page__section{max-width:1180px;padding:90px 28px;margin:auto;font-size:16px;line-height:2.15}.sh-page__section--tint{max-width:none;background:var(--sh-paper)}.sh-page__section--tint>.sh-page__inner{max-width:1180px;margin:auto}.sh-page__section h2{font-size:clamp(25px,3vw,42px);font-weight:500;line-height:1.5;margin:0 0 28px}.sh-page__section h3{font-size:clamp(19px,2.2vw,28px);font-weight:500;margin:0 0 14px}.sh-page__section p{margin:0 0 20px}.sh-page__lead{max-width:850px;font-size:clamp(17px,1.6vw,21px);line-height:2.1}.sh-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}.sh-page__card{background:#fff;padding:34px 30px;border-top:4px solid var(--sh-navy)}.sh-page__card-image{display:block;width:100%;aspect-ratio:1.45;margin:-34px -30px 26px;max-width:calc(100% + 60px);-o-object-fit:cover;object-fit:cover}.sh-page__card h3{margin:0 0 18px}.sh-page__card p{font-size:15px;line-height:2}.sh-page__link{display:inline-flex;gap:30px;align-items:center;border:1px solid var(--sh-navy);border-radius:100px;padding:14px 24px;color:var(--sh-navy);text-decoration:none;font-size:14px;margin-top:16px}.sh-page__link:hover{background:var(--sh-pale)}.sh-page__facts{width:100%;border-collapse:collapse;font-size:15px}.sh-page__facts th,.sh-page__facts td{border-bottom:1px solid #d7e0e1;padding:20px;text-align:left;vertical-align:top}.sh-page__facts th{width:28%;font-weight:600}.sh-page__split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.sh-page__split img{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.sh-page__cta{max-width:none;background:var(--sh-pale);color:var(--sh-ink);text-align:center}.sh-page__cta .sh-page__link{border-color:var(--sh-navy);background:var(--sh-navy);color:#fff}@media(max-width:800px){.sh-header{height:76px}.sh-header__brand{margin-left:18px;gap:9px}.sh-header__brand-mark{width:36px}.sh-header__brand-en{font-size:29px}.sh-header__brand-small{font-size:8px}.sh-header__visit{display:none}.sh-header__toggle{width:76px}.sh-menu{top:76px}.sh-menu__inner{display:block;padding:35px 24px 70px}.sh-menu__column{margin-bottom:45px}.sh-menu h2{margin-bottom:14px}.sh-footer__main{display:block;padding:60px 24px}.sh-footer__logo{gap:14px;font-size:36px}.sh-footer__logo img{width:58px}.sh-footer__identity{margin-bottom:55px}.sh-footer__links{grid-template-columns:1fr 1fr;gap:40px 20px}.sh-footer__under{display:block}.sh-page,.program-page,.faq-page{padding-top:76px}.sh-page__hero{display:flex;flex-direction:column-reverse}.sh-page__hero-image{height:260px;min-height:260px}.sh-page__hero-copy{padding:52px 24px 65px}.sh-page__section{padding:64px 24px}.sh-page__grid,.sh-page__split{grid-template-columns:1fr}.sh-page__facts th{width:35%}.sh-page__facts th,.sh-page__facts td{padding:15px 8px}}.early-learning .program-hero,.kindergarten .program-hero,.elementary .program-hero{position:relative;display:flex;flex-direction:column;padding:0 0 clamp(55px,8vw,108px);background:#fff;text-align:center}body.early-learning .program-page .program-hero,body.kindergarten .program-page .program-hero,body.elementary .program-page .program-hero{padding-top:0;background:#fff}.early-learning .program-hero .content-wrap,.kindergarten .program-hero .content-wrap,.elementary .program-hero .content-wrap{display:contents}.early-learning .program-hero .hero-image,.kindergarten .program-hero .hero-image,.elementary .program-hero .hero-image{order:-1;width:100%;max-width:none;height:clamp(300px,47vw,650px);margin:0 0 clamp(52px,7vw,92px);-o-object-fit:cover;object-fit:cover}body.early-learning .program-page .program-hero .hero-image,body.kindergarten .program-page .program-hero .hero-image,body.elementary .program-page .program-hero .hero-image{position:relative;left:50%;width:100vw;max-width:100vw;height:clamp(300px,47vw,650px);margin:0 0 clamp(52px,7vw,92px);transform:translate(-50%)}.early-learning .program-hero .eyebrow,.kindergarten .program-hero .eyebrow,.elementary .program-hero .eyebrow{margin:0 24px 16px}.early-learning .program-hero h1,.kindergarten .program-hero h1,.elementary .program-hero h1{margin:0 24px 20px;font-size:clamp(42px,7vw,92px)}.early-learning .program-hero h1 span{font-size:clamp(14px,1.6vw,18px)}.early-learning .program-hero .hero-copy,.kindergarten .program-hero .hero-copy,.elementary .program-hero .hero-copy{max-width:780px;margin:0 auto;padding-inline:24px;line-height:1.75}.early-learning .program-hero .hero-age,.elementary .program-hero .sub-copy{margin:15px 24px 0}.early-learning .program-intro,.kindergarten .intro,.elementary .intro{max-width:860px;padding-block:clamp(35px,6vw,75px) clamp(75px,10vw,135px)}.early-learning .program-intro p,.kindergarten .copy-block p,.elementary .intro p{font-size:clamp(15px,1.35vw,18px);line-height:2.3}.kindergarten .stage{position:relative;grid-template-columns:minmax(130px,.28fr) 1fr;gap:clamp(38px,10vw,145px);padding-block:clamp(70px,10vw,135px);border-color:#cfd9d6}.early-learning .stage-marker,.kindergarten .stage-label{position:relative;padding-top:8px}.early-learning .stage-marker span:first-child,.kindergarten .stage-label span:first-child{font-size:clamp(40px,5vw,68px)}.early-learning .stage-copy h2,.kindergarten .stage-copy h2{font-size:clamp(25px,3.5vw,40px)}.kindergarten .stages{padding-block:0}.kindergarten .stage:nth-child(2n){grid-template-columns:1fr minmax(130px,.28fr)}.kindergarten .stage:nth-child(2n) .stage-copy{grid-column:1;grid-row:1}.kindergarten .stage:nth-child(2n) .stage-label{grid-column:2;grid-row:1}.kindergarten .stage-intro{margin-top:10px;padding-block:clamp(60px,8vw,105px)}.kindergarten .stage-intro h2{font-size:clamp(27px,4vw,44px)}.elementary .progression{margin-top:clamp(35px,6vw,75px)}.sh-home__hero{min-height:min(790px,calc(100svh - 112px))}.sh-home__hero-content{padding-left:clamp(30px,8vw,130px)}.sh-home__hero-content>a,.sh-home__statement a,.sh-home__location a{border-radius:0}.sh-home__intro,.sh-home__more{max-width:1120px;padding-block:clamp(85px,12vw,165px)}.sh-home__section-head{gap:clamp(30px,8vw,120px)}.sh-home__section-head>span{min-width:145px;font-size:17px}.sh-home__programs{display:block}.sh-home__program{display:grid;grid-template-columns:minmax(250px,.9fr) 1.1fr;-moz-column-gap:clamp(30px,7vw,95px);column-gap:clamp(30px,7vw,95px);align-items:center;padding:clamp(45px,7vw,88px) 0;border-bottom:1px solid #cfd9d6}.sh-home__program:nth-child(2n) .sh-home__program-photo{grid-column:2;grid-row:1 / span 4}.sh-home__program:nth-child(2n) .sh-home__program-number,.sh-home__program:nth-child(2n) h3,.sh-home__program:nth-child(2n) .sh-home__program-ja{grid-column:1}.sh-home__program-photo{grid-row:1 / span 4;aspect-ratio:1.35}.sh-home__program-number{align-self:end;margin-top:0;font-size:36px}.sh-home__program h3{margin:18px 0 10px}.sh-home__program-arrow{position:static;grid-column:2;grid-row:4;justify-self:end}.sh-home__statement{background:#f1f3ef}.sh-home__statement-copy{padding-inline:clamp(30px,8vw,130px)}.sh-home__more-links{margin-top:58px}@media(max-width:800px){body.early-learning .program-page .program-hero .hero-image,body.kindergarten .program-page .program-hero .hero-image,.early-learning .program-hero .hero-image,.kindergarten .program-hero .hero-image{height:58vw;min-height:230px;margin-bottom:42px}.kindergarten .stage{grid-template-columns:1fr;gap:20px}.kindergarten .stage:nth-child(2n) .stage-copy,.kindergarten .stage:nth-child(2n) .stage-label{grid-column:auto;grid-row:auto}.sh-home__program{grid-template-columns:1fr;gap:0;padding-block:38px}.sh-home__program:nth-child(2n) .sh-home__program-photo,.sh-home__program-photo{grid-column:1;grid-row:1;margin-bottom:24px;aspect-ratio:1.45}.sh-home__program-arrow{grid-column:1;grid-row:5;margin-top:18px}}body.school-info .sh-page__hero{display:flex;flex-direction:column;min-height:0;background:#fff;text-align:center}body.school-info .sh-page__hero-image{order:-1;position:relative;left:50%;width:100vw;height:clamp(300px,47vw,650px);min-height:0;margin:0 0 clamp(48px,7vw,90px);-o-object-fit:cover;object-fit:cover;transform:translate(-50%)}body.school-info .sh-page__hero-copy{max-width:920px;margin-inline:auto;padding:0 24px clamp(65px,9vw,120px);align-items:center}body.school-info .sh-page__hero h1{font-size:clamp(40px,7vw,86px);font-weight:400;line-height:1.25}body.school-info .sh-page__hero p:not(.sh-page__eyebrow){max-width:760px;line-height:2.3}body.school-info .sh-page{counter-reset:sh-info-section}body.school-info .sh-page__section:not(.sh-page__cta){max-width:none;padding:clamp(72px,10vw,132px) max(28px,calc((100% - 1180px)/2));border-top:1px solid #e0e5e2}body.school-info .sh-page__section:not(.sh-page__cta)>.sh-page__inner{max-width:1180px;margin-inline:auto}body.school-info .sh-page__section:not(.sh-page__cta)>h2,body.school-info .sh-page__section:not(.sh-page__cta)>p,body.school-info .sh-page__section:not(.sh-page__cta)>ul,body.school-info .sh-page__section:not(.sh-page__cta)>.sh-page__split,body.school-info .sh-page__section:not(.sh-page__cta)>.sh-page__facts,body.school-info .sh-page__section:not(.sh-page__cta)>.sh-page__grid{max-width:1180px;margin-left:auto;margin-right:auto}body.school-info .sh-page__section:not(.sh-page__cta) h2:before{display:block;margin-bottom:20px;counter-increment:sh-info-section;content:"0" counter(sh-info-section) " /";color:var(--sh-navy);font:400 24px/1 var(--site-font-display);letter-spacing:.12em}body.school-info .sh-page__section--tint{background:#f6f7f3}body.school-info .sh-page__section:nth-of-type(2n) .sh-page__split{direction:rtl}body.school-info .sh-page__section:nth-of-type(2n) .sh-page__split>*{direction:ltr}body.school-info .sh-page__section .sh-page__grid{gap:0 clamp(28px,5vw,70px)}body.school-info .sh-page__card{padding:32px 0;border:0;border-top:1px solid #ccd8d6;background:transparent}body.school-info .sh-page__card-image{width:100%;max-width:100%;margin:0 0 26px}body.school-info .sh-page__section .sh-page__link{border-radius:0}@media(max-width:800px){body.school-info .sh-page__hero-image{height:58vw;min-height:230px;margin-bottom:42px}body.school-info .sh-page__hero-copy{padding:0 24px 65px}body.school-info .sh-page__section:not(.sh-page__cta){padding:68px 24px}body.school-info .sh-page__section:nth-of-type(2n) .sh-page__split{direction:ltr}body.school-info .sh-page__section:not(.sh-page__cta) .sh-page__split{width:calc(100% + 48px);margin-inline:-24px;gap:26px}body.school-info .sh-page__split img{width:calc(100% - 24px);max-width:none;margin-left:0}body.school-info .sh-page__section:nth-of-type(2n) .sh-page__split img{margin-left:auto}body.school-info .sh-page__split>:not(img){padding-inline:24px}body.school-info .sh-page__card-image{width:calc(100% + 48px);max-width:none;margin:0 -24px 24px}}
