html{line-height:1.5}body{margin:0}#root{min-height:100vh}:root{font-family:var(--font-ui);color:var(--color-text-body);background:var(--color-bg-page);font-synthesis:none;text-rendering:optimizelegibility;--color-primary:#2f5d50;--color-primary-hover:#24483f;--color-focus:#d7a84d;--color-text-body:#24302f;--color-text-strong:#31413e;--color-text-mid:#41514e;--color-text-desc:#4c5d59;--color-text-muted:#526460;--color-text-photo:#5d6d69;--color-text-subtle:#63736f;--color-text-placeholder:#82918c;--color-bg-page:#f3f5f1;--color-bg-surface:#fff;--color-bg-alt:#f6f8f5;--color-bg-soft:#f8faf7;--color-bg-field:#f8fbf9;--color-bg-dialog:#eef2ec;--color-border:#d7ddd5;--color-border-light:#e3e8e1;--color-border-input:#b8c5c0;--color-border-guidance:#d7e3dd;--color-guidance-border:#c9dbd3;--color-guidance-accent:#6a9387;--color-guidance-bg:#f5faf7;--color-notice-bg:#e8f0ec;--color-notice-bg-alt:#eef6f2;--color-notice-border:#a9c6bb;--color-badge-complete:#8eb8a8;--color-danger:#a94734;--color-danger-dark:#823923;--color-danger-deep:#674437;--color-danger-border:#e4b29f;--color-warning-bg:#fff2ea;--color-warning-bg-light:#fff8f3;--color-warning-bg-input:#fff7f3;--color-warning-bg-sensitive:#fff1e8;--color-warning-border:#d9a68f;--color-badge-neutral:#c9d3ce;--color-photo-border:#9fb4ad;--color-preview-border:#c9c9c9;--color-resume-page-number:#444;--color-resume-photo-placeholder:#555;--font-ui:"Yu Gothic UI", "Yu Gothic", "Meiryo", system-ui, sans-serif;--font-pdf-gothic:"BIZ UDPGothic", "Yu Gothic UI", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;--font-pdf-mincho:"BIZ UDMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;--radius-card:8px;--shadow-card:0 2px 10px #24302f0d;--shadow-dialog:0 16px 40px #24302f38;--shadow-preview:0 4px 16px #0000001f;--backdrop-color:#24302f59;--resume-ink:#111;--resume-header-bg:#e8e8e8;--resume-border:1px solid var(--resume-ink);--resume-field-pad:1.5mm 2mm}*{box-sizing:border-box}body{background:var(--color-bg-page);min-width:320px;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,.file-button{border:1px solid var(--color-primary);border-radius:var(--radius-card);background:var(--color-primary);color:#fff;cursor:pointer;min-height:48px;padding:10px 14px;font-weight:700}button:hover,.file-button:hover{background:var(--color-primary-hover)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-button:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}button.secondary,.file-button.secondary{background:var(--color-bg-surface);color:var(--color-primary)}button.secondary:hover,.file-button.secondary:hover{background:var(--color-notice-bg)}button.danger,button.ghost-danger{border-color:var(--color-danger);background:var(--color-danger)}button.ghost-danger:disabled{background:var(--color-danger)}.app-shell{min-height:100vh}.skip-link{z-index:20;border:2px solid var(--color-focus);border-radius:var(--radius-card);background:var(--color-bg-surface);color:var(--color-text-body);padding:10px 14px;font-weight:700;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);justify-content:space-between;gap:24px;padding:28px 32px;display:flex}.app-header h1{letter-spacing:0;margin:0;font-size:clamp(1.8rem,2.4vw,2.8rem)}.app-header nav{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.app-header nav a{color:var(--color-primary)}.header-copy{color:var(--color-text-muted);max-width:760px;margin:8px 0 0}.section-nav button{background:var(--color-bg-surface);color:var(--color-primary)}.section-nav button.active{background:var(--color-primary);color:#fff}.workspace{grid-template-columns:minmax(220px,260px) minmax(480px,1fr) minmax(360px,520px);align-items:start;gap:18px;padding:18px;display:grid}.side-panel,.editor,.preview-panel{min-width:0}.side-panel,.preview-sticky{position:sticky;top:18px}.application-card,.form-section,.output-card,.preview-sticky{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.application-card{margin-bottom:14px;padding:16px}.application-card h2,.preview-sticky h2,.form-section h2{margin:0;font-size:1.1rem}.application-card p,.form-section header p,.output-card p{color:var(--color-text-desc);margin:8px 0 0;font-size:.95rem;line-height:1.65}.radio-card,.check-row{align-items:flex-start;gap:10px;min-height:48px;margin-top:12px;padding-block:4px;font-weight:700;display:flex}.radio-card input,.check-row input{width:18px;height:18px;margin-top:2px}.section-nav{gap:8px;display:grid}.side-panel-jump-nav{margin-top:12px}.section-nav button{text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.editor{gap:14px;display:grid}.notice,.alert{border-radius:var(--radius-card);padding:12px 14px;font-weight:700}.notice{background:var(--color-notice-bg);color:var(--color-primary-hover);border:1px solid var(--color-notice-border)}.alert{background:var(--color-warning-bg);color:var(--color-danger-dark);border:1px solid var(--color-danger-border)}.offline-notice{background:var(--color-warning-bg);color:var(--color-danger-dark);border-color:var(--color-danger-border)}.form-section{padding:18px}.form-section header{border-bottom:1px solid var(--color-border-light);margin-bottom:16px;padding-bottom:12px}.section-guidance{border:1px solid var(--color-guidance-border);border-left:4px solid var(--color-guidance-accent);border-radius:var(--radius-card);background:var(--color-guidance-bg);color:var(--color-text-strong);gap:8px;margin:0 0 16px;padding:12px 14px;font-size:.95rem;line-height:1.6;display:grid}.section-guidance strong{font-weight:800}.section-guidance ul{margin:0;padding-left:1.2rem}.section-guidance li+li{margin-top:3px}.form-section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.form-section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.compact-button{min-height:44px;padding:8px 12px}.section-state{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:3px 8px;font-size:.82rem;font-weight:700;line-height:1.25;display:inline-flex}.section-state.complete{border-color:var(--color-badge-complete);background:var(--color-notice-bg);color:var(--color-primary-hover)}.section-state.warning{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-danger-dark)}.section-state.neutral{border-color:var(--color-badge-neutral);background:var(--color-bg-alt);color:var(--color-text-muted)}.section-nav button.active .section-state{background:var(--color-bg-surface);color:var(--color-primary-hover);border-color:#ffffffb3}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{color:var(--color-text-strong);align-content:start;gap:6px;font-weight:700;display:grid}.field label{display:block}.field-hint{color:var(--color-text-subtle);margin:0;font-size:.95rem;font-style:normal;font-weight:500;line-height:1.55;display:block}.field-error{color:var(--color-danger-dark);margin:0;font-size:.95rem;font-weight:700;line-height:1.55}.field-character-count{color:var(--color-text-subtle);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:.9rem;line-height:1.4;display:block}.field-character-count.over-limit{color:var(--color-danger-dark);font-weight:700}.text-area-expand-button{justify-self:end}.field-guidance{border:1px solid var(--color-border-guidance);border-radius:var(--radius-card);background:var(--color-bg-field);color:var(--color-text-mid);margin:0;padding:7px 9px;font-size:.92rem;font-weight:600;line-height:1.5}ul.field-guidance{padding-left:1.45rem}.field-guidance li+li{margin-top:3px}.choice-field{border:0;margin:0;padding:0}.choice-field legend{padding:0}.segmented-radios{flex-wrap:wrap;gap:8px;display:flex}.segmented-radios label{border:1px solid var(--color-border-input);border-radius:var(--radius-card);background:var(--color-bg-surface);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-width:92px;min-height:48px;padding:9px 12px;display:inline-flex}.segmented-radios input{flex:none;width:18px;min-height:18px}.pdf-font-control,.pdf-paper-control{margin-top:2px}.pdf-font-options label,.pdf-paper-options label{min-width:180px}input,select,textarea{border:1px solid var(--color-border-input);border-radius:var(--radius-card);background:var(--color-bg-surface);width:100%;min-height:48px;color:var(--color-text-body);padding:9px 11px}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder);opacity:.72;font-weight:400}input:focus::placeholder,textarea:focus::placeholder{opacity:.55}input[readonly]{background:var(--color-bg-alt);color:var(--color-text-mid)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger);background:var(--color-warning-bg-input)}.postal-field{gap:8px;min-width:0;display:grid}.postal-lookup{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-soft);color:var(--color-text-mid);gap:8px;padding:10px;font-weight:600;display:grid}.postal-lookup.loading,.postal-lookup.found,.postal-lookup.candidate{border-color:var(--color-notice-border);background:var(--color-notice-bg-alt)}.postal-lookup.error,.postal-lookup.not_found{border-color:var(--color-danger-border);background:var(--color-warning-bg-input);color:var(--color-danger-dark)}.postal-lookup p{margin:0;line-height:1.55}.postal-lookup .postal-privacy-note{color:var(--color-text-subtle);font-size:.9rem;font-weight:500}.aligned-field input,.aligned-field select,.aligned-field textarea{text-align-last:auto}textarea{resize:vertical;line-height:1.65}:is(input:user-invalid,textarea:user-invalid,select:user-invalid){border-color:var(--color-danger);background:var(--color-warning-bg-input)}.photo-editor{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:18px;display:grid}.photo-preview{aspect-ratio:3/4;border:2px dashed var(--color-photo-border);border-radius:var(--radius-card);background:var(--color-bg-soft);width:150px;color:var(--color-text-photo);place-items:center;font-weight:700;display:grid;overflow:hidden}.photo-preview img,.photo-box img{object-fit:cover;width:100%;height:100%}.file-button{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-controls,.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.photo-controls p{color:var(--color-text-photo);flex-basis:100%;margin:0;font-size:.95rem;line-height:1.65}.editable-rows{gap:8px;display:grid}.row-head,.edit-row{grid-template-columns:minmax(128px,.65fr) minmax(120px,.55fr) minmax(220px,1fr) minmax(190px,auto);align-items:start;gap:8px;display:grid}.row-head{color:var(--color-text-muted);font-weight:700}.row-actions{gap:6px;padding-top:0;display:flex}.editable-rows.with-alignments .row-actions{padding-top:54px}.row-actions button{min-height:48px;padding:8px 10px}.row-field{gap:6px;min-width:0;display:grid}.alignment-control{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.9rem;font-weight:700;display:flex}.alignment-buttons{border:1px solid var(--color-border-input);border-radius:var(--radius-card);background:var(--color-bg-surface);display:inline-flex;overflow:hidden}.alignment-buttons button{border:0;border-right:1px solid var(--color-border-input);background:var(--color-bg-surface);min-width:48px;min-height:48px;color:var(--color-primary);border-radius:0;padding:7px 10px}.alignment-buttons button:last-child{border-right:0}.alignment-buttons button.active{background:var(--color-primary);color:#fff}.toggle-text{border:1px solid var(--color-border-light);border-radius:var(--radius-card);gap:8px;padding:12px;display:grid}.accommodation-locked{border:1px solid var(--color-danger-border);border-radius:var(--radius-card);background:var(--color-warning-bg-light);gap:12px;padding:16px;display:grid}.accommodation-locked h3{margin:0;font-size:1.05rem}.accommodation-locked p{color:var(--color-danger-deep);margin:0;line-height:1.7}.accommodation-locked button{justify-self:start}.output-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.output-card{align-content:start;gap:10px;padding:14px;display:grid}.output-card-wide{grid-column:1/-1}.output-card h3{margin:0}.output-card p{margin-top:0}.output-guidance{border:1px solid var(--color-notice-border);border-radius:var(--radius-card);background:var(--color-notice-bg);padding:10px 12px;font-weight:700;color:var(--color-primary-hover)!important}.paper-format-note{color:var(--color-text-muted);margin:10px 0 0;line-height:1.6}.demo-check-action{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-soft);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px;display:flex}.demo-check-action p{color:var(--color-text-muted);flex:260px;margin:0;line-height:1.6}.demo-check-buttons{flex-wrap:wrap;gap:8px;display:flex}.danger-zone{border-color:var(--color-warning-border);background:var(--color-warning-bg-light)}.danger-zone h3{color:var(--color-danger-dark)}.warning-text{font-weight:700;color:var(--color-danger)!important}.check-list{color:var(--color-text-mid);margin:0 0 14px;padding-left:1.2rem}.preview-sticky{scrollbar-gutter:stable;max-height:calc(100vh - 36px);padding:16px;overflow:auto}.preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-toolbar,.preview-tabs{flex-wrap:wrap;gap:8px;display:flex}.preview-toolbar button,.preview-tabs button{background:var(--color-bg-surface);min-height:48px;color:var(--color-primary);padding:8px 12px}.preview-toolbar button.active,.preview-tabs button.active{background:var(--color-primary);color:#fff}.preview-tabs{margin-top:12px}.preview-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.preview-actions button{min-height:48px;padding:8px 10px}.preview-actions .secondary{background:var(--color-bg-surface);color:var(--color-primary)}.preview-actions .secondary:hover{background:var(--color-notice-bg)}.preview-large-button{grid-column:1/-1}.preview-note{color:var(--color-text-muted);margin:12px 0 0;font-size:.95rem;line-height:1.6}.preview-pages{justify-items:center;gap:18px;margin-top:14px;display:grid;overflow-x:hidden}.preview-pages.preview-fit{--preview-scale:.48;--preview-frame-width:101mm;--preview-frame-height:143mm}.preview-pages.preview-large{--preview-scale:.76;--preview-frame-width:160mm;--preview-frame-height:226mm;justify-items:start;padding-bottom:8px;overflow-x:auto}.preview-pages.preview-fit.preview-paper-a3-landscape{--preview-scale:.3;--preview-frame-width:126mm;--preview-frame-height:89mm}.preview-pages.preview-large.preview-paper-a3-landscape{--preview-scale:.46;--preview-frame-width:193mm;--preview-frame-height:137mm}.pdf-document{gap:8mm;width:210mm;display:grid}.resume-a3-document{width:420mm}.pdf-page{width:210mm;height:297mm;min-height:297mm;color:var(--resume-ink);background:#fff;padding:11mm;overflow:hidden}.pdf-document.pdf-font-gothic .pdf-page{font-family:var(--font-pdf-gothic);font-size-adjust:from-font}.pdf-document.pdf-font-mincho .pdf-page{font-family:var(--font-pdf-mincho);letter-spacing:.04em;font-feature-settings:"palt" off}.preview-page-frame{width:var(--preview-frame-width);max-width:100%;height:var(--preview-frame-height);position:relative;overflow:hidden}.preview-pages.preview-large .preview-page-frame{max-width:none}.preview-page-frame .pdf-document{transform-origin:top;transform:translateX(-50%) scale(var(--preview-scale));position:absolute;inset-block-start:0;inset-inline-start:50%}.preview-page-frame .pdf-page{border:1px solid var(--color-preview-border);box-shadow:var(--shadow-preview)}.preview-pages.preview-large .pdf-document{transform-origin:0 0;transform:scale(var(--preview-scale));inset-inline-start:0}.pdf-export-root{pointer-events:none;width:420mm;position:fixed;top:0;left:-10000px}.pdf-export-root .pdf-document{gap:0}.resume-title-row{border-bottom:2px solid var(--resume-ink);justify-content:space-between;align-items:end;margin-bottom:5mm;padding-bottom:5mm;display:flex}.resume-title-row h2{letter-spacing:.2em;margin:0;font-size:8mm}.resume-date{font-size:3.2mm}.resume-page-body,.resume-profile-section{align-content:start;gap:4mm;display:grid}.resume-profile-grid{grid-template-columns:1fr 30mm;gap:4mm;display:grid}.profile-main,.resume-box,.resume-table-block,.resume-text-box,.accommodation-list section,.sheet-note,.empty-print{border:var(--resume-border)}.profile-main{grid-template-rows:8mm 18mm minmax(14mm,1fr);display:grid}.field-line{border-bottom:var(--resume-border);grid-template-columns:28mm 1fr;align-items:center;min-height:9mm;display:grid}.field-line:last-child{border-bottom:none}.field-line span{padding:var(--resume-field-pad);background:var(--resume-header-bg);border-right:var(--resume-border);height:100%;font-size:3mm}.field-line strong{padding:var(--resume-field-pad);overflow-wrap:anywhere;font-size:3.3mm;font-weight:500}.field-line.name strong{font-size:6mm}.field-line.large strong{font-size:3.5mm}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.field-row{border-bottom:var(--resume-border);grid-template-columns:1fr 1fr;display:grid}.field-row:last-child,.field-row .field-line{border-bottom:none}.field-row .field-line:not(:last-child){border-right:var(--resume-border)}.birth-age-row{grid-template-columns:minmax(0,2fr) minmax(0,.75fr)}.birth-age-gender-row{grid-template-columns:minmax(0,2fr) minmax(0,.75fr) minmax(0,.9fr)}.birth-age-row .field-line,.birth-age-gender-row .field-line{grid-template-columns:18mm minmax(0,1fr)}.photo-box{border:var(--resume-border);aspect-ratio:3/4;color:var(--color-resume-photo-placeholder);place-items:center;font-size:3.2mm;display:grid;overflow:hidden}.resume-table-block{margin-top:0}.resume-table-block h3,.resume-text-box h3,.accommodation-list h3{background:var(--resume-header-bg);border-bottom:var(--resume-border);padding:var(--resume-field-pad);margin:0;font-size:3.2mm}.resume-table-block table{border-collapse:collapse;table-layout:fixed;width:100%}.resume-table-block tr{break-inside:avoid}.resume-table-block th,.resume-table-block td{border-right:var(--resume-border);border-bottom:var(--resume-border);vertical-align:top;overflow-wrap:anywhere;height:7mm;min-height:7mm;padding:1.2mm 2mm;font-size:3mm}.resume-table-block th:first-child,.resume-table-block td:first-child{width:18mm}.resume-table-block th:nth-child(2),.resume-table-block td:nth-child(2){width:14mm}.resume-table-block th:last-child,.resume-table-block td:last-child{border-right:none}.resume-table-block tbody tr:last-child td{border-bottom:none}.small-table td{height:6.4mm;min-height:6.4mm}.resume-text-box p,.accommodation-list p,.sheet-note,.empty-print{white-space:pre-wrap;overflow-wrap:anywhere;min-height:21mm;margin:0;padding:2mm;font-size:3mm;line-height:1.45}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden;border:var(--resume-border)!important}.mini-grid p{border-right:var(--resume-border);border-bottom:var(--resume-border);grid-template-rows:auto 1fr;min-width:0;min-height:13mm;margin:0;display:grid;overflow:hidden}.mini-grid p:nth-child(2n){border-right:none}.mini-grid p:nth-last-child(-n+2){border-bottom:none}.mini-grid span{background:var(--resume-header-bg);border-bottom:var(--resume-border);margin:0;padding:1mm 2mm;font-size:3mm;font-weight:700;line-height:1.25;display:block}.mini-grid strong{overflow-wrap:anywhere;align-self:center;padding:1.2mm 2mm;font-size:3mm;font-weight:500;line-height:1.35;display:block}.resume-mini-grid{width:100%}.resume-a4-page{grid-template-rows:auto minmax(0,1fr);display:grid}.resume-a4-page-2{grid-template-rows:minmax(0,1fr);position:relative}.resume-a4-page-number{color:var(--color-resume-page-number);font-size:3.2mm;position:absolute;top:6mm;right:11mm}.resume-a4-body{align-content:stretch;gap:4mm;min-height:0;display:grid}.resume-a4-body-1{grid-template-rows:auto minmax(0,1fr)}.resume-a4-body-2{grid-template-rows:auto auto minmax(0,1fr) auto}.resume-a4-history-block{grid-template-rows:auto auto;align-self:start;display:grid;overflow:clip}.resume-a4-text-stack{flex-direction:column;gap:4mm;min-height:0;display:flex}.resume-a4-text-stack .resume-text-box{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:clip}.resume-a4-text-stack>.resume-text-motivation,.resume-a4-text-stack>.resume-text-selfPr{flex:auto;min-height:24mm}.resume-a4-text-stack>.resume-text-requests{flex:none;min-height:16mm}.resume-a4-text-stack .resume-text-box p{min-height:0;overflow:clip}.resume-a4-text-stack>.resume-text-requests p{min-height:8.5mm;line-height:1.35}.resume-a3-page{--resume-header-bg:transparent;width:420mm;height:297mm;min-height:297mm;padding:11mm 16mm;display:block}.resume-a3-page .resume-title-row{border-bottom-width:1px;margin-bottom:0;padding-bottom:1.8mm}.resume-a3-page .resume-title-row h2{letter-spacing:.16em;font-size:6mm}.resume-a3-page .resume-date{font-size:2.6mm}.resume-a3-body{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16mm;height:100%;min-height:0;display:grid}.resume-a3-face,.resume-a3-qualification-area,.resume-a3-appeal-grid,.resume-a3-request-mini{min-width:0;min-height:0}.resume-a3-face{align-content:start;height:100%;display:grid}.resume-a3-left-face{grid-template-rows:auto minmax(0,1fr);gap:3mm}.resume-a3-right-face{grid-template-rows:auto auto minmax(0,1fr) auto;gap:3mm;padding-top:11mm}.resume-a3-profile-block{gap:2mm;display:grid}.resume-a3-appeal-grid{flex-direction:column;gap:2mm;display:flex}.resume-a3-appeal-grid .resume-text-box{flex:auto;min-height:22mm;overflow:clip}.resume-a3-request-mini{grid-template-columns:minmax(0,1fr) 62mm;align-items:stretch;gap:2mm;min-height:16mm;display:grid}.resume-a3-history-block{grid-template-rows:auto auto;display:grid;overflow:clip}.resume-a3-history-fill{border-bottom:none;grid-template-rows:auto minmax(0,1fr);height:100%}.resume-a3-history-fill tbody tr:last-child td{border-bottom:var(--resume-border)}.resume-a3-page .resume-table-block table{height:auto}.resume-a3-page .resume-a3-history-fill table{height:100%}.resume-a3-page .resume-a3-qualification-area .resume-table-block,.resume-a3-page .resume-a3-qualification-area .resume-table-block table{height:auto}.resume-a3-page .resume-profile-section{gap:2mm;display:grid}.resume-a3-page .birth-age-row .field-line,.resume-a3-page .birth-age-gender-row .field-line{height:100%;min-height:0}.resume-a3-page .resume-table-block h3,.resume-a3-page .resume-text-box h3{text-align:center}.resume-a3-page .resume-text-box p{min-height:0;padding:1.3mm;font-size:3mm;line-height:1.35;overflow:clip}.resume-a3-request-mini .resume-text-box p{min-height:8.5mm}.resume-a3-appeal-grid .resume-text-box p{height:auto;line-height:1.95}.resume-a3-request-mini .resume-text-box p{line-height:1.15}.resume-a3-appeal-grid .resume-text-box,.resume-a3-request-mini .resume-text-box{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.resume-a3-request-mini .resume-text-box,.resume-a3-request-mini .resume-mini-grid{min-height:16mm}.resume-a3-page .mini-grid p{grid-template-rows:none;grid-template-columns:14mm minmax(0,1fr);min-height:0}.resume-a3-page .mini-grid p span{border-bottom:none;border-right:var(--resume-border)}.resume-a3-page .resume-mini-grid{grid-template-rows:repeat(2,minmax(0,1fr))}.resume-a3-page .mini-grid span,.resume-a3-page .mini-grid strong{overflow-wrap:anywhere;font-size:3mm;line-height:1.25}.resume-a3-page .mini-grid span{padding:.5mm 1.5mm}.resume-a3-page .mini-grid strong{padding:1.2mm 2mm}.sheet-note{min-height:14mm;margin-bottom:5mm}.accommodation-list{gap:4mm;display:grid}.accommodation-list section.sensitive-field h3{background:var(--color-warning-bg-sensitive)}.accommodation-list p{min-height:20mm}.accommodation-page .resume-title-row h2{letter-spacing:0;font-size:5.2mm}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(92vw,520px);color:var(--color-text-body);box-shadow:var(--shadow-dialog);padding:0}.confirm-dialog::backdrop,.preview-dialog::backdrop,.expanded-text-dialog::backdrop{background:var(--backdrop-color)}.expanded-text-dialog{border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(94vw,900px);max-height:92vh;color:var(--color-text-body);box-shadow:var(--shadow-dialog);padding:0}.expanded-text-dialog form{grid-template-rows:auto minmax(0,1fr);max-height:92vh;display:grid}.expanded-text-dialog-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.expanded-text-dialog-header h2,.expanded-text-dialog-header p{margin:0}.expanded-text-dialog-header h2{font-size:1.25rem}.expanded-text-dialog-header p{color:var(--color-text-subtle);margin-top:6px;line-height:1.6}.expanded-text-dialog-body{min-height:0;padding:20px;display:grid}.expanded-text-dialog-body label{margin-bottom:8px;font-weight:700}.expanded-text-dialog-body textarea{width:100%;min-height:min(54vh,520px);font:inherit;padding:14px;line-height:1.8}.confirm-dialog form{gap:14px;padding:20px;display:grid}.confirm-dialog h2{margin:0;font-size:1.2rem}.confirm-dialog p{margin:0;line-height:1.7}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.preview-dialog{border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(96vw,1040px);max-height:92vh;color:var(--color-text-body);box-shadow:var(--shadow-dialog);padding:0}.preview-dialog form{grid-template-rows:auto minmax(0,1fr);max-height:92vh;display:grid}.preview-dialog-header{z-index:1;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.preview-dialog-header h2{margin:0;font-size:1.2rem}.preview-dialog-body{background:var(--color-bg-dialog);padding:18px;overflow:auto}.preview-dialog-body .pdf-document{margin-inline:auto}.preview-dialog-body .pdf-page{border:1px solid var(--color-preview-border);box-shadow:var(--shadow-preview)}@media (width<=1680px){.workspace{grid-template-columns:230px minmax(420px,1fr)}.preview-panel{grid-column:2/-1}.preview-sticky{max-height:none;position:static}}@media (width<=820px){.app-header{flex-direction:column;padding:20px}.workspace{grid-template-columns:1fr;padding:12px}.side-panel{position:static}.preview-panel{grid-column:auto}.form-grid.two,.output-grid,.photo-editor,.form-section-title-row{flex-direction:column;align-items:flex-start}.form-section-actions{justify-content:flex-start}.row-head{display:none}.edit-row{border:1px solid var(--color-border);border-radius:var(--radius-card);grid-template-columns:1fr;padding:10px}.row-actions,.editable-rows.with-alignments .row-actions{flex-wrap:wrap;padding-top:0}.preview-actions{grid-template-columns:1fr}.preview-large-button{grid-column:auto}.preview-pages.preview-fit{--preview-scale:.38;--preview-frame-width:80mm;--preview-frame-height:113mm}.preview-pages.preview-large{--preview-scale:.58;--preview-frame-width:122mm;--preview-frame-height:173mm}.preview-pages.preview-fit.preview-paper-a3-landscape{--preview-scale:.2;--preview-frame-width:84mm;--preview-frame-height:59mm}.preview-pages.preview-large.preview-paper-a3-landscape{--preview-scale:.32;--preview-frame-width:135mm;--preview-frame-height:96mm}.preview-dialog-body{padding:12px}.expanded-text-dialog-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.expanded-text-dialog-header button{align-self:flex-end}.expanded-text-dialog-body{padding:16px}.expanded-text-dialog-body textarea{min-height:50vh}}.pwa-update-banner{z-index:30;border-top:1px solid var(--color-notice-border);background:var(--color-notice-bg);color:var(--color-primary-hover);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:12px 18px;font-weight:700;display:flex;position:fixed;bottom:0;left:0;right:0}.pwa-update-banner p{margin:0}.pwa-update-actions{gap:8px;display:flex}.pwa-update-actions button{border-radius:var(--radius-card);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;padding:6px 16px;font-weight:700}.pwa-update-actions button:hover{background:var(--color-primary-hover)}.pwa-update-actions .pwa-update-dismiss{color:var(--color-primary);background:0 0}.pwa-update-actions .pwa-update-dismiss:hover{background:var(--color-bg-alt)}.app-brand{color:inherit;font-family:Georgia,Noto Serif JP,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;text-decoration:none}.document-manager{background:var(--panel,#fff);border:1px solid var(--line,#d5ddd8);border-radius:12px;margin-bottom:16px;padding:18px}.document-manager h2{margin-top:0;font-size:1rem}.document-manager p{font-size:.85rem;line-height:1.6}.document-name-field{gap:6px;margin:14px 0;display:grid}.document-name-field input{width:100%;min-height:42px;padding:8px 10px}.document-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.document-list li{border:1px solid #d5ddd8;border-radius:8px;gap:8px;padding:12px;display:grid}.document-list li[aria-current=true]{background:#edf5f1;border-color:#2f5d50}.document-list small{color:#5e6b66;margin-top:3px;display:block}.document-actions{flex-wrap:wrap;gap:6px;display:flex}.document-actions button{min-height:36px;padding:6px 10px;font-size:.8rem}:root{--studio-ink:#18231f;--studio-green:#275c4c;--studio-mint:#dceae4;--studio-paper:#f7f4ed;--studio-line:#cbd6d0}.landing-shell{background:var(--studio-paper);min-height:100vh;color:var(--studio-ink);font-family:Noto Sans JP,system-ui,sans-serif}.landing-nav{border-bottom:1px solid var(--studio-line);justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:24px 32px;display:flex}.landing-brand{color:var(--studio-ink);letter-spacing:.04em;font:700 1.15rem Georgia,Noto Serif JP,serif;text-decoration:none}.landing-nav nav{gap:24px;display:flex}.landing-nav nav a,.landing-footer a{color:var(--studio-ink);text-decoration:none}.landing-hero{max-width:1040px;margin:0 auto;padding:110px 32px 120px}.landing-eyebrow{color:var(--studio-green);letter-spacing:.18em;font-size:.75rem;font-weight:700}.landing-hero h1{letter-spacing:-.04em;max-width:760px;margin:20px 0 28px;font:700 clamp(2.8rem,7vw,5.8rem)/1.15 Georgia,Noto Serif JP,serif}.landing-lead{color:#46554f;max-width:680px;font-size:1.1rem;line-height:2}.landing-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.landing-primary,.landing-secondary{border:1px solid var(--studio-green);border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-weight:700;text-decoration:none;display:inline-flex}.landing-primary{background:var(--studio-green);color:#fff}.landing-secondary{color:var(--studio-green)}.landing-note{color:#63706b;font-size:.85rem}.landing-section{background:#fff;padding:90px max(32px,50vw - 520px)}.landing-section>h2,.privacy-section h2,.landing-cta h2{max-width:720px;margin:14px 0 42px;font:700 clamp(2rem,4vw,3.4rem)/1.3 Georgia,Noto Serif JP,serif}.feature-grid{background:var(--studio-line);border:1px solid var(--studio-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.feature-grid article{background:#fff;min-height:190px;padding:32px}.feature-grid article>span{color:var(--studio-green);font:700 .75rem Georgia,serif}.feature-grid h3{margin:42px 0 10px;font-size:1.2rem}.feature-grid p,.privacy-section p{color:#56635e;line-height:1.9}.privacy-section{grid-template-columns:1fr 1fr;gap:64px;max-width:1040px;margin:0 auto;padding:100px 32px;display:grid}.landing-cta{text-align:center;background:var(--studio-mint);padding:90px 32px}.landing-cta h2{margin-left:auto;margin-right:auto}.landing-footer{justify-content:space-between;max-width:1180px;margin:0 auto;padding:30px 32px;display:flex}.landing-footer nav{flex-wrap:wrap;gap:20px;display:flex}@media (width<=700px){.landing-nav nav a:not(:last-child){display:none}.landing-hero{padding-top:72px}.feature-grid,.privacy-section{grid-template-columns:1fr}.privacy-section{gap:16px}.landing-footer{flex-direction:column;gap:10px}}.legal-shell{background:var(--studio-paper,#f7f4ed);min-height:100vh;color:var(--studio-ink,#18231f);font-family:Noto Sans JP,system-ui,sans-serif}.legal-header,.legal-footer{justify-content:space-between;align-items:center;gap:24px;max-width:980px;margin:0 auto;padding:24px 32px;display:flex}.legal-header{border-bottom:1px solid var(--studio-line,#cbd6d0)}.legal-header nav{flex-wrap:wrap;gap:20px;display:flex}.legal-header a,.legal-footer a,.legal-content a{color:#275c4c}.legal-header nav a,.legal-footer a{text-decoration:none}.legal-content{max-width:800px;margin:0 auto;padding:72px 32px 96px}.legal-content h1{margin:16px 0 8px;font:700 clamp(2.4rem,6vw,4.4rem)/1.2 Georgia,Noto Serif JP,serif}.legal-updated{color:#63706b;margin-bottom:56px}.legal-content section{margin-top:42px}.legal-content h2{margin-bottom:14px;font-size:1.35rem}.legal-content p{color:#46554f;line-height:1.95}.legal-footer{border-top:1px solid var(--studio-line,#cbd6d0)}@media (width<=700px){.legal-header,.legal-footer{flex-direction:column;align-items:flex-start}.legal-header nav{gap:12px}.legal-content{padding-top:48px}}
