:root{font-family:"Yu Gothic UI","Noto Sans JP",sans-serif;color:#18221f;background:#eef1ef;font-synthesis:none;--ink:#18221f;--muted:#61706b;--line:#d7dedb;--green:#0b7665;--green-dark:#07594d;--navy:#17324a;--error:#ae2e24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit;letter-spacing:0}.topbar{height:72px;background:#123a36;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff24}.brand{color:#fff;text-decoration:none;font-size:19px;font-weight:800;line-height:1}.brand span{display:block;margin-top:7px;font:600 9px/1 Consolas,monospace;color:#b7d7d0}.application-ref{display:flex;align-items:center;gap:12px;font-size:11px;color:#b7d7d0}.application-ref strong{font:700 13px Consolas,monospace;color:#fff}.status-strip{height:38px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));font-size:11px;color:var(--muted)}.status-strip>div{display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#28a184;box-shadow:0 0 0 3px #d9f0ea}.save-state{font-weight:700;color:#31524b}.page{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:310px minmax(0,1fr);padding:0 24px 72px}.rail{padding:54px 42px 40px 0;align-self:start;position:sticky;top:110px}.eyebrow{margin:0 0 10px;color:var(--green);font:800 11px/1.2 Consolas,"Yu Gothic UI",sans-serif}.rail-intro h1{margin:0;font-size:34px;line-height:1.28;letter-spacing:0}.rail-intro>p:last-child{margin:18px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.progress-nav{margin-top:34px}.progress-nav ol{list-style:none;margin:0;padding:0}.progress-nav li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:13px;min-height:67px;color:#7b8883}.progress-nav li:not(:last-child)::after{content:"";position:absolute;left:15px;top:33px;height:34px;border-left:1px solid #c7d0cc}.progress-nav li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #b8c4bf;border-radius:50%;background:#eef1ef;font:700 11px Consolas,monospace}.progress-nav strong{display:block;font-size:13px;margin:1px 0 3px}.progress-nav small{font-size:10px;color:#8a9692}.progress-nav li.active{color:var(--ink)}.progress-nav li.active>span,.progress-nav li.done>span{background:var(--green);border-color:var(--green);color:#fff}.rail-visual{margin:26px 0 0}.rail-visual img{display:block;width:100%;height:128px;object-fit:cover;border-radius:4px;filter:saturate(.75)}.rail-visual figcaption{margin-top:8px;color:#74817c;font-size:10px}.form-shell{background:#fff;border-left:1px solid var(--line);border-right:1px solid var(--line);min-width:0}.form-header{display:flex;align-items:end;justify-content:space-between;padding:52px 54px 28px;border-bottom:1px solid var(--line)}.form-header h2{font-size:27px;margin:0}.form-header>p{margin:0;color:var(--muted);font-size:11px}.required-mark,label>span{display:inline-block;color:var(--error);font-size:10px;font-weight:700;margin-left:7px}section{padding:38px 54px;border-bottom:1px solid var(--line);scroll-margin-top:124px}.section-heading{display:grid;grid-template-columns:38px 1fr;gap:14px;margin-bottom:26px}.section-heading>span{padding-top:5px;color:var(--green);font:800 12px Consolas,monospace}.section-heading h3{font-size:18px;margin:0 0 5px}.section-heading p{margin:0;color:var(--muted);font-size:12px}.fields{display:grid;gap:20px 24px}.fields.two{grid-template-columns:1fr 1fr}.fields .full{grid-column:1/-1}label{font-size:12px;font-weight:700;color:#26322e}input,select,textarea{width:100%;margin-top:8px;border:1px solid #aebbb6;border-radius:4px;background:#fff;color:var(--ink);padding:11px 12px;transition:border-color .15s,box-shadow .15s}input,select{height:45px}textarea{resize:vertical;min-height:108px}input:hover,select:hover,textarea:hover{border-color:#7f918a}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px #d9eee9}input.invalid,select.invalid{border-color:var(--error);background:#fff8f7}label small{display:block;text-align:right;color:#798681;margin-top:5px;font-weight:400}.input-suffix{display:flex;align-items:center;position:relative;margin:0;color:var(--ink);font-size:12px}.input-suffix input{padding-right:42px}.input-suffix b{position:absolute;right:13px;bottom:14px;font-size:11px}.verification{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;padding:20px;border:1px solid #b8c8c2;border-left:4px solid var(--navy);background:#f6f8f7;border-radius:4px}.status-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#dce3e0;color:#73807b;font-weight:800}.verification-copy strong{display:block;font-size:14px}.verification-copy p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.verification.verified{border-color:#89c8b8;border-left-color:var(--green);background:#f1faf7}.verification.verified .status-mark{background:var(--green);color:#fff}.privacy-points{display:flex;flex-wrap:wrap;gap:7px 20px;margin:13px 0 0 64px;color:#60706a;font-size:10px}.privacy-points span::before{content:"✓";color:var(--green);font-weight:800;margin-right:5px}.primary,.secondary{border-radius:4px;min-height:44px;padding:0 20px;font-weight:800;font-size:12px;cursor:pointer;letter-spacing:0;transition:background .15s,border-color .15s,transform .1s}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.primary:active,.secondary:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}.secondary{background:#fff;color:var(--navy);border:1px solid #9caaa5}.secondary:hover{background:#f3f6f5}.consents{display:grid;gap:2px}.check{display:flex;align-items:flex-start;gap:12px;padding:12px 10px;border-bottom:1px solid #e6ebe9;font-weight:400;line-height:1.65}.check input{flex:none;width:19px;height:19px;margin:1px 0 0;accent-color:var(--green)}.check span{margin:0;color:#33413c;font-size:12px}.legal-details{margin-top:18px;border:1px solid var(--line);border-radius:4px;background:#f7f9f8}.legal-details summary{padding:12px 14px;cursor:pointer;color:#40504a;font-size:11px;font-weight:700}.legal-details p{margin:0;padding:0 14px 14px;color:#62716c;font-size:11px;line-height:1.8}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.submit{min-width:190px}.form-error{display:none;color:var(--error);background:#fff1ef;border-left:3px solid var(--error);padding:12px 14px;margin-top:18px;font-size:12px}.form-error.show{display:block}footer{height:100px;background:#123a36;color:#c4d8d3;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));font-size:11px}footer span{font-size:15px;font-weight:800;color:#fff}dialog{width:min(510px,calc(100% - 32px));border:0;border-radius:6px;padding:32px;box-shadow:0 22px 70px #0d272566;color:var(--ink)}dialog::backdrop{background:#0d2725b8}.dialog-close{position:absolute;right:13px;top:10px;width:38px;height:38px;border:0;background:transparent;color:#5d6b66;font-size:25px;cursor:pointer}.session-code{font:800 30px Consolas,monospace;letter-spacing:7px;text-align:center;background:#eef3f1;border:1px solid #ced9d5;padding:19px;margin:22px 0}.app-link{display:flex;text-decoration:none;align-items:center;justify-content:center}.waiting{margin:18px 0 0;text-align:center;color:var(--muted);font-size:11px}.complete-dialog{text-align:center}.complete-mark{margin:0 auto 16px;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--green);color:#fff;font-size:24px}.complete-dialog h2{margin:0 0 16px}.complete-dialog .primary{min-width:140px;margin-top:8px}@media(max-width:900px){.page{grid-template-columns:230px minmax(0,1fr)}.rail{padding-right:26px}.rail-intro h1{font-size:28px}.form-header,section{padding-left:34px;padding-right:34px}}@media(max-width:720px){.topbar{height:64px;padding:0 16px}.brand{font-size:16px}.application-ref{display:block;text-align:right}.application-ref span{display:block;margin-bottom:4px}.status-strip{padding:0 16px}.page{display:block;padding:0 0 48px}.rail{position:static;padding:26px 16px 20px}.rail-intro h1{font-size:26px}.rail-intro h1 br{display:none}.rail-intro>p:last-child{margin-top:10px}.progress-nav{margin-top:22px;overflow-x:auto;padding-bottom:6px}.progress-nav ol{display:grid;grid-template-columns:repeat(5,minmax(74px,1fr));min-width:430px}.progress-nav li{display:block;min-height:0;text-align:center}.progress-nav li:not(:last-child)::after{left:calc(50% + 18px);top:15px;width:calc(100% - 36px);height:0;border-left:0;border-top:1px solid #c7d0cc}.progress-nav li>span{margin:0 auto 7px}.progress-nav small{display:none}.rail-visual{display:none}.form-shell{border:0}.form-header{padding:26px 16px 20px}.form-header h2{font-size:22px}.form-header>p{max-width:90px;text-align:right}section{padding:30px 16px}.section-heading{grid-template-columns:32px 1fr}.fields.two{grid-template-columns:1fr}.fields .full{grid-column:auto}.verification{grid-template-columns:40px 1fr;padding:17px 14px}.verification .primary{grid-column:1/-1;width:100%}.privacy-points{margin-left:0}.actions{flex-direction:column-reverse}.actions button{width:100%}footer{height:82px;padding:0 16px}dialog{padding:28px 20px}.session-code{font-size:25px;letter-spacing:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
