:root{--paper: #f5efe3;--paper-strong: #efe4d1;--ink: #171412;--muted: #685d52;--line: rgba(23, 20, 18, .12);--accent: #8b4f2d;--accent-soft: rgba(139, 79, 45, .16);--panel: rgba(255, 252, 246, .76);--shadow: 0 24px 60px rgba(23, 20, 18, .12);--content-width: min(1120px, calc(100vw - 48px) )}*{box-sizing:border-box}html{background:radial-gradient(circle at top left,rgba(139,79,45,.18),transparent 26%),radial-gradient(circle at bottom right,rgba(44,60,47,.14),transparent 28%),var(--paper);color:var(--ink);scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:var(--content-width);margin:0 auto}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);background:#f5efe3c7;border-bottom:1px solid var(--line)}.site-header__inner,.site-footer__inner{width:var(--content-width);margin:0 auto;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 0}.brand{display:grid;gap:2px}.brand__name,.hero__title,.section-title,.page-hero__title{font-family:Hiragino Mincho ProN,YuMincho,Baskerville,serif;font-weight:600;letter-spacing:.08em}.brand__name{font-size:1rem}.brand__sub{color:var(--muted);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.site-nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.site-nav a{border:1px solid transparent;border-radius:999px;padding:8px 14px;color:var(--muted);transition:border-color .18s ease,background-color .18s ease,color .18s ease}.site-nav a:hover{border-color:var(--line);background:#ffffff80;color:var(--ink)}.site-nav a[data-active=true]{border-color:var(--line);background:#ffffffb8;color:var(--ink)}.hero{width:var(--content-width);margin:0 auto;padding:88px 0 48px;display:grid;gap:28px}.hero__panel,.section-card,.page-hero{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.hero__panel{padding:36px;border-radius:28px;position:relative;overflow:hidden}.hero__grid{display:grid;gap:28px;align-items:center;grid-template-columns:minmax(0,1.35fr) minmax(260px,.9fr)}.hero__panel:after{content:"";position:absolute;inset:12px;border:1px solid rgba(139,79,45,.12);border-radius:22px;pointer-events:none}.eyebrow,.pill{display:inline-flex;width:fit-content;align-items:center;gap:8px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:8px 12px}.hero__title,.page-hero__title{margin:18px 0 12px;font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.05}.hero__lede,.page-hero__description{max-width:60ch;margin:0;color:var(--muted);font-size:1.05rem}.hero__meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero__image{width:100%;min-height:280px;object-fit:cover;border-radius:22px;border:1px solid rgba(139,79,45,.2)}.metric{min-width:180px;border-top:1px solid var(--line);padding-top:16px}.metric strong{display:block;font-size:1.4rem;font-family:Hiragino Mincho ProN,YuMincho,serif}.section{width:var(--content-width);margin:0 auto;padding:0 0 48px}.section--split{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.section-header{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.section-title{margin:0;font-size:clamp(1.9rem,3vw,2.8rem)}.section-copy{color:var(--muted);max-width:56ch;margin:0}.grid{display:grid;gap:18px}.grid--cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid--detail{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.section-card{padding:24px;border-radius:24px}.section-card--nested{background:#ffffffb8;box-shadow:none}.section-card h3,.page-card h3{margin:14px 0 8px;font-size:1.2rem}.section-card p,.page-card p,.page-body p,.migration-list li{color:var(--muted)}.page-card{border-top:1px solid var(--line);padding-top:18px}.prose-card p:first-child{margin-top:0}.prose-card p:last-child{margin-bottom:0}.status{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.status:before{content:"";width:8px;height:8px;border-radius:999px;background:#d2a35b}.status[data-ready=true]:before{background:#41644a}.page-hero{width:var(--content-width);margin:56px auto 24px;padding:28px;border-radius:28px}.page-body{width:var(--content-width);margin:0 auto;padding-bottom:56px;display:grid;gap:28px}.course-card{display:grid;align-content:start}.course-card__media{aspect-ratio:4 / 3;overflow:hidden;border-radius:18px;margin-bottom:18px;border:1px solid rgba(139,79,45,.18)}.course-card__image,.page-hero__image{width:100%;height:100%;object-fit:cover}.course-card__body{display:grid;align-content:start}.course-card__number{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:Hiragino Mincho ProN,YuMincho,serif;font-size:1.1rem}.fee-chip,.fee-panel,.contact-box{border:1px solid var(--line);border-radius:20px;background:#ffffff80}.fee-chip{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 14px}.fee-chip strong,.fee-panel strong,.contact-box strong{font-family:Hiragino Mincho ProN,YuMincho,serif;font-size:1.2rem}.fee-panel{display:grid;gap:6px;padding:16px}.text-link{margin-top:18px;color:var(--accent);font-size:.92rem;letter-spacing:.12em;text-transform:uppercase}.text-link:hover{text-decoration:underline}.redirect-link{margin:18px 0 0}.redirect-link a{color:var(--accent);text-decoration:underline}.info-list{margin:18px 0 0;padding-left:18px;color:var(--muted)}.info-list li+li{margin-top:8px}.contact-box{display:grid;gap:6px;margin-top:16px;padding:18px}.contact-box small{color:var(--muted)}.contact-form{display:grid;gap:16px;margin-top:22px}.honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-form__grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:grid;gap:8px}.field__label{display:flex;gap:8px;align-items:center;font-size:.95rem}.field__label strong{color:var(--accent);font-size:.78rem;letter-spacing:.08em}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#ffffffc7;color:var(--ink);font:inherit;padding:14px 16px}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid rgba(139,79,45,.24);outline-offset:2px;border-color:#8b4f2d66}.checkbox-row{display:flex;gap:10px;align-items:center;color:var(--muted)}.checkbox-row a{color:var(--accent);text-decoration:underline}.form-banner{border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-top:18px}.form-banner strong{display:block}.form-banner p{margin:6px 0 0;color:inherit}.form-banner--warning{background:#b078371f;color:#7a4a11}.form-banner--error{background:#942c2c1f;color:#8a2525}.contact-note{margin:0;color:var(--muted);font-size:.92rem}.submit-button{width:fit-content;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;padding:14px 22px;cursor:pointer;box-shadow:0 16px 30px #1714122e;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.submit-button:hover{transform:translateY(-1px);box-shadow:0 20px 34px #1714123d}.submit-button:focus-visible{outline:2px solid rgba(139,79,45,.28);outline-offset:3px}.page-hero--media{display:grid;gap:24px;align-items:center;grid-template-columns:minmax(0,1.2fr) minmax(280px,.85fr)}.page-hero__image{min-height:280px;border-radius:22px;border:1px solid rgba(139,79,45,.18)}.site-footer{border-top:1px solid var(--line);background:#fffcf68f;margin-top:40px}.site-footer__inner{display:grid;gap:10px}.site-footer__nav{display:flex;gap:12px;flex-wrap:wrap}.site-footer__nav a{color:var(--muted)}.site-footer__copy{color:var(--muted);font-size:.92rem}.migration-list{margin:0;padding-left:18px}@media(max-width:720px){.site-header__inner,.site-footer__inner{align-items:start;flex-direction:column}.hero{padding-top:52px}.hero__panel,.page-hero{padding:22px}.hero__grid,.page-hero--media{grid-template-columns:1fr}.section-header{align-items:start;flex-direction:column}}
