:root{--green:#2e7d32;--green-d:#1b5e20;--cream:#f6f8f2;--ink:#2a2f28;--muted:#5c6b58}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;color:var(--ink);background:var(--cream);line-height:1.85}
a{color:var(--green-d);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.site{background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;padding:42px 0 36px;text-align:center}
header.site h1{margin:0;font-size:28px;letter-spacing:.06em}
header.site h1 a{color:#fff}
header.site .tag{margin-top:10px;font-size:15px;opacity:.95}
header.site .loc{margin-top:6px;font-size:13px;opacity:.8}
nav.main{background:var(--green-d);}
nav.main ul{max-width:960px;margin:0 auto;padding:0 12px;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:2px}
nav.main a{display:block;color:#eaf3e8;padding:12px 16px;font-size:14px}
nav.main a:hover,nav.main a.on{background:rgba(255,255,255,.16);text-decoration:none;color:#fff}
.crumb{font-size:12px;color:var(--muted);padding:18px 0 0}
.intro{padding:30px 0 10px}
.intro p{font-size:16px;margin:0 0 14px}
h2.sec{font-size:21px;color:var(--green-d);border-left:6px solid var(--green);padding-left:12px;margin:34px 0 18px}
.lead{font-size:17px;color:var(--green-d);font-weight:600;margin:24px 0 6px}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding-bottom:10px}
.cat{display:block;background:#fff;border:1px solid #e3e9dd;border-radius:10px;padding:22px 18px;text-align:center;transition:.15s;color:var(--ink)}
.cat:hover{box-shadow:0 6px 18px rgba(46,125,50,.12);transform:translateY(-2px);text-decoration:none}
.cat .ic{font-size:30px}
.cat .nm{margin-top:8px;font-weight:600;color:var(--green-d)}
.cat .ds{margin-top:4px;font-size:12px;color:var(--muted)}
.points{padding:0;margin:14px 0;list-style:none}
.points li{padding:10px 0 10px 30px;border-bottom:1px dashed #d7e0cf;position:relative}
.points li:before{content:"🌿";position:absolute;left:0}
.backhome{display:inline-block;margin:30px 0 10px;font-size:14px}
footer.site{margin-top:48px;background:#eef2e8;color:var(--muted);text-align:center;padding:26px 0;font-size:13px}
footer.site a{color:var(--muted)}
