 :root{--ink:#25221f;--line:#ddd4c8;--deep:#1f2724}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fcfbf8;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9}.wrap{width:min(1120px,calc(100% - 56px));margin:auto}a{color:inherit}.site-header{height:62px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{width:min(1180px,calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;gap:16px}.brand{font:700 24px Georgia,serif;text-decoration:none}.brand-sub{font-size:10px;color:#6e665c}.site-header nav{margin-left:auto;display:flex;gap:22px}.site-header nav a{text-decoration:none;font-size:11px}.hero{height:520px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,14,.92),rgba(12,15,14,.65) 48%,rgba(12,15,14,.18) 80%)}.hero-copy{position:absolute;left:max(6vw,calc((100% - 1120px)/2));top:50%;transform:translateY(-50%);width:min(720px,60vw);color:#fff}.eyebrow,.section-label{font-size:10px;font-weight:800;letter-spacing:.17em}.hero h1{font:500 56px/1.25 "Yu Mincho",serif;margin:14px 0 20px}.hero-lead{font:600 20px/1.8 "Yu Mincho",serif}.hero-credit{position:absolute;right:16px;bottom:10px;color:#fff;font-size:9px}.spoiler{padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;color:#80514c}.intro{display:grid;grid-template-columns:1.45fr 1fr;gap:58px;padding:60px 0;border-bottom:1px solid var(--line)}.intro h2,.story h2{font:500 34px/1.45 "Yu Mincho",serif;margin:0 0 18px}.intro p{font-family:"Yu Mincho",serif;font-size:15px}.toc{border-left:1px solid var(--line);padding-left:28px}.toc li{font-size:13px;margin:7px 0}.toc a{text-decoration:none}.story{padding:72px 0}.dark{background:#1f2724;color:#f3eee4}.tint{background:#f1ede5}.twilight{background:linear-gradient(180deg,#efe4df,#d9c5c1)}.split{display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}.copy .num,.wide-head .num{font:700 44px Georgia,serif;color:#d1c2aa;margin-right:12px}.copy p{font-size:14px;color:#514b44}.dark .copy p{color:#d7d0c5}.visual{min-height:320px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;padding:34px;background:#f3eee6}.visual strong{font:600 29px/1.5 "Yu Mincho",serif}.dark .visual{background:#2b3430;border-color:rgba(255,255,255,.16);color:#fff}.twilight .visual{background:linear-gradient(#d9d7dc,#d8af9e,#6b5a65);color:#fff}.ad-slot{height:96px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#9a9287;font-size:9px;letter-spacing:.18em}.wide-head{margin-bottom:34px}.wide-head h2{display:inline;font:500 34px/1.45 "Yu Mincho",serif}.hida-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.place-card{border:1px solid var(--line);background:#fff}.place-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.place-card div{padding:15px}.place-card b{font:600 18px "Yu Mincho",serif}.place-card p{font-size:10px;color:#6c655d}.text-place{display:flex;align-items:center;justify-content:center;min-height:260px;background:#ede8df}.hida-ending{font:600 20px/1.7 "Yu Mincho",serif;margin:30px 0}.sources{padding:28px 0 56px}.site-footer{background:#171b19;color:#eee9df;padding:34px 0}.site-footer .wrap{display:flex;gap:20px}.site-footer b{font:700 22px Georgia,serif}.site-footer span{font-size:11px}

/* V0.2 — Feature typography SSOT */
:root{
  --feature-mincho:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;
  --feature-gothic:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
.hero h1,.hero-lead,.intro h2,.story h2,.wide-head h2,
.copy h2,.place-card b,.related h2,.related-card b,.hida-ending{
  font-family:var(--feature-mincho);
}
body{font-family:var(--feature-gothic)}
.intro p,.chapter-lead{font-family:var(--feature-mincho)}

.photo-visual{padding:0;overflow:hidden;display:block;background:#eee}
.photo-visual img{display:block;width:100%;height:310px;object-fit:cover}
.photo-visual figcaption{padding:10px 14px;font-size:10px;color:#6c655e;background:#f7f3ec;text-align:left}

.chapter-lead{font-size:17px;line-height:1.9;max-width:850px;margin:0 0 30px}
.hida-culture-grid{grid-template-columns:repeat(3,1fr)}
.hida-culture-grid .place-card img{aspect-ratio:4/3}
.micro-label{display:block;font-size:9px;letter-spacing:.15em;color:#85796b;margin-bottom:4px}

.related{padding:68px 0 80px;border-top:1px solid var(--line)}
.related-head{margin-bottom:24px}
.related h2{font-size:32px;font-weight:500;margin:6px 0 0}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.related-card{display:block;text-decoration:none;border:1px solid var(--line);background:#fff;padding:22px;min-height:170px;transition:.2s}
.related-card:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(0,0,0,.07)}
.related-category{font-size:9px;letter-spacing:.12em;color:#8a7e70}
.related-card b{display:block;font-size:21px;margin:7px 0 8px;font-weight:600}
.related-card p{font-size:11px;line-height:1.7;color:#665f57;margin:0}

.photo-visual{padding:0;overflow:hidden;background:#efeae1}
.photo-visual img{display:block;width:100%;height:330px;object-fit:cover}
.photo-visual figcaption{padding:10px 13px;font-size:10px;line-height:1.55;color:#6b625a;background:#f8f4ed;text-align:left}
.dark .photo-visual figcaption{background:#f8f4ed;color:#6b625a}
.related-card{padding:0;overflow:hidden}
.related-thumb{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.related-card .related-category,.related-card b,.related-card p{margin-left:18px;margin-right:18px}
.related-card .related-category{display:block;margin-top:16px}
.related-card p{margin-bottom:18px}
