:root{--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#fbfaf7;--accent:#01d5f7;--dark:#07111f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Helvetica Neue',Arial,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,60px);backdrop-filter:blur(16px);background:rgba(251,250,247,.76);border-bottom:1px solid rgba(229,231,235,.55)}.brand span{font-size:28px;font-weight:900;letter-spacing:.08em}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.22em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:22px;font-size:13px;letter-spacing:.08em}.site-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}.nav-toggle{display:none}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1.05fr;gap:5vw;align-items:center;padding:140px clamp(20px,6vw,90px) 80px}.hero h1{font-size:clamp(48px,8vw,116px);line-height:1.05;letter-spacing:-.06em;margin:.1em 0 .28em}.lead{font-size:clamp(16px,2vw,22px);color:#374151;max-width:680px}.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#0ea5e9;font-weight:800}.hero-visual{min-height:64vh;border-radius:34px;overflow:hidden;box-shadow:0 30px 80px rgba(7,17,31,.18);background:linear-gradient(135deg,#e0faff,#fff,#ffeec7)}.hero-visual img{width:100%;height:100%;object-fit:cover}.visual-placeholder{height:64vh;display:grid;place-content:center;text-align:center}.visual-placeholder span{font-size:clamp(52px,8vw,120px);font-weight:900;letter-spacing:.12em}.visual-placeholder b{color:#0ea5e9;letter-spacing:.3em}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 24px;font-weight:800;font-size:14px;transition:.25s;border:1px solid var(--ink)}.btn.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.btn.ghost{background:rgba(255,255,255,.25)}.btn:hover{transform:translateY(-2px)}.hero-actions,.footer-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.intro{padding:110px clamp(22px,12vw,180px);max-width:1180px}.intro h2,.story h2,.curriculum h2,.footer h2{font-size:clamp(32px,5vw,72px);line-height:1.2;letter-spacing:-.04em}.intro p:last-child{max-width:840px;color:#374151;font-size:18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:0 clamp(20px,6vw,90px);border:1px solid var(--line)}.card{background:#fff;padding:44px 30px;min-height:270px}.card span{font-size:12px;color:var(--muted)}.card h3{font-size:24px;margin:50px 0 12px}.card p{color:#4b5563}.story{display:grid;grid-template-columns:1.1fr .7fr;gap:40px;align-items:center;padding:120px clamp(20px,6vw,90px)}.story-text{background:#fff;border-radius:34px;padding:clamp(34px,6vw,76px);box-shadow:0 24px 70px rgba(7,17,31,.08)}.story-panel{background:var(--dark);color:#fff;border-radius:34px;padding:42px;min-height:360px;display:flex;flex-direction:column;justify-content:center}.story-panel b{font-size:34px;line-height:1}.story-panel ul{padding-left:1.2em}.curriculum{padding:110px clamp(20px,6vw,90px);background:#fff}.curriculum-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:42px}.curriculum-grid div{border:1px solid var(--line);border-radius:26px;padding:30px;background:#fbfaf7}.curriculum-grid h3{font-size:28px}.cta-band{margin:0 clamp(20px,6vw,90px) 90px;padding:34px;border-radius:28px;background:linear-gradient(90deg,#01d5f7,#dff8ff);display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-band p{font-size:22px;font-weight:900}.footer{background:#07111f;color:#fff;padding:90px clamp(20px,6vw,90px) 40px}.footer .eyebrow{color:#67e8f9}.address,.copy{color:#b9c0ca}.archive{padding:150px clamp(20px,6vw,90px)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}@media(max-width:900px){.nav-toggle{display:block;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 14px}.site-nav{display:none;position:absolute;top:75px;right:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.site-nav ul{flex-direction:column}.hero{grid-template-columns:1fr;padding-top:120px}.hero-visual,.visual-placeholder{min-height:45vh}.cards,.curriculum-grid{grid-template-columns:1fr}.story{grid-template-columns:1fr}.cta-band{flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(44px,14vw,78px)}}

.contact-box{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-top:28px}.contact-main{min-width:0}.phone-line{font-size:24px;font-weight:900;margin:22px 0 8px}.phone-line a{text-decoration:none}.line-qr{background:#fff;color:var(--ink);border-radius:26px;padding:18px;box-shadow:0 22px 60px rgba(0,0,0,.18);width:min(220px,44vw);text-align:center}.line-qr p{margin:0 0 10px;font-size:13px;font-weight:900;letter-spacing:.08em}.line-qr img{width:100%;height:auto;border-radius:16px}@media(max-width:900px){.contact-box{flex-direction:column}.line-qr{width:min(260px,100%)}.phone-line{font-size:20px}}
