:root{--num:"JetBrains Mono","Inter","SF Pro Text",system-ui,monospace;--ac:#2D385F;--ac-bg:#eceff6;--pri:#2D385F;--pri-h:#384878;--g:#2563eb;--y:#c27400;--r:#c62a1f}
.top .mark{background:#2D385F}
.wb{word-break:keep-all;overflow-wrap:anywhere}
.mapw{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.mapc{overflow:hidden}
.map{position:relative;height:640px;background:#eef0f2}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map .bk{fill:#e1e4e9}.map .rd{stroke:#fff;fill:none;stroke-linecap:round}.map .rv{stroke:#bcd5ea;fill:none}.map .pk{fill:#d6e4cf}.map .rl{stroke:#cfd4dc;fill:none}
.map text{font:13px "Hiragino Sans","Noto Sans JP",sans-serif;fill:#4b5563}
.map .stn{fill:#c9ced8}
.pin{position:absolute;transform:translate(-22px,-100%);display:flex;align-items:center;gap:8px;background:#fff;border:0;border-radius:24px;padding:5px 12px 5px 5px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 0 0 1px #d0d4db;text-align:left}
.pin::after{content:"";position:absolute;left:16px;bottom:-9px;border:7px solid transparent;border-top:9px solid #fff}
.pin i{font:800 14px var(--num);font-style:normal;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff}
.pin small{display:block;font-size:11.5px;color:var(--mu);font-weight:500}
.pin.g i{background:var(--g)}.pin.y i{background:var(--y)}.pin.r i{background:var(--r)}
.pin.on{box-shadow:0 0 0 3px #2D385F}.pin.dim{opacity:.35}
.mhud{position:absolute;right:16px;bottom:16px;white-space:nowrap;background:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 0 0 1px #d0d4db;display:flex;flex-direction:column;gap:2px}
.lg{display:flex;flex-wrap:nowrap;gap:12px;margin-top:6px;font-size:12px}.lg span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.lg .g::before{background:var(--g)}.lg .y::before{background:var(--y)}.lg .r::before{background:var(--r)}
.mops{display:flex;gap:10px;margin-top:12px;align-items:center;flex-wrap:wrap}
.phone{background:#0d0d0f;border-radius:44px;padding:11px;box-shadow:0 0 0 2px #34343a inset}
.phone .scr{border-radius:34px;overflow:hidden;background:#f4f5f7;min-height:620px}
.sph{height:190px;background:#222 url(img/shop.webp) 20% 40%/cover}
.sbd{padding:16px 18px}.sbd p{margin:0;font-size:12.5px;color:var(--mu)}.sbd h5{margin:2px 0 12px;font-size:19px}
.st2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.st2 div{background:#fff;border-radius:12px;padding:10px 12px;font-size:12px;color:var(--mu)}.st2 b{display:block;font:800 26px var(--num);color:var(--ink)}
.st2 b.g{color:var(--g)}.st2 b.y{color:var(--y)}.st2 b.r{color:var(--r)}
.hb{margin-top:10px;background:#fff;border-radius:12px;padding:10px 12px;font-size:12px;color:var(--mu)}
.bars{display:flex;align-items:flex-end;gap:5px;height:70px;margin-top:6px}.bars i{flex:1;background:#c7cde0;border-radius:3px 3px 0 0}.bars i.n{background:#2D385F}
.bl{display:flex;justify-content:space-between;font:11px var(--num);color:var(--fa);margin-top:3px}
.pbtn{margin-top:12px;display:grid;gap:8px}.pbtn .btn{height:44px;font-size:14px}
.sd{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:start}
.shero{height:300px;background:#222 url(img/shop.webp) 30% 40%/cover;border-radius:8px 8px 0 0}
.side2{display:grid;gap:12px}
.seats{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:10px}
.seats span{aspect-ratio:1;border-radius:6px;display:grid;place-items:center;font:600 11px var(--num)}
.s0{background:#dbe6fb;color:#1d4ed8}.s1{background:#e5e7eb;color:#6b7280}.s2{background:#fdecc8;color:#92400e}
.legend i.sq.s0{background:#93b4f3}.legend i.sq.s1{background:#c4c8cf}.legend i.sq.s2{background:#f2c46a}
.fc{height:170px}.tl{height:230px}.mt{margin-top:12px}
.hm td,.hm th{text-align:center;padding:8px 6px}.hm td:first-child,.hm th:first-child{text-align:left;padding-left:16px}
.hm td.v{font:600 12px var(--num)}.hm .l0{background:#e8eefc;color:#1d4ed8}.hm .l1{background:#c9d8f8;color:#1e3a8a}.hm .l2{background:#fde7c0;color:#92400e}.hm .l3{background:#f9c9a8;color:#9a3412}.hm .l4{background:#f2a39b;color:#7f1d1d}
svg.plot .c1{stroke:#2D385F}svg.plot .c1.ar{fill:#2D385F}svg.plot .c2{stroke:#9aa3b5}
.legend .c1 i{background:#2D385F}.legend .c2 i{background:#9aa3b5}
svg.plot rect.b0{fill:#c7cde0}svg.plot rect.b0.hi{fill:#2D385F}
@media (max-width:1100px){.mapw,.sd{grid-template-columns:minmax(0,1fr)}.mapw .phone{max-width:400px}}
@media (max-width:640px){.map{height:520px}.pin{font-size:12px;padding:4px 10px 4px 4px}.pin i{width:28px;height:28px;font-size:12px}.pin small{display:none}
 .mapw .phone{padding:8px;border-radius:36px}.phone .scr{border-radius:28px;min-height:0}.mhud{right:10px;bottom:10px;padding:10px 12px}.shero{height:200px}.seats{grid-template-columns:repeat(6,1fr)}}
.sh{margin:2px 0 12px;font-size:20px}.k3{grid-template-columns:repeat(3,1fr)}.jn{margin-left:8px}
@media (max-width:640px){.k3{grid-template-columns:repeat(3,1fr)}.k3 .kpi .v{font-size:18px}.jn{margin:10px 0 0;width:100%;height:44px}}
/* スマホの上部バー（タブを2段目に） */
@media (max-width:640px){
  .top-in{flex-wrap:wrap;height:auto;padding:10px 12px 0;row-gap:4px}
  .tabs{order:3;width:100%;margin:0;height:40px}.tabs button{flex:1;justify-content:center;padding:0 4px;font-size:12px}.tabs button svg.i{display:none}
}
