:root{--ink:#1c1c1e;--washi:#f7f4ee;--accent:#8c2f2f;--gold:#a8894f;--gray:#6b6b6b;--line:#e2ddd2;--maxw:1080px}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--ink);background:var(--washi);-webkit-font-smoothing:antialiased;font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif;font-size:16px;line-height:1.9}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);z-index:50;background:#fff;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;padding-bottom:12px;display:flex}.brand{color:var(--ink);letter-spacing:.1em;font-size:1.4rem;font-weight:700;text-decoration:none}.brand-sub{color:var(--gray);letter-spacing:.15em;font-size:.68rem;font-weight:400;display:block}.nav{flex-wrap:wrap;align-items:center;gap:4px 18px;list-style:none;display:flex}.nav a{color:var(--ink);font-size:.92rem;text-decoration:none}.nav a:hover{color:var(--accent)}.nav-cta{background:var(--accent);border-radius:3px;padding:8px 18px;color:#fff!important}.nav-cta:hover{opacity:.85}.hero{text-align:center;background:linear-gradient(180deg, #fff 0%, var(--washi) 100%);padding:72px 0 56px}.hero h1{letter-spacing:.12em;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.6}.hero .lede{color:var(--gray);max-width:640px;margin-top:18px;margin-left:auto;margin-right:auto}.section{padding:56px 0}.section-alt{background:#fff}.section h2{letter-spacing:.12em;text-align:center;margin-bottom:8px;font-size:1.5rem}.section .section-sub{text-align:center;color:var(--gold);letter-spacing:.2em;margin-bottom:32px;font-size:.8rem}.school-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.school-card{border:1px solid var(--line);background:#fff;border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.school-card .card-body{flex-direction:column;flex:1;gap:10px;padding:22px;display:flex}.school-card h3{letter-spacing:.08em;font-size:1.15rem}.school-card .meta{color:var(--gray);font-size:.88rem}.school-card .card-link{color:var(--accent);border-bottom:1px solid;align-self:flex-start;margin-top:auto;font-size:.92rem;text-decoration:none}.school-detail h1{letter-spacing:.1em;margin-bottom:8px;font-size:clamp(1.5rem,3.5vw,2rem)}.breadcrumb{color:var(--gray);padding:14px 0;font-size:.8rem}.breadcrumb a{color:var(--gray)}.info-table{border-collapse:collapse;background:#fff;width:100%}.info-table th,.info-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 16px;font-size:.95rem}.info-table th{background:var(--washi);white-space:nowrap;width:9em;font-weight:600}.map-embed{aspect-ratio:16/10;border:0;width:100%}.cta-band{background:var(--ink);color:#fff;text-align:center;padding:48px 20px}.cta-band p{letter-spacing:.08em;margin-bottom:20px}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.1em;cursor:pointer;border:none;border-radius:3px;padding:14px 44px;font-size:1.05rem;text-decoration:none;display:inline-block}.btn-primary:hover{opacity:.85}.faq-item{border:1px solid var(--line);background:#fff;border-radius:4px;margin-bottom:12px;padding:18px 22px}.faq-item dt{font-weight:600}.faq-item dt:before{content:"Q. ";color:var(--accent)}.faq-item dd{color:#333;margin-top:6px}.faq-item dd:before{content:"A. ";color:var(--gold);font-weight:600}.post-list{list-style:none}.post-list li{border-bottom:1px solid var(--line)}.post-list a{color:var(--ink);align-items:baseline;gap:20px;padding:18px 4px;text-decoration:none;display:flex}.post-list a:hover{background:#fff}.post-list time{color:var(--gray);white-space:nowrap;font-size:.85rem}.prose{border:1px solid var(--line);background:#fff;border-radius:4px;padding:32px}.prose h2{margin:1.4em 0 .6em;font-size:1.25rem}.prose p{margin-bottom:1em}.form-grid{gap:18px;max-width:560px;display:grid}.form-grid label{font-size:.92rem;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;margin-top:6px;padding:12px;font-family:inherit;font-size:1rem}.site-footer{background:var(--ink);color:#ccc;margin-top:64px;padding:48px 0 24px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;display:grid}.footer-brand{color:#fff;letter-spacing:.12em;font-size:1.2rem}.footer-note{font-size:.85rem}.footer-heading{color:#fff;letter-spacing:.1em;margin-bottom:10px;font-size:.9rem}.site-footer ul{list-style:none}.site-footer li{margin-bottom:6px}.site-footer a{color:#ccc;font-size:.88rem;text-decoration:none}.site-footer a:hover{color:#fff}.copyright{text-align:center;color:#888;margin-top:40px;font-size:.78rem}@media (width<=720px){.nav{gap:4px 12px;font-size:.85rem}.hero{padding:48px 0 36px}}.hero.hero-photo{background:var(--ink);padding:120px 0 100px;position:relative;overflow:hidden}.hero-photo .hero-bg{background-image:image-set("/images/hero.webp" 1x type("image/webp"),"/images/hero.jpg" 1x type("image/jpeg"));background-position:50%;background-size:cover;animation:22s ease-out forwards heroZoom;position:absolute;inset:-4%}.hero-photo:after{content:"";background:linear-gradient(#1212148c 0%,#12121459 45%,#f7f4eef5 100%);position:absolute;inset:0}.hero-photo .container{z-index:1;position:relative}.hero-photo h1{color:#fff;text-shadow:0 2px 24px #00000073;animation:.8s ease-out .15s both fadeUp}.hero-photo .lede{color:#f3efe6;text-shadow:0 1px 12px #00000080;animation:.8s ease-out .35s both fadeUp}.hero-photo .btn-primary{animation:.8s ease-out .55s both fadeUp}@keyframes heroZoom{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.site-header{-webkit-backdrop-filter:blur(10px);background:#ffffffdb}.section h2{padding-bottom:14px;position:relative}.section h2:after{content:"";background:var(--accent);width:40px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.school-card{transition:transform .35s cubic-bezier(.22,.8,.36,1),box-shadow .35s}.school-card:hover{transform:translateY(-6px);box-shadow:0 14px 36px #1c1c1e1f}.btn-primary{transition:transform .25s,box-shadow .25s,opacity .25s}.btn-primary:hover{opacity:1;transform:translateY(-2px);box-shadow:0 8px 22px #8c2f2f59}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";background:var(--accent);transform-origin:100%;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav a:not(.nav-cta):hover:after{transform-origin:0;transform:scaleX(1)}.card-link{transition:letter-spacing .25s}.card-link:hover{letter-spacing:.06em}.js .reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,.8,.36,1);transform:translateY(18px)}.js .reveal.is-visible{opacity:1;transform:none}.js .school-grid>.reveal:nth-child(2){transition-delay:.12s}.js .school-grid>.reveal:nth-child(3){transition-delay:.24s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1;transform:none}}
