:root{
  --bg:#fbf7f3; --surface:#ffffff; --surface2:#f6efe8; --text:#2a2320; --muted:#6f625b; --line:#e7dcd2;
  --accent:#d9573f; --accent-soft:#fbe6df; --accent-ink:#8f2f1c;
  --ok:#2f7d4f; --ok-soft:#e1f2e8; --warn:#b26a00; --warn-soft:#fdeed2; --bad:#b3392f; --bad-soft:#fbe1de; --info:#2f5f9e; --info-soft:#e0ebf8;
  --shadow:0 1px 2px rgba(60,35,20,.06),0 4px 14px rgba(60,35,20,.06);
  --radius:14px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1a1614; --surface:#242019; --surface2:#2d2721; --text:#f1e9e2; --muted:#b3a59b; --line:#3c342c;
    --accent:#ff8266; --accent-soft:#41231c; --accent-ink:#ffb4a1;
    --ok:#6fcf97; --ok-soft:#1d3327; --warn:#f2b45a; --warn-soft:#3b2d14; --bad:#ff8f84; --bad-soft:#40201d; --info:#8ab8f0; --info-soft:#1c2c42;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3);
  }
}
:root[data-theme="dark"]{
  --bg:#1a1614; --surface:#242019; --surface2:#2d2721; --text:#f1e9e2; --muted:#b3a59b; --line:#3c342c;
  --accent:#ff8266; --accent-soft:#41231c; --accent-ink:#ffb4a1;
  --ok:#6fcf97; --ok-soft:#1d3327; --warn:#f2b45a; --warn-soft:#3b2d14; --bad:#ff8f84; --bad-soft:#40201d; --info:#8ab8f0; --info-soft:#1c2c42;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 "Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--info)}
button{font:inherit;color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}

/* header */
header.top{background:var(--surface);border-bottom:1px solid var(--line)}
.mockbar{background:var(--warn-soft);color:var(--warn);font-size:14px;padding:6px 0;border-bottom:1px solid var(--line)}
.mockbar b{margin-right:6px}
.head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:.02em}
.brand .logo{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd0c2,#ef7b62 60%,#d9573f);display:inline-block;box-shadow:inset -3px -4px 0 rgba(0,0,0,.08)}
.tabs{display:flex;gap:4px}
.tab{border:0;background:transparent;padding:8px 14px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:600}
.tab[aria-selected="true"]{background:var(--accent-soft);color:var(--accent-ink)}
.tab:focus-visible,.chip:focus-visible,.card:focus-visible,.btn:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* search summary */
.hero{padding:20px 0 6px}
.hero h1{margin:0 0 6px;font-size:25px;line-height:1.4}
.hero .cond{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.hero .lead{margin:0;font-size:inherit}   /* トップの見出しの下の説明文(通常の文字サイズ。#60) */
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:14px;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.pill.strong{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent;font-weight:600}
.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.pill.info{background:var(--info-soft);color:var(--info);border-color:transparent}

.brief{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin:14px 0}
.brief h2{margin:0 0 8px;font-size:17px}
.brief ul{margin:0;padding-left:1.2em}
.brief li{margin:4px 0}
.brief .foot{margin-top:8px;font-size:14px;color:var(--muted)}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 8px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:var(--surface);padding:5px 12px;border-radius:999px;cursor:pointer;font-size:14.5px}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
a.chip{display:inline-flex;align-items:center;color:var(--info);text-decoration:none}   /* 「旬カレンダーに戻る」(リンクのチップ)。色は「すべての拠点を見る」と同じ(#63) */
#toggleChips{flex:0 0 auto}   /* 一覧/地図の左に置く(#63) */
.filters .spacer{flex:1}
select,input[type=search]{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:6px 10px;font:inherit;font-size:14.5px}
.count{font-size:14.5px;color:var(--muted);margin:2px 0 10px}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px;padding-bottom:40px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform .12s,border-color .12s}
.card:hover{transform:translateY(-2px);border-color:var(--accent)}
.card h3{margin:0;font-size:20px;line-height:1.4}
.card .sub{font-size:14px;color:var(--muted)}
/* 拠点カードの文字を一回り大きく(2026-09-23 #47。詳細画面など他の場所の同じ部品は変えない) */
.card .sub{font-size:16px}
.card .kv{font-size:16.5px}
.card .rep{font-size:17px}
.card .evtext{font-size:16px}
.card .flag{font-size:15px}
.card .pill{font-size:16px}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.meter{display:inline-flex;gap:3px;vertical-align:middle}
.meter i{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}
.meter i.on{background:var(--accent)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:14.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.rep{font-size:15px;background:var(--surface2);border-radius:10px;padding:8px 10px;margin:0}
.evbar{display:flex;height:6px;border-radius:99px;overflow:hidden;background:var(--line)}
.evbar span{display:block}
.c-visit{background:var(--accent)} .c-media{background:var(--info)} .c-official{background:var(--ok)} .c-gift{background:#c9b8a9} .c-other{background:#a49488}
.evtext{font-size:14px;color:var(--muted)}
.flag{font-size:13.5px;color:var(--warn)}

/* detail */
dialog{border:0;padding:0;border-radius:18px;max-width:860px;width:calc(100% - 24px);background:var(--bg);color:var(--text);box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(20,10,5,.55)}
.dhead{position:sticky;top:0;background:var(--bg);padding:16px 20px 10px;border-bottom:1px solid var(--line);z-index:2;display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.dhead h2{margin:0;font-size:20px;line-height:1.4}
.dbody{padding:14px 20px 24px}
.close{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:6px 12px;cursor:pointer}
.sec{margin:18px 0}
.sec h4{margin:0 0 8px;font-size:16px;color:var(--muted);letter-spacing:.04em}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.box ul{margin:0;padding-left:1.2em}
table{border-collapse:collapse;width:100%;font-size:14.5px}
th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--muted);font-weight:600;white-space:nowrap}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.tbar{display:grid;grid-template-columns:110px 1fr 40px;gap:8px;align-items:center;font-size:14.5px;margin:4px 0}
.tbar .track{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--line)}
.tbar .track span{display:block}
.s-pos{background:var(--ok)} .s-neg{background:var(--bad)} .s-mixed{background:var(--warn)} .s-neutral{background:#b7aaa0}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);margin-top:6px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.evlist{display:flex;flex-direction:column;gap:8px}
.ev{background:var(--surface);border:1px solid var(--line);border-left-width:4px;border-radius:10px;padding:9px 12px;font-size:15px}
.ev.t-visit{border-left-color:var(--accent)} .ev.t-media{border-left-color:var(--info)} .ev.t-official{border-left-color:var(--ok)} .ev.t-gift{border-left-color:#c9b8a9;opacity:.85} .ev.t-unknown,.ev.t-question{border-left-color:#a49488}
.ev .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:3px}
.callout{border-radius:10px;padding:8px 12px;font-size:14.5px;margin:6px 0;background:var(--warn-soft);color:var(--warn)}
.callout b{color:inherit}
.seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}

/* quality view */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.stat b{display:block;font-size:29px;line-height:1.2}
.stat span{font-size:14px;color:var(--muted)}
.qsec{margin:26px 0}
.qsec h2{font-size:19px;margin:0 0 8px}
.qsec p.lead{margin:0 0 10px;color:var(--muted);font-size:15px}
.verdict{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.verdict .box h4{color:var(--text);margin:0 0 6px;font-size:16px}
.st-ok{color:var(--ok)} .st-partial{color:var(--warn)} .st-blocked{color:var(--bad)}
footer{padding:26px 0 46px;color:var(--muted);font-size:14px}
.hidden{display:none !important}
.sub{font-size:14px;color:var(--muted)}
a.btn{display:inline-block;padding:5px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:var(--text);font-size:14.5px}
a.btn:hover{border-color:var(--accent)}
@media (max-width:560px){
  .hero h1{font-size:21.5px}
  .tbar{grid-template-columns:88px 1fr 34px}
  .dbody{padding:12px 14px 22px}
  .dhead{padding:14px 14px 8px}
}

.samples{display:flex;gap:6px;margin-left:14px;flex-wrap:wrap}
.samples a{padding:4px 12px;border-radius:999px;border:1px solid var(--line);font-size:14.5px;text-decoration:none;color:var(--muted);background:var(--surface)}
.samples a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.brand-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.news{display:grid;gap:8px}

.maprow{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.maprow .sub{flex-basis:100%}
ul.links{margin:0;padding-left:0;list-style:none;display:grid;gap:6px}
ul.links li{font-size:15px}

/* 詳細ページ(Drupalのサーバー側生成) */
.page{padding-top:8px;padding-bottom:24px;max-width:860px}
.crumbs{font-size:14.5px;color:var(--muted);margin:12px 0 4px}
.crumbs a{color:var(--muted)}
.page-title{margin:0 0 2px;font-size:25px;line-height:1.4}
.sec h2.h{margin:0 0 8px;font-size:16px;color:var(--muted);letter-spacing:.04em;font-weight:700}

/* ---- 検索ツールバー(スクロールしても上に固定) ---- */
.toolbar{position:sticky;top:0;z-index:30;background:var(--bg);background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:10px 0 4px;margin:8px 0 0;border-bottom:1px solid var(--line)}
.toolrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.toolrow .chips.scroll{flex:1 1 auto;min-width:0}
.toolrow input[type=search]{flex:1 1 200px;min-width:0}
.viewsw{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--surface);flex:0 0 auto}
.seg-btn{border:0;background:transparent;padding:7px 18px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--muted)}
.seg-btn[aria-pressed="true"]{background:var(--accent);color:#fff}
.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.empty{padding:28px 12px;text-align:center;color:var(--muted)}
.empty .btn{margin-left:8px;cursor:pointer}

/* ---- 地図(Leaflet。背景は国土地理院の地理院タイル) ---- */
.mapview{margin:12px 0 0}
#map{height:560px;border-radius:14px;border:1px solid var(--line);overflow:hidden;z-index:0}
.mapnote{margin:8px 0 28px}
.leaflet-container{font:inherit;background:var(--surface2)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--text)}
.leaflet-container a{color:var(--info)}
.pin{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13.5px;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.pin-high{background:var(--ok)} .pin-mid{background:var(--warn)} .pin-low{background:var(--bad)}
.pin-approx{border-style:dashed}
.pin:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pin-sample{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:4px;vertical-align:-2px;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.pin-sample.pin-ok{background:var(--ok)} .pin-sample.pin-warn{background:var(--warn)} .pin-sample.pin-bad{background:var(--bad)}
.pin-sample.pin-approx{border-style:dashed;border-color:var(--muted)}
path.me-dot{fill:#2f7be0;fill-opacity:1;stroke:#fff;stroke-width:3}
.pop-item{margin:8px 0}
.pop-item .btn{margin-top:4px;cursor:pointer}

/* ---- スマホ・タッチ端末 ---- */
.wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
footer{padding-bottom:calc(46px + env(safe-area-inset-bottom))}
@media (max-width:720px){
  .toolrow{gap:6px}
  .chips.scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  .chips.scroll::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto;white-space:nowrap}
  input[type=search],select{font-size:18px}   /* iOSで入力時に拡大されないよう16px以上にする */
  #map{height:calc(100dvh - 300px);min-height:380px}
  .grid{gap:12px}
}
@media (max-width:640px){
  dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  .dhead{padding-top:max(14px,env(safe-area-inset-top))}
  .dbody{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media (pointer:coarse){
  .chip,.btn,.close,.seg-btn,select,input[type=search]{min-height:44px}
  .chip,.btn{display:inline-flex;align-items:center}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  .card:hover{transform:none}
}

/* ---- 上部の圧縮(スマホでは最初の1画面に、絞り込みと一覧を出す) ---- */
.brief{padding:0}
.brief summary{cursor:pointer;font-weight:700;font-size:17px;padding:14px 18px;list-style:none}
.brief summary::-webkit-details-marker{display:none}
.brief summary::after{content:"▾";float:right;color:var(--muted)}
.brief details[open] summary::after{content:"▴"}
.brief .brief-body{padding:0 18px 14px}
.close{white-space:nowrap;flex:0 0 auto}
@media (max-width:720px){
  .mockbar{font-size:13px;padding:5px 0}
  .mockbar .wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .head{gap:6px;padding:10px 0 6px}
  .brand-wrap{gap:6px}
  .samples{margin-left:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .samples a{white-space:nowrap}
  .tabs{width:100%}
  .tab{padding:7px 12px;font-size:14.5px;white-space:nowrap}
  .hero{padding-top:12px}
  .hero h1{font-size:21.5px}
  .hero .cond{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  .hero .cond .pill{flex:0 0 auto;white-space:nowrap}
  .brief{margin:10px 0}
}

/* ---- スマホ: ツールバーを3段に(表示切替+種別 / 条件 / 検索+並び替え) ---- */
@media (max-width:720px){
  .toolrow .chips.scroll{flex:1 1 0}
  .toolrow #q{flex:1 1 0;order:2}
  .toolrow #sort{flex:0 1 46%;max-width:46%;order:3}
  .toolbar{padding-top:8px}
  .toolrow{margin-bottom:6px}
}

/* ---- 観測(日付・時刻・数値のある事実) ---- */
.obs{--tl-name:112px}
.obs-hl{margin:8px 0;padding-left:1.2em;font-size:15px}
.obs-group{margin:12px 0 2px;font-weight:700;font-size:14.5px}
.obs-row{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--line);font-size:15px}
.obs-time{flex:0 0 auto;min-width:56px;font-variant-numeric:tabular-nums;font-weight:700}
.obs-text{flex:1 1 200px;min-width:0}
.obs-item{margin-left:6px;font-size:13.5px;color:var(--muted)}
.obs-val{font-weight:700;color:var(--accent-ink)}
.obs-src{margin-left:auto;font-size:13.5px}
.tl{margin:12px 0 6px}
.tl-axis{position:relative;height:16px;margin-left:var(--tl-name);font-size:12.5px;color:var(--muted)}
.tl-axis span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.tl-axis span:first-child{transform:none}
.tl-axis span:last-child{transform:translateX(-100%)}
.tl-lane{display:flex;align-items:center;margin:4px 0}
.tl-name{flex:0 0 var(--tl-name);font-size:13.5px;color:var(--muted)}
.tl-track{position:relative;flex:1;min-height:22px;border-bottom:1px solid var(--line);background:linear-gradient(to right,var(--line) 1px,transparent 1px) 0 0/calc(100%/7) 100%}
.tl-dot{position:absolute;width:12px;height:12px;border-radius:50%;transform:translateX(-50%);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.tl-dot.wk,.tl-key.wk{background:var(--info)} .tl-dot.we,.tl-key.we{background:var(--accent)} .tl-dot.na,.tl-key.na{background:var(--muted)}
.tl-key{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}
@media (max-width:640px){ .obs{--tl-name:78px} .obs-src{margin-left:0;flex-basis:100%} }

/* ---- 混雑度の算出(観測から) ---- */
.crowd-calc{margin:10px 0;padding:10px 12px;background:var(--surface2);border-radius:10px;font-size:15px}
.crowd-calc details{margin-top:6px;font-size:14.5px}
.crowd-calc summary{cursor:pointer;color:var(--info)}
.sig-list{margin:6px 0;padding-left:1.1em;list-style:none}
.sig-list li{margin:4px 0}

/* ---- 旬カレンダー(品目を選ぶと拠点一覧に絞り込まれる。calendar/index.html) ---- */
.cal-main{padding:20px 0 60px}
details.month{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:10px 0;overflow:hidden}
details.month[open]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}
details.month>summary{cursor:pointer;list-style:none;padding:12px 18px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px}
details.month>summary::-webkit-details-marker{display:none}
details.month>summary::before{content:"▸";display:inline-block;color:var(--muted);transition:transform .15s;font-size:13.5px}
details.month[open]>summary::before{transform:rotate(90deg)}
details.month>summary .mcount{margin-left:auto;font-weight:400;font-size:13.5px;color:var(--muted)}
.cal-monthbody{padding:4px 18px 16px}
.cal-prefgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cal-pref{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface2)}
.cal-pref h3{margin:0 0 8px;font-size:14.5px;font-weight:700}
.cal-pref h3 a{color:inherit;text-decoration:underline;text-underline-offset:3px}   /* 府県名→その府県の拠点一覧(#43) */
.cal-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.cal-chips li{display:contents}
.cal-chips .chip{text-decoration:none;color:inherit;display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2;padding:5px 10px;font-size:16.5px}   /* 品目タグは一回り大きく(2026-09-23 #46) */
.cal-chips .chip .region{font-size:12.5px;color:var(--muted);font-weight:400}
.cal-chips .chip .region.region-low{color:var(--warn)}
.cal-chips .chip.disabled{opacity:.5;cursor:default;pointer-events:none;border-style:dashed}
.cal-empty-note{color:var(--muted);font-size:14.5px;margin:8px 18px}
.cal-gaps{font-size:14.5px;color:var(--muted)}
.cal-gaps li{margin:3px 0}
@media (max-width:640px){ .cal-prefgrid{grid-template-columns:1fr} }

/* 詳細画面(一覧から開く詳細、Drupalの拠点ページ)の文字を一回り大きく(2026-09-23 #48)。元の各規則の約1.125倍 */
dialog,main.page{font-size:19px}
dialog .pill,main.page .pill{font-size:16px}
dialog .brief h2,main.page .brief h2{font-size:19px}
dialog .brief .foot,main.page .brief .foot{font-size:16px}
dialog .chip,main.page .chip{font-size:16.5px}
dialog select,main.page select,dialog input[type=search],main.page input[type=search]{font-size:16.5px}
dialog .count,main.page .count{font-size:16.5px}
dialog .kv,main.page .kv{font-size:16.5px}
dialog .rep,main.page .rep{font-size:17px}
dialog .evtext,main.page .evtext{font-size:16px}
dialog .flag,main.page .flag{font-size:15px}
dialog .dhead h2,main.page .dhead h2{font-size:22.5px}
dialog .sec h4,main.page .sec h4{font-size:18px}
dialog table,main.page table{font-size:16.5px}
dialog .tbar,main.page .tbar{font-size:16.5px}
dialog .legend,main.page .legend{font-size:15px}
dialog .ev,main.page .ev{font-size:17px}
dialog .ev .meta,main.page .ev .meta{font-size:15px}
dialog .callout,main.page .callout{font-size:16.5px}
dialog .stat b,main.page .stat b{font-size:32.5px}
dialog .stat span,main.page .stat span{font-size:16px}
dialog .qsec h2,main.page .qsec h2{font-size:21.5px}
dialog .qsec p.lead,main.page .qsec p.lead{font-size:17px}
dialog .verdict .box h4,main.page .verdict .box h4{font-size:18px}
dialog footer,main.page footer{font-size:16px}
dialog .sub,main.page .sub{font-size:16px}
dialog a.btn,main.page a.btn{font-size:16.5px}
dialog .samples a,main.page .samples a{font-size:16.5px}
dialog ul.links li,main.page ul.links li{font-size:17px}
dialog .crumbs,main.page .crumbs{font-size:16.5px}
dialog .page-title,main.page .page-title{font-size:28px}
dialog .sec h2.h,main.page .sec h2.h{font-size:18px}
dialog .seg-btn,main.page .seg-btn{font-size:16.5px}
dialog .pin,main.page .pin{font-size:15px}
dialog .brief summary,main.page .brief summary{font-size:19px}
dialog .obs-hl,main.page .obs-hl{font-size:17px}
dialog .obs-group,main.page .obs-group{font-size:16.5px}
dialog .obs-row,main.page .obs-row{font-size:17px}
dialog .obs-item,main.page .obs-item{font-size:15px}
dialog .obs-src,main.page .obs-src{font-size:15px}
dialog .tl-axis,main.page .tl-axis{font-size:14px}
dialog .tl-name,main.page .tl-name{font-size:15px}
dialog .crowd-calc,main.page .crowd-calc{font-size:17px}
dialog .crowd-calc details,main.page .crowd-calc details{font-size:16.5px}
dialog details.month>summary,main.page details.month>summary{font-size:19px}
dialog details.month>summary::before,main.page details.month>summary::before{font-size:15px}
dialog details.month>summary .mcount,main.page details.month>summary .mcount{font-size:15px}

/* サイトのバナー(Runway で作成した野菜・果物のイラスト。2026-09-23 #53・#54)
   サイトタイトル「旬のおでかけ」をバナーの上に載せる。トップ(旬カレンダー)は大きく、一覧・拠点ページは細い帯 */
header.top.site-hero{aspect-ratio:1584/672;max-height:300px;width:100%;background:#fdf5e2 url("img/banner.webp") center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;border-bottom:0}
header.top.top-banner{background:#fdf5e2 url("img/banner.webp") center/cover no-repeat}
header.top.top-banner .head{min-height:80px}
/* サイト名は、はんなり明朝で輪郭化した図形(img/site-title.svg)を表示し、文字は読み上げ・検索用に透明で残す(#57) */
header.top.site-hero .brand>span,header.top.top-banner .brand>span,header.top.top-banner .brand>a{display:block;aspect-ratio:1220/260;
  background:url("img/site-title.svg") center/contain no-repeat;color:transparent !important;overflow:hidden;white-space:nowrap;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.75)) drop-shadow(0 0 6px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(0,0,0,.4))}
header.top.site-hero .brand>span{height:clamp(44px,9vw,92px)}
header.top.top-banner .brand>span,header.top.top-banner .brand>a{height:34px;margin-left:8px}
header.top.top-banner .tabs{background:rgba(26,22,20,.78);border-radius:999px;padding:3px}
@media (max-width:720px){header.top.site-hero,header.top.top-banner{background-image:url("img/banner-800.webp")}}
