/* まち巡りマップ専用サイトの見た目。「和の雑誌」型＝縦書きの見出し・朱の印・細い罫線・余白。
   色はアプリと同じ赤茶と生成り（正本＝apps/rekishi-dosen/CLAUDE.md「ブランドカラー・デザイン方針」）。
   写真が無いサイトなので、文字・地図・数字で見せる。枠で囲まず、線と余白で区切る。 */
:root{
  --bg:#FDFBF7; --paper:#F5EFE4; --ink:#2A2420; --sub:#74685C; --faint:#A3978A;
  --accent:#9E3428; --accent-dark:#7E2A22; --line:#DDD3C3; --gold:#A8832B; --moss:#5E6B4E;
  --serif:"Shippori Mincho","Noto Serif JP",serif; --sans:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.9}
a{color:var(--accent)}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.5;margin:0}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:1000;background:rgba(253,251,247,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:center;gap:18px;height:58px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{border-radius:9px}
.brand span{font-family:var(--serif);font-weight:700;font-size:1.02rem;line-height:1.25;letter-spacing:.04em}
.brand small{display:block;font-family:var(--sans);font-weight:500;font-size:.62rem;color:var(--sub);letter-spacing:.1em}
.nav{display:flex;gap:24px}
.nav a{font-family:var(--serif);color:var(--ink);text-decoration:none;font-size:.9rem;letter-spacing:.08em}
.nav a:hover{color:var(--accent)}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;
  padding:13px 26px;border-radius:3px;font-size:.96rem;line-height:1.4;letter-spacing:.06em}
.btn:hover{background:var(--accent-dark)}
.btn-sm{padding:8px 14px;font-size:.8rem;white-space:nowrap}
@media(max-width:720px){.nav{display:none}}

/* パンくず */
.crumbs{display:flex;flex-wrap:wrap;gap:0 8px;margin:20px 0 0;font-size:.74rem;color:var(--faint)}
.crumbs a{color:var(--faint);text-decoration:none}
.crumbs a::after{content:"／";margin-left:8px;color:var(--line)}

/* 朱の印 */
.seal{font-style:normal;font-family:var(--serif);font-weight:700;background:var(--accent);color:#fff;
  writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.22em;line-height:1;padding:9px 5px 7px}

/* 縦書きの題＋横書きの説明 */
.intro{display:grid;grid-template-columns:auto 1fr;gap:0 24px;margin-top:22px;align-items:start}
.kicker{grid-column:1/-1;margin:0 0 16px;font-size:.74rem;font-weight:700;letter-spacing:.34em;color:var(--accent)}
.intro h1{writing-mode:vertical-rl;font-weight:800;line-height:1.5;letter-spacing:.14em;
  min-height:19rem;padding:0 16px 0 0;border-right:1px solid var(--ink)}
.intro h1 .h-t{display:block}
/* 題の左の列: 上に副題、下に朱の印 */
.intro h1 .h-sub{display:flex;justify-content:space-between;align-items:center;margin-right:10px}
.intro h1 small{font-size:.84rem;font-weight:500;color:var(--sub);letter-spacing:.26em;margin-top:.2em}
.lead{margin:2px 0 0;font-family:var(--serif);font-weight:500;font-size:1.02rem;line-height:2.2}
.lead p{margin:0 0 .9em} .lead p:last-child{margin-bottom:0}
/* テーマの問い（巡りの手帳） */
.lead .q{font-size:1.24rem;font-weight:700;line-height:1.8;color:var(--accent);letter-spacing:.04em}
.lead .facts{font-family:var(--sans);font-weight:400;font-size:.8rem;line-height:1.8;color:var(--sub)}
/* スマホ: 題の右には説明だけ。件数と時代別の帯は、その下に全幅で並べる */
.intro-r{display:contents}
.intro .stats,.intro .eras{grid-column:1/-1}
@media(min-width:860px){
  .intro{gap:0 40px}
  .intro-r{display:block}
  .lead{font-size:1.08rem;max-width:34em}
  .intro .stats{margin-top:30px}
  .intro .eras{margin-top:30px}
}

/* 件数 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:34px 0 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.stats div{padding:16px 0 12px;text-align:center}
.stats div+div{border-left:1px solid var(--line)}
.stats b{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1.1}
.stats span{font-size:.7rem;margin-left:2px;color:var(--sub)}
.stats i{display:block;margin-top:5px;font-style:normal;font-size:.64rem;color:var(--sub);letter-spacing:.04em}
.stats .k-kokuho b{color:var(--gold)} .stats .k-juubun b{color:var(--accent)} .stats .k-touroku b{color:var(--moss)}

/* 地図。古い紙に刷った地図のような色味にする */
.map-wrap{margin:34px 0 0}
.map{height:400px;border:1px solid var(--ink);background:var(--paper);z-index:0}
.map .leaflet-tile-pane{filter:grayscale(1) sepia(.32) contrast(.94) brightness(1.04)}
.map-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:10px 0 0;font-size:.74rem;color:var(--sub)}
.map-note em{font-style:normal;color:var(--faint);margin-left:auto}
.dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);margin-right:-8px}
.dot.k-kokuho{background:var(--gold)} .dot.k-juubun{background:var(--accent)} .dot.k-touroku{background:var(--moss)}
/* 地図の番号。一覧と同じ番号で、押すとその文化財のページを開く */
.pin{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #fff;color:#fff;
  font:700 11px/1 var(--sans);box-shadow:0 1px 3px rgba(0,0,0,.35);cursor:pointer}
.pin.k-kokuho{background:var(--gold)} .pin.k-juubun{background:var(--accent)} .pin.k-touroku{background:var(--moss)}
.pin.plain{width:12px;height:12px}
.pin.here{width:34px;height:34px;font-size:13px;border-width:3px;box-shadow:0 0 0 3px var(--ink),0 2px 6px rgba(0,0,0,.4);cursor:default}
.leaflet-marker-icon:hover{z-index:2000!important}
.leaflet-tooltip{font-family:var(--serif);font-size:.82rem;color:var(--ink);border:1px solid var(--ink);border-radius:0;box-shadow:none}
@media(max-width:560px){.map{height:330px}}

/* 時代別の帯 */
.eras{margin:40px 0 0}
.label{font-size:.8rem;font-family:var(--sans);font-weight:700;letter-spacing:.3em;color:var(--accent)}
.era-bar{display:flex;gap:3px;margin-top:12px}
.era{flex-basis:44px;min-width:38px;border-top:6px solid var(--ink);padding-top:8px;text-align:left}
.era:nth-child(odd){border-top-color:var(--sub)}
.era b{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.1}
.era span{font-size:.72rem;color:var(--sub);letter-spacing:.08em}

/* アプリへの案内 */
.cta{margin:48px -22px 0;padding:34px 22px;background:var(--paper);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.cta-in{display:flex;align-items:center;gap:30px;max-width:760px;margin:0 auto}
.cta img{flex:0 0 auto;width:140px;border-radius:16px;border:1px solid var(--line)}
.cta-k{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.3em;color:var(--accent)}
.cta h2{font-size:1.35rem;margin-top:6px;letter-spacing:.06em;line-height:1.6}
.cta p{margin:10px 0 18px;font-size:.9rem;color:var(--sub)}
@media(max-width:560px){.cta-in{gap:20px;align-items:flex-start}.cta img{width:104px}.cta h2{font-size:1.15rem}}
@media(min-width:1045px){.cta{margin-left:0;margin-right:0}}

/* 一覧 */
.list{margin:52px 0 0}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.toc a{font-family:var(--serif);font-size:.9rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);padding:3px 12px;letter-spacing:.06em}
.toc a span{margin-left:6px;font-family:var(--sans);font-size:.7rem;color:var(--accent);font-weight:700}
.toc a:hover{border-color:var(--accent)}
.grp{margin:40px 0 0;scroll-margin-top:72px}
.grp h2{display:flex;align-items:baseline;gap:12px;font-size:1.3rem;font-weight:800;letter-spacing:.14em;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.grp h2 i{font-style:normal;font-family:var(--sans);font-size:.74rem;font-weight:500;color:var(--sub);letter-spacing:.06em}
.items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px}
.item{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:72px}
.no{flex:0 0 auto;width:1.9em;font-family:var(--serif);font-size:.86rem;color:var(--faint);letter-spacing:.06em;padding-top:3px}
.item-b{min-width:0}
.item h3{font-size:1.1rem;letter-spacing:.05em}
.item-m{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:6px 0 0;font-size:.76rem;color:var(--sub)}
.stamp{font-family:var(--serif);font-weight:700;font-size:.68rem;line-height:1;padding:3px 6px 2px;border:1px solid currentColor;letter-spacing:.12em}
.stamp.k-kokuho{color:var(--gold)} .stamp.k-juubun{color:var(--accent)} .stamp.k-touroku{color:var(--moss)}
.item-s{margin:9px 0 0;font-size:.86rem;line-height:1.85}
.src{display:inline-block;margin-top:6px;font-size:.74rem;color:var(--sub)}
.src::after{content:" →"}
@media(max-width:760px){.items{grid-template-columns:1fr}}

/* トップ */
.hero{background:var(--paper);border-bottom:1px solid var(--ink)}
.hero-in{display:grid;grid-template-columns:auto 1fr auto;gap:0 34px;align-items:end;padding-top:44px}
.hero h1{writing-mode:vertical-rl;position:relative;align-self:start;font-size:clamp(1.9rem,5.6vw,2.7rem);font-weight:800;
  line-height:1.65;letter-spacing:.16em;min-height:8.4em;padding:0 0 0 34px}
.hero h1 span{display:block}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero h1 .seal{position:absolute;left:0;bottom:0;font-size:.72rem}
.hero-b{align-self:center;padding-bottom:44px}
.hero-b .kicker{margin-bottom:10px}
.hero-p{margin:0 0 22px;max-width:28em;font-family:var(--serif);font-weight:500;line-height:2.15}
.hero-img{width:240px;border-radius:24px 24px 0 0;border:1px solid var(--line);border-bottom:0;display:block}
@media(max-width:760px){
  .hero-in{grid-template-columns:auto 1fr;gap:0 22px;padding-top:30px}
  .hero-b{padding-bottom:26px}
  .hero-img{grid-column:1/-1;justify-self:center;width:200px}
}
.sec{margin:60px 0 0}
.sec h2{font-size:1.45rem;font-weight:800;letter-spacing:.16em;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.sec-p{margin:12px 0 0;color:var(--sub);font-size:.9rem}
.rows{margin-top:8px}
.row{display:grid;grid-template-columns:5.5em 1fr auto;align-items:baseline;gap:2px 16px;padding:18px 2px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink)}
.row:hover b{color:var(--accent)}
.row-l{font-size:.72rem;color:var(--sub);letter-spacing:.12em}
.row b{font-family:var(--serif);font-size:1.3rem;font-weight:700;letter-spacing:.1em}
.row-n{font-family:var(--serif);font-size:1.3rem;color:var(--accent)}
.row-n i{font-style:normal;font-size:.72rem;margin-left:2px;color:var(--sub)}
.row-k{grid-column:2/-1;font-size:.78rem;color:var(--sub)}

/* 一覧の名前（文化財のページへ） */
.item h3 a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.item h3 a:hover{color:var(--accent);border-bottom-color:var(--accent)}

/* この町のこと・見るポイント（読み物の段） */
.about,.points,.text{margin:44px 0 0;max-width:42em}
.about p,.text p{margin:12px 0 0;font-family:var(--serif);font-weight:500;font-size:1.02rem;line-height:2.15}
.text p{font-family:var(--sans);font-weight:400;font-size:.95rem;line-height:2}
.about .about-more,.more-p{font-family:var(--sans);font-size:.82rem;line-height:1.9;color:var(--sub)}
.points ol{margin:12px 0 0;padding:0;list-style:none;counter-reset:pt}
.points li{counter-increment:pt;position:relative;padding:12px 0 12px 2.6em;border-bottom:1px solid var(--line);font-size:.93rem}
.points li::before{content:counter(pt,cjk-ideographic);position:absolute;left:.3em;top:10px;font-family:var(--serif);font-size:1.05rem;color:var(--accent)}
.text .src{font-size:.74rem;color:var(--faint)}

/* 鍵（続きはアプリで読める） */
.lock{display:inline-block;width:11px;height:9px;margin-right:8px;border:1.5px solid var(--accent);border-radius:1px;position:relative;vertical-align:1px}
.lock::before{content:"";position:absolute;left:1.5px;top:-6.5px;width:5px;height:5px;border:1.5px solid var(--accent);border-bottom:0;border-radius:4px 4px 0 0}
.more{margin:48px 0 0}
.chapters{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--ink)}
.chapters li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding:16px 2px;border-bottom:1px solid var(--line)}
.chapters b{font-family:var(--serif);font-size:1.08rem;letter-spacing:.06em}
.chapters i{font-style:normal;font-size:.76rem;color:var(--sub);margin-left:auto}
.more-p{margin:12px 0 0}

/* 巡りの手帳のテーマの札 */
.techo{margin:48px 0 0}
.techo-p{margin:8px 0 0;font-size:.88rem;color:var(--sub)}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;margin-top:10px;border-top:1px solid var(--ink)}
.tcard{position:relative;display:block;padding:18px 3.4em 18px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.tcard b{display:block;font-family:var(--serif);font-size:1.12rem;line-height:1.6;letter-spacing:.05em}
.tcard:hover b{color:var(--accent)}
.tcard-s{display:block;margin-top:3px;font-size:.78rem;line-height:1.7;color:var(--sub)}
.tcard-q{display:block;margin-top:6px;font-family:var(--serif);font-size:.86rem;line-height:1.8;color:var(--accent)}
.tcard-n{position:absolute;right:2px;top:17px;font-family:var(--serif);font-size:1.15rem;color:var(--accent)}
.tcard-n i{font-style:normal;font-size:.68rem;margin-left:1px;color:var(--sub)}
@media(max-width:860px){.tcards{grid-template-columns:1fr}}
.sec h2{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.sec h2 a{font-family:var(--sans);font-size:.76rem;font-weight:500;letter-spacing:.08em;color:var(--sub);text-decoration:none}
.sec h2 a::after{content:" →"}
.sec .tcards{border-top:0;margin-top:2px}

/* 文化財1件のページ */
.spot-h{margin-top:22px;padding-bottom:22px;border-bottom:1px solid var(--ink)}
.spot-h .kicker{margin-bottom:10px}
.spot-h h1{font-size:clamp(1.6rem,5.4vw,2.3rem);font-weight:800;letter-spacing:.06em;line-height:1.5}
.spot-no{display:inline-block;margin-right:.5em;font-size:.6em;font-weight:500;color:var(--faint);letter-spacing:.06em;vertical-align:.25em}
.spot-k{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:.82rem;color:var(--sub)}
.spot-grid{display:grid;grid-template-columns:1fr 380px;gap:0 44px;align-items:start}
.spot-main .text{margin-top:28px}
.spot-side .map-wrap{margin-top:28px;position:sticky;top:78px}
.facts-dl{margin:30px 0 0;border-top:1px solid var(--ink)}
.facts-dl div{display:grid;grid-template-columns:6.5em 1fr;gap:0 12px;padding:11px 2px;border-bottom:1px solid var(--line)}
.facts-dl dt{font-size:.76rem;color:var(--sub);letter-spacing:.1em;padding-top:2px}
.facts-dl dd{margin:0;font-size:.92rem}
@media(max-width:860px){.spot-grid{grid-template-columns:1fr}.spot-side{order:-1}.spot-side .map-wrap{position:static}}
.pager{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:44px 0 0;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.pager a{text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:.92rem;line-height:1.6}
.pager a:hover{color:var(--accent)}
.pager i{display:block;font-style:normal;font-family:var(--sans);font-size:.7rem;color:var(--faint);letter-spacing:.08em}
.pager .prev i::before{content:"← "} .pager .next i::after{content:" →"}
.pager .next{text-align:right}
.pager .up{font-family:var(--sans);font-size:.76rem;color:var(--sub);border:1px solid var(--line);padding:6px 12px;white-space:nowrap}

/* 巡る順の説明（町ごとの見出しの下） */
.grp-w{margin:10px 0 0;font-size:.82rem;color:var(--sub)}

/* 文化財ページ: 地図アプリで開く・近くの文化財 */
.go{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.go a{font-size:.82rem;text-decoration:none;color:var(--ink);border:1px solid var(--ink);padding:8px 14px;letter-spacing:.04em}
.go a:hover{background:var(--ink);color:#fff}
.go-n{margin:10px 0 0;font-size:.74rem;color:var(--faint)}
.near{margin:26px 0 0}
.near ul{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--ink)}
.near li{display:flex;align-items:baseline;gap:10px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:.9rem}
.near li a{font-family:var(--serif);color:var(--ink);text-decoration:none;letter-spacing:.03em}
.near li a:hover{color:var(--accent)}
.near li i{margin-left:auto;font-style:normal;font-size:.74rem;color:var(--sub);white-space:nowrap}
.near .no{width:auto;padding:0}

/* 件数の多い一覧（名前だけの短い行） */
.minis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px}
.minis li{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.minis b{font-family:var(--serif);font-weight:500;letter-spacing:.03em;min-width:0}
.minis b a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.minis b a:hover{color:var(--accent)}
.minis i{margin-left:auto;font-style:normal;font-size:.74rem;color:var(--sub);white-space:nowrap}
.minis .stamp{flex:0 0 auto}
@media(max-width:760px){.minis{grid-template-columns:1fr}}

/* 都道府県の入口 */
.ptiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;margin-top:2px}
.ptile{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:14px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.ptile b{font-family:var(--serif);font-size:1.08rem;letter-spacing:.08em}
.ptile:hover b{color:var(--accent)}
.ptile span{font-family:var(--serif);color:var(--accent)}
.ptile i{font-style:normal;font-size:.68rem;margin-left:1px;color:var(--sub)}
@media(max-width:860px){.ptiles{grid-template-columns:repeat(2,1fr)}}
.row.off{color:var(--sub)}
.row.off b{font-weight:500}
.row-l{color:var(--accent)}

/* 新着情報（トップ）。日付・区分・見出し。新しい4件を見せ、残りは「もっと見る」に畳む */
.news{margin-top:2px}
.nrow{display:grid;grid-template-columns:6.2em 6.6em minmax(0,1fr);gap:2px 14px;align-items:baseline;padding:15px 2px;
  border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.nrow i{font-style:normal;font-size:.78rem;color:var(--faint);letter-spacing:.06em;font-feature-settings:"tnum"}
.nrow em{font-style:normal;font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.1em}
.nrow b{font-family:var(--serif);font-weight:500;font-size:1rem;line-height:1.7;letter-spacing:.03em}
a.nrow:hover b{color:var(--accent)}
.news-more summary{list-style:none;cursor:pointer;padding:12px 2px 0;text-align:right;font-size:.78rem;color:var(--sub)}
.news-more summary::-webkit-details-marker{display:none}
.news-more .less,.news-more[open] .more{display:none}
.news-more[open] .less{display:inline}
.news-more[open]{display:flex;flex-direction:column}
.news-more[open] summary{order:99}
@media(max-width:600px){.nrow{grid-template-columns:auto 1fr;gap:2px 12px}.nrow b{grid-column:1/-1}}

/* コラムの一覧の行 */
.crows{margin-top:2px}
.crow{display:block;padding:18px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.crow-m{display:flex;gap:14px;align-items:baseline}
.crow-m i{font-style:normal;font-size:.76rem;color:var(--faint);letter-spacing:.06em}
.crow-m em{font-style:normal;font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.1em}
.crow b{display:block;margin-top:4px;font-family:var(--serif);font-size:1.14rem;line-height:1.7;letter-spacing:.04em}
.crow:hover b{color:var(--accent)}
.crow-d{display:block;margin-top:4px;font-size:.84rem;line-height:1.85;color:var(--sub)}

/* コラムの本文 */
.col{max-width:720px;margin:0 auto}
.col-h{margin-top:22px;padding-bottom:24px;border-bottom:1px solid var(--ink)}
.col-h h1{font-size:clamp(1.55rem,5vw,2.1rem);font-weight:800;letter-spacing:.05em;line-height:1.6}
.col-d{margin:14px 0 0;font-family:var(--serif);font-weight:500;font-size:1rem;line-height:2.1;color:var(--sub)}
.col-date{margin:12px 0 0;font-size:.76rem;color:var(--faint);letter-spacing:.08em}
.prose{margin-top:8px;font-size:1rem;line-height:2.05}
.prose p{margin:1.5em 0 0}
.prose h2{margin:2.6em 0 0;padding-bottom:10px;font-size:1.35rem;font-weight:800;letter-spacing:.08em;border-bottom:1px solid var(--ink)}
.prose h3{margin:2em 0 0;font-size:1.1rem;letter-spacing:.06em;padding-left:.7em;border-left:3px solid var(--accent)}
.prose ul,.prose ol{margin:1.2em 0 0;padding-left:1.5em}
.prose li{margin:.4em 0}
.prose blockquote{margin:1.5em 0 0;padding:14px 18px;background:var(--paper);border-left:3px solid var(--line);font-size:.94rem}
.prose b{font-weight:700}
.table-wrap{margin:1.5em 0 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.prose table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.7;border-top:1px solid var(--ink)}
.prose th,.prose td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{font-size:.76rem;font-weight:700;color:var(--sub);letter-spacing:.06em;white-space:nowrap}
.prose td b{font-family:var(--serif);font-size:1.05rem}

/* 建物の見方 */
.prose .pts{list-style:none;margin:1.2em 0 0;padding:0;counter-reset:pt;border-top:1px solid var(--ink)}
.prose .pts li{counter-increment:pt;position:relative;margin:0;padding:16px 0 16px 2.8em;border-bottom:1px solid var(--line)}
.prose .pts li::before{content:counter(pt,cjk-ideographic);position:absolute;left:.4em;top:13px;font-family:var(--serif);font-size:1.2rem;color:var(--accent)}
.guide-t{grid-template-columns:repeat(2,1fr);margin-top:1.2em}
.col .minis{margin-top:1em;border-top:1px solid var(--ink);grid-template-columns:1fr}
.glinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.glinks a{font-family:var(--serif);font-size:.92rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);padding:4px 14px;letter-spacing:.06em}
.glinks a:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:860px){.guide-t{grid-template-columns:1fr}}

/* フッター */
.ft-nav{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px}
.ft-nav a{font-family:var(--serif);font-size:.86rem;color:var(--ink);text-decoration:none;letter-spacing:.06em}
.ft{margin-top:80px;background:var(--paper);border-top:1px solid var(--ink);padding:32px 0 40px}
.ft-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;letter-spacing:.06em}
.ft-brand img{border-radius:7px}
.ft-note{margin:14px 0 0;font-size:.72rem;line-height:1.9;color:var(--sub);max-width:60em}
.ft-copy{margin:10px 0 0;font-size:.72rem;color:var(--faint)}
