
:root{--ink:#24313a;--mut:#5c6b76;--acc:#0f766e;--acc2:#115e59;--bg:#fbfbf8;--card:#fff;--line:#e3e7e2}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);line-height:1.85;font-size:16px}
a{color:var(--acc2)}
header.site{background:var(--card);border-bottom:1px solid var(--line)}
.wrap{max-width:860px;margin:0 auto;padding:0 18px}
.brand{display:flex;align-items:baseline;gap:12px;padding:16px 0 4px}
.brand .logo{font-size:26px;font-weight:800;color:var(--acc2);letter-spacing:.04em}
.brand .tag{font-size:13px;color:var(--mut)}
nav.g{border-bottom:1px solid var(--line);background:var(--card)}
nav.g .wrap{display:flex;gap:18px;flex-wrap:wrap;padding:8px 18px}
nav.g a{color:var(--ink);text-decoration:none;font-size:14px}
nav.g a:hover{color:var(--acc)}
main{padding:28px 0 40px}
h1{font-size:26px;line-height:1.5;margin:0 0 10px}
h2{font-size:20px;border-left:5px solid var(--acc);padding-left:10px;margin:34px 0 10px}
h3{font-size:17px;margin:22px 0 6px}
p{margin:10px 0}
.meta{color:var(--mut);font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:12px 0}
.card a.title{font-size:17px;font-weight:700;text-decoration:none;color:var(--ink)}
.card a.title:hover{color:var(--acc)}
.cat{font-size:12px;color:#fff;background:var(--acc);border-radius:4px;padding:1px 7px;margin-right:8px;vertical-align:middle}
ul,ol{padding-left:22px}
table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left}
th{background:#eef5f3}
.note{background:#f3f7f5;border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:14px}
footer.site{border-top:1px solid var(--line);background:var(--card);color:var(--mut);font-size:13px;padding:22px 0 30px}
footer.site a{color:var(--mut)}
.hero{padding:10px 0 4px}
.hero p{color:var(--mut)}
