:root{color:#1c1915;background:#ebe4d8;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-size:15px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:2px solid #1e4638}.app{flex-direction:column;height:100vh;min-height:0;display:flex}.topbar{color:#f4efe6;background:#1e4638;align-items:center;gap:16px;padding:10px 16px;display:flex}.brand{letter-spacing:.14em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:18px}.brand-home{text-align:left;background:0 0;border:none;padding:0}.home{background:radial-gradient(circle at 100% 0,#c4a36a47,#0000 32%),#f6f1e8;flex-direction:column;display:flex}.home-bar{color:#f4efe6;background:#1e4638;padding:16px 24px}.home-main{width:min(760px,100% - 40px);height:100%;margin:0 auto;padding:64px 0 80px}.home-kicker{color:#1e4638;letter-spacing:.16em;margin:0 0 12px;font-size:13px}.home-main h1{letter-spacing:.06em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(32px,5vw,46px);font-weight:600;line-height:1.35}.home-lead{color:#3f3a34;max-width:38em;margin:18px 0 0}.home-start{color:#f4efe6;letter-spacing:.12em;background:#1e4638;border:none;border-radius:4px;margin-top:28px;padding:12px 28px;font-size:16px;font-weight:700}.home-points{grid-template-columns:1fr 1fr;gap:14px;margin:40px 0 0;padding:0;list-style:none;display:grid}.home-points li{background:#fffdf8;border:1px solid #e4dccf;border-radius:8px;padding:16px 18px}.home-points h2{letter-spacing:.08em;margin:0 0 6px;font-size:16px}.home-points p{color:#5c564e;margin:0;font-size:14px}.home-legal{gap:18px;margin-top:28px;display:flex}.text-link{color:#1e4638;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.legal{padding-top:36px}.legal h1{margin:14px 0 8px;font-size:clamp(28px,4vw,36px)}.legal h2{letter-spacing:.06em;margin:28px 0 8px;font-size:18px}.legal p{color:#3f3a34;max-width:40em;margin:0 0 12px}.back-link{font-size:14px}.modal-backdrop{background:#1c191575;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fffdf8;border-radius:10px;width:min(480px,100%);padding:22px 22px 18px;box-shadow:0 16px 40px #1c191533}.modal h2{letter-spacing:.06em;margin:0 0 10px;font-size:20px}.modal p{color:#3f3a34;margin:0 0 16px}.consent-check{margin-bottom:18px}.modal-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.modal-actions .home-start{margin-top:0}.modal-cancel{color:#5c564e;background:0 0;border:none;padding:8px 10px}.admin-form{justify-items:start;gap:12px;margin-top:8px;display:grid}.admin-form label{color:#3f3a34;gap:6px;font-size:14px;display:grid}.admin-form input{background:#fffdf8;border:1px solid #d9d0c3;border-radius:4px;width:min(280px,100%);padding:10px 12px}.admin-form .home-start,.admin-actions .home-start{margin-top:0}.admin-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px;display:flex}.admin-error{color:#8a3b2b;margin:14px 0 0}.admin-summary{grid-template-columns:1fr 1fr;gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.admin-summary li{background:#fffdf8;border:1px solid #e4dccf;border-radius:8px;padding:16px 18px}.admin-summary span{color:#5c564e;letter-spacing:.08em;font-size:13px;display:block}.admin-summary strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-top:4px;font-size:32px;display:block}.admin-summary small{color:#5c564e;margin-top:4px;font-size:13px;display:block}.admin-chart{background:#fffdf8;border:1px solid #e4dccf;border-radius:8px;margin:22px 0 0;padding:14px 12px 8px}.admin-chart svg{width:100%;height:auto;display:block}.admin-legend{color:#5c564e;gap:16px;margin:0 4px 8px;font-size:13px;display:flex}.admin-legend i{vertical-align:-1px;width:12px;height:12px;margin-right:6px;display:inline-block}.legend-views{background:#1e4638}.legend-users{background:#b08d57}.admin-days{border-collapse:collapse;background:#fffdf8;border:1px solid #e4dccf;width:100%;margin-top:22px}.admin-days th,.admin-days td{text-align:left;border-bottom:1px solid #e4dccf;padding:10px 14px}.admin-days tr:last-child td{border-bottom:none}.admin-days th:nth-child(n+2),.admin-days td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}@media (width<=640px){.home-main{padding-top:40px}.home-points,.admin-summary{grid-template-columns:1fr}}.brand-note{opacity:.8;margin:0;font-size:12px}.doc-switch{gap:6px;display:flex}.doc-switch button,.pane-switch button,.zoom button{color:inherit;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 14px}.doc-switch button[aria-pressed=true]{color:#1e4638;background:#f4efe6}.print-btn{color:#1c1915;background:#c4a36a;border:none;border-radius:4px;margin-left:auto;padding:8px 16px;font-weight:700}.save-error{color:#8c3a32;background:#f8e4e1;margin:0;padding:8px 16px}.pane-switch{background:#f7f3ec;gap:8px;padding:8px 12px;display:none}.pane-switch button[aria-pressed=true],.zoom button[aria-pressed=true]{color:#f4efe6;background:#1e4638}.workspace{flex:1;grid-template-columns:minmax(380px,460px) minmax(0,1fr);min-height:0;display:grid}.form-pane,.preview-pane{min-width:0;min-height:0}.form-pane{background:#f6f1e8;border-right:1px solid #ddd4c6;overflow:auto}.preview-pane{background:#d7d0c4}.editor{padding:16px}.section,.card{background:#fffdf8;border:1px solid #e4dccf;border-radius:8px;margin-bottom:12px;padding:12px}.section h2,.card h3,.project-edit h4,.pr-edit h3,.member-block h5{margin:0;font-size:15px}.section>h2{margin-bottom:10px}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field>span,.check{color:#5c564e;font-size:13px}.field-error{color:#8a3b2a;margin:-4px 0 8px;font-size:12px}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}input[type=text],input[type=date],input[type=month],input[type=file],select,textarea{background:#fff;border:1px solid #cfc6b8;border-radius:4px;width:100%;padding:7px 8px}textarea{resize:vertical;min-height:72px}.hint{color:#6b645c;margin:0 0 8px;font-size:12px}.inline-error{color:#8c3a32;font-size:13px}.section-head{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.entry-block+.entry-block{margin-top:14px}.entry,.skill-edit,.member-edit,.env-add,.period-row{align-items:center;gap:6px;margin-bottom:6px;display:grid}.entry{grid-template-columns:76px 72px minmax(0,1fr) auto}.entry-labels{color:#6b645c;font-size:12px}.skill-edit{grid-template-columns:minmax(0,1.1fr) 88px minmax(0,1.3fr) auto}.member-edit,.env-add{grid-template-columns:minmax(0,1fr) 96px auto}.period-row{grid-template-columns:1fr 1fr auto;align-items:end}.check{white-space:nowrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.check input{width:auto}.entry-actions{gap:4px;display:flex}.add,.small,.text-danger{border-radius:4px}.add{color:#f4efe6;background:#1e4638;border:none;padding:6px 10px}.small{background:#fff;border:1px solid #d9d1c6;padding:4px 8px;font-size:12px}.small.danger,.text-danger{color:#8c3a32;background:#fff;border:1px solid #e4c8c4}.text-danger{padding:4px 8px}.photo-draft{align-items:center;gap:10px;margin-bottom:8px;display:flex}.photo-draft img{object-fit:cover;border:1px solid #d9d1c6;width:54px;height:72px}.skill-category{border-top:1px solid #efe8dc;margin-bottom:12px;padding-top:4px}.card{background:#fbf8f2}.project-edit{background:#fff;border:1px dashed #d9d1c6;border-radius:8px;margin-top:10px;padding:10px}.pr-edit+.pr-edit{border-top:1px solid #efe8dc;margin-top:12px;padding-top:8px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chip{background:#fff;border:1px solid #d9d1c6;border-radius:999px;padding:4px 10px;font-size:13px}.chip.on{color:#f4efe6;background:#1e4638;border-color:#1e4638}.preview-frame{flex-direction:column;height:100%;min-height:0;display:flex}.preview-toolbar{background:#efeae1;border-bottom:1px solid #ddd4c6;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.zoom{gap:4px;display:flex}.zoom button{color:#1c1915;background:#fff;border-color:#d9d1c6;font-size:13px}.print-hint{color:#5c564e;margin:0;font-size:12px}.warnings{margin:0;padding:8px 12px 0;list-style:none}.warnings li{color:#6a4b16;background:#fff4e5;border:1px solid #e2c08a;border-radius:6px;margin-bottom:6px;padding:8px 10px;font-size:13px}.fit-scroll{flex:1;min-height:0;padding:20px;overflow:auto}.fit-outer{width:max-content;min-width:100%}.fit-sizer{position:relative}.fit-inner{transform-origin:0 0;position:absolute;top:0;left:0}@media (width<=960px){.workspace{grid-template-columns:1fr}.pane-switch{display:flex}.workspace.pane-form .preview-pane,.workspace.pane-preview .form-pane,.print-hint,.brand-note{display:none}}.resume-sheet{color:#161616;page:resume;background:#fff;grid-template-columns:1fr 1fr;width:420mm;height:297mm;font-family:Yu Mincho,Hiragino Mincho ProN,Hiragino Mincho Pro,serif;display:grid;box-shadow:0 10px 28px #281e0a2e}.sheet-page{box-sizing:border-box;flex-direction:column;min-width:0;height:100%;min-height:0;padding:7mm 6mm 5mm;display:flex}.sheet-page.left{border-right:1px dashed #c8c8c8}.resume-head{flex:none;justify-content:space-between;align-items:flex-end;gap:4mm;margin:0 0 2mm;display:flex}.resume-head h1{letter-spacing:.55em;margin:0 0 0 6mm;font-size:20pt;font-weight:500}.asof{white-space:nowrap;margin:0;font-size:11pt}.id-table{border-collapse:collapse;table-layout:fixed;flex:none;width:100%}.col-label{width:24mm}.col-side{width:34mm}.id-table th,.id-table td{vertical-align:middle;border:1px solid #222;padding:.8mm 1.4mm;font-weight:500}.id-table th{text-align:center;letter-spacing:.04em;font-size:9pt;font-weight:700}.furi{height:6.5mm;font-size:8.5pt;font-weight:400}.person-name{letter-spacing:.18em;white-space:nowrap;height:13mm;font-size:16pt;font-weight:500;overflow:hidden}td.photo{text-align:center;vertical-align:middle;height:40mm;padding:0}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo-note{text-align:left;margin:0;font-size:7pt;font-weight:400;line-height:1.35}.birth{font-size:10pt;font-weight:400}.birth>span:first-child{letter-spacing:.04em}.gender-wrap{float:right;align-items:center;gap:1.5mm;font-size:9pt;display:inline-flex}.gender-box{border:1px solid #222;justify-content:center;align-items:center;min-width:12mm;height:7mm;padding:0 1mm;display:inline-flex}.phone{text-align:center;vertical-align:middle}.phone-label{margin-bottom:1mm;font-size:9pt}.phone-value{word-break:break-all;font-size:9pt;font-weight:400}.addr{vertical-align:top;height:16mm;font-size:9.5pt;font-weight:400}.zip-line{align-items:baseline;gap:2mm;display:flex}.contact-note{font-size:7.5pt}.addr-text{white-space:pre-wrap;line-height:1.35}.hist{border-top:1px solid #222;border-left:1px solid #222;grid-template-columns:14mm 9mm minmax(0,1fr);min-height:0;display:grid}.hist.grow{flex:1;margin-top:2mm}.hist.fixed{flex:none}.hist.history-continue{height:68mm}.hist.licenses{height:58mm;margin-top:2mm}.hist>div{border-bottom:1px solid #222;border-right:1px solid #222;min-width:0;min-height:0;padding:.4mm 1mm;font-size:9pt;overflow:hidden}.hist-h{text-align:center;justify-content:center;align-items:center;font-size:8.5pt;line-height:1.25;display:flex}.hist-h.caption{letter-spacing:.04em;justify-content:center}.hist-c{align-items:center;display:flex}.hist-c.year,.hist-c.month{justify-content:center}.hist-c.text.em{letter-spacing:.45em;justify-content:center}.gender-note{flex:none;margin:1.2mm 0 0;font-size:8pt}.essay{border:1px solid #222;flex-direction:column;flex:1;min-height:0;margin-top:2mm;display:flex}.essay h2{border-bottom:1px solid #222;flex:none;margin:0;padding:1mm 1.5mm;font-size:8pt;font-weight:500;line-height:1.35}.essay-body{white-space:pre-wrap;flex:1;min-height:0;padding:1.5mm 2mm;font-size:9.5pt;line-height:1.45;overflow:hidden}.career-sheet{box-sizing:border-box;color:#1a1a1a;page:career;word-break:break-word;background:#fff;width:210mm;min-height:297mm;padding:14mm 16mm 16mm;font-family:Yu Mincho,Hiragino Mincho ProN,Hiragino Mincho Pro,serif;font-size:10.5pt;line-height:1.65;box-shadow:0 10px 28px #281e0a2e}.career-head h1{text-align:center;letter-spacing:.5em;margin:0;font-size:18pt;font-weight:500}.career-date,.career-name{text-align:right;margin:1mm 0 0}.career-name{margin-bottom:4mm;font-size:12pt}.career-sheet h2{letter-spacing:.08em;border-bottom:.4mm solid #222;margin:6mm 0 2mm;padding-bottom:1mm;font-size:12pt;font-weight:600}.subhead,.pr-block h3,.company-name,.project-title{font-weight:600}.subhead{margin:3mm 0 1mm;font-size:11pt}.prose{white-space:pre-wrap;margin:0 0 1.5mm}.prose.indent{margin-left:1em}.skill-table{border-collapse:collapse;width:100%;font-size:9.5pt}.skill-table th,.skill-table td{vertical-align:top;text-align:left;border:1px solid #333;padding:1.2mm 1.6mm;font-weight:500}.skill-table th{text-align:center;background:#f3f0ea;font-weight:700}.skill-table .cat,.skill-table .years{text-align:center;white-space:nowrap}.skill-table .cat{width:34mm}.skill-table .years{width:22mm}.company-block{margin-top:4mm}.company-name{margin:0;font-size:12pt}.company-period,.meta-line{margin:.4mm 0}.project-block{margin:3mm 0 4mm 1mm}.project-title{border-left:1.1mm solid #1e4638;margin:0 0 1mm;padding-left:2mm;font-size:11pt}.meta-label{min-width:10em;display:inline-block}.pr-block h3{margin:3mm 0 1mm;font-size:11pt}.career-section h2,.company-name,.project-title,.pr-block h3{break-after:avoid}.skill-table tr,.pr-block{break-inside:avoid}@page resume{size:A3 landscape;margin:0}@page career{size:A4 portrait;margin:0}@media print{.no-print{display:none!important}html,body,#root,.app,.workspace,.preview-pane,.preview-frame,.fit-scroll,.fit-outer,.fit-sizer{background:#fff!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.workspace.pane-form .preview-pane,.workspace.pane-preview .form-pane,.form-pane{display:none!important}.preview-pane,.workspace.pane-form .preview-pane{display:block!important}.fit-inner{position:static!important;transform:none!important}.resume-sheet,.career-sheet{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.career-sheet{-webkit-box-decoration-break:clone;box-decoration-break:clone;width:210mm;min-height:0}}
