:root{--color-bg:#f8faf7;--color-surface:#fff;--color-tint:#f2f9f5;--color-mint:#e8f5ed;--color-brand-soft:#e3efe8;--color-footer:#04352a;--color-ink:#141f1a;--color-ink-muted:#596b61;--color-on-dark:#cfe6da;--color-on-brand:#fff;--color-brand:#0c5941;--color-brand-deep:#083d2d;--color-button:#056b54;--color-gold:#e8a13d;--color-signal:#c94f3d;--color-line:#d9e1dc;--shadow-soft:0 1px 2px #141f1a0f, 0 8px 24px #141f1a0f;--font-display:"Sora", "Sora Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-latin:"Inter", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ja:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, system-ui, sans-serif;--weight-body:400;--weight-medium:500;--weight-semibold:600;--weight-logo:700;--weight-heading:700;--text-small:.875rem;--text-body:1rem;--text-lead:1.125rem;--text-h3:1.125rem;--text-h2:clamp(1.375rem, 1.2rem + .8vw, 1.75rem);--text-h1:clamp(1.875rem, 1.4rem + 2vw, 2.75rem);--text-hero:clamp(2.125rem, 1.5rem + 3vw, 3.75rem);--line-body:1.7;--line-heading:1.2;--line-hero:1.1;--measure:44rem;--container:72rem;--gutter:clamp(1rem, 4vw, 2rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--ease:cubic-bezier(.2, 0, 0, 1);--duration:.16s;--target-button:2.75rem}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--font-sans:var(--font-latin);--font-heading:var(--font-display);--tracking-heading:-.02em}html:lang(ja){--font-sans:var(--font-ja);--font-heading:var(--font-ja);--tracking-heading:0}body{background:var(--color-bg);min-height:100dvh;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--line-body);flex-direction:column;margin:0;display:flex}main{padding-block:0 var(--space-6);flex:1 0 auto}h1,h2,h3,p,ul,dl,dd,figure{margin:0}ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--weight-heading);line-height:var(--line-heading);letter-spacing:var(--tracking-heading);text-wrap:balance;overflow-wrap:break-word}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}a{color:inherit;text-underline-offset:.2em;text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}svg{display:block}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.measure{max-width:var(--measure)}.page-head{padding-block:var(--space-5) var(--space-2)}.page-head>*+*{margin-top:var(--space-2)}.section{padding-block:var(--space-3)}.section>*+*{margin-top:var(--space-2)}.lead{max-width:var(--measure);font-size:var(--text-lead);color:var(--color-ink-muted)}.panel{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg)}.panel--tint{background:var(--color-tint)}.panel--soft{background:var(--color-brand-soft);border-color:#0000}.pairs .row{gap:var(--space-1) var(--space-3);padding-block:var(--space-2);border-top:1px solid var(--color-line);grid-template-columns:1fr;display:grid}.pairs .row:first-child{border-top:0;padding-top:0}.pairs .row:last-child{padding-bottom:0}.pairs dt{font-weight:var(--weight-medium)}.pairs dd{color:var(--color-ink-muted)}@media (width>=40rem){.pairs .row{grid-template-columns:var(--pairs-label,12rem) 1fr}}.button{min-height:var(--target-button);align-items:center;gap:var(--space-1);border-radius:var(--radius-md);background:var(--color-button);color:var(--color-on-brand);font-family:var(--font-heading);font-weight:var(--weight-semibold);transition:background-color var(--duration) var(--ease);padding:.625rem 1.25rem;line-height:1.3;display:inline-flex}.button:hover{background:var(--color-brand);text-decoration:none}.button:focus-visible{outline-color:var(--color-brand-deep)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
