.ofl-arrow-svg{fill:none;stroke:var(--signal);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;display:block}.ofl-path{margin:var(--s-6) 0 0;width:min(1320px, calc(100vw - var(--gutter) * 2));margin-inline:calc((min(1320px, calc(100vw - var(--gutter) * 2)) - 100%) / -2);align-items:stretch;gap:0;padding:0;list-style:none;display:flex}.ofl-node{gap:var(--s-2);background:var(--surface);border:1px solid var(--hairline);border-top:3px solid var(--signal);min-width:0;padding:var(--s-4) var(--s-4) var(--s-4);flex-direction:column;flex:1 1 0;margin-right:48px;display:flex;position:relative}.ofl-node:last-child{margin-right:0}.s-alt .ofl-node{background:var(--surface)}.ofl-num{font-family:var(--font-mono);font-size:var(--t-small);color:var(--accent-dk);letter-spacing:.06em}.ofl-node-name{letter-spacing:-.01em;font-size:1.25rem;line-height:1.2}.ofl-node-name a{color:var(--ink)}.ofl-node-name a:hover{color:var(--accent)}.ofl-node-price{font-size:1.125rem;font-weight:var(--w-medium);color:var(--accent);padding-top:var(--s-2);margin-top:auto}.ofl-node-time{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-soft)}.ofl-link{pointer-events:none;position:absolute}.ofl-node>.ofl-link{width:44px;top:50%;right:-46px;transform:translateY(-50%)}.ofl-link-h .ofl-arrow-svg{width:40px;height:24px;margin-inline:auto}.ofl-link-v{display:none}.ofl-link-v .ofl-arrow-svg{width:24px;height:36px}@media (max-width:1180px){.ofl-path{width:100%;margin-inline:0}}@media (max-width:1068px){.ofl-path{flex-direction:column}.ofl-node{gap:0 var(--s-3);border-top:1px solid var(--hairline);border-left:3px solid var(--signal);padding:var(--s-3) var(--s-4);grid-template-columns:3.2rem 1fr;margin-bottom:52px;margin-right:0;display:grid}.ofl-node:last-child{margin-bottom:0}.ofl-num{padding-top:3px}.ofl-node-body{align-items:baseline;gap:4px var(--s-3);flex-wrap:wrap;display:flex}.ofl-node-name{flex:100%}.ofl-node-price{margin-top:0;padding-top:0}.ofl-node>.ofl-link{width:24px;inset:auto auto -48px 50%;transform:translate(-50%)}.ofl-link-h{display:none}.ofl-link-v{display:block}}@media (max-width:480px){.ofl-node{padding:var(--s-3);grid-template-columns:1fr}.ofl-num{padding-top:0}}.ofl-weeks{margin:var(--s-6) 0 0;max-width:880px}.ofl-weeks-grid{gap:var(--s-3);flex-direction:column;display:flex}.ofl-wrow{gap:var(--s-4);grid-template-columns:minmax(0,19rem) minmax(0,1fr);align-items:center;display:grid}.ofl-wlabel{flex-direction:column;gap:2px;display:flex}.ofl-wlabel b{font-weight:var(--w-medium);line-height:1.25}.ofl-wlabel span{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink-soft)}.ofl-wtrack{background:repeating-linear-gradient(90deg, var(--hairline) 0 1px, transparent 1px 25%);border-left:1px solid #00000040;height:22px;position:relative}.ofl-wbar-max,.ofl-wbar-min{position:absolute;top:0;bottom:0;left:0}.ofl-wbar-max{background:repeating-linear-gradient(135deg,#251cb04d 0 5px,#251cb01a 5px 10px)}.ofl-wbar-min{background:var(--accent)}.ofl-wdot{background:var(--signal);border-radius:3px;width:14px;height:14px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.ofl-wongoing{width:calc(100% - 10px);height:12px;position:absolute;top:5px;left:0;overflow:visible}.ofl-wongoing path{stroke:var(--signal);stroke-width:4px;fill:none;stroke-dasharray:10 6}.ofl-wongoing-head{border-left:12px solid var(--signal);border-top:8px solid #0000;border-bottom:8px solid #0000;width:0;height:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.ofl-wrow--axis{align-items:start}.ofl-waxis{height:20px;position:relative}.ofl-waxis span{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:.75rem;position:absolute;top:0;transform:translate(-50%)}.ofl-waxis span:first-child{transform:none}.ofl-waxis span:last-child{transform:translate(-100%)}.ofl-wkey{gap:var(--s-1) var(--s-4);margin-top:var(--s-4);font-size:var(--t-small);color:var(--ink-soft);flex-wrap:wrap;display:flex}.ofl-wkey span{align-items:center;gap:8px;display:inline-flex}.ofl-wkey i{width:18px;height:10px;display:inline-block}.ofl-key-min{background:var(--accent)}.ofl-key-max{background:repeating-linear-gradient(135deg,#251cb04d 0 4px,#251cb01a 4px 8px)}.ofl-key-on{background:var(--signal);height:4px!important}@media (max-width:640px){.ofl-wrow{grid-template-columns:1fr;gap:6px}.ofl-wrow--axis>span:first-child{display:none}.ofl-wlabel{gap:0 var(--s-2);flex-flow:wrap;align-items:baseline}}.ofl-next{align-items:center;gap:var(--s-3);margin-top:var(--s-7);display:flex}.ofl-next-arrow .ofl-arrow-svg{width:24px;height:40px}.ofl-next p{font-size:var(--t-lead);letter-spacing:-.01em;line-height:1.3}.ofl-next-k{font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dk);margin-right:6px}.ofl-next a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:5px;text-decoration-thickness:2px}.ofl-next a:hover{color:var(--accent)}.ofl-ba{margin-top:var(--s-5);max-width:980px}.ofl-ba-row{gap:var(--s-3);padding-block:var(--s-3);border-bottom:1px solid var(--hairline);grid-template-columns:11rem minmax(0,1fr) 48px minmax(0,1fr);align-items:center;display:grid}.ofl-ba-row--head{padding-block:0 var(--s-2)}.ofl-ba-row--head span{font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.ofl-ba-row--head .ofl-ba-after{color:var(--ink)}.ofl-ba-k{font-weight:var(--w-medium)}.ofl-ba-before{color:var(--ink-soft)}.ofl-ba-after{color:var(--ink);padding-left:var(--s-2);border-left:3px solid var(--signal)}.ofl-ba-row--head .ofl-ba-after{border-left-color:#0000}.ofl-ba-arrow .ofl-arrow-svg{width:36px;height:22px}.ofl-ba-tag{display:none}@media (max-width:834px){.ofl-ba-row--head{display:none}.ofl-ba-row{grid-template-columns:1fr;gap:6px}.ofl-ba-arrow{display:none}.ofl-ba-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-size:.75rem;display:block}}.ofl-has{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.ofl-has li{padding-left:26px;line-height:1.45;position:relative}.ofl-has li:before{content:"";border-left:2px solid var(--signal);border-bottom:2px solid var(--signal);width:12px;height:6px;position:absolute;top:7px;left:1px;transform:rotate(-45deg)}.ofl-io{margin:var(--s-5) 0 0;align-items:stretch;padding:0;list-style:none;display:flex}.ofl-io-part{background:var(--surface);border:1px solid var(--hairline);min-width:0;padding:var(--s-4);gap:var(--s-1);flex-direction:column;flex:1 1 0;margin-right:48px;display:flex;position:relative}.ofl-io-part:last-child{border-left:3px solid var(--signal);margin-right:0}.ofl-io-k{font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-dk)}.ofl-io-v{line-height:1.45}.ofl-io-part>.ofl-link{width:44px;top:50%;right:-46px;transform:translateY(-50%)}@media (max-width:834px){.ofl-io{flex-direction:column}.ofl-io-part{padding:var(--s-3);margin-bottom:52px;margin-right:0}.ofl-io-part:last-child{margin-bottom:0}.ofl-io-part>.ofl-link{width:24px;inset:auto auto -48px 50%;transform:translate(-50%)}.ofl-io .ofl-link-h{display:none}.ofl-io .ofl-link-v{display:block}}.s-dark .ofl-io-part{border-color:var(--hairline-dark);background:#ffffff0f}.s-dark .ofl-io-part:last-child{border-left-color:var(--signal)}.s-dark .ofl-io-k{color:var(--signal)}.ofd{margin:0}.ofd-svg{width:100%;max-width:460px;height:auto;display:block;overflow:visible}.ofd-cap{margin-top:var(--s-2);font-size:var(--t-small);color:var(--ink-soft);max-width:46ch}.ofd-pair{gap:var(--s-5);margin-top:var(--s-5);grid-template-columns:1fr 1fr;display:grid}@media (max-width:834px){.ofd-pair{grid-template-columns:1fr}}.ofd-tag{font-family:var(--font-mono);font-size:var(--t-small);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--s-2)}.ofd-tag--on{color:var(--ink)}.ofd-tag--on:before{content:"";background:var(--signal);vertical-align:middle;width:18px;height:3px;margin-right:8px;display:inline-block}.ofd-frame{fill:var(--surface);stroke:#0000002e;stroke-width:1px}.ofd-rule{stroke:#0000001f;stroke-width:1px;fill:none}.ofd-dot{fill:#d8d3c8}.ofd-fill-signal{fill:var(--signal)}.ofd-fill-accent{fill:var(--accent)}.ofd-q{stroke:var(--ink);stroke-width:1px}.ofd-tick{fill:none;stroke:var(--ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.ofd-report{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.ofd-node{fill:var(--surface);stroke:#0000002e;stroke-width:1px}.ofd-node--on{stroke:var(--accent);stroke-width:1.5px}.ofd-empty{fill:none;stroke:#0000004d;stroke-width:1.2px;stroke-dasharray:4 4}.ofd-link{stroke:var(--accent);stroke-width:2px;fill:none}.ofd-link--broken{stroke:#00000047;stroke-dasharray:3 6}.ofd-svg text{font-family:var(--font);fill:var(--ink)}.ofd-t{font-size:15px}.ofd-t-b{font-size:15px;font-weight:600}.ofd-t-small{font-size:14px}.ofd-t-small.ofd-t-b{font-size:13px}.ofd-t-tiny{font-size:12px;font-family:var(--font-mono)!important}.ofd-svg .ofd-t-soft{fill:var(--ink-soft)}.ofd-svg .ofd-t-on{fill:#fff;font-size:13px;font-weight:600}.ofd-strike{text-decoration:line-through}.ofd-svg .ofd-strike{fill:var(--ink-soft)}.ofl-split{gap:var(--s-6);margin-top:var(--s-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}@media (max-width:834px){.ofl-split{gap:var(--s-5);grid-template-columns:1fr}}.ofl-meta{gap:var(--s-1) var(--s-3);margin-top:var(--s-3);flex-wrap:wrap;align-items:baseline;display:flex}.ofl-meta-price{font-size:var(--t-h3);font-weight:var(--w-medium);color:var(--accent)}.ofl-meta-time{font-family:var(--font-mono);font-size:var(--t-small);color:var(--ink);background:var(--surface-alt);padding:4px 10px}.s-alt .ofl-meta-time{background:var(--surface)}.ofl-sub{font-size:var(--t-h3);letter-spacing:-.01em;margin-top:var(--s-6)}.ofl-pick{margin-top:var(--s-5);max-width:980px;padding:0;list-style:none}.ofl-pick li{gap:var(--s-3);padding-block:var(--s-3);border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) 48px minmax(0,18rem);align-items:center;display:grid}.ofl-pick .ofl-arrow-svg{width:36px;height:22px}.ofl-pick-to{font-weight:var(--w-medium)}.ofl-pick-to a{color:var(--accent)}@media (max-width:640px){.ofl-pick li{grid-template-columns:1fr;gap:4px}.ofl-pick li>span:nth-child(2){display:none}.ofl-pick-to:before{content:"→ ";color:var(--ink-soft)}}.ofl-route{margin:var(--s-6) 0 0;padding:0;list-style:none;position:relative}.ofl-route:before{content:"";background:var(--signal);width:2px;position:absolute;top:8px;bottom:8px;left:21px}.ofl-stop{padding-left:72px;padding-bottom:var(--s-7);position:relative}.ofl-stop:last-child{padding-bottom:0}.ofl-stop-n{background:var(--signal);width:44px;height:44px;color:var(--ink);font-family:var(--font-mono);place-items:center;font-size:1rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.ofl-stop-h{font-size:var(--t-h2);letter-spacing:var(--track-h2);line-height:1.1}.ofl-stop-lead{color:var(--ink-soft);margin-top:var(--s-2);max-width:60ch;font-size:1.125rem}.ofl-stop .ofl-io{margin-top:var(--s-4)}@media (max-width:640px){.ofl-route:before{left:15px}.ofl-stop{padding-left:48px}.ofl-stop-n{width:32px;height:32px;font-size:.875rem}}
