@font-face{font-family:"ZenMaru";src:url(fonts/zenmaru-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"ZenMaru";src:url(fonts/zenmaru-Medium.woff) format("woff");font-weight:500 700;font-display:swap}
:root{
  --green:#4F6F58; --green-d:#3A5443; --bg:#FAF9F4; --ink:#463F3A; --sub:#776E67;
  --line:#E6E1D5; --pale:#E4EDE2; --amber:#8A5F10; --card:#fff;
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP","BIZ UDPMincho",serif;
  --sans:"ZenMaru","Hiragino Maru Gothic ProN","Hiragino Sans","Hiragino Kaku Gothic ProN","BIZ UDPGothic","Yu Gothic","YuGothic","Noto Sans JP","Meiryo",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.95;letter-spacing:.02em;word-break:auto-phrase;line-break:strict}
.col{max-width:680px;margin:0 auto;padding:40px 20px 60px}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(22px,5.6vw,30px);line-height:1.55;letter-spacing:.05em;text-align:center;color:#4A4A3F}
h1 small{display:block;font-size:.55em;color:var(--sub);letter-spacing:.1em;margin-bottom:6px}
h2{font-family:var(--serif);font-weight:600;font-size:20px;margin:36px 0 12px;padding-left:12px;border-left:4px solid var(--green)}
h3{font-size:16px;font-weight:700;margin:22px 0 4px;color:var(--green-d)}
p{margin:8px 0}
.lead{text-align:center;color:var(--sub);margin-top:14px}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:8px}
th,td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);font-size:15px}
th{width:30%;background:#F3F1E9;font-weight:500;color:#4A3F38}
tr:last-child th,tr:last-child td{border-bottom:none}
@media (max-width:560px){th,td{display:block;width:100%}th{border-bottom:none;padding-bottom:2px}td{padding-top:2px}}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 12px;margin-top:10px}
.checks label{display:flex;gap:12px;align-items:flex-start;padding:12px 4px;border-bottom:1px dashed var(--line);cursor:pointer}
.checks label:last-child{border-bottom:none}
.checks input{flex:none;width:22px;height:22px;margin-top:5px;accent-color:var(--green)}
.checks b{font-weight:700}
.cta{text-align:center;margin-top:26px}
.btn{display:inline-block;width:100%;max-width:440px;border:none;cursor:pointer;font:inherit;font-weight:700;font-size:17px;letter-spacing:.06em;
  color:#fff;background:var(--green);border-radius:999px;padding:15px 18px;text-decoration:none;box-shadow:0 3px 12px rgba(58,84,67,.25)}
.btn[aria-disabled="true"]{background:#B9B3A8;box-shadow:none;cursor:not-allowed}
.note{font-size:14px;color:var(--sub);margin-top:10px}
.links{margin-top:12px;font-size:15px}
.links a,.foot a{color:var(--green-d)}
.foot{text-align:center;font-size:13px;color:var(--sub);border-top:1px solid var(--line);padding:22px 20px 30px}
.foot a{margin:0 8px}
