:root{--motion-ease:cubic-bezier(.28,.11,.32,1);--motion-reveal:1s;--motion-interact:.4s;color-scheme:dark;--bg:#11120f;--surface:#1b1d16;--line:#4a4c40;--rule:#ededde;--text:#f4f4ef;--muted:#bebfb4;--accent:#dbff00;--font-display:"Archivo","Zen Kaku Gothic New",sans-serif;--font-body:"Noto Sans JP","Zen Kaku Gothic New",sans-serif;--font-number:"Archivo","Zen Kaku Gothic New",sans-serif;font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.95;font-synthesis:none;font-variant-numeric:tabular-nums}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;min-width:0;line-break:strict;background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:900;line-height:1.35;text-wrap:balance;line-break:strict;overflow-wrap:break-word}h1{line-height:1.25;font-size:clamp(2rem,4.5vw,3.5625rem);letter-spacing:-.02em;margin:.35em 0 .4em}h2{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.025em;margin:0 0 1.2rem}h3{font-size:1.15rem;letter-spacing:-.035em;margin:.5rem 0}p{margin:.65rem 0 1rem}section{padding-block:3rem;scroll-margin-top:2rem}.container{width:calc(100% - 112px);max-width:1168px;margin-inline:auto}.site-header{background:var(--bg)}.header-inner{min-height:96px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:3px solid var(--rule);padding-block:18px}.brand{font-family:var(--font-display);font-size:25px;font-weight:900;letter-spacing:-1.2px;color:var(--accent);text-decoration:none;white-space:nowrap;line-height:1.3}.brand:before{content:"";display:inline-block;width:17px;height:20px;border-inline:5px solid currentColor;transform:skew(-20deg);margin-right:11px;vertical-align:-2px}.brand small{font-family:var(--font-body);font-size:10px;letter-spacing:.02em;color:var(--muted);font-weight:400}nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 26px;font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;font-weight:700}nav a{color:var(--text);text-decoration:none}nav a:hover{color:var(--accent)}.language-switch{display:inline-block;border:1px solid #64665a;padding:6px 11px;font-size:11px;letter-spacing:1px;white-space:nowrap}.language-switch:hover{border-color:var(--accent)}.home-hero{position:relative;max-width:1168px;width:calc(100% - 112px);margin-inline:auto;padding:40px 0 48px;border-bottom:3px solid var(--rule);min-height:508px}.hero-content{position:relative;width:100%;padding-right:calc(47.2% + 36px);min-height:420px}.hero-content>p:not(.photo-credit){max-width:430px}.home-hero h1{font-size:clamp(2rem,4.45vw,3.5625rem);line-height:1.3;margin:0 0 23px}.eyebrow{font-family:Zen Kaku Gothic New,sans-serif;font-size:14px;font-weight:900;letter-spacing:.08em;color:var(--accent);margin:0 0 21px}.hero-content>p:not(.eyebrow){font-size:13px;line-height:2.15;color:var(--muted);font-weight:500}.hero-photo{position:absolute;right:0;top:40px;bottom:48px;width:47.2%;overflow:hidden;isolation:isolate;border-top:4px solid var(--accent)}.hero-photo:after{content:"";position:absolute;inset:0;background:url(/courses/shibaura/photos/05_night_canal.jpg) center/cover;transform:translate3d(0,var(--parallax-y,0px),0) scale(var(--parallax-scale,1));z-index:-1}.hero-photo:before{content:"01";position:absolute;right:15px;top:4px;font-family:var(--font-number);font-size:96px;font-weight:900;letter-spacing:-.08em;line-height:1.2;color:var(--accent)}.hero-emphasis{color:var(--text)}.hero-content>.photo-credit{font-size:10px;line-height:1.8;margin-top:24px;overflow-wrap:anywhere}.hero-route,.scroll-cue{display:none}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:55px;min-width:225px;padding:17px 22px;background:var(--accent);color:var(--bg);font-family:Zen Kaku Gothic New,sans-serif;font-size:13px;font-weight:900;text-decoration:none;line-height:1.6;margin-top:.5rem;transition:transform var(--motion-interact) var(--motion-ease)}.button:hover{transform:translate3d(0,-2px,0)}.chip:hover{transform:translate3d(0,-1px,0)}.button:active,.chip:active{transform:scale(.98)}.button span{font-family:Arial,sans-serif;font-size:23px;font-weight:400;line-height:1}.muted,figcaption,.breadcrumb,dt{color:var(--muted)}.section-heading{border-top:3px solid var(--rule);padding-top:22px;margin-bottom:22px}.section-heading h2{margin-bottom:0;font-size:25px}.section-heading .eyebrow{font-size:11px;margin-bottom:10px;letter-spacing:.12em}.filters,.tags{display:flex;flex-wrap:wrap;gap:.55rem}.filters{margin:1.5rem 0 1rem}.chip{background:transparent;border:1px solid #64665a;color:var(--text);font-size:.8rem;padding:.4rem .9rem;transition:transform var(--motion-interact) var(--motion-ease)}.chip[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.chip:hover{border-color:var(--accent)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;counter-reset:courses}.course-card{min-width:0;border-top:4px solid var(--accent);counter-increment:courses}.course-card[hidden]{display:none}.card-image-link{display:block;overflow:hidden;margin-top:12px}.course-card img{aspect-ratio:16/10;object-fit:cover;transition:transform var(--motion-interact) var(--motion-ease)}.course-card:hover img,.course-card:focus-within img{transform:scale(1.035)}.course-card:active img{transform:scale(1.015)}.card-body{padding:14px 0 0}.card-body:before{content:counter(courses,decimal-leading-zero);display:block;font-family:var(--font-number);font-weight:900;font-size:35px;line-height:1;letter-spacing:-.05em;color:var(--accent);margin-bottom:12px}.card-body .eyebrow{font-size:11px;margin-bottom:8px}.card-body h3{font-size:16px}.card-body h3 a{color:var(--text);text-decoration:none}.card-body h3 a:hover{color:var(--accent)}.card-body p{font-size:13px;color:var(--muted)}.card-facts{font-size:12px}.card-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--line)}dd{margin:0}.card-facts dd{text-align:right}.card-facts>div:first-child dd{font-family:var(--font-number);font-weight:900;font-size:20px;color:var(--text)}.accent,.distance{color:var(--accent)}.tags{padding:0;list-style:none;margin:1rem 0 0}.tags li{font-size:11px;border:1px solid var(--line);padding:2px 8px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.panel{padding:24px;background:var(--surface);border-top:4px solid var(--accent)}.panel p:last-child{margin-bottom:0}.panel .eyebrow{font-size:12px}.table-scroll{overflow-x:auto;border-block:3px solid var(--rule)}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}caption{text-align:left;color:var(--muted);padding:16px}th,td{padding:18px 16px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{font-weight:700}thead th{font-family:var(--font-display);font-weight:900;background:var(--accent);color:var(--bg)}tbody tr:last-child>*{border-bottom:0}.compare-table{min-width:1000px}.compare-table th:first-child{min-width:180px}.compare-table td:nth-child(5){min-width:240px}.compare-table td:nth-child(2){white-space:nowrap;font-family:var(--font-number);font-size:20px;font-weight:900}.compare-table tbody tr:hover,.compare-table tbody tr:focus-within{background:var(--surface)}.detail{max-width:1000px}.breadcrumb{font-size:12px;margin-top:26px;overflow-wrap:anywhere}.course-heading{padding:24px 0 32px}.lead{font-weight:500;font-size:1.05rem;max-width:52rem;color:var(--muted)}.stats-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 36px;padding:24px 0;border-block:3px solid var(--rule);gap:24px}.stats-strip>div{min-width:0;padding-left:24px;border-left:1px solid var(--line)}.stats-strip>div:first-child{padding-left:0;border:0}.stats-strip dt{font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:12px}.stats-strip dd{font-family:var(--font-number);font-size:clamp(1.4rem,3.3vw,2.65rem);font-weight:900;line-height:1.35;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:normal}.stats-strip>div:first-child dd{color:var(--accent)}.detail-hero img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}figcaption{font-size:12px;line-height:1.8;padding:12px 0;overflow-wrap:anywhere}.detail section>h2{border-top:3px solid var(--rule);padding-top:22px}.detail section.panel>h2{border:0;padding:0}.facts-table{border-block:3px solid var(--rule)}.facts-table th{width:24%;font-weight:700;color:var(--muted)}.facts-table th,.facts-table td{padding-block:22px}.facts-table tr:nth-child(-n+2) td{font-family:var(--font-number);font-weight:900;font-size:22px}.text-list{padding-left:1.5rem}.text-list li{margin:.65rem 0}.text-list li::marker{color:var(--accent)}.route-map{background:#fff;border:1px solid var(--line)}video{width:100%;max-height:650px;display:block;border:1px solid var(--line);background:var(--bg)}#aerial video{border:1px solid var(--line)}.gpx-download{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.gpx-download p{font-size:13px;color:var(--muted);max-width:65ch}.flow{list-style:none;padding:0;margin:0;counter-reset:steps}.flow li{counter-increment:steps;display:grid;grid-template-columns:3rem 11rem 1fr;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}.flow li:before{content:counter(steps,decimal-leading-zero);font-family:var(--font-number);font-weight:900;font-size:36px;line-height:1;color:var(--accent);letter-spacing:-.05em}.distance{font-family:var(--font-number);font-size:18px;font-weight:900}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.photo-panel{border:1px solid var(--line);padding-top:12px}.photo-panel img{height:270px;object-fit:contain;background:var(--surface)}.photo-panel figcaption{padding:14px 0}.credits-list{padding-left:1.3rem;overflow-wrap:anywhere}.credits-list li{margin:1rem 0;color:var(--muted);font-size:14px}.credits-list li::marker{color:var(--accent)}.note{border-left:4px solid var(--accent);padding:12px 20px;background:var(--surface);color:var(--muted);font-size:13px}.note p:last-child{margin-bottom:.5rem}.prose{max-width:800px;padding-block:48px}.prose.wide{max-width:1000px}.prose>h1{margin-bottom:32px}.prose section{padding-block:24px;border-top:3px solid var(--rule);margin-top:24px}.prose p{color:var(--muted)}.prose>.eyebrow{color:var(--accent)}.error-page>.eyebrow{font-family:var(--font-number);font-size:clamp(80px,15vw,160px);line-height:1;letter-spacing:-.08em;margin-bottom:24px}.contact{display:grid;grid-template-columns:6rem 1fr;gap:12px}.site-footer{margin-top:48px;padding-block:32px 40px;border-top:1px solid var(--line);color:#9da090;font-size:12px}.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px 48px}.site-footer .brand{font-size:25px;margin:0;white-space:normal}.site-footer .brand small{display:block;font-size:11px;letter-spacing:.08em;margin-top:12px}.footer-information{min-width:0;overflow-wrap:anywhere}.footer-information>p:first-child{margin-top:0}.footer-information>a{display:inline-block;margin-top:12px}.skip-link{position:fixed;left:16px;top:-100px;z-index:30;background:var(--bg);padding:12px 16px}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-inner>*,.course-grid>*,.feature-grid>*,.photo-grid>*,.flow li>*,.contact>*{min-width:0}.card-body,.panel,.prose{overflow-wrap:break-word}.reveal{transition:opacity var(--motion-reveal) var(--motion-ease),transform var(--motion-reveal) var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}html.js-reveal .reveal{opacity:0;transform:translateY(14px)}html.js-reveal .reveal.is-visible{opacity:1;transform:none}.home-hero h1,.course-heading h1{transform:translate3d(0,var(--parallax-y,0px),0)}.motion-frame{overflow:hidden}.motion-frame img,.motion-frame video{transform:scale(1);transition:transform var(--motion-reveal) var(--motion-ease)}html.js-reveal .motion-frame:not(.is-visible) img,html.js-reveal .motion-frame:not(.is-visible) video{transform:scale(1.06)}.motion-depth{transform:translate3d(0,var(--parallax-y,0px),0) scale(var(--parallax-scale,1))}@media(min-width:761px)and (max-width:1100px){.header-inner{align-items:flex-start;flex-direction:column;gap:16px}nav{justify-content:flex-start}.brand small{margin-left:8px}.home-hero h1{font-size:clamp(30px,4.3vw,46px)}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:1fr}.hero-content{padding-right:calc(45% + 24px)}.hero-photo{width:45%}}@media(max-width:760px){.container,.home-hero{width:calc(100% - 48px)}.header-inner{min-height:80px;align-items:flex-start;flex-direction:column;gap:16px;padding-block:20px}.brand{font-size:22px}.brand small{font-size:9px}nav{justify-content:flex-start;gap:10px 16px;font-size:11px}.home-hero{display:flex;flex-direction:column;padding:32px 0;min-height:0}.hero-content{padding:0;min-height:0;order:0}.hero-content>p:not(.photo-credit){max-width:100%}.home-hero h1{font-size:clamp(30px,6.9vw,52px)}.hero-photo{position:relative;inset:auto;width:100%;height:320px;order:1;margin-top:24px}.hero-photo:before{font-size:75px}.course-grid,.feature-grid{grid-template-columns:1fr;gap:30px}.course-card img{aspect-ratio:16/10;max-height:360px}.section-heading h2{font-size:22px}.stats-strip{gap:12px;padding-block:18px;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.stats-strip>div:last-child{grid-column:1 / -1;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.stats-strip>div{padding-left:12px}.stats-strip dt{font-size:10px;letter-spacing:0}.stats-strip dd{font-size:clamp(1.15rem,4vw,1.9rem)}.footer-grid{grid-template-columns:1fr;gap:24px}.photo-grid{grid-template-columns:1fr}.flow li{grid-template-columns:2.5rem 1fr;gap:8px 16px}.flow li>span:last-child{grid-column:2}.photo-panel img{height:auto;max-height:400px}.facts-table th{width:30%}th,td{padding:14px 8px}.panel{padding:20px}section{padding-block:32px}.prose{padding-block:32px}.course-heading h1{font-size:clamp(28px,6vw,44px)}.contact{grid-template-columns:5rem 1fr}.button{min-width:0;max-width:100%;gap:32px}.table-scroll{max-width:100%}}@media(max-width:360px){.container,.home-hero{width:calc(100% - 32px)}.brand small{display:block;margin-top:6px}.home-hero h1{font-size:28px}.hero-photo{height:260px}.stats-strip{gap:8px}.stats-strip>div{padding-left:8px}.stats-strip dd{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}html.js-reveal .reveal,html.js-reveal .reveal.is-visible{opacity:1;transform:none}.home-hero h1,.course-heading h1,.hero-photo:after,.motion-depth,html.js-reveal .motion-frame img,html.js-reveal .motion-frame video{transform:none!important}}
