:root{
  --primary:#4a8b7c;--primary-dark:#3a6f63;--accent:#e9a94e;
  --bg:#f6f8f7;--card:#ffffff;--text:#2f3e3a;--sub:#6b7c76;
  --danger:#c05a5a;--danger-bg:#fbeeee;
  --radius:14px;--shadow:0 2px 10px rgba(47,62,58,.08);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic UI","Meiryo",sans-serif;
  background:var(--bg);color:var(--text);line-height:1.9;
  -webkit-font-smoothing:antialiased;
}
header{
  background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);
  padding:14px 16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
header a{color:#fff;text-decoration:none;font-weight:700;}
header span{color:#fff;opacity:.85;font-size:.78rem;}
main{max-width:680px;margin:0 auto;padding:20px 16px 30px;}
article{
  background:var(--card);border:1px solid #e3eae7;border-radius:var(--radius);
  box-shadow:var(--shadow);padding:26px 22px;
}
h1{font-size:1.25rem;line-height:1.6;color:var(--primary-dark);margin-bottom:10px;}
.meta{
  font-size:.78rem;color:var(--sub);
  border-bottom:1px solid #e3eae7;padding-bottom:14px;margin-bottom:18px;
}
.meta a{color:var(--primary-dark);}
article h2{
  font-size:1.02rem;color:var(--primary-dark);
  border-left:5px solid var(--primary);padding-left:10px;margin:26px 0 10px;
}
article p{margin:10px 0;font-size:.93rem;}
article ul,article ol{margin:10px 0 10px 22px;font-size:.93rem;}
article li{margin:5px 0;}
.point{background:#eaf5ef;border:1px solid #bfe0d0;border-radius:10px;padding:14px 16px;margin:14px 0;font-size:.9rem;}
.caution{background:#fdf6ec;border:1px solid #eedab0;border-radius:10px;padding:14px 16px;margin:14px 0;font-size:.9rem;}
.danger{background:var(--danger-bg);border:1px solid #ecc9c9;border-radius:10px;padding:14px 16px;margin:14px 0;font-size:.9rem;}
.point h3,.caution h3,.danger h3{font-size:.92rem;margin-bottom:6px;}
.point h3{color:var(--primary-dark);}
.caution h3{color:#a07a33;}
.danger h3{color:var(--danger);}
.danger table{margin-top:8px;}
table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.88rem;}
td,th{border:1px solid #e3eae7;padding:8px;text-align:left;vertical-align:top;}
th{background:#eef2f0;}
.cta{margin:26px 0 6px;text-align:center;}
.cta a{
  display:inline-block;background:var(--primary);color:#fff;text-decoration:none;
  font-weight:700;font-size:.92rem;padding:12px 22px;border-radius:999px;
}
.cta a:hover{background:var(--primary-dark);}
.related{margin-top:22px;border-top:1px dashed #e3eae7;padding-top:14px;}
.related h2{border:none;padding:0;font-size:.9rem;margin:0 0 6px;}
.related ul{margin-left:22px;font-size:.88rem;}
.related a{color:var(--primary-dark);}
footer{
  max-width:680px;margin:0 auto;padding:0 16px 40px;
  font-size:.72rem;color:var(--sub);
}
