:root{--bg:#faf7f1;--card:#fff;--ink:#2b2b26;--sub:#6b6b60;--accent:#2f5d50;--accent2:#e8a04c;--line:#e7e0d2;--soft:#eef4f1}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;background:var(--bg);color:var(--ink);line-height:1.8}
a{color:var(--accent)}
.pr-bar{background:#2b2b26;color:#fff;text-align:center;font-size:13px;padding:8px 12px}
header.site{max-width:820px;margin:0 auto;padding:28px 20px 4px;display:flex;gap:14px;align-items:center}
header.site img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--line)}
header.site .name{font-weight:700;font-size:18px}
header.site .sub{color:var(--sub);font-size:13px}
nav.crumbs{max-width:820px;margin:0 auto;padding:8px 20px 0;font-size:13px;color:var(--sub)}
main{max-width:820px;margin:0 auto;padding:12px 20px 48px}
.hero{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;margin-top:12px}
.hero h1{font-size:26px;line-height:1.5;margin:0 0 12px}
.hero p{margin:0;color:var(--sub)}
.tag{display:inline-block;background:var(--soft);color:var(--accent);border-radius:999px;padding:2px 12px;font-size:13px;font-weight:700;margin-bottom:12px}
.tag.hot{background:#fdeeda;color:#9a5b12}
section.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;margin-top:20px}
section.card h2{font-size:20px;margin:0 0 14px;border-left:5px solid var(--accent2);padding-left:10px;line-height:1.4}
section.card h3{font-size:17px;margin:20px 0 8px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:20px}
.cat{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--ink)}
.cat:hover{border-color:var(--accent2)}
.cat .emoji{font-size:28px}
.cat .t{font-weight:700;font-size:17px;margin:6px 0 4px}
.cat .d{font-size:13px;color:var(--sub);line-height:1.6}
.cat .badge{display:inline-block;background:#fdeeda;color:#9a5b12;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700;margin-top:8px}
.cat .badge.soon{background:var(--soft);color:var(--accent)}
ul.check{list-style:none;padding:0;margin:0}
ul.check li{padding:6px 0 6px 28px;position:relative}
ul.check li::before{content:"✓";position:absolute;left:4px;color:var(--accent);font-weight:700}
.cta{display:block;text-align:center;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:16px;border-radius:12px;padding:14px 20px;margin:16px 0 6px}
.cta.disabled{background:#c9c9bf;pointer-events:none}
.cta-note{text-align:center;font-size:12px;color:var(--sub);margin:0}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}
th{background:var(--soft)}
.small{font-size:13px;color:var(--sub)}
.note{background:#fff7e8;border:1px dashed var(--accent2);border-radius:10px;padding:12px 14px;font-size:13px}
footer{max-width:820px;margin:0 auto;padding:0 20px 40px;color:var(--sub);font-size:13px}
