:root{color-scheme:dark;--rgb-bg: 5, 7, 10;--rgb-ink: 242, 245, 247;--rgb-accent: 127, 182, 255;--rgb-accent-deep: 90, 162, 255;--rgb-white: 255, 255, 255;--rgb-black: 0, 0, 0;--rgb-surface: 6, 8, 11;--rgb-panel: 15, 19, 25;--rgb-stat: 10, 14, 19;--rgb-office: 7, 10, 14;--rgb-office-hover: 18, 24, 32;--rgb-btn-hover: 20, 30, 44;--rgb-tab: 6, 9, 13;--rgb-halo-a: 226, 242, 255;--rgb-halo-b: 150, 200, 255;--rgb-halo-c: 70, 130, 220;--rgb-glow-soft: 150, 190, 255;--rgb-ink-soft: 219, 226, 234;--rgb-ink-rest: 205, 212, 220;--rgb-ink-body: 185, 194, 204;--rgb-ink-mid: 154, 162, 171;--rgb-ink-muted: 139, 147, 157;--rgb-ink-note: 125, 133, 143;--rgb-ink-dim: 91, 99, 108;--rgb-ink-faint: 111, 119, 127;--rgb-ink-stat: 170, 179, 189;--rgb-ink-tel: 204, 212, 221;--rgb-ink-spec: 194, 202, 211;--rgb-on-ink: 6, 9, 13;--rgb-on-accent: 4, 7, 12;--rgb-hero-mid: 211, 218, 226;--rgb-hero-lo: 148, 157, 167;--rgb-media: 42, 50, 59;--rgb-media-deep: 11, 15, 19;--rgb-spec-cell: 8, 11, 15;--rgb-3d-concrete: 28, 34, 41;--rgb-3d-steel: 58, 66, 75;--rgb-3d-frame: 43, 51, 60;--rgb-3d-dust: 143, 153, 164;--rgb-3d-core: 191, 224, 255;--rgb-3d-hemi-sky: 75, 85, 97;--rgb-3d-hemi-ground: 7, 9, 13;--rgb-3d-key: 220, 230, 242;--rgb-3d-rim: 111, 157, 214;--rgb-3d-travel: 168, 198, 234;--rgb-3d-marker: 70, 86, 106;--rgb-3d-cage: 111, 139, 168;--color-bg: rgb(var(--rgb-bg));--color-ink: rgb(var(--rgb-ink));--color-ink-strong: rgb(var(--rgb-white));--color-ink-soft: rgb(var(--rgb-ink-soft));--color-ink-rest: rgb(var(--rgb-ink-rest));--color-ink-body: rgb(var(--rgb-ink-body));--color-ink-mid: rgb(var(--rgb-ink-mid));--color-ink-muted: rgb(var(--rgb-ink-muted));--color-ink-note: rgb(var(--rgb-ink-note));--color-ink-dim: rgb(var(--rgb-ink-dim));--color-ink-faint: rgb(var(--rgb-ink-faint));--color-ink-stat: rgb(var(--rgb-ink-stat));--color-ink-tel: rgb(var(--rgb-ink-tel));--color-ink-spec: rgb(var(--rgb-ink-spec));--color-on-ink: rgb(var(--rgb-on-ink));--color-on-accent: rgb(var(--rgb-on-accent));--color-accent: rgb(var(--rgb-accent));--color-accent-deep: rgb(var(--rgb-accent-deep));--color-hero-hi: rgb(var(--rgb-white));--color-hero-mid: rgb(var(--rgb-hero-mid));--color-hero-lo: rgb(var(--rgb-hero-lo));--color-media: rgb(var(--rgb-media));--color-media-deep: rgb(var(--rgb-media-deep));--color-spec-cell: rgb(var(--rgb-spec-cell));--color-line: rgba(var(--rgb-white), .12);--color-white: rgb(var(--rgb-white));--color-black: rgb(var(--rgb-black));--color-3d-bg: rgb(var(--rgb-bg));--color-3d-concrete: rgb(var(--rgb-3d-concrete));--color-3d-steel: rgb(var(--rgb-3d-steel));--color-3d-frame: rgb(var(--rgb-3d-frame));--color-3d-dust: rgb(var(--rgb-3d-dust));--color-3d-core: rgb(var(--rgb-3d-core));--color-3d-accent: rgb(var(--rgb-accent-deep));--color-3d-hemi-sky: rgb(var(--rgb-3d-hemi-sky));--color-3d-hemi-ground: rgb(var(--rgb-3d-hemi-ground));--color-3d-key: rgb(var(--rgb-3d-key));--color-3d-rim: rgb(var(--rgb-3d-rim));--color-3d-travel: rgb(var(--rgb-3d-travel));--color-3d-marker: rgb(var(--rgb-3d-marker));--color-3d-cage: rgb(var(--rgb-3d-cage));--color-3d-core-inner: rgb(var(--rgb-white));--bg: var(--color-bg);--ink: var(--color-ink);--ink-mid: var(--color-ink-mid);--ink-dim: var(--color-ink-dim);--line: var(--color-line);--accent: var(--color-accent);--ff-ja: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "Meiryo", sans-serif;--ff-en: "Inter", ui-sans-serif, system-ui, sans-serif;--ff-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--pad: clamp(18px, 3.2vw, 48px);--page-max: 1080px;--header-h: 88px;--ease-precise: cubic-bezier(.16, 1, .3, 1);--ease-draw: cubic-bezier(.77, 0, .175, 1);--z-scene: 10;--z-fx: 5;--z-hud: 20;--z-tabs: 22;--z-chrome: 30;--z-loader: 40}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--ff-ja);-webkit-font-smoothing:antialiased}::selection{background:rgba(var(--rgb-accent),.3)}.chrome{position:fixed;inset:0 auto auto 0;width:100%;height:var(--header-h);z-index:var(--z-chrome);pointer-events:none}.chrome .brand,.chrome .site-nav{pointer-events:auto}.site-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:var(--pad);mix-blend-mode:difference;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand__mark{width:16px;height:16px;border:2px solid var(--ink);position:relative}.brand__mark:after{content:"";position:absolute;inset:3px 3px auto auto;width:6px;height:6px;background:var(--ink)}.brand__ja{font-weight:900;font-size:15px;letter-spacing:.14em}.brand__en{font-family:var(--ff-en);font-size:10px;font-weight:400;letter-spacing:.3em;color:var(--ink-mid);padding-left:12px;border-left:1px solid var(--line)}.site-nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,26px);font-family:var(--ff-en);font-size:10px;font-weight:500;letter-spacing:.22em;color:var(--ink-mid)}.site-nav button,.site-nav a{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none;cursor:pointer}.site-nav button:hover,.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}@media(max-width:1080px){.site-nav{letter-spacing:.16em}}@media(max-width:900px){.site-nav button:not(.site-nav__keep),.site-nav a:not(.site-nav__keep){display:none}}@media(max-width:720px){.brand__en{display:none}}html{scroll-behavior:smooth}body.is-subpage{cursor:auto;min-height:100%;overscroll-behavior-y:auto;overflow-x:hidden}body.is-subpage .site-header{padding-top:18px;padding-bottom:18px}.sub-fx{position:fixed;inset:0;pointer-events:none;z-index:var(--z-fx)}.sub-fx--grain{opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}.page{position:relative;z-index:1;width:min(var(--page-max),calc(100% - var(--pad) * 2));margin:0 auto;padding:64px 0 0}.page-heading{margin:0 0 22px;font-family:var(--ff-en);font-size:11px;font-weight:500;letter-spacing:.32em;color:var(--accent);animation:riseIn .68s var(--ease-precise) .78s both}.page-heading span{color:var(--ink-dim);letter-spacing:.2em}.page-lead{margin:0 0 clamp(36px,4vw,48px);max-width:38em;font-size:clamp(13px,1.15vw,15px);line-height:2.15;letter-spacing:.1em;color:var(--color-ink-stat);animation:riseIn .7s var(--ease-precise) .92s both}.page-section{padding:clamp(48px,6vh,80px) 0;border-bottom:1px solid var(--line)}.page-section--lead{padding-top:4px}.page-section:last-of-type{border-bottom:0}.section-label{display:flex;align-items:baseline;gap:14px;margin:0 0 clamp(36px,5vw,56px)}.section-label__en{font-family:var(--ff-en);font-size:10px;font-weight:500;letter-spacing:.32em;color:var(--accent)}.section-label__ja{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--ink-dim)}.site-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:min(var(--page-max),calc(100% - var(--pad) * 2));margin:0 auto;padding:40px 0 calc(var(--pad) + 12px);border-top:1px solid var(--line);font-family:var(--ff-en);font-size:10px;letter-spacing:.22em;color:var(--ink-dim)}[data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .78s var(--ease-precise) var(--stagger, 0ms),transform .78s var(--ease-precise) var(--stagger, 0ms)}[data-reveal=left]{transform:translate3d(-22px,18px,0)}[data-reveal=right]{transform:translate3d(22px,18px,0)}[data-reveal].is-in{opacity:1;transform:none}.hairline{display:block;width:100vw;max-width:none;height:1px;margin:0 0 28px calc(50% - 50vw);background:rgba(var(--rgb-white),.38);transform-origin:left center;animation:hairlineDraw .82s var(--ease-draw) both}@keyframes hairlineDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes riseIn{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}.is-settled .page-heading,.is-settled .page-lead,.is-settled .hairline{animation:none;opacity:1;transform:none}@media(max-width:720px){.site-footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal],[data-reveal].is-in{opacity:1;transform:none;transition:none}.hairline{animation:none;transform:none}.page-heading,.page-lead{opacity:1;animation:none}}.stations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.station:nth-child(1){--stagger: 80ms}.station:nth-child(2){--stagger: .18s}.station:nth-child(3){--stagger: .28s}.station:nth-child(4){--stagger: .38s}.station+.station{border-top:1px solid rgba(var(--rgb-white),.06)}.station{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;padding:clamp(36px,5.5vh,56px) 4px;color:var(--color-ink-muted);cursor:default;scroll-margin-top:calc(var(--header-h) + 16px)}.station__frame{position:absolute;inset:0;pointer-events:none}.station__frame span{position:absolute;background:rgba(var(--rgb-accent),.85);opacity:.9}.station__frame span:nth-child(1),.station__frame span:nth-child(2){left:0;right:0;height:1px;transform:scaleX(0)}.station__frame span:nth-child(1){top:0;transform-origin:left center;transition:transform .48s var(--ease-draw)}.station__frame span:nth-child(2){bottom:0;transform-origin:right center;transition:transform .48s var(--ease-draw) .1s}.station__frame span:nth-child(3),.station__frame span:nth-child(4){top:0;bottom:0;width:1px;transform:scaleY(0)}.station__frame span:nth-child(3){left:0;transform-origin:top center;transition:transform .42s var(--ease-draw) .16s}.station__frame span:nth-child(4){right:0;transform-origin:bottom center;transition:transform .42s var(--ease-draw) .22s}.station:hover .station__frame span:nth-child(1),.station:hover .station__frame span:nth-child(2),.station:focus-within .station__frame span:nth-child(1),.station:focus-within .station__frame span:nth-child(2),.station.is-hot .station__frame span:nth-child(1),.station.is-hot .station__frame span:nth-child(2){transform:scaleX(1)}.station:hover .station__frame span:nth-child(3),.station:hover .station__frame span:nth-child(4),.station:focus-within .station__frame span:nth-child(3),.station:focus-within .station__frame span:nth-child(4),.station.is-hot .station__frame span:nth-child(3),.station.is-hot .station__frame span:nth-child(4){transform:scaleY(1)}.station__coord{margin:0;font-family:var(--ff-en);font-size:clamp(1.15rem,2.4vw,1.85rem);font-weight:300;letter-spacing:.18em;line-height:1.45;color:rgba(var(--rgb-accent),.45);transition:color .5s var(--ease-precise) .12s}.station__meta{display:flex;flex-direction:column;gap:10px;padding-bottom:4px}.station__code{margin:0;font-family:var(--ff-en);font-size:10px;letter-spacing:.32em;color:var(--ink-dim);transition:color .4s var(--ease-precise) .18s}.station__name{margin:0;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:900;letter-spacing:.12em;color:var(--color-ink-faint);transition:color .45s var(--ease-precise) .14s}.station__name small{display:block;margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.16em;color:inherit}.station__addr{margin:0;font-size:12px;line-height:1.9;letter-spacing:.08em;transition:color .4s var(--ease-precise) .2s}.station__tel{margin-top:6px;font-family:var(--ff-en);font-size:13px;letter-spacing:.14em;color:var(--color-ink-faint);text-decoration:none;transition:color .4s var(--ease-precise) .22s}.station:hover,.station:focus-within,.station.is-hot{color:var(--ink)}.station:hover .station__coord,.station:focus-within .station__coord,.station.is-hot .station__coord{color:var(--accent)}.station:hover .station__code,.station:focus-within .station__code,.station.is-hot .station__code{color:var(--accent)}.station:hover .station__name,.station:focus-within .station__name,.station.is-hot .station__name{color:var(--color-ink-strong)}.station:hover .station__tel,.station:focus-within .station__tel,.station.is-hot .station__tel{color:var(--ink)}.station:focus{outline:none}@media(max-width:720px){.station{grid-template-columns:1fr;gap:16px}}@media(prefers-reduced-motion:reduce){.station__frame span{transition:none}.station:hover .station__frame span,.station:focus-within .station__frame span,.station.is-hot .station__frame span{transform:none;opacity:1}}
