:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#152c40;background:#f5f8fc;font-size:16px;line-height:1.85;--accent:#17676a;--nav:#0c1b30}*{box-sizing:border-box}body{margin:0}header{background:var(--nav);padding:20px max(24px,calc((100vw - 840px)/2))}header a{font-size:22px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.04em}main{max-width:840px;margin:44px auto 70px;padding:0 24px}h1{font-size:clamp(27px,5vw,36px);line-height:1.4;margin:0 0 22px}h2{font-size:22px;margin-top:40px}p{margin:12px 0}form{margin-top:32px;background:#fff;padding:30px;border:1px solid #d4dfeb;border-radius:8px}label,legend{font-weight:700}label:not(.choice){display:block;margin-top:22px}input[type=text],input:not([type]),textarea{width:100%;font:inherit;border:1px solid #a6b8c7;border-radius:5px;padding:11px 12px;margin-top:7px;background:#fff;color:#152c40}textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:14px;overflow-wrap:anywhere}fieldset{border:0;padding:0;margin:26px 0}.choice{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:9px 0}.choice input{margin-top:8px;flex:none}.help{font-size:14px;color:#4d6274;margin-top:7px}.notice{border-left:4px solid #a76b20;padding:10px 18px;background:#fff3dc}.policy{border-top:1px solid #d4dfeb;padding-top:18px;margin-top:26px;font-size:14px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button{font:700 16px "Yu Gothic UI",sans-serif;background:var(--accent);color:white;border:0;border-radius:5px;padding:13px 24px;width:100%;margin-top:24px;cursor:pointer}button:disabled{background:#d4dde5;color:#536676;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #35aeb1;outline-offset:3px}#status{font-size:14px;overflow-wrap:anywhere}footer{border-top:1px solid #d4dfeb;text-align:center;color:#536676;padding:24px}@media(max-width:560px){main{margin-top:30px;padding:0 16px}form{padding:20px 16px}header{padding:17px 16px}}

/* Application guidance, selected-mode instructions and notice. */
a{color:#09636b;text-underline-offset:.18em}code,kbd{overflow-wrap:anywhere}kbd{display:inline-block;font:inherit;font-size:.9em;line-height:1.5;border:1px solid #a6b8c7;border-radius:3px;background:#fff;padding:0 .3em;white-space:nowrap}
.copy-guide{margin:12px 0 8px;padding:15px 18px;background:#eff7f7;border:1px solid #c8dfdf;border-radius:6px;font-size:15px}.copy-guide h2{font-size:17px;margin:0 0 8px}.copy-guide ol{padding-left:1.5em;margin:8px 0}.copy-guide li,.request-guide li{margin:8px 0;overflow-wrap:anywhere}.copy-guide .help{margin-bottom:0}.copy-problem{margin-top:14px;font-size:14px}.copy-problem summary,.service-detail summary{cursor:pointer;font-weight:700;color:#174c5c}.copy-problem p{margin:10px 0}.notice-body{max-width:840px}.notice-body p,.notice-body li{overflow-wrap:anywhere}.notice-body h2{font-size:21px;margin-top:32px}.notice-body ul{padding-left:1.4em}.service-detail{padding:14px 18px;border:1px solid #d4dfeb;border-radius:6px;margin-top:20px;background:#fff}summary:focus-visible{outline:3px solid #35aeb1;outline-offset:3px}
@media(max-width:560px){.copy-guide{padding:13px 14px}.copy-guide ol{padding-left:1.35em}.service-detail{padding:12px 14px}}

#renewal-summary{overflow-wrap:anywhere;word-break:normal}

/* Keep validation errors visible beside native field feedback. */
#status[data-state=error]{border:2px solid #a12828;border-radius:5px;background:#fff3f3;color:#831c1c;font-weight:700;padding:12px 16px}input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a12828;background:#fff8f8}
