html,body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
/* 2026年10月 作りなおし（2回目）: 東京の駅の案内表示がモチーフ。
   白い板に黒い文字、ジャンルは地下鉄の路線色の丸（駅ナンバリング）、距離は出口案内の黄色。カードや影は使わない。 */
:root{
  color-scheme:light;
  --paper:#ffffff; --ink:#000000; --ink-2:#5a5a5a; --rule:#d6d6d6; --wash:#f3f3f3; --sign:#ffd100;
  --art:#00a7db; --live:#e60012; --food:#f39700; --market:#009944; --festival:#c1a470; --popup:#9b7cb6; --kid:#c2337a;
  --go:#009944; --soon:#e60012; --dot:#ff4a1c;
  --f:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Noto Sans JP","Noto Sans CJK JP",sans-serif;
  --fn:var(--f);
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-weight:400;font-size:16px;line-height:1.7;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid var(--sign);outline-offset:1px;box-shadow:0 0 0 5px var(--ink)}
.wrap{max-width:1040px;margin-inline:auto;padding-inline:16px;padding-block:0 72px;display:flex;flex-direction:column;gap:28px}

/* いちばん上 */
.getbar{display:flex;gap:8px;margin:8px 0 -20px}
.getbar[hidden]{display:none}
.getbar a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-weight:700;font-size:14px;line-height:1.25;padding:7px 8px;border-radius:10px;border:2px solid var(--ink);background:#fff8cc;color:var(--ink)}
.getbar a small{font-size:11px;font-weight:700;opacity:.8}
.getbar .gb-line{background:#06c755;border-color:#06c755;color:#fff}
/* ホーム画面に入れる手順（下から出るシート） */
.gbs{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center}
.gbs-in{position:relative;background:#fff;color:var(--ink);width:100%;max-width:480px;border-radius:18px 18px 0 0;padding:20px 18px calc(28px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.2)}
.gbs-h{font-weight:700;font-size:19px;margin:0 30px 4px 0}
.gbs-s{font-size:13px;color:var(--ink-2);margin:0 0 12px}
.gbs ol{margin:0 0 14px;padding-left:1.4em;font-size:16px;line-height:1.6}
.gbs li{margin:6px 0}
.gbs .ki{display:inline-flex;vertical-align:-5px;color:#0a84ff}
.gbs-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;padding:6px;cursor:pointer;color:var(--ink)}
.gbs-o{display:block;text-align:center;margin:0 0 12px;padding:14px;border-radius:12px;background:var(--ink);color:#fff;font-weight:700;font-size:17px;text-decoration:none}
.gbs-c{display:block;width:100%;margin:0 0 10px;padding:12px;border-radius:10px;border:2px solid var(--ink);background:#fff8cc;font-weight:700;font-size:15px}
.gbs-m{font-size:13px;color:var(--ink-2)}
.gbs-a{position:fixed;font-size:28px;color:#fff;text-shadow:0 0 6px rgba(0,0,0,.6);animation:gbsb 1s ease-in-out infinite}
.gbs-a-down{bottom:6px;left:50%;margin-left:-14px}
.gbs-a-up{top:6px;right:22px;transform:rotate(180deg)}
.gbs-a-upr{top:6px;right:10px;transform:rotate(180deg)}
@keyframes gbsb{50%{translate:0 6px}}
@media (prefers-reduced-motion:reduce){.gbs-a{animation:none}}
@media (min-width:700px){ .getbar{justify-content:flex-end} .getbar a{flex:0 0 auto;flex-direction:row;gap:8px;padding:6px 14px} }
.top{position:sticky;top:0;z-index:20;margin-inline:-16px;padding:12px 16px 0;background:var(--paper);border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:2px 20px;flex-wrap:wrap;min-width:0}
.brand{font-weight:700;font-size:21px;text-decoration:none;display:inline-flex;align-items:baseline;gap:8px;line-height:1.2}
.brand b{font-weight:700;display:inline-flex;align-items:baseline;gap:.07em;letter-spacing:.02em}
.brand i{width:.3em;height:.3em;border-radius:50%;background:var(--dot);flex:none}
.brand span{font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--ink-2)}
.lang{display:flex;gap:14px;font-size:13px;font-weight:700;margin-left:auto}
.lang a{text-decoration:none;color:var(--ink-2);padding-block:4px}
.lang a[aria-current]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.gnav{display:flex;gap:18px;overflow-x:auto;font-weight:700;font-size:14px;scrollbar-width:none;max-width:100%;min-width:0;flex:1 1 100%;margin-inline:-16px;padding:6px 16px 0}
@media (min-width:1000px){ .top{flex-wrap:nowrap;padding-bottom:0} .gnav{flex:0 1 auto;order:1;margin:0 0 0 auto;padding:0} .lang{order:2;margin-left:0;flex:none} }
.gnav::-webkit-scrollbar{display:none}
.gnav a{text-decoration:none;white-space:nowrap;padding:8px 0 10px}
.gnav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--ink)}

/* トップの顔: 駅名標 */
.hero{display:flex;flex-direction:column;gap:16px;padding-top:12px}
.hero h1{margin:0;font-size:17px;font-weight:700;line-height:1.4}
.plate{border:2px solid var(--ink);background:var(--paper);padding:22px 0 0;text-align:center;max-width:620px;width:100%}
.pl-big{margin:0;font-weight:700;font-size:clamp(68px,21vw,132px);line-height:1.02;letter-spacing:.08em;padding-left:.08em}
.pl-sub{margin:6px 0 18px;font-size:15px;font-weight:700;color:var(--ink-2);min-height:1.5em}
.pl-band{display:grid;grid-template-columns:1fr 1fr;border-top:14px solid var(--ink);position:relative}
.pl-band button{border:0;background:none;padding:10px 14px 12px;font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px;min-height:48px}
.pl-band button:first-child{justify-content:flex-start;text-align:left}
.pl-band button:last-child{justify-content:flex-end;text-align:right}
.pl-band button:first-child::before,.pl-band button:last-child::after{content:"";width:0;height:0;border-block:7px solid transparent}
.pl-band button:first-child::before{border-right:11px solid currentColor}
.pl-band button:last-child::after{border-left:11px solid currentColor}
.pl-band button:disabled{visibility:hidden}
.pl-band button:hover span{text-decoration:underline;text-underline-offset:4px}
.hero .sub{margin:0;font-size:15px;line-height:1.8;max-width:36em}
.hero .lead{margin:0;font-size:14px;color:var(--ink-2)}
.lines{display:flex;flex-wrap:wrap;gap:10px 20px}
.lines a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:15px}
.lines i{font-style:normal;width:30px;height:30px;border-radius:50%;border:4px solid var(--c);display:grid;place-items:center;font-size:13px;line-height:1;flex:none}
.lines b{font-weight:400;color:var(--ink-2);font-size:13px}
.lines a:hover{text-decoration:underline;text-underline-offset:4px}
/* 旧トップの部品（他ページの古い書き出しにも残る） */
.shots{display:flex;flex-wrap:wrap;gap:10px 20px}
.shots img{display:none}
.shots a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:15px}
.shots span{display:inline-flex;align-items:baseline;gap:8px}
.shots span::before{content:"";width:14px;height:14px;border-radius:50%;border:4px solid var(--c);align-self:center}
.shots b{font-weight:400;color:var(--ink-2);font-size:13px}
.getapp,.igcta{display:block;font-size:14px;text-decoration:underline;text-underline-offset:4px;max-width:36em}
.getapp span,.igcta span,.igcta em{margin-left:.5em;font-style:normal}
.igcta b{font-weight:700}
@media (display-mode:standalone){ .getapp{display:none} }

/* さがす条件 */
.ctl{display:flex;flex-direction:column;gap:0;border-top:3px solid var(--ink)}
.ctl>div{min-width:0;padding-block:14px;border-bottom:1px solid var(--rule)}
.lab{font-size:13px;font-weight:700;color:var(--ink-2);display:block;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.chips.scroll::-webkit-scrollbar{display:none}
.chips.scroll .chip{flex:none}
.chip{border:1.5px solid var(--rule);background:var(--paper);padding:7px 13px;border-radius:4px;font-weight:700;font-size:14px;min-height:40px;line-height:1.3}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.g{display:inline-flex;align-items:center;gap:8px}
.g::before{content:"";width:12px;height:12px;border-radius:50%;border:3px solid var(--c);flex:none;background:var(--paper)}
.chip.g[aria-pressed="false"]{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:1.5px}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:520px}
.day{border:1.5px solid var(--rule);background:var(--paper);border-radius:4px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.1;min-height:56px;justify-content:center}
.day b{font-size:20px;font-weight:700}
.day span{font-size:11px;font-weight:700;color:var(--ink-2)}
.day .hol{color:var(--soon)}
.day[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.day[aria-pressed="true"] span{color:var(--paper)}
.other{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:700;color:var(--ink-2)}
input,select,textarea{border:1.5px solid var(--rule);background:var(--paper);border-radius:4px;padding:7px 10px;min-height:40px;font-weight:700;font-size:14px}
select{-webkit-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.other input{width:auto}

/* 一覧の見出し */
.board{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:3px solid var(--ink);padding-bottom:8px}
.board span{font-weight:700;font-size:17px}
.board b{font-weight:700;font-size:24px;line-height:1}

/* 催しの一覧: 時刻表のように1行ずつ。左は駅ナンバリング風の丸（路線色＝ジャンル、数字＝近い順） */
.list{list-style:none;margin:-28px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);column-gap:40px}
@media (min-width:900px){ .list{grid-template-columns:repeat(2,minmax(0,1fr))} }
.ev{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid var(--rule);min-width:0}
.sn{width:50px;height:50px;border-radius:50%;border:6px solid var(--c);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;font-weight:700;font-size:16px;letter-spacing:.02em}
.sn b{font-size:11px;margin-bottom:2px}
.body{display:flex;flex-direction:column;gap:3px;min-width:0}
.kd{margin:0;font-size:12px;font-weight:700;color:var(--ink-2)}
.ev h2{font-size:18px;font-weight:700;margin:0;line-height:1.45;text-wrap:pretty;overflow-wrap:anywhere}
.ev h2 a{text-decoration:none}
.ev h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.where{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.55}
.when{margin:2px 0 0;font-size:15px;font-weight:700}
.when span{font-weight:400;font-size:13px;color:var(--ink-2);margin-left:10px}
.meta{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px}
.exit{background:var(--sign);color:var(--ink);font-weight:700;padding:3px 8px;border-radius:2px;display:inline-flex;gap:8px;align-items:baseline}
.exit small{font-weight:400;font-size:11.5px}
.price{color:var(--ink)}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.bd{font-size:12px;font-weight:700;border:1.5px solid currentColor;border-radius:2px;padding:0 6px;line-height:1.6}
.bd.free{color:var(--go)}.bd.soon{color:var(--soon)}.bd.now{color:var(--ink)}.bd.next{color:var(--ink-2)}.bd.ig{color:var(--ink-2)}
.note{margin:6px 0 0;font-size:13.5px;line-height:1.65;color:var(--ink-2)}
.off{justify-self:start;font-size:13px;margin-top:6px;color:var(--ink-2);text-underline-offset:3px;width:max-content}
.ev .pic{display:none}
.ev .row{margin-top:6px}.ev .go.pri{display:none}
.ev.ended{opacity:.5}
.empty{padding:20px 0;font-weight:700;grid-column:1 / -1;border-bottom:1px solid var(--rule)}

/* 催しごと・一覧ごとのページ */
.crumbs{font-size:13px;font-weight:700;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:2px 8px;margin:8px 0 0;padding:0;list-style:none}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--rule)}
.crumbs a{text-decoration:none}
h1.pt{font-weight:700;font-size:clamp(26px,6.6vw,40px);line-height:1.35;margin:0;text-wrap:balance}
.intro{margin:0;max-width:40em;color:var(--ink-2);font-size:14.5px}
.page{display:flex;flex-direction:column;gap:18px;max-width:720px}
.pic{position:relative;aspect-ratio:16/10;background:var(--wash);border-radius:4px;overflow:hidden}
.page .pic{aspect-ratio:16/9}
.pic img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.1) saturate(1.05)}
.pic.none{aspect-ratio:auto;background:none}
.page .pic.og{aspect-ratio:1200/630;border:1px solid var(--rule)}.page .pic.og img{object-fit:contain;filter:none}.page .pic.og .kind{display:none}
.kind{position:absolute;left:10px;top:10px;background:var(--paper);font-weight:700;font-size:12.5px;border-radius:2px;padding:3px 9px 3px 7px;display:inline-flex;align-items:center;gap:6px;line-height:1.3}
.kind::before{content:"";width:9px;height:9px;border-radius:50%;border:3px solid var(--c);flex:none}
.pic.none .kind{position:static;border:1.5px solid var(--rule)}
.page .body{gap:12px}
.lead{margin:0;font-weight:700;color:var(--ink-2)}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 14px;margin:2px 0 0;font-size:15px}
.facts dt{font-weight:700;color:var(--ink-2);font-size:13px;white-space:nowrap;padding-top:2px}
.facts dd{margin:0;font-weight:700;min-width:0}
.page .facts{font-size:16px;gap:10px 18px;border-block:2px solid var(--ink);padding-block:14px;margin:4px 0}
.page h2{font-size:18px;font-weight:700;margin:16px 0 0}
.page p{margin:0}
.cap{font-size:13px;color:var(--ink-2)}
.near{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.near li{border-top:1px solid var(--rule);padding-block:12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.near a{font-weight:700;text-decoration:none}
.near a:hover{text-decoration:underline}
.near span{font-size:13.5px;color:var(--ink-2)}
.over{background:var(--soon);color:var(--paper);font-weight:700;border-radius:2px;padding:10px 14px;margin:0}
.upd{font-size:13px;color:var(--ink-2);margin:0}
.row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.go{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:4px;padding:8px 18px;font-weight:700;font-size:15px;text-decoration:none;min-height:46px;line-height:1.3;background:var(--paper)}
.go.pri{background:var(--ink);color:var(--paper)}
.go:hover{text-decoration:underline;text-underline-offset:4px}

/* 下のほう */
.ways{display:flex;flex-direction:column;gap:10px;border-top:3px solid var(--ink);padding-top:18px}
.ways h2{font-size:13px;font-weight:700;color:var(--ink-2);margin:0}
.links{display:flex;flex-wrap:wrap;gap:6px}
.links a{border:1.5px solid var(--rule);padding:7px 13px;border-radius:4px;font-weight:700;font-size:14px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.links a:hover{border-color:var(--ink)}
.links a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.join{border:2px solid var(--ink);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.join h2{margin:0;font-size:19px;font-weight:700}
.join p{margin:0}
.doc{display:flex;flex-direction:column;gap:10px;max-width:720px}
.doc h2{margin:14px 0 0;font-size:18px;font-weight:700}
.doc p,.doc ul{margin:0}
.doc ul{padding-left:1.2em;overflow-wrap:anywhere}
.doc ol{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:6px}
.doc ol li::marker{font-weight:700}
.doc button.go{background:var(--ink);color:var(--paper)}
.follow{margin:0;font-size:14.5px;line-height:1.8;max-width:40em}
.follow a{font-weight:700;text-underline-offset:4px}
.foot{font-size:13px;color:var(--ink-2);margin:0;max-width:60em}
.nav{display:flex;gap:6px 18px;flex-wrap:wrap;font-weight:700;font-size:14px}
@media (max-width:380px){ .day b{font-size:17px} .ev{grid-template-columns:44px minmax(0,1fr);gap:10px} .sn{width:44px;height:44px;border-width:5px;font-size:14px} }
.orig{margin:0;font-size:14px;font-weight:700;color:var(--ink-2)}
@media (max-width:520px){ .top:has(.lang) .brand span{display:none} }

.fromsel{margin-top:10px;max-width:100%;font-weight:700}
.frommsg{margin:8px 0 0;font-size:13px;font-weight:700;color:var(--ink-2)}
.chip.here{display:inline-flex;align-items:center;gap:7px}
.chip.here::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--dot);flex:none}
@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto!important} }
.brand{flex:none;white-space:nowrap}
@media (min-width:900px){
  .hero{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);column-gap:40px;row-gap:14px;align-items:start}
  .hero h1{grid-column:1 / -1}
  .hero .pl-hang{grid-column:1;grid-row:2;align-self:start;margin-bottom:0}
  .hero .plate{grid-column:1;grid-row:2 / span 2;margin-top:63px}
  .hero .featrail{grid-column:2;grid-row:2}
  .hero .today{grid-column:1;grid-row:4}
  .hero .lines{grid-row:3 / span 3}
  .hero .sub{grid-column:2;align-self:start}
  .hero .lines{grid-column:2;align-self:start;flex-direction:column;gap:12px}
}
.ev{grid-template-columns:52px minmax(0,1fr) 92px;grid-template-areas:"sn hd th" ". rest rest";row-gap:8px}
.ev>.sn{grid-area:sn}.ev>.hd{grid-area:hd;min-width:0;display:flex;flex-direction:column;gap:3px}.ev>.th{grid-area:th}.ev>.rest{grid-area:rest;min-width:0;display:flex;flex-direction:column;gap:3px}
.ev:not(:has(.th)){grid-template-areas:"sn hd hd" ". rest rest"}
.th{display:block;width:92px;aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:var(--wash)}
.th img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(1.1) saturate(1.05)}
.ev .rest .when{margin-top:0}
@media (max-width:380px){ .ev{grid-template-columns:44px minmax(0,1fr) 76px} .th{width:76px} }
@media (min-width:900px){ .ev{grid-template-columns:52px minmax(0,1fr) 112px} .th{width:112px} }

/* ポチカのおすすめ（トップ） */
.pochi{border:2px solid var(--ink);border-radius:4px;padding:14px 16px 16px;background:#fffbe0;display:flex;flex-direction:column;gap:12px}
.pc-head{display:flex;align-items:center;gap:10px}
.pc-head img{flex:none;width:64px;height:auto}
.pc-say{margin:0;position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:6px 12px;line-height:1.4;display:flex;flex-direction:column}
.pc-say::before{content:"";position:absolute;left:-9px;top:50%;margin-top:-7px;border:7px solid transparent;border-right:9px solid var(--ink);border-left:0}
.pc-say b{font-size:17px}
.pc-say small{font-size:12px;color:var(--ink-2)}
.pc-list,.pc-one{list-style:none;margin:0;padding:0;display:grid;gap:10px}
@media (min-width:760px){.pc-list{grid-template-columns:repeat(3,1fr)}}
.pc-i{background:var(--paper);border:1.5px solid var(--rule);border-top:5px solid var(--c);border-radius:4px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.pc-kd{margin:0;font-size:12px;font-weight:700;color:var(--ink-2)}
.pc-t{font-weight:700;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.pc-t:hover{text-decoration:underline}
.pc-bub{margin:2px 0 0;font-size:14px;font-weight:700;background:var(--sign);border-radius:10px;padding:3px 10px;align-self:flex-start;line-height:1.5}
.pc-bub::before{content:"ポチカ「"}.pc-bub::after{content:"」"}
.pc-w{margin:0;font-size:12px;color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}
.pc-pick{display:flex;flex-direction:column;gap:10px}
.pc-btn{align-self:flex-start;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:700;border-radius:4px;padding:10px 16px;min-height:44px}
.pc-btn:hover{background:#333}
.pc-dd{margin:0;font-size:14px}.pc-dd b{margin-left:6px;font-size:16px}
.pc-i.big .pc-t{font-size:18px}
.pc-none{margin:0;font-size:14px}
@keyframes hop{0%,100%{transform:none}30%{transform:translateY(-14px) rotate(-8deg)}60%{transform:translateY(0) rotate(6deg)}80%{transform:translateY(-5px)}}
.hop{animation:hop .6s ease}
@media (prefers-reduced-motion:reduce){.hop{animation:none}}
.pc-ig{font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:underline;align-self:flex-start}
.bd.kid{color:#c2337a}
/* トップの「子どもと」：押すと年齢をえらぶ欄がひらく */
.lines .kidline{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:700;font-size:15px;background:none;border:0;padding:0;color:inherit;cursor:pointer}
.lines .kidline:hover{text-decoration:underline;text-underline-offset:4px}
.lines .kidline[aria-expanded="true"]{color:var(--kid)}
.kidages{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:2px solid var(--kid);border-radius:4px;background:var(--paper)}
.kidages[hidden]{display:none}
.kidages>span{font-weight:700;font-size:14px;width:100%}
.kidages .chip[aria-pressed="true"]{background:var(--kid);border-color:var(--kid);color:#fff}
.kidages a{font-size:13px;width:100%}
.kidages .kidnote{width:100%;margin:0;font-size:13px;color:var(--kid);font-weight:700}
.kidages .kidnote[hidden]{display:none}
.igcta{display:flex;flex-direction:column;gap:2px;border:2px solid var(--ink);border-radius:6px;padding:12px 14px;text-decoration:none;background:#fff8cc;margin-top:8px}.igcta b{font-size:16px}.igcta span{font-size:13px;color:var(--ink-2)}
.lang{flex-wrap:wrap;gap:2px 12px}
.bd.halal{color:#0b7a4b}
.bd.bf{color:#1a5fb4}.bd.dog{color:#8a5a00}
.faq h3{font-size:15px;margin:14px 0 4px}.faq p{margin:0;color:var(--ink-2)}
.row.eat{flex-wrap:wrap}
ul.dots{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
ul.dots li{position:relative;padding-left:1.1em}
ul.dots li::before{content:"";position:absolute;left:.15em;top:.62em;width:.42em;height:.42em;border-radius:50%;background:var(--dot)}
.areas{display:flex;flex-direction:column;gap:6px}
.areas .lab{font-size:13px;font-weight:700;color:var(--ink-2)}
.areas a.chip{text-decoration:none;white-space:nowrap}
.lines .igline[aria-pressed="true"]{color:#c13584}
.endedbox{border:2px solid var(--ink);background:#fff8d6;padding:12px 14px;margin:8px 0 14px}
.endedbox p{margin:4px 0}.endedbox ul{margin:6px 0 0;padding-left:1.2em}
.aso{margin:18px 0}.aso .go{display:block;text-align:center}
.row.share{flex-wrap:wrap;margin-top:10px}.go.line{background:#06c755;color:#fff;border-color:#06c755}.go.fav[aria-pressed="true"]{background:#ffd100;border-color:#ffd100}
ol.plan{padding-left:1.4em;margin:16px 0}ol.plan li{margin:0 0 16px}ol.plan li span{display:block;font-size:.92em;color:#444}ol.plan li.ended{opacity:.5}ol.plan .go{margin-top:6px;font-size:.85em;padding:4px 10px}
table.stats{border-collapse:collapse;width:100%;margin:8px 0 20px}table.stats th,table.stats td{border-bottom:1px solid #ddd;padding:8px 6px;text-align:left;font-weight:400}table.stats td{text-align:right;font-weight:700;white-space:nowrap}
.rainbar{display:block;margin:12px 0;padding:12px 14px;background:#e8f2ff;border-left:6px solid #2b6fd6;color:#0b2e66;font-weight:700;text-decoration:none;border-radius:4px}
.pick{margin:28px 0}.pick h2{font-size:1.2em;margin:0 0 8px}.pick img{width:100%;height:auto;border:1px solid #ddd;display:block}.pick .why{display:inline-block;margin:8px 0 4px;background:#ffd100;padding:2px 8px;font-weight:700;font-size:.9em}
.igf{margin:18px 0;padding:14px 16px;border:2px solid #c13584;border-radius:8px}.igf p{margin:0 0 10px;line-height:1.6}.go.igbtn{background:#c13584;border-color:#c13584;color:#fff}
/* トップの駅名標（10/15〜、坂尾さん「駅っぽく」「上からぶら下がってる」「バーにキャラクター」） */
.pl-hang{height:30px;margin:44px -16px -16px;border-top:5px solid #6b7177;position:relative}
.pl-hang::before,.pl-hang::after{content:"";position:absolute;top:0;bottom:0;width:5px;background:#8a9096}
.pl-hang::before{left:calc(16px + 14%)}.pl-hang::after{right:calc(16px + 14%)}
.pl-bird{position:absolute;right:calc(16px + 26%);bottom:calc(100% + 1px);width:58px;height:auto;transform:rotate(-4deg)}
.plate.eki{position:relative;border:3px solid #333;border-radius:4px;padding:0;overflow:hidden}
.plate.eki,.plate.eki *{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP",sans-serif}
.eki .pl-top{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 12px 0}
.eki .pl-no{display:inline-grid;place-items:center;width:44px;height:44px;border:4px solid #ff4a1c;border-radius:7px;font-weight:900;line-height:1;font-size:10px;letter-spacing:.05em}
.eki .pl-no b{font-size:17px;display:block;margin-top:1px}
.eki .pl-ward{display:flex;gap:4px}.eki .pl-ward i{font-style:normal;border:1.5px solid #333;font-size:11px;font-weight:700;width:20px;height:20px;display:grid;place-items:center}
.eki .pl-hira{margin:-30px 0 0;font-size:21px;font-weight:700;letter-spacing:.42em;padding-left:.42em;transform:scaleX(1.1)}
.eki .pl-big{font-size:96px;margin-top:-6px;font-weight:700;letter-spacing:.16em;padding-left:.16em;transform:scaleX(1.07);-webkit-text-stroke:1.2px currentColor}
.eki .pl-big.dt{font-size:72px;letter-spacing:.02em;padding-left:0}
.eki .pl-kr{display:flex;justify-content:center;margin:-6px 0 2px;min-height:1.2em}
.eki .pl-kr span{font-size:25px;font-weight:500;letter-spacing:.03em;display:inline-block;transform:scaleX(1.04)}
.eki .pl-sub{margin:4px 0 12px;font-size:13px}
.eki .pl-band{border-top:0;background:#ff4a1c;color:#fff}
.eki .pl-band button{color:#fff;font-size:17px;padding:8px 14px 2px;min-height:40px;font-weight:700;letter-spacing:.12em}
.eki .pl-romas{display:grid;grid-template-columns:1fr 1fr;background:#ff4a1c;color:#fff;font-size:12px;font-weight:500;letter-spacing:.04em;padding:0 14px 8px;min-height:1.6em}
.eki .pl-romas span:last-child{text-align:right}
/* きょう行ける */
.today{margin:4px -16px 0}
.today h2{font-size:17px;margin:0 16px 10px;display:flex;justify-content:space-between;align-items:baseline}.today h2 a{font-size:13px;font-weight:700}
.today .rail{display:flex;gap:12px;overflow-x:auto;padding:0 16px 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
.today .rail::-webkit-scrollbar{display:none}
.tcard{flex:none;width:250px;scroll-snap-align:start;text-decoration:none;color:inherit;border-radius:8px;overflow:hidden;border:1px solid #ddd;background:#fff}
.tcard img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
.tcard div{padding:8px 10px 10px;border-top:5px solid var(--c)}
.tcard b{display:block;font-size:14px;line-height:1.4;max-height:2.8em;overflow:hidden}
.tcard small{display:block;color:#555;margin-top:4px;font-size:12px}
.tcard .tag{display:inline-block;background:var(--c);color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:3px;margin-bottom:5px}
@media (min-width:700px){.today{margin-inline:0}.today h2{margin-inline:0}.today .rail{padding-inline:0}}
/* ジャンルのボタンに色 */
.hero .lines{gap:8px}
.hero .lines a,.hero .lines .kidline{background:color-mix(in srgb,var(--c) 14%,#fff);border:2px solid var(--c);border-radius:999px;padding:6px 12px 6px 6px}
/* 選択欄の折りたたみ */
details.fold{border:2px solid var(--ink);border-radius:6px;padding:0 14px;margin:8px 0 14px}
details.fold>summary{font-weight:700;padding:12px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"▼";font-size:12px}
details.fold[open]>summary::after{content:"▲"}
details.fold .ctl{border-top:1px solid var(--rule)}
.page .pic.fl{aspect-ratio:auto;background:none;margin:0}.page .pic.fl img{width:100%;height:auto;max-height:80vh;object-fit:contain;filter:none;border-radius:4px}.page .pic.fl figcaption{font-size:12px;color:var(--ink-2);margin-top:4px}
.feat{margin:8px 0 20px}.feat figure{margin:0 0 14px}.feat img{width:100%;height:auto;border-radius:14px;display:block}
.feat-dl{display:grid;grid-template-columns:7.5em 1fr;gap:8px 12px;margin:0 0 16px;font-size:15px;line-height:1.6}
.feat-dl dt{font-weight:800;color:#6b6f76}.feat-dl dd{margin:0}
.feat-note{font-size:13px;color:#6b6f76}
@media(max-width:480px){.feat-dl{grid-template-columns:1fr}.feat-dl dt{margin-top:6px}}
.more-top{margin:-4px 0 14px;font-weight:800}.more-top a{color:#ff4a1c;text-decoration:none}
.more{margin:24px 0;padding:18px;border-radius:18px;background:#fff4ef;border:2px solid #ff4a1c}
.more h2{font-size:20px;margin:0 0 12px}
.more-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.more-g a{display:block;padding:12px 14px;border-radius:14px;background:#fff;text-decoration:none;color:#111;border:1px solid #f0d9cf}
.more-g a:first-child{grid-column:1/-1;background:#ff4a1c;color:#fff;border-color:#ff4a1c}
.more-g b{display:block;font-size:16px}.more-g span{font-size:12px;opacity:.75}
.qbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;margin:4px 0 18px;padding:12px 14px;border-radius:16px;background:#111;color:#fff}
.qbar>b{width:100%;font-size:14px}
.qbar label{display:flex;flex-direction:column;font-size:11px;gap:3px;color:#ccc}
.qbar select{font:inherit;font-size:15px;font-weight:700;padding:8px 10px;border-radius:10px;border:0;background:#fff;color:#111}
.qbar button{font:inherit;font-size:15px;font-weight:900;padding:9px 16px;border-radius:10px;border:0;background:#ff4a1c;color:#fff;cursor:pointer}
.feat-h{font-size:18px;margin:20px 0 10px}.feat-sub{font-size:13px;color:#6b6f76;margin:-4px 0 10px}
.brands{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.brands span{padding:9px 14px;border:1.5px solid #111;border-radius:6px;font-family:"Helvetica Neue",Arial,"Noto Sans CJK JP",sans-serif;font-weight:800;font-size:14px;letter-spacing:.06em;background:#fff}
.brands span.etc{border-style:dashed;color:#6b6f76;letter-spacing:0}
.brands.sm span{font-size:13px;padding:6px 11px;border-width:1px;letter-spacing:0;font-weight:700}
.feat-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 18px}
.feat-cta a{display:block;text-align:center;padding:13px 8px;border-radius:12px;border:1.5px solid #111;font-weight:800;font-size:15px;text-decoration:none;color:#111;background:#fff}
.feat-cta a.c1{grid-column:1/-1;background:#ff4a1c;border-color:#ff4a1c;color:#fff;font-size:17px}
.feat-pt{list-style:none;margin:0 0 14px;padding:0;counter-reset:p}
.feat-pt li{counter-increment:p;position:relative;padding:12px 12px 12px 52px;margin:0 0 8px;border-radius:14px;background:#fafaf8;border:1px solid #ecebe7}
.feat-pt li::before{content:counter(p);position:absolute;left:12px;top:12px;width:28px;height:28px;border-radius:50%;background:#111;color:#fff;font-weight:900;display:grid;place-items:center;font-size:14px}
.feat-pt b{display:block;font-size:16px}.feat-pt span{font-size:14px;color:#444;line-height:1.6}
.feat-near{margin:20px 0}
.featrail{margin:18px 0 6px}.featrail h2{font-size:18px;margin:0 0 10px}
.featrail a{display:flex;gap:12px;align-items:center;padding:10px;border-radius:16px;border:2px solid #111;background:#fff;color:#111;text-decoration:none;margin:0 0 8px}
.featrail img{width:96px;height:auto;border-radius:10px;flex:none}
.featrail .fnow{display:inline-block;font-style:normal;font-size:12px;font-weight:700;color:#fff;background:#e60012;border-radius:4px;padding:2px 7px;margin:0 0 5px}.featrail .fhook{display:block;font-size:17px;line-height:1.35;font-weight:800;color:#111;margin:0 0 3px}.featrail .fhook+b{font-size:13px}.featrail .fhook .nw{white-space:nowrap;font:inherit;color:inherit;display:inline}.featrail b{display:block;font-size:15px;line-height:1.35}.featrail span{font-size:12px;color:#6b6f76}
.cmp{margin:14px 0 18px}.cmp h2{font-size:1.05rem;margin:0 0 8px}.cmp .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.cmp .chip{border:1px solid #ccc;background:#fff;border-radius:999px;padding:5px 12px;font-size:.88rem;cursor:pointer}.cmp .chip[aria-pressed=true]{background:#222;color:#fff;border-color:#222}.cmp-n{font-size:.85rem;color:#666;margin:2px 0;min-height:1em}.cmp-w{overflow-x:auto;-webkit-overflow-scrolling:touch}.cmp-t{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem}.cmp-t th,.cmp-t td{border-bottom:1px solid #e5e5e5;padding:7px 6px;text-align:left;vertical-align:top}.cmp-t th{background:#f6f6f6;font-weight:600;white-space:nowrap}.cmp-t td:nth-child(2),.cmp-t td:nth-child(3),.cmp-t td:nth-child(5){white-space:nowrap}.cmp-t small{display:block;color:#777;font-size:.78rem}.cmp-t a{font-weight:600}
.gd h2.feat-h{margin-top:18px}.gd p,.gd-ul{font-size:.95rem;line-height:1.7}.gd-ul{padding-left:1.2em;margin:6px 0}.gd-ul li{margin:3px 0}.gd .feat-dl small{color:#777}

/* 車で行く：近くの駐車場の地図 */
.carmap{position:relative;width:100%;aspect-ratio:4/3;max-height:360px;border:2px solid var(--ink);border-radius:10px;overflow:hidden;margin:8px 0 10px;background:#eee}
.carmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
