/*
Theme Name: NIPPON FOLK
Theme URI: https://nipponfolk.com
Author: MEGURIWA / コーディ
Description: NIPPON FOLK — bilingual (JA主/EN) folk-craft dictionary CMS. Kinfolk editorial skin over a node/relation knowledge DB.
Version: 1.0.0
*/

/* ===== tokens & base ===== */
:root{--paper:#FAF8F2;--ink:#1E1A15;--sub:#736A5E;--line:#E0DACD;--ame:#8E5E32;--green:#5C6149}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%} /* ★2026-07-17 横向きでiOSが文字を勝手に拡大する既定挙動を停止 */
body{background:var(--paper);color:var(--ink);font-family:'Spectral',serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.wrap{max-width:1480px;margin:0 auto;padding:0 56px}
.label{font-family:'Inter',sans-serif;font-weight:500;font-size:17px;letter-spacing:.26em;text-transform:uppercase}
.ja{font-family:'Shippori Mincho',serif}
a{color:inherit}

/* ===== masthead（既定solid／front=透明オーバーレイ白） ===== */
.mast{display:flex;justify-content:space-between;align-items:center;padding:26px 56px;border-bottom:1.5px solid var(--ink);position:relative;z-index:5;background:var(--paper)}
.mast .brand{font-family:'Playfair Display',serif;font-size:24px;letter-spacing:.28em;text-decoration:none;color:var(--ink)}
.mast nav{font-family:'Inter',sans-serif;font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);display:flex;gap:34px;align-items:center}
.mast nav a{color:var(--sub);text-decoration:none}
.mast nav a.on{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}
.mast .lang-sw{font-size:13px;letter-spacing:.14em;border:1px solid var(--line);border-radius:1px;padding:5px 11px;color:var(--sub)}
/* front overlay */
body.home .mast{position:absolute;top:0;left:0;right:0;border-bottom:none;background:transparent}
body.home .mast .brand{color:#fff}
body.home .mast nav a{color:rgba(255,255,255,.82)}
body.home .mast nav a.on{color:#fff;border-bottom-color:rgba(255,255,255,.7)}
body.home .mast .lang-sw{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.4)}

/* ===== footer ===== */
.foot{border-top:1.5px solid var(--ink);padding:0}
.foot__in{max-width:1480px;margin:0 auto;padding:64px 56px 56px;display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}
.foot__tag{font-family:'Shippori Mincho',serif;font-size:17px;line-height:1.9;color:var(--sub);margin-top:22px}
.foot__ig{display:inline-flex;align-items:center;gap:12px;margin-top:30px;font-family:'Inter',sans-serif;font-size:15px;letter-spacing:.12em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:6px;transition:.25s}
.foot__ig:hover{border-bottom-color:var(--ink)}
.foot__nav{display:flex;flex-direction:column;gap:20px;font-family:'Inter',sans-serif;font-size:16px;letter-spacing:.22em;text-transform:uppercase;text-align:right}
.foot__nav a{color:var(--ink);text-decoration:none;transition:.25s}
.foot__nav a:hover{color:var(--ame)}
.foot__base{max-width:1480px;margin:0 auto;padding:22px 56px 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);font-family:'Inter',sans-serif;font-size:13.5px;letter-spacing:.1em;color:var(--sub)}
.foot .brand{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:.26em;text-transform:none;color:var(--ink);text-decoration:none}

/* ===== shared: cta / src ===== */
.cta{text-align:center;padding:13vh 8vw}
.cta a{font-family:'Inter',sans-serif;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ame);padding-bottom:6px}
.src{font-family:'Inter',sans-serif;font-size:10.5px;line-height:1.9;color:#9a9388;letter-spacing:.03em;padding:0 0 7vh;max-width:900px;margin:0 auto}
.src b{color:var(--sub);font-weight:500;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:8px}
.src a{color:#9a9388}

/* ===== FRONT: hero ===== */
.hero{position:relative;height:100vh;min-height:700px;overflow:hidden;background:var(--ink)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 50%}
.hero__slides{position:absolute;inset:0;z-index:0}
.hero__slide{opacity:0;transition:opacity 1.6s ease}
.hero__slide.is-active{opacity:1}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,14,10,.66),rgba(18,14,10,.4) 36%,rgba(18,14,10,.08) 64%,transparent 82%)}
.hero__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 8vw;max-width:820px}
.hero .eyebrow{font-family:'Inter',sans-serif;font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:30px}
.hero h1{font-family:'Playfair Display',serif;color:#fff;font-weight:400;font-size:clamp(50px,8vw,118px);line-height:.98;letter-spacing:-.012em}
.hero h1 em{font-style:italic;font-weight:500}
.hero .ja{color:rgba(255,255,255,.82);font-size:18px;letter-spacing:.46em;margin-top:32px}
.hero__prov{position:absolute;left:8vw;bottom:46px;z-index:2;font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.hero__scroll{position:absolute;right:8vw;bottom:46px;z-index:2;color:rgba(255,255,255,.85);font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.3em;text-transform:uppercase}

/* FRONT: lead manifesto */
.lead{padding:18vh 8vw 12vh;text-align:center;max-width:1100px;margin:0 auto}
.lead p{font-family:'Playfair Display',serif;font-size:clamp(26px,3.4vw,46px);line-height:1.34;font-weight:400}
.lead p em{font-style:italic;color:var(--ame)}
.lead .sub{font-family:'Spectral',serif;font-size:24px;line-height:1.75;color:var(--sub);max-width:700px;margin:34px auto 0}

/* FRONT: feature */
.feat{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feat__in{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.feat__img{position:relative;overflow:hidden;background:#f1ece1;aspect-ratio:16/10;min-height:0;max-height:560px}
.feat__img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.feat__img .fid{position:absolute;left:20px;bottom:18px;font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);background:rgba(250,248,242,.82);padding:5px 10px}
.feat__txt{padding:11vh 6vw;display:flex;flex-direction:column;justify-content:center}
.feat__txt .label{color:var(--ame);margin-bottom:26px}
.feat__txt h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(38px,4.4vw,62px);line-height:1.02}
.feat__txt .ja{font-size:19px;letter-spacing:.42em;color:var(--sub);margin-top:18px}
.feat__txt .stand{font-style:italic;font-size:clamp(18px,1.7vw,23px);line-height:1.5;color:#3a342c;margin-top:30px;font-weight:300;max-width:460px}
.feat__txt .more{font-family:'Inter',sans-serif;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ame);padding-bottom:6px;margin-top:42px;align-self:flex-start}

/* FRONT: latest cards (4col) */
.lat{padding:6vh 0 10vh;width:min(1560px,calc(100vw - 72px));margin-left:50%;transform:translateX(-50%)}
.lat__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;border-bottom:1.5px solid var(--ink);padding-bottom:20px}
.lat__head h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(28px,3.2vw,44px);font-style:italic}
.lat__head .label{color:var(--sub)}
.cards--latest{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.lat .cards--latest{grid-template-columns:repeat(4,1fr);gap:36px}
.tagdex{padding:2vh 0 12vh}
.tagdex__list{display:flex;flex-wrap:wrap;gap:14px}
.dtag{font-family:'Shippori Mincho',serif;font-size:17px;letter-spacing:.08em;color:var(--ink);text-decoration:none;border:1px solid var(--ink);padding:13px 22px;transition:.25s;background:transparent}
.dtag span{font-family:'Inter',sans-serif;font-size:13.5px;letter-spacing:.06em;color:var(--sub);margin-left:8px;transition:.25s}
.dtag:hover{background:var(--ink);color:var(--paper)}
.dtag:hover span{color:rgba(250,248,242,.75)}
.cards--latest .card{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.cards--latest .card__img{aspect-ratio:4/5;overflow:hidden;background:var(--line)}
.cards--latest .card__img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.cards--latest .card:hover .card__img img{transform:scale(1.03)}
.cards--latest .card__url{font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.1em;color:var(--sub);margin:14px 0 9px;text-transform:lowercase}
.cards--latest .card__cat{font-family:'Inter',sans-serif;font-size:14.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ame);margin:0 0 9px}
.cards--latest .card h3{font-family:'Playfair Display',serif;font-weight:500;font-size:31px;line-height:1.1}
/* ★はらけんCD 2026-07-15: ラテン(RYŪIKI/JAPAN BLUE)と漢字が縦に詰まって一体に見える。
   同一行の中黒(::before)は"別行→行頭の箇条書き点"になり悪化したので撤回。正しくは別行のまま
   「行間を広げ・JAを少し大きく」して主従(ラテン=識別子／漢字=題)を分ける。 */
.cards--latest .card h3 .ja{display:block;font-size:20px;letter-spacing:.24em;color:var(--sub);margin-top:12px;font-weight:400}
.cards--latest .card p{font-size:18px;line-height:1.68;color:#2b261f;margin-top:11px}
.cards--latest .card__tag{font-family:'Inter',sans-serif;font-size:15.5px;letter-spacing:.04em;color:var(--sub);border:1px solid var(--line);border-radius:1px;padding:5px 10px;margin-top:13px;align-self:flex-start}

/* FRONT: river */
.river{margin-top:2vh;background:var(--ink) url(img/mapbg_tanada.jpg) center/cover;color:var(--paper);padding:15vh 8vw;position:relative;overflow:hidden}
.river::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(18,14,10,.92),rgba(18,14,10,.72) 46%,rgba(18,14,10,.42))}
.river svg{position:absolute;inset:0;width:100%;height:100%;opacity:.45;z-index:2}
.river__in{position:relative;z-index:3;max-width:720px}
.river .label{color:var(--green);margin-bottom:24px;filter:brightness(1.7)}
.river h2{font-family:'Playfair Display',serif;font-weight:400;font-style:italic;font-size:clamp(38px,5.2vw,78px);line-height:1.0}
.river p{font-size:20px;line-height:1.7;color:rgba(250,248,242,.78);margin-top:28px;max-width:540px;font-weight:300}
.river a{font-family:'Inter',sans-serif;font-size:16px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);text-decoration:none;border-bottom:1.5px solid var(--green);padding-bottom:6px;margin-top:38px;display:inline-block}

/* ===== SINGLE ===== */
.fhead{padding:64px 0 40px;text-align:center;max-width:980px;margin:0 auto}
.fhead .label{color:var(--ame);margin-bottom:24px}
.fhead h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(48px,7vw,92px);line-height:1.0;letter-spacing:-.01em}
.fhead .ja{font-size:34px;letter-spacing:.5em;color:var(--sub);margin-top:22px}
.fhead .stand{font-style:italic;font-size:clamp(19px,2.3vw,27px);color:#3a342c;margin-top:30px;font-weight:300;line-height:1.5}
.fhead .langlink{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-top:26px}
.fhead .langlink a{color:var(--ame);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}
.bighero{margin:18px 0 0;height:74vh;min-height:520px;overflow:hidden}
.bighero img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.credit{font-family:'Inter',sans-serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);padding:12px 0 0;text-align:right}
.grid{display:grid;grid-template-columns:1fr 340px;gap:72px;padding:72px 0 40px;align-items:start}
.art p{font-size:19px;line-height:1.74;margin-bottom:1.35em;color:#2b261f}
.art p:first-of-type.intro::first-letter,.art .intro::first-letter{font-family:'Playfair Display',serif;font-size:3.4em;line-height:.72;float:left;padding:.06em .12em 0 0;color:var(--ame)}
.art .intro{font-size:24px;line-height:1.6}
.art h2{font-family:'Playfair Display',serif;font-weight:500;font-size:30px;margin:48px 0 18px;font-style:italic}
.art em{font-style:italic}
.side{border-top:2px solid var(--ink);padding-top:22px;position:sticky;top:24px}
.side h3{font-family:'Inter',sans-serif;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--ame);margin:26px 0 12px}
.side h3:first-child{margin-top:0}
.side .row{font-size:18px;line-height:1.6;padding:9px 0;border-bottom:1px solid var(--line);color:#332e26}
.side .row small{display:block;font-family:'Inter',sans-serif;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);margin-bottom:3px}
.side .row a{color:var(--ame)}
.badge{display:inline-block;font-family:'Inter',sans-serif;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:1px;margin-left:6px}
.badge--verified{background:#e7ecdf;color:#4d5a3a}
.badge--needs_check{background:#f0e7da;color:#8E5E32}
.badge--estimated{background:#eee;color:#777}
.rel{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.rel a{font-family:'Inter',sans-serif;font-size:15px;letter-spacing:.04em;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:1px;padding:7px 12px}
.fig{display:grid;grid-template-columns:420px 1fr;gap:54px;align-items:center;padding:40px 0 72px;border-top:1px solid var(--line)}
.fig img{width:100%;height:auto;display:block}
.fig .cap .label{color:var(--ame);margin-bottom:16px}
.fig .cap h2{font-family:'Playfair Display',serif;font-weight:500;font-size:34px;font-style:italic;margin-bottom:18px}
.fig .cap p{font-size:17px;line-height:1.7;color:#2b261f}
.fig .cap .tline{margin-top:20px;font-family:'Shippori Mincho',serif;font-size:18px;color:var(--sub);letter-spacing:.1em}
.strip{height:62vh;min-height:420px;overflow:hidden;margin:0 -56px}
.strip img{width:100%;height:100%;object-fit:cover}
.ctx{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:72px 0;border-bottom:1px solid var(--line)}
.ctx div .label{color:var(--ame);margin-bottom:12px}
.ctx div p{font-size:16px;line-height:1.6;color:#2b261f}
.ctx div p b{font-family:'Playfair Display',serif;font-weight:500;font-style:italic}

/* ===== ARCHIVE (dictionary / section / area) ===== */
.dhead{padding:9vh 0 5vh;max-width:880px}
.dhead .label{color:var(--ame);margin-bottom:24px}
.dhead h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(42px,6vw,84px);line-height:1.0;letter-spacing:-.01em}
.dhead .stand{font-style:italic;font-size:clamp(18px,2vw,25px);line-height:1.5;color:#3a342c;margin-top:26px;font-weight:300;max-width:620px}
.filter{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:56px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.filter__grp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.filter__lab{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sub);margin-right:12px}
.chip{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.08em;color:var(--sub);background:none;border:1px solid transparent;border-radius:1px;padding:7px 13px;cursor:pointer;transition:.15s;text-decoration:none}
.chip:hover{color:var(--ink)}
.chip.on{color:var(--ink);border-color:var(--ink)}
.chip--cat.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 38px;padding-bottom:10vh}
.cards .card{text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:.2s}
.cards .card.is-hidden{display:none}
.cards .card__img{aspect-ratio:3/4;overflow:hidden;background:var(--line);position:relative}
.cards .card__img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.cards .card:hover .card__img img{transform:scale(1.03)}
.cards .card__meta{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 10px}
.cards .card__cat{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ame)}
.cards .card__region{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub)}
.cards .card h3{font-family:'Playfair Display',serif;font-weight:500;font-size:27px;line-height:1.08}
.cards .card h3 .ja{display:inline-block;font-size:14px;letter-spacing:.26em;color:var(--sub);margin-left:12px;font-weight:400}
.cards .card p{font-style:italic;font-size:15.5px;line-height:1.55;color:#332e26;margin-top:13px;font-weight:300}
.cards .card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.cards .card__tag{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.04em;color:var(--sub);border:1px solid var(--line);border-radius:1px;padding:5px 10px}
.cards .card__url{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.04em;color:#a39c8f;text-transform:lowercase}
.wander{border-top:1.5px solid var(--ink);padding:8vh 0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.wander h2{font-family:'Playfair Display',serif;font-weight:400;font-style:italic;font-size:clamp(28px,3.6vw,52px);line-height:1.04;max-width:560px}
.wander p{font-size:16px;line-height:1.7;color:var(--sub);max-width:360px;margin-top:14px}
.wander a{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ame);padding-bottom:6px;white-space:nowrap}

/* placeholder（空エントリ用・将来カード） */
.ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative}
.ph::before,.ph::after{content:"";position:absolute;width:13px;height:13px;border:1px solid var(--sub);opacity:.4}
.ph::before{top:12px;left:12px;border-right:none;border-bottom:none}
.ph::after{bottom:12px;right:12px;border-left:none;border-top:none}
.ph b{font-family:'Shippori Mincho',serif;font-size:30px;color:var(--sub);font-weight:400;opacity:.5}
.ph span{font-family:'Inter',sans-serif;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}
.ph--real{background:repeating-linear-gradient(135deg,#efe9dc,#efe9dc 11px,#ece5d6 11px,#ece5d6 22px)}
.ph--sketch{background:#f4f1e9}
.ph--style{background:#ece7da}

/* ===== responsive ===== */
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.cards--latest{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
 .wrap{padding:0 28px}.mast{padding:20px 28px}.mast nav{gap:18px}.mast nav .navlink{display:none}
 .feat__in{grid-template-columns:1fr}.feat__img{min-height:60vh}.feat__txt{padding:11vh 8vw}
 .grid{grid-template-columns:1fr;gap:40px}.side{position:static}
 .fig{grid-template-columns:1fr;gap:28px}.ctx{grid-template-columns:1fr;gap:28px}
 .strip{margin:0 -28px}
 .foot{padding:32px 28px}
}
@media(max-width:560px){.cards,.cards--latest{grid-template-columns:1fr}.filter{flex-direction:column;align-items:flex-start}}

/* 送客カード（現地に行く・008文法の移植 2026-07-03） */
.gocard{border:1px solid var(--line);padding:26px 28px;margin:14px 0;background:rgba(255,255,255,.35)}
.gocard h4{font-family:'Shippori Mincho',serif;font-weight:600;font-size:20px;letter-spacing:.04em;margin:0 0 10px}
.gocard p{font-size:16.5px;line-height:1.7;color:#3a342c;margin:0 0 16px}
.gocard .golinks{display:flex;flex-wrap:wrap;gap:18px}
.gocard .golinks a{font-family:'Inter',sans-serif;font-size:14.5px;letter-spacing:.12em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}
.gonote{font-size:14.5px;color:var(--sub);margin-top:14px;line-height:1.7}

/* 行くための情報（本体下 2026-07-03） */
.goinfo{padding:5vh 0 8vh;border-top:1.5px solid var(--ink);margin-top:6vh}
.goinfo__h{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(26px,2.8vw,38px);margin-bottom:34px}
.goinfo__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:26px}
.grow{font-size:18px;line-height:1.6;padding:10px 0;border-bottom:1px solid var(--line);color:#332e26}
.grow small{display:block;font-family:'Inter',sans-serif;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sub);margin-bottom:4px}
.gocard--soon{background:transparent;border-style:dashed}
@media(max-width:900px){.goinfo__grid{grid-template-columns:1fr}}

/* ===== responsive hardening（2026-07-12 みんびこ / ボス「スマホを横に回すと付いてこない」）=====
   原因: 縦が固定pxのmin-heightで殴られていた（hero 700 / bighero 520 / strip 420）。
   横向きスマホは画面高≒390px＝min-heightが画面より高く居座り破綻していた。
   方針: ①縦は svh 基準（モバイルURLバー対策）②固定pxのmin-heightは"背の高い画面"のときだけ効かせる
        ③横向き（低い画面）は専用ガードで縦を殺して詰める ④横溢れの保険（stickyを壊さない clip を使う） */
body{overflow-x:clip}

.hero{height:100svh;min-height:0}
.bighero{height:74svh;min-height:0}
.strip{height:62svh;min-height:0}

/* 背が高い画面のときだけ、元の"最低の迫力"を担保する */
@media (min-height:700px){
  .hero{min-height:700px}
  .bighero{min-height:520px}
  .strip{min-height:420px}
}

/* 横向きスマホ・背の低い画面（≒390〜560px）: 縦を content 基準に落として詰める */
@media (max-height:560px) and (orientation:landscape){
  .hero{height:auto;min-height:0}
  .hero__in{height:auto;max-width:none;padding:92px 6vw 88px}
  .hero .eyebrow{margin-bottom:16px}
  .hero h1{font-size:clamp(32px,5.6vw,56px)}
  .hero .ja{font-size:14px;letter-spacing:.34em;margin-top:16px}
  .hero__prov,.hero__scroll{bottom:20px;font-size:11px}
  .hero__prov{left:6vw}.hero__scroll{right:6vw}

  .bighero{height:auto;min-height:0;aspect-ratio:16/9}
  .strip{height:auto;min-height:0;aspect-ratio:21/9}
  .feat__img{min-height:0;aspect-ratio:4/3}

  /* 縦paddingの vh はこの高さだと詰まりすぎ/空きすぎになるので固定寄りに */
  .lead{padding:52px 6vw 44px}
  .cta{padding:48px 6vw}
  .river{padding:64px 6vw}
  .feat__txt{padding:48px 6vw}
  .goinfo{padding:36px 0 52px;margin-top:40px}
}

/* ===== 追補: 横溢れの主犯2つ（2026-07-12 みんびこ・iframe実測で特定）=====
   ①.feat__img: ≤900で min-height:60vh が効き、aspect-ratio:16/10 が"高さから幅を逆算"して
     390px幅の画面で 810px になっていた（506×1.6=810）＝横スクロールの主犯。
   ②.lat .cards--latest{repeat(4,1fr)}: 詳細度がメディアクエリより高く、スマホでも4カラムを貫通。 */
@media (max-width:900px){
  .feat__img{min-height:0;width:100%;aspect-ratio:16/10}
  .lat{width:calc(100vw - 56px)}
}
/* grid/flex item は縮めるようにする（min-width:auto 事故の予防） */
.feat__img,.feat__txt,.cards>*,.cards--latest>*{min-width:0}

/* 詳細度を合わせて rail を段階的に畳む */
@media (max-width:980px){ .lat .cards--latest{grid-template-columns:repeat(2,1fr);gap:28px} }
@media (max-width:560px){ .lat .cards--latest{grid-template-columns:1fr;gap:32px} }

/* 横向きは画像が画面より高くならないよう天井をつける */
@media (max-height:560px) and (orientation:landscape){
  .bighero{max-height:78svh}
  .strip{max-height:70svh}
  .feat__img{max-height:76svh}
}

/* ===== ★モバイルのナビ復活（2026-07-13 みんびこ／Fable指摘）=====
   旧: @media(max-width:900px) で .navlink{display:none} かつハンバーガー無し
   ＝ リールから来る人（ほぼ100%スマホ）が着地して一歩も回遊できない＝獲得チャネルの出口を塞いでいた。
   方針: ハンバーガーを足さず「静かに、しかし常にある」（誌面の空気＝装飾を足さない）。リンクは4つなので小さく畳めば収まる。 */
@media (max-width:900px){
  .mast{padding:16px 22px}
  .mast .brand{font-size:19px;letter-spacing:.20em}
  .mast nav{gap:15px;font-size:12px;letter-spacing:.10em}
  .mast nav .navlink{display:none}            /* ★2026-07-17 6リンクで横並び破綻（ボス指摘）→ハンバーガー＋全画面モーダルへ（ファイル末尾 nt-mnav 節） */
  .mast .lang-sw{display:none}
}
@media (max-width:560px){
  .mast{padding:13px 16px;gap:10px}
  .mast .brand{font-size:16px;letter-spacing:.14em}
  .mast nav{gap:11px;font-size:11px;letter-spacing:.04em}
  .mast .lang-sw{font-size:10px;padding:3px 6px}
}
@media (max-width:380px){
  .mast .brand{font-size:14px;letter-spacing:.10em}
  .mast nav{gap:9px;font-size:10px}
}


/* ===== ★モバイル ハンバーガー＋全画面モーダルナビ（2026-07-17 みんびこ・ボス指示）=====
   7/13の「畳んで横並び」はリンク4つ前提→行事追加の6リンクで破綻。
   スマホ= brand＋ハンバーガーのみ。ナビは紙色の全画面モーダル（縦並び・誌面タイポ）で受ける。 */
.nt-menu{display:none}
@media (max-width:900px){
  .nt-menu{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:10px;background:none;border:none;cursor:pointer;margin:-6px -8px -6px 0}
  .nt-menu span{display:block;height:1.5px;background:var(--ink);width:100%}
  body.home .nt-menu span{background:#fff}
}
.nt-mnav{position:fixed;inset:0;z-index:80;background:var(--paper);display:none;flex-direction:column;justify-content:center;align-items:center;padding:60px 28px}
body.nt-mnav-open .nt-mnav{display:flex}
body.nt-mnav-open{overflow:hidden}
.nt-mnav__x{position:absolute;top:12px;right:14px;width:48px;height:48px;background:none;border:none;font-size:26px;font-weight:300;color:var(--ink);cursor:pointer;font-family:'Inter',sans-serif}
.nt-mnav__links{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}
.nt-mnav__links a{font-family:'Shippori Mincho',serif;font-size:24px;letter-spacing:.30em;text-indent:.30em;color:var(--ink);text-decoration:none;padding:17px 0;width:100%;text-align:center;border-bottom:1px solid var(--line)}
.nt-mnav__links a:first-child{border-top:1px solid var(--line)}
.nt-mnav__links a.nt-mnav__lang{font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.22em;text-indent:.22em;color:var(--sub);border-bottom:none;padding-top:26px}
.nt-mnav__foot{position:absolute;bottom:32px;left:0;right:0;text-align:center;font-family:'Shippori Mincho',serif;font-size:12px;letter-spacing:.12em;color:var(--sub);padding:0 20px}


/* ===== 連載記事 SERIES episode reading layout（2026-07-18 みんびこ・ボス承認）===== */
/* ★ヒーロー下の読み幅を約100px狭める（辞書=.grid ＋ 連載=.grid.sr 共通・ボス指示。視線移動を短く） */
.grid{max-width:1270px;margin-left:auto;margin-right:auto}
/* 辞書レコード页：本文下の読みブロックも同じ幅に揃える（gridだけ狭めると下段が左右にはみ出て段差になる） */
body.single-nf_record .goinfo,body.single-nf_record .fig,body.single-nf_record .ctx{max-width:1270px;margin-left:auto;margin-right:auto}
.sr.grid{grid-template-columns:minmax(0,1fr) 320px;padding-top:56px}
.sr .art{max-width:none;counter-reset:pl}
.sr .art > p:first-of-type{font-size:24px;line-height:1.62;color:#26221b} /* ★冒頭段落は少し大きく。CJKはドロップキャップ非対応（Playfairが「一」を横棒にする）ため::first-letterは使わない */
/* 挿絵＝紙に留めた図版（枠なし・幅を絞って中央・其ノX の小見出し） */
/* 挿絵＝カラムいっぱい（全て同じ幅＝段差を作らない）・本文に3枚程度へ分散 */
.sr .art > figure{max-width:100%;margin:3.6em auto;display:block}
.sr .art > figure img{display:block;width:100%;height:auto}
.sr .art hr{width:120px}
/* 導入（先頭段落・大きめ）の直後の区切り線 */
.sr .art hr.sr-lead-rule{border:none;border-top:1px solid #d9d2c4;width:240px;margin:2.6em auto 3em}
/* 記事末：カルーセル（ボタン送り・1枚ずつカラムいっぱい） */
.sr-carousel{margin:4.5em 0 1em;border-top:1px solid var(--line);padding-top:26px}
.sr-carousel .gh{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ame);margin-bottom:6px}
.sr-carousel .gs{font-family:'Shippori Mincho',serif;font-size:17px;color:var(--sub);margin-bottom:20px}
.sr-carousel .sc-stage{overflow:hidden}
.sr-carousel .sc-track{display:flex;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform}
.sr-carousel .sc-track figure{flex:0 0 100%;min-width:0;margin:0}
.sr-carousel .sc-track img{width:100%;height:auto;display:block}
.sr-carousel .sc-track figcaption{font-family:'Shippori Mincho',serif;font-size:15px;line-height:1.75;color:var(--sub);margin-top:14px;text-align:center;padding:0 6%}
.sr-carousel .sc-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:24px}
.sr-carousel .sc-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--ink);background:none;cursor:pointer;font-size:18px;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:.2s;line-height:1}
.sr-carousel .sc-nav button:hover{background:var(--ink);color:var(--paper)}
.sr-carousel .sc-count{font-family:'Inter',sans-serif;font-size:14px;letter-spacing:.22em;color:var(--sub)}
.sr-carousel .sc-count b{color:var(--ink);font-weight:500}
/* 出典の下：連載回の「◯◯とは？」カード（記事単体で入った人向けの受け） */
.sr-about{display:flex;gap:22px;align-items:center;text-decoration:none;color:inherit;margin:3.2em 0 .5em;padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.5);transition:.2s}
.sr-about:hover{border-color:var(--ame)}
.sr-about .ab-img{flex:0 0 168px}
.sr-about .ab-img img{width:168px;height:126px;object-fit:cover;display:block}
.sr-about .ab-tx{display:flex;flex-direction:column}
.sr-about .ab-k{font-family:'Shippori Mincho',serif;font-size:20px;font-weight:600;color:var(--ink)}
.sr-about .ab-p{font-size:15.5px;line-height:1.72;color:#3a342c;margin-top:9px}
.sr-about .ab-go{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.12em;color:var(--sub);margin-top:13px}
.sr-about:hover .ab-go{color:var(--ame)}
@media(max-width:560px){.sr-about{flex-direction:column;align-items:flex-start}.sr-about .ab-img{flex-basis:auto;width:100%}.sr-about .ab-img img{width:100%;height:auto;aspect-ratio:16/10}}
/* sidebar: この連載 */
.sr-lead{font-family:'Shippori Mincho',serif;font-size:19px;line-height:1.55;color:#2b261f;padding:2px 0 6px}
.sr-lead small{display:block;font-family:'Spectral',serif;font-style:italic;font-size:15px;color:var(--sub);margin-top:8px;line-height:1.6}
.sr-vol{font-size:17px;line-height:1.5;padding:11px 0;border-bottom:1px solid var(--line);color:#332e26}
.sr-vol small{display:block;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ame);margin-bottom:4px}
.sr-mapline{margin-top:15px}
.sr-mapline a{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.1em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ame);padding-bottom:3px}
/* sidebar: 関連辞書カード */
.sr-relcard{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);background:rgba(255,255,255,.5);margin:2px 0 8px;transition:.2s}
.sr-relcard:hover{border-color:var(--ame)}
.sr-relcard:hover .go{color:var(--ame)}
.sr-relcard img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.sr-relcard .rc{padding:15px 16px 17px}
.sr-relcard .rc .en{font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ame)}
.sr-relcard .rc .jn{font-family:'Shippori Mincho',serif;font-size:21px;letter-spacing:.05em;margin-top:5px;display:block;color:var(--ink)}
.sr-relcard .rc .go{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.12em;color:var(--sub);margin-top:12px;display:inline-block;transition:.2s}
@media(max-width:900px){.sr.grid{grid-template-columns:1fr;padding-top:32px}.grid{max-width:none}
  .sr .art > figure{max-width:100%;margin:2.4em auto}
  .sr-carousel .sc-nav button{width:46px;height:46px}}
