:root{--c-ink:#172026;--c-ink-strong:#12222b;--c-ink-muted:#4d6268;--c-ink-faint:#5a6e74;--c-brand:#183878;--c-brand-strong:#12285c;--c-brand-soft:#eef2fa;--c-brand-soft-strong:#e1e9f7;--c-brand-line:#c5d0e6;--c-accent:#f08424;--c-accent-hover:#e37b1e;--c-accent-line:#d9711a;--c-page:#f4f6fa;--c-surface:#fff;--c-surface-sunken:#f7f9fc;--c-line:#d7e1e4;--c-line-strong:#b7c8cc;--c-disabled-surface:#eef3f4;--c-disabled-ink:#5c6b72;--c-danger:#b83c2b;--c-danger-deep:#8a2d1f;--c-danger-soft:#fff4f2;--c-danger-line:#f3b4a9;--c-success:#236331;--c-success-soft:#def1df;--c-attention-soft:#fdf2e6;--c-attention-line:#f2ca9f;--c-attention-ink:#7a4310;--r-control:10px;--r-panel:12px;--r-card:18px;--r-pill:999px;--shadow-card:0 1px 2px #1631380d, 0 14px 34px #16313812;--shadow-raised:0 1px 2px #16313814, 0 6px 16px #16313814;--shadow-cta:0 1px 2px #783e081f, 0 8px 18px #f0842438;--tap:48px;color:var(--c-ink);background:var(--c-page);font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--c-brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.dashboard-shell,.apply-shell{width:min(100%,960px);margin:0 auto;padding:28px 20px 56px}.dashboard-header,.apply-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.dashboard-header p,.apply-header small{color:var(--c-brand);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800;display:block}.dashboard-header h1,.apply-header strong{color:var(--c-ink-strong);letter-spacing:.01em;margin:3px 0 0;font-size:22px;font-weight:800;line-height:1.3;display:block}.brand-mark{border:1px solid var(--c-line);background:var(--c-surface);object-fit:cover;border-radius:12px;width:44px;height:44px;display:block}.brand-link{border-radius:var(--r-panel);color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.dashboard-card,.apply-card{border:1px solid var(--c-line);border-radius:var(--r-card);background:var(--c-surface);box-shadow:var(--shadow-card);padding:clamp(20px,4vw,36px)}.dashboard-card h2,.apply-card h1{color:var(--c-ink-strong);letter-spacing:.01em;margin:0 0 12px;font-size:clamp(21px,3.6vw,27px);font-weight:800;line-height:1.35}.stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0 0 22px;padding:0;list-style:none;display:grid}.stepper li{min-width:0;color:var(--c-ink-faint);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.stepper li:after{content:"";background:var(--c-line);border-radius:1px;flex:8px;height:2px;margin-left:4px}.stepper li:last-child:after{display:none}.stepper li span{border:2px solid var(--c-line-strong);background:var(--c-surface);width:30px;height:30px;color:var(--c-ink-faint);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.stepper li.complete,.stepper li.current{color:var(--c-brand)}.stepper li.complete:after{background:var(--c-brand)}.stepper li.complete span{border-color:var(--c-brand);background:var(--c-brand-soft);color:var(--c-brand)}.stepper li.current span{border-color:var(--c-brand);background:var(--c-brand);color:var(--c-surface);box-shadow:0 0 0 4px var(--c-brand-soft)}.step-caption{color:var(--c-brand);letter-spacing:.1em;margin:0 0 6px;font-size:12px;font-weight:800}.lead{color:var(--c-ink-muted);margin:0 0 22px;font-size:15px;line-height:1.75}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.dashboard-button{border:1.5px solid var(--c-brand-line);border-radius:var(--r-panel);background:var(--c-surface);min-height:92px;color:var(--c-brand);text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:18px;font-size:16px;font-weight:800;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .1s;display:flex;box-shadow:0 1px 2px #1631380d}.dashboard-button:not(:disabled):hover{border-color:var(--c-brand-line);background:var(--c-brand-soft);box-shadow:var(--shadow-raised);transform:translateY(-1px)}.dashboard-button:not(:disabled):active{box-shadow:none;transform:translateY(0)}.dashboard-button:disabled{border-color:var(--c-line);background:var(--c-surface-sunken);color:var(--c-disabled-ink);box-shadow:none;border-style:dashed}.dashboard-button small{border-radius:var(--r-pill);background:var(--c-disabled-surface);min-height:22px;color:var(--c-disabled-ink);letter-spacing:.06em;align-items:center;padding:2px 10px;font-size:11px;font-weight:800;display:inline-flex}.resume-panel{border:1px solid var(--c-brand-line);border-radius:var(--r-panel);background:var(--c-brand-soft);justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding:18px;display:flex}.resume-panel strong,.resume-panel p{margin:0}.resume-panel strong{color:var(--c-brand-strong);font-size:16px}.resume-panel p{color:var(--c-ink-muted);margin-top:4px;font-size:14px}label{color:var(--c-ink-muted);letter-spacing:.01em;flex-direction:column;gap:8px;margin:18px 0;font-size:14px;font-weight:700;display:flex}input:where(:not([type=checkbox]):not([type=radio])),select,textarea{width:100%;min-height:var(--tap);border:1.5px solid var(--c-line-strong);border-radius:var(--r-control);color:var(--c-ink);background-color:var(--c-surface);padding:11px 14px;font-size:16px;line-height:1.4;transition:border-color .14s,box-shadow .14s,background-color .14s}input:where(:not([type=checkbox]):not([type=radio])):not(:disabled):not([readonly]):not([aria-invalid=true]):hover,select:not(:disabled):not([aria-invalid=true]):hover,textarea:not(:disabled):not([readonly]):not([aria-invalid=true]):hover{border-color:var(--c-brand-line)}input:where(:not([type=checkbox]):not([type=radio])):focus,select:focus,textarea:focus{border-color:var(--c-brand);outline-offset:3px;box-shadow:0 0 0 4px #1838781f}input::placeholder,textarea::placeholder{color:var(--c-ink-faint)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25l5-4.5' fill='none' stroke='%23183878' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:44px}select:disabled{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.75 6 6.25l5-4.5' fill='none' stroke='%235c6b72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}select:has(option[value=""]:checked){color:var(--c-ink-faint)}input:disabled,select:disabled,textarea:disabled{border-color:var(--c-line);background-color:var(--c-disabled-surface);color:var(--c-disabled-ink);-webkit-text-fill-color:var(--c-disabled-ink);cursor:not-allowed}input[readonly],.readonly-field{border-color:var(--c-line);background-color:var(--c-disabled-surface);color:var(--c-ink-muted);cursor:default;font-weight:700}[aria-invalid=true]{border-color:var(--c-danger);background-color:var(--c-danger-soft)}[aria-invalid=true]:focus{border-color:var(--c-danger);box-shadow:0 0 0 4px #b83c2b24}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;display:grid}.checkbox-label,.radio-label{min-height:var(--tap);border:1.5px solid var(--c-line);border-radius:var(--r-panel);background:var(--c-surface);color:var(--c-ink-strong);cursor:pointer;flex-direction:row;align-items:center;gap:12px;margin:10px 0;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.55;transition:border-color .14s,background-color .14s,box-shadow .14s}.checkbox-label:hover,.radio-label:hover{border-color:var(--c-brand-line);background:var(--c-brand-soft)}:is(.checkbox-label:has(input:checked),.radio-label:has(input:checked)){border-color:var(--c-brand);background:var(--c-brand-soft);box-shadow:inset 0 0 0 1px var(--c-brand)}.checkbox-label:focus-within,.radio-label:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 4px #1838781f}:is(.checkbox-label:has(input:disabled),.radio-label:has(input:disabled)){border-color:var(--c-line);background:var(--c-disabled-surface);color:var(--c-disabled-ink);box-shadow:none;cursor:not-allowed}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{width:24px;height:24px;min-height:24px;accent-color:var(--c-brand);cursor:inherit;flex:none;margin:0}.link-mode{border:1px solid var(--c-line);border-radius:var(--r-panel);background:var(--c-surface-sunken);margin:0 0 22px;padding:12px 16px 16px}.link-mode legend{color:var(--c-brand);letter-spacing:.06em;padding:0 8px;font-size:13px;font-weight:800}.primary-button,.secondary-button,.text-button,.primary-link{min-height:var(--tap);border-radius:var(--r-control);justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:16px;font-weight:800;line-height:1.25;text-decoration:none;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .1s;display:inline-flex}.primary-button,.primary-link{border:1.5px solid var(--c-accent-line);background:var(--c-accent);color:var(--c-brand-strong);box-shadow:var(--shadow-cta)}.primary-button:not(:disabled):hover,.primary-link:hover{background:var(--c-accent-hover)}.primary-button:not(:disabled):active,.primary-link:active{background:var(--c-accent-hover);transform:translateY(1px);box-shadow:inset 0 2px 4px #783e0838}.secondary-button{border:1.5px solid var(--c-brand-line);background:var(--c-surface);color:var(--c-brand)}.secondary-button:not(:disabled):hover{border-color:var(--c-brand);background:var(--c-brand-soft)}.secondary-button:not(:disabled):active{background:var(--c-brand-soft-strong);transform:translateY(1px)}.primary-button:disabled,.primary-link[aria-disabled=true],.secondary-button:disabled{border-color:var(--c-line);background:var(--c-disabled-surface);color:var(--c-disabled-ink);box-shadow:none;transform:none}.text-button{min-height:40px;color:var(--c-brand);text-underline-offset:3px;background:0 0;border:0;padding:8px 6px;text-decoration:underline}.text-button:not(:disabled):hover{background:var(--c-brand-soft);border-radius:var(--r-control)}.text-button:disabled{color:var(--c-disabled-ink)}.text-link{min-height:40px;color:var(--c-brand);text-underline-offset:3px;align-items:center;font-weight:800;text-decoration:underline;display:inline-flex}.text-link:hover{color:var(--c-brand-strong)}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:28px;display:flex}.actions>:first-child{margin-right:auto}.auth-card .actions .primary-button{width:100%}.linked-summary,.contract-terms-summary,.screening-panel,.agreement-panel,.service-item-panel,.signature-section,.simulation-result,.application-summary{border:1px solid var(--c-line);border-radius:var(--r-panel);background:var(--c-surface-sunken);margin-top:24px;padding:20px}.linked-summary h2,.contract-terms-summary h2,.screening-panel h2,.agreement-panel h2,.service-item-panel h2,.signature-section h2,.simulation-result h2,.application-summary h2{color:var(--c-ink-strong);letter-spacing:.02em;margin:0 0 12px;font-size:17px;font-weight:800}.linked-summary dl,.contract-terms-summary dl,.application-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.linked-summary dl div,.contract-terms-summary dl div,.application-summary dl div{border:1px solid var(--c-line);border-radius:var(--r-control);background:var(--c-surface);padding:12px 14px}dt{color:var(--c-ink-faint);letter-spacing:.04em;font-size:12px;font-weight:800}dd{color:var(--c-ink-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:6px 0 0;font-weight:800}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.summary-grid div{border:1px solid var(--c-brand-line);border-radius:var(--r-control);background:var(--c-surface);flex-direction:column;justify-content:center;min-height:82px;padding:14px;display:flex}.summary-grid dd{color:var(--c-brand-strong);font-size:19px}.table-shell{border:1px solid var(--c-line);border-radius:var(--r-panel);background:var(--c-surface);margin-top:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:580px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7eef0;padding:12px 14px}th{color:var(--c-ink-faint);background:var(--c-surface-sunken);letter-spacing:.04em;font-size:12px;font-weight:800}td{color:var(--c-ink);font-variant-numeric:tabular-nums;font-size:14px}.table-shell th,.table-shell td{text-align:right}.table-shell th:first-child,.table-shell td:first-child{text-align:left}.table-shell th:last-child,.table-shell td:last-child{text-align:center}tbody tr:nth-child(2n){background:#fbfcfd}tr:last-child td{border-bottom:0}.inline-error{border:1px solid var(--c-danger-line);border-left:4px solid var(--c-danger);border-radius:var(--r-control);background:var(--c-danger-soft);color:var(--c-danger-deep);margin:18px 0;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.6}.field-error{color:var(--c-danger);margin-top:0;font-size:13px;font-weight:700;line-height:1.5;display:block}.notice{border:1px solid var(--c-brand-line);border-left:4px solid var(--c-brand);border-radius:var(--r-control);background:var(--c-brand-soft);color:var(--c-brand-strong);margin:18px 0;padding:14px 16px;font-size:15px;line-height:1.7}.notice .secondary-button{margin-top:12px}.flash-message{border:1px solid var(--c-attention-line);border-radius:var(--r-control);background:var(--c-attention-soft);color:var(--c-attention-ink);margin:16px 0;padding:12px 16px;font-size:14px;font-weight:700;line-height:1.65}.muted{color:var(--c-ink-muted);font-size:14px;line-height:1.7}.verified-badge{border-radius:var(--r-pill);background:var(--c-success-soft);min-height:32px;color:var(--c-success);border:1px solid #b9ddbf;align-items:center;padding:4px 14px;font-size:13px;font-weight:800;display:inline-flex}.sms-row{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0;display:flex}.sms-modal{border:1px solid var(--c-brand-line);border-top:4px solid var(--c-brand);border-radius:var(--r-panel);background:var(--c-surface);box-shadow:var(--shadow-raised);margin:20px 0;padding:22px}.sms-modal h2{color:var(--c-brand-strong);margin:0 0 10px;font-size:18px;font-weight:800}.sms-modal p{color:var(--c-ink-muted);margin-top:0}.agreement-scroll{overscroll-behavior:contain;border:1px solid var(--c-brand-line);border-radius:var(--r-control);background:var(--c-surface-sunken);max-height:300px;margin:14px 0;padding:4px 16px;overflow-y:auto}.agreement-section{border-bottom:1px solid var(--c-line);padding:12px 0}.agreement-section:last-child{border-bottom:0}.agreement-section h3{color:var(--c-brand);margin:0 0 8px;font-size:15px;font-weight:800}.agreement-section p{color:var(--c-ink-muted);margin:0;font-size:14px;line-height:1.85}.agreement-body{white-space:pre-wrap;overflow-wrap:anywhere}.agreement-version{margin:4px 0 12px;font-size:12px}.signature-canvas{touch-action:none;border:2px dashed var(--c-brand-line);border-radius:var(--r-control);background:var(--c-surface);width:100%;height:auto;display:block}.complete-panel{text-align:center;padding:32px 16px}.complete-panel h2{color:var(--c-ink-strong);margin:0;font-size:25px;font-weight:800}.complete-panel h2:before{content:"";background-color:var(--c-success-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='24' viewBox='0 0 30 24'%3E%3Cpath d='M2 12.5 10.5 21 28 3' fill='none' stroke='%23236331' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:30px 24px;border-radius:50%;width:64px;height:64px;margin:0 auto 18px;display:block}.complete-panel p{color:var(--c-ink-muted);margin:16px 0 26px;line-height:1.8}.auth-card{width:min(100%,460px);margin:0 auto}.apply-shell:has(.auth-card) .apply-header{justify-content:center}.center-state{min-height:70vh;color:var(--c-ink-muted);place-items:center;padding:24px;font-weight:700;display:grid}.error-panel{color:var(--c-danger-deep);text-align:center;font-weight:800}@media (width<=880px){.stepper li{font-size:12px}.summary-grid,.linked-summary dl,.contract-terms-summary dl,.application-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.dashboard-shell,.apply-shell{padding:18px 14px 40px}.stepper li{text-align:center;flex-direction:column;gap:4px;font-size:11px}.stepper li:after{display:none}.stepper li span{width:28px;height:28px}.dashboard-grid,.form-grid,.linked-summary dl,.contract-terms-summary dl,.application-summary dl,.summary-grid{grid-template-columns:1fr}.resume-panel,.actions{flex-direction:column;align-items:stretch}.actions>:first-child{margin-right:0}.actions .text-link{justify-content:center}.actions .primary-button,.actions .secondary-button,.actions .primary-link{width:100%}}.session-bar{border-bottom:1px solid var(--c-brand-line);background:var(--c-brand-soft);color:var(--c-brand-strong);justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;font-size:13px;font-weight:700;display:flex}.session-logout-button{border:1.5px solid var(--c-brand-line);border-radius:var(--r-control);background:var(--c-surface);min-height:40px;color:var(--c-brand);padding:6px 16px;font-size:13px;font-weight:800;transition:background-color .14s,border-color .14s}.session-logout-button:not(:disabled):hover{border-color:var(--c-brand);background:var(--c-brand-soft-strong)}.session-logout-button:disabled{border-color:var(--c-line);background:var(--c-disabled-surface);color:var(--c-disabled-ink)}
