:root{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:#18352a;background:#f3f6f3;line-height:1.85;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#0a6640;text-underline-offset:.2em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #cc9f31;outline-offset:3px}.site-header{background:#fff;border-bottom:1px solid #dce4dd;padding:18px 5vw}.site-header>a{font-weight:800;text-decoration:none}.site-header span{font-size:.85rem;font-weight:500;margin-left:1em}main{width:min(100% - 36px,720px);margin:48px auto;padding:38px 48px;background:white;border:1px solid #e0e7e1;border-radius:16px}.eyebrow{font-size:.7rem;letter-spacing:.16em;font-weight:800;color:#0a6640;margin:0 0 8px}h1{text-wrap:balance;font-size:clamp(1.45rem,3vw,2rem);line-height:1.5;margin:0 0 14px}h2{font-size:1.12rem;margin:0 0 8px}.lead{font-size:1.02rem;color:#435a50}.steps{display:flex;list-style:none;padding:0;gap:12px;margin:28px 0}.steps li{flex:1;padding:9px;text-align:center;border-bottom:3px solid #d9e2db;color:#6c7c72;font-size:.85rem}.steps li[aria-current]{border-color:#0a6640;color:#0a6640;font-weight:800}.field{margin:26px 0;padding:0;border:0;min-width:0}.field>label,.field legend{display:block;font-size:1rem;font-weight:700;margin-bottom:7px}.field span,.choice>span,.required-text{font-size:.7rem;padding:2px 6px;color:#854115;background:#fff0da;border-radius:3px;margin-left:7px;font-weight:600}.field small{font-size:.78rem;color:#6c7973;font-weight:400;margin-left:7px}.hint{font-size:.85rem;line-height:1.75;color:#5c6c63;margin:0 0 9px}input:not([type=radio]):not([type=checkbox]):not([type=hidden]),textarea{width:100%;border:1px solid #a7b9ac;border-radius:6px;padding:12px;font:inherit;font-size:1rem;color:#18352a;background:#fff}textarea{resize:vertical}input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b3312b!important}.choice{display:flex!important;gap:9px;align-items:flex-start;border:1px solid #d5ded7;border-radius:6px;padding:12px;margin:8px 0;font-weight:500!important;font-size:.94rem!important}.choice input{flex:0 0 auto;width:19px;height:19px;margin:4px 0 0;accent-color:#0a6640}.privacy{background:#f2f7f2;border:1px solid #d7e6d9;border-radius:9px;padding:21px;margin:32px 0;font-size:.9rem}.privacy .choice{background:#fff}.privacy h2{font-size:1rem}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;border-radius:7px;background:#0a6640;border:2px solid #0a6640;color:white;font:inherit;font-size:1rem;font-weight:700;padding:12px 20px;text-decoration:none;cursor:pointer}.secondary{background:#fff;color:#0a6640}.wide{width:100%}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.actions>*{flex:1}.error-summary{background:#fff3f2;border:2px solid #b3312b;border-radius:8px;padding:18px;margin:22px 0}.error-summary h2,.field-error,.error-summary a{color:#a42f25}.error-summary ul{padding-left:20px;margin:6px 0}.field-error{font-size:.88rem;margin:6px 0;font-weight:700}.contact{border-top:1px solid #dce4dd;padding-top:22px;margin-top:42px;font-size:.9rem}.contact h2{font-size:1rem}.contact p{margin:0}.receipt-details{margin:22px 0}.receipt-details>div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid #dce4dd}.receipt-details dt{font-weight:700;font-size:.9rem}.receipt-details dd{margin:0;overflow-wrap:anywhere}.receipt-details small{display:block;color:#5c6c63;font-size:.83rem;margin-top:6px}.preserve-lines{white-space:pre-wrap}.notice{font-size:.9rem;background:#f3f6f3;padding:18px;border-radius:7px}.receipt-number{padding:22px;background:#eaf4ed;border-left:4px solid #0a6640;margin:22px 0}.receipt-number span{display:block;font-size:.85rem}.receipt-number strong{font-size:1.4rem;letter-spacing:.08em;overflow-wrap:anywhere}.success-mark{width:46px;height:46px;border-radius:50%;background:#0a6640;color:#fff;text-align:center;font-size:1.4rem;margin:0 0 18px}footer{text-align:center;padding:10px 20px 36px;color:#6d7c71;font-size:.8rem}.trap{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px}@media(max-width:600px){main{padding:26px 20px;margin:22px auto}.site-header span{display:block;margin-left:0}.receipt-details>div{display:block}.receipt-details dt{margin-bottom:5px}.actions{flex-direction:column}.steps{gap:6px}.steps li{padding:7px 3px}.privacy{padding:16px}}@media print{body{background:#fff}main{width:100%;max-width:none;margin:0;padding:12px;border:0}.no-print,.site-header,footer{display:none}.contact{margin-top:22px}.receipt-details>div{break-inside:avoid}a{color:inherit;text-decoration:none}.receipt-number{background:#fff;border:1px solid #555}}

.event-summary{margin:20px 0;padding:15px 18px;border:1px solid #dce4dd;border-radius:6px;font-size:.9rem}.event-summary summary{cursor:pointer;color:#0a6640;font-weight:700}.event-summary summary:focus-visible{outline:3px solid #cc9f31;outline-offset:3px}.event-summary ul{padding-left:1.3em}.event-summary li+li{margin-top:12px}.event-summary small{font-size:.83rem;color:#5c6c63}

.optional-note{margin:24px 0;border-top:1px solid #dce4dd;border-bottom:1px solid #dce4dd;padding:16px 0}.optional-note summary{cursor:pointer;font-weight:700}.optional-note summary small{font-size:.875rem;font-weight:400;margin-left:8px}.optional-note summary:focus-visible{outline:3px solid #cc9f31;outline-offset:3px}.optional-note .field{margin:16px 0 0}.consent-preview{font-size:.875rem;line-height:1.8;margin:24px 0 16px;color:#435a50}.privacy{font-size:1rem;line-height:1.85;margin-bottom:20px}.privacy .hint{font-size:.875rem}.privacy p:last-child{margin-bottom:0}.final-actions{flex-direction:column;margin:0 0 12px}.final-actions .secondary{align-self:center;min-height:44px;font-size:.9rem;padding:8px 16px;border-color:transparent;text-decoration:underline}.choice:has(input:checked){border-color:#0a6640;background:#f2f7f2}.receipt-details>div:has(dd.email-confirmation){background:#f3f7f4;padding:16px 12px}.field small,.hint,.steps li{font-size:.875rem}
