/* ふるさと納税まち案内 — 森と土、朱色の旅のしおり */
:root{--paper:#f6f4ed;--card:#fffef9;--ink:#243b31;--sub:#657169;--line:#dadfd4;--line2:#eaece3;--ai:#234f3d;--ai-soft:#e9eee5;--shu:#a63c2e;--shu-soft:#f3e8df;--moss:#546c42;--font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif;--mincho:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP","Noto Serif CJK JP",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--font);letter-spacing:.025em}a{color:var(--ai);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--shu)}img{max-width:100%;height:auto;display:block}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}input,select{color:var(--ink)}:focus-visible{outline:3px solid #bb623e;outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1240px;margin:0 auto;padding:0 48px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:8px;z-index:99}
.hd{background:rgba(255,254,249,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.hd-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:91px}.logo{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:700 1.24rem/1.45 var(--mincho);letter-spacing:.05em;white-space:nowrap}.logo small{font:400 .63rem/1.8 var(--font);letter-spacing:.13em;color:var(--sub)}.logo-mark{display:grid;place-items:center;background:var(--shu);color:#fff;width:45px;height:45px;border-radius:50% 50% 47% 43%;font:700 1.7rem/1 var(--mincho);transform:rotate(-7deg)}.gnav{display:flex;gap:24px;align-items:center;font-size:.8rem;white-space:nowrap}.gnav a{color:var(--ink);text-decoration:none;padding:10px 0}.gnav a[aria-current]{text-decoration:underline;text-decoration-color:var(--shu);text-underline-offset:9px}.gnav a.gnav-tool{background:var(--ai);color:white;padding:11px 18px;border-radius:3px;display:flex;align-items:center;gap:15px}.gnav-tool:hover{background:var(--shu)!important}.crumbs ol{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:25px 0 0;padding:0;font-size:.72rem;color:var(--sub)}.crumbs li+li:before{content:"/";margin-right:7px;color:#9fa99c}.crumbs a{text-decoration:none}
main{padding-bottom:80px}h1,h2,h3{line-height:1.5;letter-spacing:.04em}h1{font-family:var(--mincho);font-size:clamp(1.8rem,3.3vw,2.8rem);margin:.3em 0 .65em;font-weight:600}h2{font-family:var(--mincho);font-size:1.6rem;font-weight:600;margin:2.7em 0 1em;padding-bottom:.5em;border-bottom:1px solid var(--line)}h3{font-size:1.06rem;margin:1.6em 0 .6em}.eyebrow,.kicker{font-size:.68rem;letter-spacing:.16em;font-weight:600;color:var(--shu);margin:0 0 14px}.kicker{margin-top:0}.lead{color:#4e6055;max-width:48em;font-size:1rem;line-height:2}.meta,.note,.src{font-size:.77rem;line-height:1.85;color:var(--sub)}.src{margin-top:14px;overflow-wrap:anywhere}.page-head{padding:52px 0 32px;border-bottom:1px solid var(--line);margin-bottom:32px}.page-head h1{max-width:24em}.page-head .lead{margin-bottom:18px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:.8rem;font-weight:600;text-decoration:none;border-bottom:1px solid #a6b3a5;padding:4px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:50px;background:var(--ai);color:white;padding:13px 22px;text-decoration:none;border:1px solid var(--ai);border-radius:3px;font-size:.88rem;font-weight:600;line-height:1.6;cursor:pointer}.btn:hover{background:var(--shu);border-color:var(--shu);color:white}.btn.ghost{background:transparent;color:var(--ai)}.btn.ghost:hover{background:var(--ai);color:white}.btn.light{background:var(--paper);border-color:var(--paper);color:var(--ai)}.btn.light:hover{background:white;color:var(--shu)}
/* 表紙 */
.hero{display:grid;grid-template-columns:.9fr 1.15fr;gap:48px;align-items:center;margin:52px 0 36px}.hero-copy{padding:8px 0}.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:.6rem;letter-spacing:.13em;white-space:nowrap}.hero .eyebrow>span:first-child{height:6px;width:6px;border-radius:50%;background:var(--shu)}.hero .issue{margin-left:auto;color:var(--sub);font-size:.6rem;letter-spacing:.08em}.hero h1{font-size:clamp(2.1rem,3.75vw,3.3rem);line-height:1.55;letter-spacing:.04em;margin:28px 0 22px}.hero h1 em{font-style:normal;color:var(--shu)}.hero-desc{font-size:.88rem;line-height:2.2;color:var(--sub);margin-bottom:28px}.hero-copy>.text-link{display:flex;width:max-content;margin-top:16px;font-size:.72rem}.hero-art{position:relative;margin:0;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-art>img{width:100%;height:540px;object-fit:cover;border-radius:160px 3px 3px 3px;box-shadow:10px 12px 0 #e3e7db}.hero-art figcaption{display:flex;justify-content:space-between;gap:10px;font-size:.55rem;color:var(--sub);letter-spacing:.05em;margin-top:22px}.art-stamp{position:absolute;bottom:75px;left:-28px;background:var(--shu);color:#fffdf3;border-radius:50%;border:5px solid var(--paper);outline:1px solid var(--shu);height:105px;width:105px;display:grid;place-content:center;text-align:center;font:600 .8rem/1.8 var(--mincho);transform:rotate(-12deg)}.editorial-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.editorial-strip>p{font:500 .92rem/1.9 var(--mincho);margin:0}.editorial-strip dl{display:flex;gap:44px;margin:0}.editorial-strip dt{font-size:.62rem;color:var(--sub)}.editorial-strip dd{font-size:1.9rem;margin:0;font-family:var(--mincho);line-height:1.4}.editorial-strip dd span{font:400 .67rem var(--font);margin-left:6px}.editorial-strip dd.strip-label{font-size:1.1rem;padding-top:8px}.mobile-break{display:none}
.home-section{margin-top:84px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.section-heading h2{border:0;padding:0;margin:0;font-size:clamp(1.45rem,2.5vw,2rem)}.section-heading .eyebrow{margin-bottom:11px}.section-heading>p{font-size:.74rem;color:var(--sub);margin:0}.section-heading>.text-link{white-space:nowrap;margin-bottom:3px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.story-card{display:block;text-decoration:none;color:var(--ink);min-width:0}.story-img{position:relative;overflow:hidden;background:#e1e7d8;aspect-ratio:1.4}.story-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.story-card:hover .story-img img{transform:scale(1.045)}.story-img>span{position:absolute;bottom:12px;left:12px;background:var(--paper);padding:4px 10px;font-size:.56rem;letter-spacing:.11em}.story-copy{position:relative;padding:20px 0 0}.story-copy>p{font-size:.68rem;color:var(--sub);margin:0 0 9px}.story-copy h3{font:500 1.5rem/1.65 var(--mincho);margin:0}.story-arrow{position:absolute;right:2px;bottom:4px;display:grid;place-items:center;width:35px;height:35px;border:1px solid #aab9a7;border-radius:50%;font-size:1rem}.art-note{font-size:.65rem;line-height:1.8;color:var(--sub);margin-top:22px}.art-note a{white-space:nowrap}
/* まちを探す */
.search-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.search-toolbar label{display:flex;align-items:center;gap:12px;max-width:560px;flex:1;background:var(--card);border:1px solid #bbc6b6;border-radius:3px;padding:10px 16px}.search-toolbar label>span{font-size:1.7rem;line-height:1}.search-toolbar input{border:0;outline-offset:10px;background:transparent;width:100%;min-width:0;font-size:.83rem}.search-toolbar p{font-size:.72rem;color:var(--sub);white-space:nowrap}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 28px}.filter-row button{background:transparent;border:1px solid #c8d1c2;color:var(--ai);border-radius:2px;padding:6px 14px;font-size:.72rem;min-height:36px}.filter-row button[aria-pressed=true]{background:var(--ai);border-color:var(--ai);color:white}.muni-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.muni-grid li{min-width:0}.muni-grid a{display:block;height:100%;background:var(--card);border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-decoration:none;padding:20px;color:var(--ink);transition:background .2s}.muni-grid a:hover{background:#eaf0e3}.town-no{display:block;font-size:.52rem;color:#697c6a;letter-spacing:.1em;margin-bottom:10px}.muni-grid b{display:flex;justify-content:space-between;font:600 1.2rem var(--mincho);line-height:1.7}.muni-grid b>span{font:400 .85rem var(--font);color:#81947e}.town-tags{display:block;font-size:.64rem;color:var(--sub);margin-top:9px;line-height:1.8}.pending{display:inline-block;background:#ede8dc;color:#685f4b;padding:1px 5px;font-size:.6rem;margin-top:7px}.empty-state{padding:28px;background:var(--ai-soft);font-size:.85rem;text-align:center}.chips{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0}.chips a{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);padding:6px 14px;text-decoration:none;font-size:.8rem;background:var(--card)}.chips span{font-size:.67rem;color:var(--sub)}
/* 読みもの */
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cards li{min-width:0}.cards a{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);padding:26px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}.cards a:hover{border-color:#698761;transform:translateY(-3px)}.cards b{display:block;font:600 1.03rem/1.8 var(--mincho)}.cards span{display:block;font-size:.76rem;color:var(--sub);line-height:1.9;margin-top:12px}.cards .card-number{font:.6rem var(--font);color:var(--shu);letter-spacing:.12em;margin:0 0 18px}.cards .read-more{font-size:.68rem;margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;align-items:center;color:var(--ai)}.read-more i{font-style:normal}.tool-banner{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;background:var(--ai);color:var(--paper);padding:50px 64px;margin-top:85px;overflow:hidden;position:relative}.tool-banner .eyebrow{color:#d7dfc0}.tool-banner h2{border:0;font-size:2rem;margin:16px 0 20px;padding:0}.tool-banner p:not(.eyebrow){font-size:.79rem;color:#e1e7d5;line-height:2}.tool-banner .btn{margin-top:14px}.tool-graphic{width:250px;margin:0 auto;text-align:center;transform:rotate(4deg);position:relative}.tool-graphic>span{font-size:.7rem;letter-spacing:.2em}.tool-graphic>b{display:block;font:600 1.8rem var(--mincho);margin:8px 0 22px}.calc-paper{background:#f2f0df;color:var(--ai);padding:22px;box-shadow:10px 10px 0 #1a4030;text-align:left}.calc-paper i{font-size:.68rem;font-style:normal}.calc-paper>div{font-size:1.6rem;padding:12px 0;border-bottom:1px dashed #b8c4ab}.calc-paper strong{display:block;font:500 1.2rem var(--mincho);padding-top:17px}.tool-banner .calc-paper p{color:var(--sub);font-size:.58rem;margin-bottom:0}.editorial-policy{margin:88px auto 0;max-width:800px;display:grid;grid-template-columns:140px 1fr;gap:50px;align-items:center;padding:0 0 15px}.policy-mark{display:grid;place-content:center;border:1px solid #9bab90;border-radius:50%;width:130px;height:130px;color:var(--shu);font:600 4.5rem var(--mincho);transform:rotate(-8deg)}.editorial-policy h2{border:0;padding:0;margin:8px 0 20px;font-size:1.9rem}.editorial-policy p:not(.eyebrow){font-size:.8rem;color:var(--sub);line-height:2.1}
/* ページ本文 */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0}.stat-grid>div{background:var(--card);border-top:3px solid var(--ai);padding:22px}.stat-grid dt{font-size:.74rem;color:var(--sub)}.stat-grid dd{font-family:var(--mincho);font-size:2rem;font-weight:600;margin:8px 0;color:var(--ai);font-variant-numeric:tabular-nums}.stat-grid dd small{font:400 .75rem var(--font);margin-left:5px}.stat-grid p{font-size:.72rem;line-height:1.8;color:var(--sub);margin:0}.stat-grid dd.neg{color:var(--shu)}.stat-grid dd.pos{color:var(--moss)}.gifts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:gifts}.gifts li{background:var(--card);border:1px solid var(--line);padding:23px;display:flex;flex-direction:column;gap:10px;min-width:0;counter-increment:gifts}.gifts li:before{content:counter(gifts,decimal-leading-zero);font:.75rem var(--mincho);color:var(--shu)}.gifts b{font-size:.93rem;line-height:1.8}.gifts li>span{font-size:.78rem;color:var(--sub);line-height:1.9}.gifts .tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:10px}.tags em{font-style:normal;font-size:.62rem;background:var(--ai-soft);padding:3px 7px;color:var(--ai)}.srcl{font-size:.67rem;color:var(--sub)}.gifts .srcl{display:block;flex-basis:100%;margin-top:5px}.uses{padding:0;list-style:none;counter-reset:uses;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.uses li{counter-increment:uses;border-bottom:1px solid var(--line);padding:14px 0;font-size:.86rem}.uses li:before{content:counter(uses,decimal-leading-zero);font:.8rem var(--mincho);color:var(--shu);margin-right:15px}.points{padding-left:1.2em}.points li{padding:8px 0;font-size:.9rem}.portals{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}.portals a{display:inline-block;background:var(--card);border:1px solid #bac7b4;padding:10px 17px;text-decoration:none;font-size:.8rem}.portals a:after{content:" ↗";margin-left:14px}.box{background:var(--ai-soft);border-left:3px solid var(--ai);padding:16px 30px 24px;margin-top:48px}.box h2{border:0;margin:12px 0;font-size:1.3rem}.box li,.box p{font-size:.85rem}.sources{margin-top:48px;border-top:1px solid var(--line);padding-top:16px}.sources h2{font-family:var(--font);font-size:.9rem;border:0;margin:16px 0}.sources ul{font-size:.72rem;padding-left:1.2em;overflow-wrap:anywhere}.sources li{margin:8px 0}.shared{font-size:.85rem;padding-left:1.2em}.tbl{width:100%;border-collapse:collapse;background:var(--card);font-size:.84rem}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}.tbl thead th{background:var(--ai-soft);font-size:.71rem;white-space:nowrap;font-weight:500}.tbl td{font-variant-numeric:tabular-nums}.tbl tr.self{background:var(--shu-soft)}.tbl tbody tr:hover{background:#f0f3e9}.tbl-scroll{overflow:auto;border:1px solid var(--line);-webkit-overflow-scrolling:touch}.sortable thead th[data-sort]{cursor:pointer}.sortable thead th[data-sort]:after{content:" ↕";color:#788c73}.sortable thead th[aria-sort=ascending]:after{content:" ↑";color:var(--shu)}.sortable thead th[aria-sort=descending]:after{content:" ↓";color:var(--shu)}.genres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.genre{background:var(--card);border:1px solid var(--line);padding:20px}.genre h3{display:flex;justify-content:space-between;gap:14px;margin:0 0 12px;font-size:.9rem}.genre h3 span{white-space:nowrap;font-size:.67rem;color:var(--shu)}.genre p{font-size:.77rem;line-height:2.1;margin:0}.genre p a{display:inline-block;margin-right:8px}.prose{max-width:760px;margin-left:auto;margin-right:auto}.prose p{line-height:2.2;font-size:.93rem}.prose li{font-size:.88rem;margin:.65em 0;line-height:2}.prose .tbl{margin:24px 0}.prose h2{font-size:1.45rem}.mail{font-size:1.1rem}.town-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:42px;align-items:center}.town-art{margin:0}.town-art img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:90px 2px 2px 2px}.town-art figcaption{font-size:.61rem;color:var(--sub);margin-top:10px}.page-toc{display:flex;gap:7px 22px;flex-wrap:wrap;list-style:none;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.76rem;margin:26px 0 35px}.page-toc a{text-decoration:none}.page-toc a:after{content:" ↓";color:var(--shu);margin-left:8px}.pref-cover{margin:30px 0;display:grid;grid-template-columns:1.5fr 1fr;background:var(--ai-soft);align-items:center}.pref-cover>div{padding:25px 35px}.pref-cover h2{border:0;margin:8px 0;font-size:1.5rem}.pref-cover p{font-size:.8rem}.pref-cover img{width:100%;height:250px;object-fit:cover}.guide>.page-head{max-width:900px;margin-left:auto;margin-right:auto}.guide>.sources,.guide>.box{max-width:760px;margin-left:auto;margin-right:auto}
/* 計算ツール */
.calc{max-width:800px;margin:30px auto 0;background:var(--card);border:1px solid var(--line);padding:28px 36px}.calc fieldset{border:0;padding:0;margin:24px 0}.calc legend{font-weight:600;font-size:1rem;margin-bottom:18px}.calc .mode{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calc .mode label{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);padding:16px;font-size:.78rem;cursor:pointer;line-height:1.9}.calc .mode label:has(input:checked){background:var(--ai-soft);border-color:var(--ai)}input[type=radio],input[type=checkbox]{accent-color:var(--ai);flex-shrink:0;width:17px;height:17px;margin-top:4px}.calc .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.83rem}.calc .row>select{max-width:100%}.calc .in{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.calc input[type=number]{width:8em;max-width:100%;padding:10px;background:#fbfcf7;border:1px solid #adbda6;border-radius:2px;text-align:right;font-variant-numeric:tabular-nums}.calc select{padding:10px;background:#fbfcf7;border:1px solid #adbda6;border-radius:2px;font-size:.8rem}.calc .check{display:flex;gap:8px;font-size:.82rem;margin:22px 0}.calc .deps p{font-size:.78rem;color:var(--sub)}.calc .deps label{display:inline-flex;align-items:center;gap:8px;margin:6px 18px 6px 0;font-size:.75rem}.calc .deps input{width:4em}.calc>.calc-action{border-top:1px solid var(--line);padding-top:24px;margin-bottom:0}.calc-action .btn{width:100%}.result{max-width:800px;margin:22px auto 0;border:1px solid #93aa82;border-top:4px solid var(--ai);background:#eaf0e3;padding:24px 36px}.result h2{border:0;font-size:1rem;margin:0 0 16px}.result .big{font-size:.85rem}.result .big b{font:600 2.5rem var(--mincho);color:var(--ai);display:block;margin:10px 0 25px}.result dl{display:flex;gap:30px;border-top:1px solid #c3d0b8;padding-top:18px}.result dt{font-size:.71rem;color:var(--sub)}.result dd{margin:5px 0;font-size:.9rem;font-weight:600}.calc-error{color:var(--shu);font-size:.8rem;margin:16px 0 0}.tool-intro{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--sub);margin-top:22px}.tool-intro:before{content:"✓";display:grid;place-items:center;background:var(--ai-soft);border-radius:50%;width:23px;height:23px;color:var(--ai)}
.ft{background:#1f3e30;color:#cfdbca;font-size:.72rem;padding:54px 0 40px;line-height:2}.ft a{color:#f6f4ed}.footer-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #48604f;padding-bottom:25px;margin-bottom:26px}.ft-name{font:600 1.35rem/1.7 var(--mincho);margin:0;color:var(--paper)}.ft-name>span{display:block;font:400 .68rem/1.9 var(--font);margin-top:9px;color:#becdb9}.back-top{font-size:.68rem;text-decoration:none;white-space:nowrap}.ft-links{display:flex;gap:8px 24px;flex-wrap:wrap;margin-bottom:24px}.ft-links a{text-decoration:none}.ft>.wrap>p:last-child{margin-top:25px;font-size:.64rem;color:#afc1aa}
@media(min-width:1500px){.hero-art>img{height:570px}}
@media(max-width:1000px){.wrap{padding-left:30px;padding-right:30px}.gnav{gap:18px;font-size:.72rem}.logo{font-size:1.05rem}.logo small{font-size:.55rem}.hero{gap:30px}.hero-art>img{height:495px}.hero .eyebrow{font-size:.52rem}.hero .issue{display:none}.hero h1{font-size:2.5rem}.editorial-strip dl{gap:26px}.editorial-strip>p{font-size:.8rem}.story-grid{gap:20px}.cards{gap:14px}.cards a{padding:22px}.tool-banner{padding:40px}.tool-banner h2{font-size:1.7rem}.tool-graphic{width:220px}.gifts{grid-template-columns:repeat(2,minmax(0,1fr))}.gnav a.gnav-tool{padding:10px 13px;gap:8px}.hero-art figcaption>span:last-child{display:none}}
@media(max-width:760px){html{scroll-padding-top:136px}.wrap{padding-left:22px;padding-right:22px}.hd-in{min-height:0;flex-wrap:wrap;gap:15px;padding-top:16px;padding-bottom:14px}.logo{font-size:1.1rem}.logo small{font-size:.56rem}.logo-mark{width:38px;height:38px;font-size:1.45rem}.gnav{width:100%;justify-content:space-between;gap:10px;font-size:.7rem}.gnav a{padding:5px 0}.gnav a.gnav-tool{padding:8px 11px;font-size:.65rem;gap:8px}.hero{gap:28px;margin-top:30px;grid-template-columns:1fr}.hero-copy{padding:0}.hero .eyebrow{font-size:.57rem}.hero .issue{display:block;font-size:.55rem}.hero h1{font-size:clamp(2.2rem,7.6vw,3.1rem);line-height:1.5;margin:22px 0 16px}.hero h1 br:nth-of-type(2){display:none}.hero-desc{font-size:.8rem;line-height:2}.hero-art>img{height:auto;aspect-ratio:1.4;border-radius:90px 3px 3px 3px;box-shadow:6px 7px 0 #e3e7db}.hero-art figcaption{margin-top:15px}.art-stamp{width:82px;height:82px;font-size:.64rem;left:auto;right:14px;bottom:35px;border-width:4px}.hero-copy>.text-link{display:inline-flex;margin:12px 0 0;font-size:.65rem;gap:12px}.hero-copy>.btn{margin-right:10px;font-size:.8rem;padding:12px 15px;gap:12px}.editorial-strip{display:block;padding:20px 0}.editorial-strip>p{font-size:.87rem}.editorial-strip dl{margin-top:20px;justify-content:space-between;gap:10px}.editorial-strip dd{font-size:1.75rem}.editorial-strip dt{font-size:.57rem}.editorial-strip dd.strip-label{font-size:1rem}.editorial-strip dd span{font-size:.62rem}.home-section{margin-top:56px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:1.5rem}.section-heading>p,.section-heading>.text-link{margin-top:14px}.eyebrow{font-size:.59rem}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.story-img{aspect-ratio:.88}.story-img>span{font-size:.43rem;padding:3px 5px;bottom:7px;left:5px;letter-spacing:0}.story-copy{padding-top:12px}.story-copy>p{font-size:.57rem;margin-bottom:6px}.story-copy h3{font-size:.98rem;line-height:1.7;letter-spacing:0}.story-arrow{position:static;width:27px;height:27px;margin-top:12px;font-size:.8rem}.art-note{font-size:.58rem;margin-top:18px}.search-toolbar{gap:10px;align-items:flex-start;flex-direction:column}.search-toolbar label{width:100%;padding:8px 12px;min-height:45px;flex:auto}.search-toolbar input{font-size:16px}.search-toolbar p{font-size:.65rem;margin:0}.filter-row{gap:6px;margin:15px 0 22px}.filter-row button{font-size:.65rem;padding:5px 10px}.muni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.muni-grid a{padding:17px 15px}.muni-grid b{font-size:1.14rem}.town-no{font-size:.47rem}.town-tags{font-size:.61rem}.tool-banner{margin-top:58px;grid-template-columns:1fr;gap:38px;padding:32px 25px}.tool-banner h2{font-size:1.65rem}.tool-banner p:not(.eyebrow){font-size:.74rem}.tool-graphic{width:210px}.tool-graphic>b{font-size:1.5rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cards a{padding:20px}.cards b{font-size:.95rem}.cards span{font-size:.72rem}.cards .card-number{font-size:.53rem}.editorial-policy{grid-template-columns:65px 1fr;gap:22px;margin-top:58px;align-items:start}.policy-mark{width:60px;height:60px;font-size:2rem;margin-top:30px}.editorial-policy h2{font-size:1.6rem}.editorial-policy p:not(.eyebrow){font-size:.74rem}.page-head{padding-top:30px;margin-bottom:25px}.page-head h1{font-size:1.8rem;line-height:1.65}.lead{font-size:.88rem}.town-hero{grid-template-columns:1fr;gap:16px}.town-art img{max-height:280px;aspect-ratio:1.7}.page-toc{font-size:.68rem;gap:10px 18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-grid>div{padding:17px 14px}.stat-grid dd{font-size:1.6rem}.stat-grid dt{font-size:.68rem}.stat-grid p{font-size:.65rem}.stat-grid>div:last-child:nth-child(odd){grid-column:1/-1}.stat-grid>div:last-child:nth-child(odd) dd{display:inline-block;margin-right:20px}.gifts{gap:10px}.gifts li{padding:18px}.gifts b{font-size:.84rem}.gifts li>span{font-size:.73rem}.uses{grid-template-columns:1fr}.tbl{font-size:.74rem}.tbl th,.tbl td{padding:11px}.compare{overflow-x:auto}.compare .tbl{min-width:510px}.genres{grid-template-columns:1fr 1fr;gap:10px}.genre{padding:16px}.genre h3{font-size:.78rem;flex-wrap:wrap;gap:4px}.genre p{font-size:.73rem}.pref-cover{grid-template-columns:1fr}.pref-cover>div{padding:25px}.pref-cover img{height:190px}.box{padding:14px 20px 20px}.calc{padding:20px;margin-top:24px}.calc .mode{grid-template-columns:1fr}.calc .mode label{padding:12px}.calc legend{font-size:.9rem}.calc .row{display:block;font-size:.78rem}.calc .row .in,.calc .row select{margin-top:10px;display:flex;max-width:100%}.calc input[type=number],.calc select{font-size:16px}.calc .deps label{display:flex;justify-content:space-between;margin-right:0}.result{padding:22px}.result .big b{font-size:2.1rem}.result dl{gap:25px}.prose p{font-size:.86rem}.prose h2{font-size:1.3rem}.prose li{font-size:.82rem}.sources{margin-top:35px}h2{font-size:1.4rem;margin-top:2em}.footer-heading{align-items:flex-start}.ft{padding-top:36px}.ft-name{font-size:1.1rem}.ft-name>span{font-size:.62rem}.ft-links{gap:8px 18px;font-size:.66rem}.back-top{font-size:.6rem}main{padding-bottom:55px}}
@media(max-width:420px){.wrap{padding-left:18px;padding-right:18px}.gnav{font-size:.64rem;gap:7px}.gnav a.gnav-tool{font-size:.6rem;padding:8px 9px}.cards{grid-template-columns:1fr}.cards b{font-size:1.03rem}.cards a{padding:23px}.cards .read-more{padding-top:20px}.story-grid{gap:9px}.story-copy h3{font-size:.88rem}.gifts{grid-template-columns:1fr}.hero-copy>.text-link{font-size:.65rem;margin-top:15px}.mobile-break{display:block}.genres{grid-template-columns:1fr}.tool-banner .btn{font-size:.8rem;padding-left:16px;padding-right:16px;gap:15px}.footer-heading{display:block}.back-top{display:inline-block;margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.hd,.gnav,.ft,.page-toc,.hero-art,.story-img,.tool-banner{display:none}.wrap{max-width:none;padding:0}body{background:white;color:black;font-size:11pt}.page-head{padding-top:0}.cards,.gifts,.stat-grid{break-inside:avoid}.prose{max-width:none}}
/* 全ページに使う、軽量な共通図版 */
.reading-art{margin:28px 0 0}.reading-art img{width:100%;height:210px;object-fit:cover;object-position:center 55%;border-radius:3px}.reading-art figcaption{font-size:.61rem;color:var(--sub);margin-top:9px}
@media(max-width:760px){.reading-art img{height:160px}}
