html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
:root{--color-bg:#fff;--color-surface:#fff;--color-soft:#fdf0f3;--color-cream:#f5e6d3;--color-ink:#333;--color-ink-muted:#5c5c5c;--color-accent:#bd002a;--color-accent-strong:#940021;--color-on-accent:#fff;--color-border:#bd002a1f;--color-border-card:#bd002a33;--color-border-control:var(--color-border);--color-border-strong:#8c8c8c;--color-focus:#bd002a;--font-display:var(--font-zen-maru), "Hiragino Maru Gothic ProN", "Yu Gothic", system-ui, sans-serif;--font-text:var(--font-nunito), var(--font-zen-maru), "Hiragino Maru Gothic ProN", "Yu Gothic", system-ui, sans-serif;--font-ja:var(--font-zen-maru), "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;--step--1:clamp(.83rem, .8rem + .15vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.2rem, 1.1rem + .45vw, 1.45rem);--step-2:clamp(1.45rem, 1.25rem + .9vw, 1.95rem);--step-3:clamp(1.8rem, 1.45rem + 1.6vw, 2.75rem);--step-4:clamp(2.3rem, 1.7rem + 2.8vw, 4rem);--space-2xs:.25rem;--space-xs:.5rem;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2.5rem;--space-2xl:clamp(3rem, 2rem + 4vw, 5rem);--space-3xl:clamp(4rem, 2.5rem + 6vw, 8rem);--radius:12px;--radius-l:16px;--measure:38rem;--container:1640px;--gutter:clamp(1rem, .5rem + 3vw, 2.5rem);--touch:2.75rem;--nav-height:60px;--page-top:clamp(1.5rem, 1rem + 2vw, 2.5rem);--page-top-tight:clamp(.25rem, -.5rem + 2vw, 1rem);--kanji-lift:.12em;--label-lift:.12em;--radius-button:64px;--shadow-lift:0 10px 24px -12px #bd002a59;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-display);font-size:var(--step-0);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}:where(p,dd,blockquote,figcaption,.prose li){font-family:var(--font-text);line-height:1.65}main{overflow-x:clip}:where(:lang(ja)){font-family:var(--font-ja);line-height:1.7}html:has(dialog[open]){overflow:hidden}@media (max-width:48rem){html:has(nav[aria-label=Main][data-open=true]){overflow:hidden}}html{scroll-padding-top:calc(var(--nav-height) + var(--space-m))}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700;line-height:1.25}p{margin:0}a{color:var(--color-accent);text-underline-offset:.18em;text-decoration-thickness:1px}@media (hover:hover) and (min-width:75rem){a:hover{color:var(--color-accent-strong);text-decoration-thickness:2px}}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:2px}img,svg{max-width:100%;display:block}ruby{ruby-align:center}ruby rt{color:var(--color-ink-muted);font-size:.55em}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-m);z-index:10;padding:var(--space-xs) var(--space-m);background:var(--color-ink);color:var(--color-surface);position:absolute;top:-100px}.skip-link:focus{top:var(--space-m)}.eyebrow{font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);font-weight:700}.page-header{padding-block:var(--page-top) var(--space-xl);gap:var(--space-s);display:grid}.page-header h1{font-size:var(--step-3)}.lede{font-size:var(--step-1);color:var(--color-ink-muted);max-width:var(--measure)}.prose{max-width:var(--measure);gap:var(--space-m);display:grid}.prose h2{font-size:var(--step-2);margin-top:var(--space-l)}.prose ul{gap:var(--space-xs);margin:0;padding-left:1.2em;display:grid}.section{padding-block:var(--space-xl)}@media (max-width:40rem){.section{padding-block:1.25rem}}.section-title{font-size:var(--step-2);margin-bottom:var(--space-l)}.button{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--touch);padding:var(--space-xs) var(--space-l) calc(var(--space-xs) + var(--label-lift));border:2px solid var(--color-accent);border-radius:var(--radius-button);background:var(--color-accent);color:var(--color-on-accent);font:inherit;cursor:pointer;transition:transform .18s var(--ease-bounce), background-color .15s ease;font-weight:700;text-decoration:none;display:inline-flex}@media (hover:hover) and (min-width:75rem){.button:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-on-accent);text-decoration:none;transform:translateY(-2px)}}.button:active{transform:translateY(0)scale(.97)}.button-quiet{background:var(--color-surface);color:var(--color-accent)}@media (hover:hover) and (min-width:75rem){.button-quiet:hover{background:var(--color-soft);color:var(--color-accent-strong)}}.notice{max-width:var(--measure);padding:var(--space-m) var(--space-l);border-radius:var(--radius);background:var(--color-soft);font-size:var(--step--1);color:var(--color-ink)}
