.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--night: #0b2033;--night-2: #12304a;--ice: #bcd6e6;--scrub: #7edecb;--scrub-ink: #0a6f62;--mist: #eaf2f6;--paper: #ffffff;--ink: #142633;--sub: #4b5d6a;--rule: #cbd8e0;--link: #0f5c86;--head: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--body: "BIZ UDPGothic", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--num: "Outfit", "Zen Kaku Gothic New", sans-serif;--gutter: clamp(16px, 4vw, 56px);--wide: 1320px;--ease: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.95 var(--body);letter-spacing:.03em;overflow-wrap:anywhere;overflow-x:clip}@media(min-width:768px){body{font-size:1.125rem}}img,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--head);font-weight:700;color:var(--night);line-height:1.45;letter-spacing:.03em;margin:0}p{margin:0 0 1.4em}p:last-child{margin-bottom:0}ul,ol{padding-left:1.4em}button{font:inherit}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:visited{color:#5e3a86}:focus-visible{outline:2px solid #000;outline-offset:2px;box-shadow:0 0 0 2px #ffd43d}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6em 1em;z-index:30}.skip:focus{left:8px;top:8px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease) var(--d, 0s),transform .9s var(--ease) var(--d, 0s)}.js [data-reveal].in,.js [data-reveal=clip]{opacity:1;transform:none}.js [data-reveal=clip]>img{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--ease) var(--d, 0s),scale 1.8s var(--ease)}.js [data-reveal=clip].in>img{clip-path:inset(0 0 0 0)}.js .line-reveal[data-reveal]{opacity:1;transform:none}.line-reveal>span{display:block;overflow:hidden;padding-bottom:.06em}.js .line-reveal[data-reveal]>span{opacity:0;transform:translateY(.7em);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i, 0) * .16s + .05s)}.js .line-reveal.in>span{opacity:1;transform:none}.frame{overflow:hidden;background:var(--mist)}.frame img{width:100%;height:100%;object-fit:cover;scale:1.1;transition:scale 1.8s var(--ease)}.frame.in img{scale:1.04}.frame:hover img{scale:1.09}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes wipe{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.js .hero [data-reveal],.js .page-head [data-reveal]{opacity:1;transform:none;transition:none;clip-path:none;animation:rise .9s var(--ease) var(--d, 0s) both}.js .hero [data-reveal=clip],.js .page-head [data-reveal=clip]{animation:none}.js .hero [data-reveal=clip]>img,.js .page-head [data-reveal=clip]>img{clip-path:none;transition:none;animation:wipe 1.25s var(--ease) var(--d, 0s) both}.js .hero .line-reveal[data-reveal],.js .page-head .line-reveal[data-reveal]{animation:none}.js .hero .line-reveal>span,.js .page-head .line-reveal>span{opacity:1;transform:none;transition:none;animation:rise 1.1s var(--ease) calc(var(--i, 0) * .16s + .05s) both}.progress{position:fixed;inset:0 0 auto;height:3px;z-index:40;pointer-events:none}.progress span{display:block;height:100%;background:var(--scrub);transform:scaleX(0);transform-origin:left}.site-head{position:sticky;top:0;z-index:20;background:#0b2033f0;color:#fff;backdrop-filter:blur(10px);border-bottom:1px solid rgba(188,214,230,.2)}.site-head__inner{max-width:var(--wide);margin:0 auto;padding:10px var(--gutter);display:flex;align-items:center;gap:12px;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex:0 1 auto;min-width:0}.brand:visited{color:#fff}.brand__mark{display:grid;place-items:center;width:48px;height:48px;background:#fff;flex:none}.brand__mark img{width:38px}.brand__name{font:700 1rem/1.35 var(--head);letter-spacing:.04em;display:block}.brand__name small{display:block;font:400 .875rem/1.3 var(--body);color:var(--ice)}.menu{flex:none}.menu summary{white-space:nowrap;list-style:none;cursor:pointer;min-height:44px;min-width:84px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ice);color:#fff;padding:0 12px;font-weight:700;font-size:1rem}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{background:#fff;color:var(--night)}.menu nav{position:absolute;left:0;right:0;top:100%;background:var(--night);border-bottom:1px solid var(--ice);z-index:25}.menu ul{list-style:none;margin:0;padding:0 var(--gutter)}.menu li+li{border-top:1px solid rgba(188,214,230,.25)}.menu a{display:block;padding:13px 0;color:#fff;text-decoration:none;font-weight:700}.motion-btn{position:fixed;right:12px;bottom:12px;z-index:15;min-height:44px;background:var(--night);border:1px solid var(--ice);color:#fff;padding:0 14px;cursor:pointer;font-size:.9375rem;letter-spacing:.04em}.motion-btn:hover{text-decoration:underline;background:var(--night-2)}.nav-wide{display:none}@media(min-width:1180px){.menu{display:none}.nav-wide{display:block}.nav-wide ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(10px,1.4vw,22px)}.nav-wide a{position:relative;display:block;padding:12px 0;font-size:.9375rem;color:#fff;text-decoration:none;white-space:nowrap}.nav-wide a:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--scrub);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.nav-wide a:hover:after,.nav-wide a[aria-current=page]:after{transform:scaleX(1)}}.wrap{max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter)}.note{color:var(--sub);font-size:.9375rem}figure{margin:0}figcaption{font-size:.9375rem;color:var(--sub);line-height:1.6;padding-top:10px}.go{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:44px;font-family:var(--head);font-weight:700;color:var(--night);text-decoration:none}.go:visited{color:var(--night)}.go:after{content:"";width:34px;height:1px;background:currentColor;transition:width .5s var(--ease);flex:none}.go:hover{text-decoration:underline}.go:hover:after{width:66px}.go--light,.go--light:visited{color:#fff}.btn,a.btn{position:relative;display:inline-block;min-height:48px;padding:.7em 1.5em;background:var(--night);color:#fff;text-decoration:none;font-family:var(--head);font-weight:700;line-height:1.5;overflow:hidden;isolation:isolate}.btn:visited{color:#fff}.btn:before{content:"";position:absolute;inset:0;background:var(--scrub-ink);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);z-index:-1}.btn:hover{color:#fff;text-decoration:underline}.btn:hover:before{transform:scaleX(1)}.hero{position:relative;background:var(--night);color:#fff;display:grid;overflow:hidden}.hero__copy{position:relative;z-index:3;padding:44px var(--gutter) 40px}.hero__quote{color:#fff;font-size:clamp(2.05rem,8.4vw,5rem);line-height:1.32;letter-spacing:.01em;margin-bottom:22px}.hero__by{color:var(--scrub);font-size:.9375rem;margin-bottom:18px}.hero__lead{max-width:30em;color:#eaf3f8;margin-bottom:16px}.hero__photo{position:relative;order:2;overflow:hidden;aspect-ratio:4 / 3;background:var(--night-2)}.hero__photo img{width:100%;height:112%;object-fit:cover;object-position:66% 30%}.hero__waves{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.hero__sub{display:none}@media(min-width:960px){.hero{min-height:min(calc(100svh - 72px),860px);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.hero__copy{grid-column:1;grid-row:1;align-self:center;padding:72px 24px 72px max(var(--gutter),calc((100vw - var(--wide)) / 2 + var(--gutter)))}.hero__photo{grid-column:2;grid-row:1;aspect-ratio:auto}.hero__photo img{position:absolute;inset:-6% 0 auto}.hero__sub{display:block;position:absolute;right:calc(5 / 12 * 100% - 60px);bottom:36px;width:220px;z-index:4;background:var(--night);padding:6px}.hero__sub img{border:1px solid rgba(255,255,255,.5)}.hero__sub figcaption{color:#fff;font-size:.875rem;padding-top:6px}}.latest{display:block;position:relative;background:var(--scrub);color:var(--night);text-decoration:none;overflow:hidden}.latest:visited{color:var(--night)}.latest:before{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}.latest:hover:before{transform:scaleX(1)}.latest__inner{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 20px;max-width:var(--wide);margin-inline:auto;padding:16px var(--gutter)}.latest__label{font-weight:700;font-family:var(--head)}.latest time{font:500 1rem var(--num);letter-spacing:.08em}.latest__title{font-weight:700;text-decoration:underline;text-underline-offset:.22em}.ticker{background:var(--paper);padding-block:clamp(36px,6vw,72px) 22px;overflow:hidden;border-bottom:1px solid var(--rule)}.ticker__move{display:flex;width:max-content;animation:slide 46s linear infinite}.ticker:hover .ticker__move{animation-play-state:paused}.ticker__row{display:flex;flex:none}.ticker__row span{font:700 clamp(2.5rem,8vw,6.25rem)/1.25 var(--head);color:var(--night);padding-right:.5em;white-space:nowrap}.ticker__row span:nth-child(2n){color:transparent;-webkit-text-stroke:1.5px var(--night)}.ticker__note{padding:14px var(--gutter) 0;max-width:var(--wide);margin:0 auto;color:var(--sub);font-size:.9375rem}@keyframes slide{to{transform:translate(-50%)}}.expand{--p: 1;position:relative;height:190vh;background:var(--paper)}.js .expand{--p: 0}.expand__stick{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--paper)}.expand__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;clip-path:inset(calc((1 - var(--p)) * 14%) calc((1 - var(--p)) * 18%));scale:calc(1.12 - var(--p) * .12)}.expand__stick:after{content:"";position:absolute;inset:0;background:#0b2033b8;opacity:var(--p);z-index:1}.expand__text{position:absolute;z-index:2;left:0;right:0;bottom:0;color:#fff;padding:0 var(--gutter) clamp(40px,8vh,96px);max-width:calc(var(--wide) * .72);opacity:clamp(0,calc(var(--p) * 2 - .7),1)}.expand__text h2{color:var(--scrub);font-size:1.0625rem;margin-bottom:14px}.expand__text blockquote{margin:0 0 18px;font:700 clamp(1.75rem,4.6vw,3.5rem)/1.4 var(--head)}.expand__text p{color:#fff}.sec{padding-block:clamp(56px,8vw,120px)}.sec__head{font-size:clamp(2rem,4.2vw,3.25rem);margin-bottom:26px}.about{display:grid;gap:40px}.about__text{max-width:36em}.about__photo .frame{aspect-ratio:3 / 2}.stats{display:grid;gap:28px;margin-top:clamp(48px,7vw,96px);padding-block:0}.stat{border-top:1px solid var(--night);padding-top:14px}.stat dt{font-size:1rem;line-height:1.7;color:var(--sub)}.stat dd{margin:6px 0 0;display:flex;align-items:baseline;gap:6px;color:var(--night)}.stat b{font:300 clamp(3.25rem,7vw,6rem)/1.05 var(--num);letter-spacing:-.01em}.stat span{font:700 1.125rem var(--head)}@media(min-width:900px){.about{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:64px;align-items:center}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}.learn{background:var(--night);color:#fff}.learn h2{color:#fff}.learn__grid{display:grid;gap:48px}.levels{--p: 1;position:relative;list-style:none;margin:34px 0;padding:0 0 0 54px}.js .levels{--p: 0}.levels:before,.levels:after{content:"";position:absolute;left:18px;top:20px;bottom:20px;width:2px;background:#bcd6e64d}.levels:after{background:var(--scrub);transform:scaleY(var(--p));transform-origin:top}.levels li{position:relative;display:block;padding-block:11px}.levels b{position:absolute;left:-54px;top:9px;width:38px;height:38px;display:grid;place-items:center;background:var(--night);border:1px solid var(--scrub);color:var(--scrub);border-radius:50%;font:500 1.0625rem var(--num);z-index:1}.levels span{font:700 clamp(1.0625rem,1.8vw,1.375rem)/1.5 var(--head)}.learn__links{list-style:none;margin:0;padding:0;display:grid;gap:0}.learn__photos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-content:start}.learn__photos figure:nth-child(1){grid-column:1 / -1}.learn__photos figure:nth-child(2){grid-column:1 / 4}.learn__photos figure:nth-child(3){grid-column:4 / -1}.learn__photos .frame{aspect-ratio:4 / 3}.learn__photos figure:nth-child(1) .frame{aspect-ratio:16 / 9}.learn__photos figcaption{color:var(--ice)}@media(min-width:900px){.learn__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px}}.people{display:grid;grid-template-columns:2fr 3fr 2fr;gap:4px}.people .frame{height:clamp(190px,38vw,560px)}.people .frame img{height:118%;margin-top:-9%}.people__note{padding:8px var(--gutter) 0;text-align:right;color:var(--sub);font-size:.875rem;margin:0}.home-lower{display:grid;gap:56px}.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--night)}.news-list li{border-bottom:1px solid var(--rule)}.news-list a{position:relative;display:grid;gap:2px;padding:15px 8px;color:var(--ink);text-decoration:none;isolation:isolate}.news-list a:visited{color:var(--ink)}.news-list a:before{content:"";position:absolute;inset:0;background:var(--mist);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);z-index:-1}.news-list a:hover:before{transform:scaleX(1)}.news-list span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:var(--rule);transition:translate .45s var(--ease)}.news-list a:hover span{translate:8px 0;text-decoration-color:currentColor}.news-list time{color:var(--sub);font:500 .9375rem var(--num);letter-spacing:.08em}@media(min-width:768px){.news-list a{grid-template-columns:7.5em minmax(0,1fr);gap:16px;align-items:baseline}}.book{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:start}.book__cover{display:block;transition:transform .7s var(--ease)}.book__cover:hover{transform:translateY(-8px) rotate(-1.5deg)}.book__cover img{border:1px solid var(--rule)}.book h2{font-size:1.375rem;margin-bottom:6px}.book__sub{font-weight:700;margin-bottom:8px}@media(min-width:900px){.home-lower{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px}.book{grid-template-columns:150px minmax(0,1fr)}}.prefs{background:var(--mist)}.prefs__inner{padding-block:clamp(40px,6vw,72px)}.prefs h2{font-size:clamp(1.375rem,3vw,2rem);margin-bottom:18px}.prefs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.prefs li a{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;background:#fff;border:1px solid var(--night);color:var(--night);font-weight:700;text-decoration:none;transition:background .35s,color .35s}.prefs li a:hover{background:var(--night);color:#fff;text-decoration:underline}.page-head{position:relative;background:var(--night);color:#fff;overflow:hidden}.page-head__waves{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.page-head__inner{position:relative;max-width:var(--wide);margin-inline:auto;display:grid}.page-head__text{padding:44px var(--gutter);align-self:center}.page-head h1{color:#fff;font-size:clamp(1.875rem,5vw,3.5rem);line-height:1.35}.page-head__meta{color:var(--scrub);margin:0 0 8px;font:500 1rem var(--num);letter-spacing:.06em}.page-head__photo{min-height:220px}.page-head__photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 9}.page-head__note{display:block;font-size:.875rem;color:var(--ice);margin-top:14px}@media(min-width:900px){.page-head--photo .page-head__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:380px}.page-head__text{padding-block:64px}.page-head__photo img{aspect-ratio:auto;position:absolute;inset:0;height:100%}.page-head__photo{position:relative}}.prose{max-width:44em;margin-inline:auto;padding:clamp(36px,5vw,72px) var(--gutter) clamp(56px,8vw,104px)}.prose h2{position:relative;font-size:clamp(1.5rem,3vw,2rem);margin:2.2em 0 .8em;padding-bottom:.45em}.prose h2:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--night);transform-origin:left;transition:transform 1.2s var(--ease) .15s}.js .prose h2[data-reveal]:not(.in):after{transform:scaleX(0)}.prose h3{font-size:1.3125rem;margin:2em 0 .6em}.prose h4{font-size:1.125rem;margin:1.8em 0 .4em}.prose>:first-child{margin-top:0}.prose li{margin-bottom:.5em}.prose table{border-collapse:collapse;width:100%;margin-bottom:1.4em}.prose th,.prose td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}.fig,.figs{margin:2em 0}.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;align-items:start}.zoom{display:block;overflow:hidden;width:fit-content;max-width:100%}.zoom img{border:1px solid var(--rule);background:#fff;transition:transform .9s var(--ease)}.zoom:hover img{transform:scale(1.03)}.btn-row{margin:1.6em 0}.video{aspect-ratio:16 / 9;width:100%;margin:2em 0;background:#111}.video iframe{width:100%;height:100%;border:0;display:block}.people-list{max-width:56em;margin-inline:auto;padding:clamp(36px,5vw,72px) var(--gutter) clamp(56px,8vw,104px)}.people-list h2{font-size:1.5rem;margin:2.4em 0 .6em;padding-bottom:.3em;border-bottom:2px solid var(--night)}.teacher{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;padding-block:22px;border-bottom:1px solid var(--rule);align-items:start}.teacher img{width:96px;aspect-ratio:4 / 5;object-fit:cover;object-position:top}.teacher h3{font-size:1.3125rem;margin-bottom:6px}@media(min-width:768px){.teacher{grid-template-columns:150px minmax(0,1fr);gap:32px}.teacher img{width:150px}}.jump{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}.jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--night);color:var(--night);font-weight:700;text-decoration:none;transition:background .35s,color .35s}.jump a:hover{background:var(--night);color:#fff;text-decoration:underline}.pref{margin-top:2.6em}.prose .pref h2{font-size:1.625rem;margin-top:0}.corp{font-weight:700;margin:1.6em 0 0;color:var(--sub)}.facility{padding-block:12px;border-bottom:1px solid var(--rule)}.prose .facility h3{font-size:1.1875rem;margin:0 0 2px}.facility p{margin:0;line-height:1.75}.years{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}.years a{display:inline-block;padding-block:6px;font:500 1.0625rem var(--num)}.year{margin-top:2.4em}.prose .year h2{font-size:1.75rem;margin:0 0 10px;font-family:var(--num);font-weight:300;padding-bottom:0}.prose .year h2:after{display:none}.news-nav{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:3em;padding-top:1.2em;border-top:1px solid var(--rule)}.site-foot{background:var(--night);color:#fff;font-size:1rem;line-height:1.8}.site-foot a,.site-foot a:visited{color:#fff}.site-foot__inner{max-width:var(--wide);margin-inline:auto;padding:48px var(--gutter) 28px;display:grid;gap:30px}.site-foot__name{font:700 1.1875rem/1.5 var(--head);margin-bottom:10px}.site-foot__line{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:start}.site-foot__line img{background:#fff;padding:4px}.site-foot__nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}.site-foot__nav a{display:inline-block;padding-block:4px}.site-foot__small{max-width:var(--wide);margin:0 auto;padding:14px var(--gutter) 22px;border-top:1px solid rgba(188,214,230,.3);font-size:.875rem;color:var(--ice)}@media(min-width:900px){.site-foot__inner{grid-template-columns:5fr 4fr 3fr;gap:48px}.site-foot__nav ul{grid-template-columns:1fr}}.motion-off [data-reveal],.motion-off .line-reveal>span{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;animation:none!important}.motion-off .prose h2:after{transform:none!important;transition:none!important}.motion-off .frame img,.motion-off .zoom img{scale:1;transform:none;transition:none}.motion-off [data-reveal=clip]>img{clip-path:none!important;animation:none!important;transition:none!important}.motion-off .ticker__move{animation:none;width:auto;flex-wrap:wrap;padding-inline:var(--gutter)}.motion-off .ticker__row:last-child{display:none}.motion-off .ticker__row{flex-wrap:wrap}.motion-off .ticker__row span{font-size:clamp(1.75rem,4vw,3rem)}.motion-off .expand{height:auto;--p: 1}.motion-off .expand__stick{position:relative;height:auto;min-height:90svh}.motion-off .expand__text{opacity:1}.motion-off .levels:after{transform:none}.motion-off *,.motion-off *:before,.motion-off *:after{scroll-behavior:auto}.motion-off .book__cover:hover{transform:none}@media(prefers-reduced-motion:no-preference){html:not(.motion-off){scroll-behavior:smooth}}@media(forced-colors:active){.btn{border:1px solid}}@media print{.site-head,.site-foot,.people,.progress,canvas{display:none}.js [data-reveal],.js [data-reveal]>img,.js .line-reveal>span{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important}}
