:root {
  --c-ink: #22201d;
  --c-ink-sub: #55504a;
  --c-line: #dedad2;
  --c-tint: #f5f2ec;
  --c-bg: #ffffff;
  --c-accent: #7a1c26;
  --c-accent-dark: #5f0203;
  --c-accent-2: #b8955a;
  --c-veil: rgba(20, 22, 30, 0.55);
  --c-shadow: rgba(34, 32, 29, 0.14);
  --ff-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --ff-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  --fs-1: 0.75rem;
  --fs-2: 0.875rem;
  --fs-3: 1rem;
  --fs-4: 1.3125rem;
  --fs-5: 1.5rem;
  --fs-6: clamp(1.5rem, 2.4vw, 1.8125rem);
  --fs-7: clamp(2.25rem, 4vw, 3.25rem);
  --lh-1: 1.4;
  --lh-2: 1.9;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 3.5rem;
  --space-9: 4.375rem;
  --bd: 1px;
  --z-2: 2;
  --z-3: 50;
  --z-4: 100;
  --z-5: 300;
  --t-1: 0.3s;
  --t-2: 1.2s;
  --ease: cubic-bezier(0.25, 0.6, 0.2, 1);
  --op: 0.5;
  --fade-stop: 55%;
  --fw-bold: bold;
  --scale: 1.04;
  --turn-x: 45deg;
  --turn-flip: 180deg;
  --turn-slant: 70deg;
  --turn-tilt: 8deg;
  --h-view: 100svh;
  --w-view: 100vw;
  --c-accent-veil: rgba(95, 2, 3, 0.8);
  --anchor-gap: 48px;
  --anchor-gap-sp: 32px;
  --c-swap-ink: #e60012;
  --m-mn: #e8833a;
  --m-ht: #2c4470;
  --m-ev: #2c4470;
  --m-tn: #e2c89a;
  --m-green: #8fbf6a;
  --m-road: #a7adb4;
  --m-alley: #c3c7cc;
  --m-zebra: #f7f7f5;
  --m-park: #e8833a;
  --m-park-f: #a8561c;
  --m-e-a: #7f8fa3;
  --m-glass: #f6d9a0;
  --m3-go-size: 44px;
  --m3-go-icon: 16px;
  --m3-go-gap: 8px;
  --m3-go-ink: currentColor;
  --m3-btn-size: 36px;
  --m3-btn-gap: 6px;
  --m3-btn-inset: 14px;
  --m3-btn-font: 18px;
  --m3-btn-bg: rgba(255, 255, 255, 0.95);
  --m3-btn-line: rgba(0, 0, 0, 0.12);
  --m3-btn-ink: #2b3340;
  --m3-tree: #8fae7a;
  --m3-trunk: #8a7a62;
  --m3-hilite: #c9a24a;
  --m3-frame: #b08d3c;
  --m3-btn-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  --m3-btn-z: 5;
  --m3-btn-outline: 2px;
  --m-city: #e6e1d8;
  --m-e-top: #c9cdd1;
  --m-ground: #e4ddd0;
  --m-mull: #4d525a;
  --m-rail: #7d7a74;
  --m-rail-bed: #c9c2b6;
  --m-slab: #e9ebed;
  --m-stage-a: #f7f4ee;
  --m-stage-b: #ece6db;
  --m-w-a: #a5abb2;
  --m-w-top: #cfd3d7;
  --m-win: #2e343d;
  --m-label: rgba(255, 255, 255, 0.95);
  --m-label-shadow: rgba(0, 0, 0, 0.12);
  --m-label-soft: rgba(255, 255, 255, 0.7);
  --m3-nomap-fs: 14px;
  --m3-nomap-lh: 1.9;
  --m3-nomap-pad: 24px;
  --ext-stroke: 1.3;
  --ext-gap: 0.2em;
  --ext-shift: 0.12em;
  --ls-1: 0.04em;
  --ls-2: 0.06em;
  --ls-3: 0.08em;
  --ls-4: 0.1em;
  --ls-5: 0.12em;
  --ls-6: 0.2em;
  --em-1: 0.04em;
  --em-2: 0.08em;
  --em-3: 0.1em;
  --em-4: 0.15em;
  --em-5: 0.18em;
  --em-6: 0.2em;
  --em-7: 0.3em;
  --em-8: 0.4em;
  --em-9: 0.8em;
  --em-10: 0.9em;
  --em-11: 1.2em;
  --em-12: 5em;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --t-1: 0s;
    --t-2: 0s;
  }
}
