:root{--c-red:#e31b23;--c-red-mid:#f44336;--c-orange:#ff6a13;--c-orange-text:#cc4b00;--c-red-text:#c8101a;--c-ink:#1f1f1f;--c-graphite:#4b5563;--c-muted:#9ca3af;--c-muted-text:#6b7280;--c-white:#fff;--c-light-gray:#f8fafc;--c-border:#e5e7eb;--c-dark-bg:#1a1a1a;--c-dark-card:#262626;--c-dark-deep:#121212;--c-dark-panel:#1e1e1e;--c-tint:#feedec;--c-on-dark:#d1d5db;--c-on-dark-strong:#e5e7eb;--c-hairline-dark:#ffffff14;--c-divider-dark:#ffffff1a;--c-ghost-border:#ffffff59;--c-numeral-dark:#3f3f46;--grad-brand:linear-gradient(-135deg, #e31b23 14.645%, #f44336 42.929%, #ff6a13 85.355%);--grad-brand-dim:linear-gradient(#0000003d, #0000003d), var(--grad-brand);--grad-brand-hover-dim:linear-gradient(#0000003d, #0000003d), linear-gradient(135deg, #ff6a13 0%, #f44336 55%, #e31b23 100%);--glow-brand:radial-gradient(closest-side, #e31b236b 0%, #f03c2d4d 26%, #fa5a1e2b 48%, #ff6a1312 68%, #ff6a1305 84%, #ff6a1300 100%);--font-head:var(--font-noto-sans-jp), system-ui, sans-serif;--font-body:var(--font-noto-sans-jp), system-ui, sans-serif;--font-mono:var(--font-ibm-plex-mono), ui-monospace, monospace;--fs-hero:clamp(2.375rem, 1.725rem + 2.667vw, 4.125rem);--fs-page-title:clamp(2.375rem, 1.957rem + 1.714vw, 3.5rem);--fs-section-title:clamp(1.875rem, 1.643rem + .952vw, 2.5rem);--fs-display:clamp(1.625rem, 1.254rem + 1.524vw, 2.625rem);--fs-display-lg:clamp(1.75rem, 1.286rem + 1.905vw, 3rem);--fs-cta-title:clamp(1.75rem, 1.425rem + 1.333vw, 2.625rem);--fs-svc-title:clamp(1.375rem, 1.143rem + .952vw, 2rem);--fs-card-title:1.3125rem;--fs-body:clamp(.875rem, .829rem + .19vw, 1rem);--fs-body-lg:clamp(.9375rem, .891rem + .19vw, 1.0625rem);--fs-small:.8125rem;--fs-eyebrow:clamp(.6875rem, .664rem + .095vw, .8125rem);--container:1140px;--gutter:24px;--header-h:70px;--radius-card:16px;--radius-btn:10px;--section-py:64px;--shadow-card:0 10px 30px -10px #1f1f1f14;--shadow-btn:0 6px 16px -4px #e31b2359;--ease-out:cubic-bezier(.22, 1, .36, 1)}@media (min-width:1024px){:root{--gutter:48px;--header-h:74px;--section-py:96px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--c-white);color:var(--c-ink);font-family:var(--font-body);font-size:var(--fs-body);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.8}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{font-family:var(--font-head);font-weight:800;line-height:1.3}ul,ol{margin:0;padding:0;list-style:none}img,svg,picture{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}address{font-style:normal}table{border-collapse:collapse}:focus-visible{outline:3px solid var(--c-red);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-py)}.gradientText{color:var(--c-red)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.gradientText{background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text;margin-inline-end:-.06em;padding-inline-end:.06em}}.visuallyHidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skipLink{z-index:200;border-radius:var(--radius-btn);background:var(--c-ink);color:var(--c-white);padding:10px 18px;font-weight:700;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skipLink:focus-visible{transform:none}@keyframes revealUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){[data-reveal]{animation:linear both revealUp;animation-timeline:view();animation-range:entry 4% cover 20%}}[data-rise]{animation:riseIn .62s var(--ease-out) both;animation-delay:calc(var(--rise-delay,0) * 1ms)}}@media print{[data-reveal],[data-rise]{opacity:1;animation:none;transform:none}}
