:root{--tile:#E7ECEF;--ink:#1C1F2A;--rail:#B9C3CA;--signal:#087A50;--star:#FFC93C;--soft:rgba(28,31,42,.78);--row:64px;}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--tile);color:var(--ink);font-family:"M PLUS Rounded 1c",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;font-weight:500;line-height:1.45;overflow-x:clip;display:flex;flex-direction:column;}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));}.hero{display:grid;gap:14px;align-items:center}.brand{display:flex;align-items:center;min-height:64px}.brand img{width:56px;height:56px;border-radius:14px;display:block}h1{font-weight:800;font-size:clamp(2rem,1.4rem + 3.2vw,4.4rem);line-height:1.02;letter-spacing:-.02em;margin-top:6px;}.lede{font-size:clamp(.95rem,.9rem + .3vw,1.18rem);color:var(--soft);max-width:34ch;margin-top:10px}.lede strong{color:var(--ink);font-weight:700}.map{background:#fff;border:2px solid var(--ink);border-radius:22px;padding:14px 16px 16px;}.map-title{font-size:.78rem;font-weight:700;letter-spacing:.01em;color:var(--soft);display:flex;align-items:center;gap:8px;margin-bottom:8px}.map-title i{display:inline-block;width:22px;height:6px;border-radius:3px;background:var(--signal)}.route{display:grid;grid-template-columns:56px 1fr;column-gap:12px}.route > svg{display:block;width:56px;height:calc(3 * var(--row) + 56px);overflow:visible}.key{list-style:none;display:grid;grid-template-rows:repeat(3,var(--row)) 56px}.key li{display:flex;flex-direction:column;justify-content:flex-start;padding-top:8px}.key b,.key .k{font-weight:800;font-size:1rem;line-height:1.15}.key span{font-size:.84rem;color:var(--soft);line-height:1.3}.key .row1{flex-direction:row;align-items:flex-start;gap:10px}.key .row1 div{display:flex;flex-direction:column}.key .row1 svg{flex:none;margin-top:2px}.key .end{padding-top:0;justify-content:center}.main-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;border-radius:999px;background:var(--star);color:var(--ink);border:2px solid var(--ink);font:inherit;font-weight:800;font-size:1.04rem;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.16,1,.3,1);width:100%;max-width:300px;}.main-btn .lit{display:inline-block;width:30px;height:12px;border-radius:6px;background:var(--signal);box-shadow:inset 0 0 0 2px var(--ink)}.main-btn:focus-visible{outline:3px solid var(--signal);outline-offset:3px}.main-btn:active{transform:scale(.97)}@media (hover: hover){.main-btn:hover{transform:translateY(-1px)}}.under{font-size:.82rem;color:var(--soft);margin-top:10px;padding-left:68px;line-height:1.35}.live{stroke-dasharray:1;stroke-dashoffset:0;animation:light 1.5s cubic-bezier(.16,1,.3,1) .35s both}.on{animation:on .4s cubic-bezier(.16,1,.3,1) both}.on1{animation-delay:.35s}.on2{animation-delay:.7s}.on3{animation-delay:1s}.on4{animation-delay:1.35s}@keyframes light{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes on{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.on{transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion: reduce){.live,.on{animation:none}}.band{border-top:2px solid var(--ink);margin-top:28px;padding:22px 0 26px}.band h2{font-weight:800;font-size:clamp(1.2rem,1.05rem + .7vw,1.6rem);line-height:1.15}.band p{margin-top:8px;max-width:58ch;color:var(--soft);font-size:clamp(.95rem,.92rem + .2vw,1.05rem)}footer{margin-top:auto;border-top:1px solid var(--rail);padding:16px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));font-size:.8rem;color:var(--soft);text-align:center}@media (min-width: 900px){.wrap{padding-top:28px}.hero{grid-template-columns:1.05fr .95fr;gap:56px;min-height:min(640px,78dvh)}.brand img{width:120px;height:120px;border-radius:28px}.brand{min-height:120px}.map{padding:22px 26px 24px;border-radius:28px}.key b,.key .k{font-size:1.12rem}.key span{font-size:.92rem}.band{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}.band p{margin-top:0}}