:root{font-family:'Noto Sans JP',sans-serif;color:#173c54;background:#f7f5ee;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px}img{display:block;max-width:100%}a{color:inherit}.skip{position:absolute;top:-60px;left:12px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}.notice{margin:0;padding:8px 4vw;background:#dceaf0;color:#254b60;text-align:center;font-size:10px;line-height:1.8}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4vw;background:#fff}.brand{text-decoration:none;font-size:22px;font-weight:900;letter-spacing:.05em}.brand small{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:.15em;color:#648ba2}nav{display:flex;gap:27px;font-size:11px;font-weight:700}nav a{text-decoration:none}.hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:620px;background:#f7f5ee}.hero-photo{position:relative;display:grid;align-items:center;background:#c4e4f2}.hero-photo img{width:100%;height:auto}.hero-photo span{position:absolute;left:20px;bottom:20px;background:#f7f5ee;padding:10px 14px;font:700 10px 'DM Sans',sans-serif;letter-spacing:.15em}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:55px 5vw}.serial,.room-head>span{font:700 10px 'DM Sans',sans-serif;letter-spacing:.18em;color:#4b89a9}.category{font-size:16px;font-weight:700;color:#c6634a;margin:55px 0 12px}.hero h1{font-size:clamp(43px,4.8vw,75px);line-height:1.4;letter-spacing:-.06em;margin:0}.hero-copy>p:last-of-type{font-size:14px;line-height:2.15;max-width:420px;margin:24px 0}.hero-copy>a,.about a{display:inline-flex;align-items:center;gap:26px;padding:12px 0;border-bottom:2px solid currentColor;text-decoration:none;font-size:12px;font-weight:700}.hero-copy>a span{font-size:20px}.room{background:#276f93;color:#fff;padding:90px 6vw}.room-head{display:grid;grid-template-columns:.7fr 2fr .8fr;gap:30px;align-items:end;margin-bottom:42px}.room-head>span{align-self:start;color:#c6eaf9}.room h2,.about h2{font-size:clamp(40px,4.5vw,67px);line-height:1.45;letter-spacing:-.06em;margin:0 0 17px}.room-head p{font-size:13px;line-height:2.2;max-width:580px}.room-head button{justify-self:end;padding:14px 17px;border:1px solid #fff;background:#fff;color:#276f93;font:700 12px 'Noto Sans JP',sans-serif;cursor:pointer;white-space:nowrap}.room-head button:hover{background:#dceaf0}.room figure{position:relative;margin:0}.room figure img{width:100%;height:auto}.room figcaption{position:absolute;bottom:18px;right:18px;padding:10px 13px;background:#173c54;font:700 10px 'DM Sans',sans-serif;letter-spacing:.13em}.about{display:grid;grid-template-columns:.6fr 1.4fr;gap:6vw;padding:110px 8vw}.about .serial{margin:0}.about>div{max-width:800px}.about h2{margin-bottom:22px}.about p:not(.serial){font-size:13px;line-height:2.2;max-width:620px}.about a{margin-top:18px}footer{display:flex;justify-content:space-between;gap:20px;padding:24px 4vw;background:#173c54;color:#fff;font-size:10px}footer a{text-decoration:none}dialog{max-width:min(95vw,1160px);max-height:95vh;padding:15px;border:0;background:#f7f5ee;color:#173c54;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#062438d9}dialog img{width:100%;max-height:75vh;object-fit:contain}dialog button{display:block;margin:0 0 10px auto;border:0;padding:10px 14px;background:#173c54;color:#fff;cursor:pointer}dialog p{font-size:11px}a:focus-visible,button:focus-visible{outline:3px solid #d46e53;outline-offset:4px}
@media(max-width:1100px){.room-head{grid-template-columns:1fr 2fr}.room-head button{grid-column:2;justify-self:start}.room h2{font-size:48px}.about h2{font-size:45px}}
@media(max-width:900px){.hero{display:flex;flex-direction:column}.hero-photo{display:block}.hero-copy{padding:55px 6vw}.category{margin-top:20px}.hero h1{font-size:clamp(45px,7vw,63px)}.room{padding:70px 5vw}.room-head{grid-template-columns:1fr}.room-head button{grid-column:1}.room h2{font-size:50px}.about{display:block;padding:80px 6vw}.about .serial{margin-bottom:30px}}
@media(max-width:480px){.notice{font-size:9px}.site-header{display:block}.brand{font-size:19px}nav{justify-content:space-between;gap:8px;margin-top:16px;font-size:10px}.hero-photo span{font-size:8px;left:10px;bottom:10px}.hero-copy{padding:35px 5vw 55px}.category{font-size:13px;margin-top:16px}.hero h1{font-size:43px}.hero-copy>p:last-of-type{font-size:12px;margin:17px 0}.room{padding:60px 0 45px}.room-head{padding:0 5vw;margin-bottom:25px}.room h2,.about h2{font-size:40px}.room-head p{font-size:12px}.room figcaption{font-size:8px;right:8px;bottom:8px}.about{padding:70px 5vw}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* The classroom photograph faces a clear, two-line industry masthead. */
.hero-copy{align-items:stretch}
.hero-copy .category{margin:34px 0 13px;font-size:13px}
.hero h1{font-size:clamp(49px,4.65vw,69px);line-height:1.34;letter-spacing:-.065em}
.hero h1 span{display:block;font-size:.7em;letter-spacing:-.055em;text-align:right;padding-top:.25em}
@media(max-width:900px){.hero-photo{height:clamp(240px,42vw,330px);overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:center 43%}.hero-copy{padding-top:30px}.hero-copy .category{margin-top:15px}.hero h1{font-size:clamp(45px,7.5vw,63px)}}
@media(max-width:480px){.hero-copy{padding-top:25px}.hero h1{font-size:clamp(43px,11.3vw,51px)}.hero h1 span{font-size:.64em}}
