body[data-citizen]{font-family:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif;color:#0b1429;background:#fff;font-size:17px;line-height:1.7}
.citizen-header{background:#fff;color:#0b1429;border-bottom:1px solid #e1e6ef;padding:24px 34px}
.citizen-header-inner{max-width:1280px;flex-wrap:nowrap;gap:24px}
.citizen-brand{width:auto;gap:0}.citizen-brand>div{display:none}
.citizen-logo{width:330px!important;height:auto!important;overflow:visible}.citizen-logo img{position:static!important;width:330px!important;height:auto!important;filter:none}
.citizen-header-actions{width:auto;border:0;padding:0;gap:28px;font-size:14px;color:#17243e}
.citizen-header-actions a{color:#17243e}.citizen-header-actions .service-login{border:2px solid #003cff;color:#003cff;border-radius:24px;padding:10px 34px;font-size:18px;font-weight:700;white-space:nowrap}
[data-citizen] main{max-width:none;padding:0;min-height:0;margin:0}
.service-breadcrumb{max-width:1280px;margin:auto;padding:22px 36px;color:#405473;font-size:15px}.service-breadcrumb span{margin:0 12px;color:#8091ac}
.service-content{max-width:1012px;margin:auto;padding:30px 36px 44px}
.service-heading{display:flex;align-items:center;gap:42px;margin-bottom:20px}.service-heading p{margin:0 0 8px;color:#344967;font-size:20px}
[data-citizen] .service-heading h1{font-size:46px;line-height:1.35;color:#080f20;margin:0;font-weight:800;letter-spacing:.03em}
.step-ring{flex:0 0 130px;height:130px;position:relative;display:grid;place-items:center}.step-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.step-ring circle{fill:none;stroke:#e4e8ef;stroke-width:8}.step-ring .ring-progress{stroke:#003de1;stroke-linecap:round;stroke-dasharray:var(--step-progress) 100}.step-ring strong{font-size:42px;color:#003de1;line-height:1}.step-ring small{font-size:26px;color:#192943}
.service-progress{height:15px;background:#e6eaf0;border-radius:20px;overflow:hidden;margin-bottom:32px}.service-progress span{display:block;height:100%;background:#003de1;border-radius:20px;width:var(--step-width)}
.service-intro{color:#344967;font-size:21px;line-height:1.8;margin:0 0 18px}.service-help{font-size:20px;color:#003de1;text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;gap:15px;margin-bottom:30px}.service-rules{margin:0 0 24px;padding:18px 22px;background:#f3f7fc;border-radius:8px;color:#344967}.service-rules[hidden]{display:none}
.service-divider{border:0;border-top:1px solid #e0e6ef;margin:0 0 32px}.service-section-title{font-size:30px;line-height:1.5;margin:0 0 24px;padding-left:28px;position:relative}.service-section-title:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:8px;border-radius:10px;background:#003de1}
.service-info{display:flex;align-items:flex-start;gap:26px;background:#eff6ff;padding:20px 28px;border-radius:8px;color:#344967;font-size:19px;margin-bottom:24px}.service-info p{margin:0}.service-info-icon{width:38px;height:38px;flex:0 0 38px;border:3px solid #003de1;border-radius:50%;color:#003de1;font-size:25px;font-weight:bold;text-align:center;line-height:32px;margin-top:3px}
[data-citizen] .card.service-form{border-radius:9px;border:1px solid #dbe2ee;box-shadow:0 5px 12px #15274b0b;padding:26px 32px;margin:0;max-width:none}
[data-citizen] .service-form label{display:block;font-size:20px;font-weight:700;margin:0 0 22px;color:#10192d}.service-form label:last-of-type{margin-bottom:0}
.service-required{font-size:13px;font-weight:500;background:#ffe9e9;color:#e32828;border-radius:4px;padding:3px 9px;margin-left:14px}
[data-citizen] .service-form input{width:100%;min-height:64px;background:#fff;border:1px solid #bbc8dc;border-radius:7px;font-size:22px;color:#10192d;padding:12px 22px;margin-top:7px}
[data-citizen] .service-form input:focus{border:2px solid #003cff;outline:0;box-shadow:0 0 0 3px #003cff0c}
.service-value{display:block;background:#f2f4f7;border-radius:7px;padding:12px 22px;margin-top:8px;font-weight:400;font-size:22px;overflow-wrap:anywhere}.service-count{text-align:right;color:#778cae;font-size:16px;margin-top:8px;font-weight:400}
.service-actionbar{background:#f2f5f9;padding:32px 24px;margin-top:42px;display:flex;justify-content:center;gap:28px;position:relative;box-shadow:0 0 0 100vmax #f2f5f9;clip-path:inset(0 -100vmax)}
[data-citizen] .service-actionbar .service-next,[data-citizen] .service-actionbar .service-back{width:290px;min-height:64px;border-radius:40px;font-size:23px;font-weight:700;text-align:center;padding:12px 28px;box-shadow:none}
[data-citizen] .service-actionbar .service-next{background:#003de1;color:white;border:1px solid #003de1}.service-back{background:white;border:1px solid #283a58;color:#10192d}.service-actionbar a{display:grid;place-items:center}.service-arrow{margin:0 16px;font-size:29px}
[data-citizen] #page>.page-heading,[data-citizen] #page>.tabs,[data-citizen] #page>.card{max-width:940px;margin:28px auto}
@media(max-width:760px){.citizen-header{padding:18px 20px}.citizen-logo,.citizen-logo img{width:240px!important}.citizen-header-actions{gap:12px}.citizen-header-actions>a:not(.service-login){display:none}.citizen-header-actions .service-login{padding:7px 18px;font-size:14px}.service-breadcrumb{padding:18px 22px;font-size:13px}.service-content{padding:20px 24px 24px}.service-heading{gap:22px}.step-ring{flex-basis:92px;height:92px}.step-ring strong{font-size:32px}.step-ring small{font-size:19px}.service-heading p{font-size:15px}[data-citizen] .service-heading h1{font-size:30px}.service-progress{height:11px;margin-bottom:26px}.service-intro{font-size:16px}.service-help{font-size:16px}.service-section-title{font-size:23px;padding-left:23px}.service-info{padding:18px;gap:15px;font-size:15px}.service-info-icon{width:30px;height:30px;flex-basis:30px;line-height:24px;font-size:21px}[data-citizen] .card.service-form{padding:22px}[data-citizen] .service-form label{font-size:17px}[data-citizen] .service-form input{font-size:19px;min-height:56px}.service-actionbar{padding:24px;gap:16px;margin-top:30px}[data-citizen] .service-actionbar .service-next,[data-citizen] .service-actionbar .service-back{width:45%;min-height:56px;font-size:18px;padding:10px}.service-arrow{margin:0 8px}}
@media(max-width:400px){.citizen-logo,.citizen-logo img{width:200px!important}.citizen-header{padding:16px 14px}.citizen-header-actions .service-login{padding:6px 12px}.service-content{padding-left:18px;padding-right:18px}[data-citizen] .service-heading h1{font-size:25px}.service-heading{gap:16px}.step-ring{flex-basis:80px;height:80px}}

.citizen-header-actions .service-login{display:flex;align-items:center;gap:10px}

[data-citizen] .service-form input[name=citizenName]:not(:placeholder-shown):not(:focus){background:#f2f4f7;border-color:#f2f4f7}

[data-citizen] #page>.page-heading{padding:12px 0 20px;margin:10px auto 0;align-items:center}
[data-citizen] #page>.page-heading h1{font-size:36px;color:#0b1429;font-weight:800}
[data-citizen] #page>.page-heading p{color:#526683;font-size:17px}
[data-citizen] #page>.tabs{gap:30px;margin:0 auto 30px;border-bottom:1px solid #dbe2ee;padding:0}
[data-citizen] .tabs a{color:#526683;padding:16px 0;font-weight:500}
[data-citizen] .tabs a[aria-current=page]{color:#003de1;border-color:#003de1}
[data-citizen] #page>.card{border-radius:9px;border:1px solid #dbe2ee;box-shadow:0 5px 12px #15274b0b;padding:30px 32px;margin-top:0;margin-bottom:40px}
[data-citizen] .application-steps{padding-bottom:24px;gap:32px;color:#8090aa}
[data-citizen] .application-steps .done,[data-citizen] .application-steps .current{color:#003de1}
[data-citizen] .application-status{padding:36px 20px 26px}
[data-citizen] .status-mark{background:#eff6ff;color:#003de1;width:80px;height:80px;font-size:42px}
[data-citizen] .application-status h2{font-size:30px;color:#0b1429;line-height:1.5;margin:20px 0 12px}
[data-citizen] .application-status p{max-width:630px;margin:0 auto;color:#405473;line-height:1.9}
[data-citizen] .citizen-summary{background:#eff6ff;border-radius:8px;justify-content:space-between;padding:24px 30px;margin-bottom:28px}
[data-citizen] .citizen-summary span{color:#526683;margin-bottom:6px}
[data-citizen] .citizen-summary strong{color:#0b1429;font-size:18px}
[data-citizen] .citizen-actions{gap:20px}
[data-citizen] .citizen-actions button,[data-citizen] .citizen-actions .button{min-height:56px;border-radius:32px;border:1px solid #003de1;color:#003de1;padding:13px 26px;text-align:center;font-weight:700;background:white}
[data-citizen] .citizen-actions .primary{background:#003de1;color:white}
[data-citizen] .citizen-actions button:disabled{background:#f0f2f6;border-color:#e0e6ef;color:#7787a0}
[data-citizen] .status-help{margin:20px 0 26px;line-height:1.8;color:#526683}
[data-citizen] .application-details{border-color:#e0e6ef;color:#003de1;padding-top:22px}
[data-citizen] .application-details .field strong{color:#10192d;background:#f2f4f7;padding:12px 16px;border-radius:7px}
@media(max-width:1000px){[data-citizen] #page>.page-heading,[data-citizen] #page>.tabs,[data-citizen] #page>.card{margin-left:24px;margin-right:24px}}
@media(max-width:760px){[data-citizen] #page>.page-heading h1{font-size:29px}[data-citizen] #page>.tabs{gap:20px;font-size:14px;overflow-x:auto;white-space:nowrap}[data-citizen] #page>.card{padding:24px 20px}[data-citizen] .application-steps{gap:16px;font-size:12px}[data-citizen] .application-status{padding:28px 0 24px}[data-citizen] .application-status h2{font-size:25px}[data-citizen] .application-status p{font-size:15px}[data-citizen] .citizen-summary{padding:20px;gap:20px;flex-direction:column}[data-citizen] .citizen-actions{flex-direction:column;gap:12px}[data-citizen] .citizen-actions button,[data-citizen] .citizen-actions .button{width:100%;font-size:15px}}

[data-citizen] #detail .empty{margin:0 0 28px;padding:40px 20px;background:#eff6ff;border-radius:8px;color:#526683;text-align:center;font-size:16px}
[data-citizen] #detail form>label{color:#10192d;font-size:18px;font-weight:700;margin-bottom:12px}
[data-citizen] #detail textarea{display:block;width:100%;background:white;border:1px solid #bbc8dc;border-radius:7px;padding:16px 20px;min-height:150px;font-size:17px;margin-top:10px;resize:vertical}
[data-citizen] #detail textarea:focus{outline:0;border:2px solid #003de1;box-shadow:0 0 0 3px #003de10c}
[data-citizen] #detail button.primary{background:#003de1;border:1px solid #003de1;color:#fff;border-radius:32px;font-size:17px;font-weight:700;min-height:56px;padding:12px 28px;margin-top:14px}
[data-citizen] #detail .message{background:#f5f8fc;border:1px solid #e0e6ef;border-radius:8px;padding:20px;margin-bottom:16px}
[data-citizen] #detail .message p{white-space:pre-wrap;overflow-wrap:anywhere;color:#10192d}
[data-citizen] #detail .file{border:1px solid #e0e6ef;border-radius:8px;padding:16px;background:#f5f8fc;margin-bottom:14px;gap:16px;overflow-wrap:anywhere}
[data-citizen] #detail .file button{border-color:#003de1;color:#003de1;border-radius:24px;white-space:nowrap}
.service-file-picker{position:relative;display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid #bbc8dc;border-radius:7px;background:white;min-height:70px;margin-bottom:12px;flex-wrap:wrap}
.service-file-picker input[type=file]{position:absolute;width:1px;height:1px;min-height:0;opacity:0;padding:0;margin:0;overflow:hidden}
.service-file-picker:focus-within{outline:2px solid #003de1;outline-offset:2px}
[data-citizen] .service-file-picker .service-file-button{display:inline-block;border:1px solid #003de1;border-radius:24px;color:#003de1;font-size:15px;font-weight:700;background:#fff;padding:8px 18px;margin:0;cursor:pointer}
.service-file-picker #selected-file{font-size:14px;color:#526683;overflow-wrap:anywhere;flex:1;min-width:140px}
[data-citizen] #upload-status{font-size:15px;color:#405473;overflow-wrap:anywhere}
[data-citizen] #detail>.service-info:last-child{margin-bottom:0}
[data-citizen] .call-tool-row button{border:1px solid #003de1;border-radius:32px;color:#003de1;background:#fff;min-height:56px;padding:12px 24px;font-weight:700}
[data-citizen] #detail .call-tool-row button.primary{margin-top:0}
[data-citizen] .call-tool-row button:disabled{background:#f0f2f6;border-color:#e0e6ef;color:#7787a0;opacity:1}
[data-citizen] [data-state]{padding:16px 20px;background:#eff6ff;color:#405473;border-radius:8px;font-size:15px;line-height:1.8}
@media(max-width:760px){[data-citizen] #detail button.primary{width:100%;font-size:16px}[data-citizen] #detail .file{flex-wrap:wrap}.service-file-picker{gap:12px;padding:14px}}
