
:root{--fg:#1a1a1a;--bg:#fff;--muted:#555;--line:#ddd;--accent:#8a3b12;--soft:#fbf6ef;--fs:18px}
html{font-size:var(--fs)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo","Noto Sans JP",sans-serif;line-height:1.9;-webkit-text-size-adjust:100%}
a{color:var(--accent)}a:hover{text-decoration:none}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
header.top{border-bottom:1px solid var(--line);background:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;flex-wrap:wrap}
.brand{font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--fg)}
.brand small{display:block;font-weight:400;font-size:.75rem;color:var(--muted)}
nav.main a{display:inline-block;padding:8px 10px;margin:2px 0;text-decoration:none;color:var(--fg);border-radius:6px;min-height:32px}
nav.main a:hover{background:var(--soft)}
.fs-toggle button{font-size:1rem;padding:6px 10px;margin-left:4px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;min-width:44px;min-height:44px}
main{padding:20px 0 40px}
.crumb{font-size:.9rem;color:var(--muted);margin:0 0 10px}.crumb a{color:var(--muted)}
h1{font-size:1.6rem;line-height:1.4;margin:.2em 0 .5em}
h2{font-size:1.25rem;border-left:6px solid var(--accent);padding-left:10px;margin:1.8em 0 .6em}
h3{font-size:1.05rem;margin:1.2em 0 .4em}
.lede{font-size:1.05rem;margin:0 0 1em}
.facts{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.facts div{background:var(--soft);border-radius:8px;padding:8px 14px;min-width:110px}
.facts b{display:block;font-size:1.3rem}
.facts span{font-size:.8rem;color:var(--muted)}
.toc{background:var(--soft);border-radius:8px;padding:10px 16px;margin:0 0 1em}
.toc a{display:inline-block;margin:2px 10px 2px 0}
table{border-collapse:collapse;width:100%;margin:.5em 0 1em}
th,td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
th{background:var(--soft);font-weight:600;width:55%}
ol.steps{padding-left:1.4em}ol.steps li{margin:.5em 0}
ol.steps .tip{display:block;color:var(--muted);font-size:.92rem}
ul.plain{padding-left:1.2em}ul.plain li{margin:.35em 0}
.faq dt{font-weight:700;margin-top:.8em}.faq dd{margin:0 0 .6em}
.related{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;list-style:none;padding:0}
.related a{display:block;background:var(--soft);padding:12px;border-radius:8px;text-decoration:none;color:var(--fg);min-height:44px}
.card-list{list-style:none;padding:0;columns:2;column-gap:24px}.card-list li{margin:0 0 .4em;break-inside:avoid}
@media(max-width:600px){.card-list{columns:1}}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;list-style:none;padding:0}
.tiles a{display:block;background:var(--soft);padding:16px 14px;border-radius:10px;text-decoration:none;color:var(--fg);font-weight:600;min-height:44px}
.tiles small{display:block;font-weight:400;color:var(--muted);font-size:.85rem}
.btn{display:inline-block;padding:10px 16px;border:1px solid var(--accent);color:var(--accent);border-radius:8px;text-decoration:none;background:#fff;cursor:pointer;font-size:1rem;min-height:44px}
.meta{color:var(--muted);font-size:.9rem;margin-top:2em;border-top:1px solid var(--line);padding-top:1em}
footer{border-top:1px solid var(--line);padding:24px 0;font-size:.9rem;color:var(--muted)}
footer a{color:var(--muted);margin-right:14px}
.search-box{display:flex;gap:8px;margin:1em 0}.search-box input{flex:1;font-size:1.1rem;padding:10px;border:1px solid var(--line);border-radius:8px;min-height:44px}
.notice{background:#fff8e1;border:1px solid #f0d78c;border-radius:8px;padding:10px 14px}
@media print{header.top,nav,footer,.toc,.related,.fs-toggle,.btn,.meta,.crumb{display:none!important}body{font-size:12pt;line-height:1.5}h1{font-size:18pt}h2{font-size:14pt}}
