/* 比べる画面以外のページ（拠点・地域・ジャンル）の見た目。配色・書体は比べる画面（src/index.html）と同じ */
:root { --bg:#FFFFFF; --bg-sub:#F6F6F4; --text:#1A1A1A; --text-sub:#555555; --text-muted:#6E6E6E; --border:#E0E0E0; --border-soft:#F0F0F0; --accent:#2457A4; --on-accent:#FFFFFF;
  --font-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif; --font-sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif; color-scheme: light; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font-sans); font-size:0.9375rem; line-height:1.8; }
a { color:var(--accent); }
.wrap { max-width:920px; margin-inline:auto; padding-inline:20px; }
.masthead { border-bottom:1px solid var(--border); }
.masthead .wrap { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 20px; padding-block:16px 15px; }
.brand { font-family:var(--font-serif); font-size:1.375rem; letter-spacing:0.1em; color:var(--text); text-decoration:none; }
.masthead p { margin:0; color:var(--text-sub); font-size:0.8125rem; letter-spacing:0.05em; }
.doc { padding-block:22px 48px; }
.crumbs { font-size:0.8125rem; color:var(--text-muted); }
h1 { margin:14px 0 10px; font-family:var(--font-serif); font-weight:400; font-size:1.5rem; letter-spacing:0.06em; line-height:1.5; text-wrap:balance; }
h1 small, h2 small { margin-left:10px; font-family:var(--font-sans); font-size:0.8125rem; letter-spacing:0.04em; color:var(--text-sub); }
h2 { margin:36px 0 4px; padding-bottom:10px; border-bottom:1px solid var(--text); font-family:var(--font-serif); font-weight:400; font-size:1.125rem; letter-spacing:0.08em; }
.lead { color:var(--text-sub); font-size:0.875rem; max-width:44em; }
.tags { display:flex; flex-wrap:wrap; gap:4px 5px; margin:0; font-size:0.6875rem; }
.tag { border:1px solid var(--border); border-radius:2px; padding:0 7px; line-height:1.75; color:var(--text-sub); white-space:nowrap; }
.tag.yes { background:var(--accent); color:var(--on-accent); border-color:var(--accent); letter-spacing:0.06em; }
.tag.op { border-color:var(--text); color:var(--text); letter-spacing:0.06em; }
.facts { margin:22px 0; display:grid; grid-template-columns:7em minmax(0,1fr); gap:10px 14px; font-size:0.875rem; }
.facts dt { color:var(--text-muted); }
.facts dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.prices { margin:0; padding:0; list-style:none; }
.prices li + li { margin-top:4px; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:24px 0 10px; font-size:0.875rem; }
.btn { display:inline-block; background:var(--accent); color:var(--on-accent); border-radius:4px; padding:9px 22px; letter-spacing:0.06em; text-decoration:none; }
.btn:hover { opacity:0.8; }
.provenance { color:var(--text-muted); font-size:0.75rem; }
.rows { list-style:none; margin:0; padding:0; }
.rows li { position:relative; padding:14px 0; border-bottom:1px solid var(--border-soft); }
.rows .n { font-family:var(--font-serif); letter-spacing:0.04em; color:var(--text); text-decoration:none; }
.rows .n:hover { color:var(--accent); }
.rows .n small { margin-left:8px; font-family:var(--font-sans); font-size:0.78125rem; color:var(--text-sub); letter-spacing:0.02em; }
.rows .d { position:absolute; right:0; top:14px; font-size:0.8125rem; color:var(--accent); font-variant-numeric:tabular-nums; }
.rows .tags { margin:5px 0 4px; }
.rows .s { margin:0; font-size:0.8125rem; overflow-wrap:anywhere; }
.rows .a { margin:0; font-size:0.75rem; color:var(--text-muted); }
.areas { list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:6px 18px; font-size:0.875rem; }
.areas span { margin-left:6px; font-size:0.6875rem; color:var(--text-muted); }
.foot { border-top:1px solid var(--border); }
.foot .wrap { padding-block:18px 26px; font-size:0.75rem; color:var(--text-muted); line-height:1.9; }
.foot p { margin:0; }
.foot a { color:var(--text-sub); }
