
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;font-size:17px;line-height:1.7;color:#1f2933;background:#fff}
header.top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid #d9e2ec;background:#f5f7fa}
.brand{font-weight:700}
main{max-width:720px;margin:0 auto;padding:16px}
footer{max-width:720px;margin:24px auto;padding:16px;border-top:1px solid #d9e2ec}
h1{font-size:1.5rem;margin:.5rem 0 1rem}
h2{font-size:1.15rem;margin:0 0 .5rem}
.box{border:1px solid #d9e2ec;border-radius:8px;padding:12px 16px;margin:12px 0}
.notice{background:#eef6ff;border-left:4px solid #3b82f6;padding:8px 12px}
.notice.warn{background:#fff7ed;border-left-color:#ea580c}
.error{color:#b91c1c;margin:.25rem 0}
.small{font-size:1rem}
.muted{color:#52606d}
.big{font-size:1.35rem;font-weight:700}
.due{font-weight:700;color:#b45309}
.btn{display:inline-block;min-height:48px;padding:10px 20px;border:1px solid #3b82f6;border-radius:8px;background:#fff;color:#1d4ed8;font-size:1.05rem;text-decoration:none;cursor:pointer}
.btn.primary{background:#1d4ed8;color:#fff}
.btn.choice{display:block;width:100%;margin:10px 0;text-align:left}
.link{background:none;border:none;color:#1d4ed8;text-decoration:underline;cursor:pointer;font-size:1rem;min-height:48px;padding:0 8px}
form.inline{display:inline}
.field{margin:12px 0}
.field label{display:block;font-weight:600}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],textarea{width:100%;min-height:44px;font-size:1rem;padding:8px;border:1px solid #9aa5b1;border-radius:6px}
textarea{min-height:96px}
.opt{display:block;min-height:44px;padding:8px 0}
fieldset{border:1px solid #d9e2ec;border-radius:8px;margin:12px 0}
.choice-note{margin:-4px 0 10px 4px}
.notes ol{padding-left:1.5em}
.notes li{margin:.4rem 0}
nav.box ul.t-toc{columns:2;list-style:none;padding:0;margin:0}
.t-toc li{margin:.15rem 0;break-inside:avoid}
.t-sec h2{margin-top:1.5rem}
.t-p{margin:.5rem 0}
.t-i1{margin-left:1.5em}
.t-i2{margin-left:3em}
.t-i3{margin-left:4.5em}
.t-li{display:flex;gap:.4em;margin:.4rem 0 .4rem 0}
.t-li.t-l1{margin-left:1.5em}
.t-n{flex:none;min-width:1.6em}
.t-x{flex:1;min-width:0;overflow-wrap:anywhere}
table.t-table{border-collapse:collapse;width:100%;margin:12px 0}
table.t-table th,table.t-table td{border:1px solid #d9e2ec;padding:6px 10px;vertical-align:top;text-align:left}
table.t-table th{background:#f5f7fa}
@media(max-width:560px){nav.box ul.t-toc{columns:1}}
ul.cards{list-style:none;padding:0}
a.card{display:block;border:1px solid #d9e2ec;border-radius:8px;padding:12px 16px;margin:8px 0;color:inherit;text-decoration:none}
