[hidden]{display:none!important}
body[data-page=individual-supporter]{font-family:"Noto Sans JP",sans-serif}
.supporter-main,.supporter-main *{box-sizing:border-box}
.supporter-main{width:100%;max-width:880px;margin:auto;padding:clamp(110px,15vw,150px) 1.5rem 5rem}
.supporter-main h1{font-size:clamp(2rem,6vw,4rem);line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
.supporter-main h2{font-size:1.45rem;margin:0 0 1.4rem;font-family:"Zen Old Mincho",serif}
.supporter-main p{line-height:1.9;overflow-wrap:anywhere}
.supporter-main fieldset{border:0;padding:0;margin:0;min-width:0}
.supporter-panel{padding:clamp(1.25rem,4vw,2.5rem);margin-top:1.75rem;border:1px solid #53736f;background:rgba(143,212,201,.04)}
.supporter-panel>label{display:grid;gap:.6rem;margin:1.4rem 0}
.supporter-main input:not([type=radio]):not([type=checkbox]),.supporter-main select{display:block;width:100%;min-width:0;min-height:48px;padding:.75rem;border:1px solid #8eaaa6;border-radius:0;background:#162c2c;color:#f3efe4;font:inherit}
.supporter-main input[type=radio],.supporter-main input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:#8fd4c9;flex-shrink:0}
.supporter-main button,.supporter-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.2rem;border:1px solid #8fd4c9;background:#8fd4c9;color:#142727;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.supporter-main button:disabled{opacity:.5;cursor:wait}
.supporter-main a{color:#a8e4da;text-underline-offset:.25em}
.supporter-main a.supporter-button{color:#142727}
.supporter-main :focus-visible{outline:3px solid #f5c873;outline-offset:4px}
.supporter-amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.supporter-amounts label{display:flex;align-items:center;gap:.5rem;padding:1rem .65rem;border:1px solid #607c77;cursor:pointer;font-size:1.1rem;min-height:64px}
.supporter-amounts label:has(:checked){background:#254b48;border-color:#a8e4da}
.supporter-main .supporter-choice{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0}
.supporter-choice legend{margin-bottom:.7rem}
.supporter-choice label,.supporter-panel>label.supporter-check{display:flex;align-items:center;gap:.6rem;min-height:44px}
.supporter-postcode{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin:1.5rem 0 0}
.supporter-postcode label{display:grid;gap:.6rem;flex:1 1 12rem}
.supporter-postcode button{background:transparent;color:#a8e4da}
.supporter-note,.supporter-main small{font-size:.875rem;color:#c8d5d0;line-height:1.8}
.supporter-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid #53736f;padding-top:1.4rem}
.supporter-total strong{font-size:clamp(1.5rem,5vw,2.1rem)}
#form-error,#email-confirm-error{color:#ffd4bb}
#email-confirm-error:empty{display:none}
.supporter-main input[aria-invalid=true]{border-color:#ffd4bb}
#submit-supporter{width:100%}
@media(max-width:480px){.supporter-main{padding:110px 1rem 4rem}.supporter-amounts{grid-template-columns:1fr}.supporter-amounts label{padding:.65rem 1rem;min-height:52px}}
