:root{--wizard-navy:#123d59;--wizard-teal:#008f88;--wizard-teal-deep:#006e69;--wizard-blue:#1974c6;--wizard-pale:#f4fbfc;--wizard-line:#dce8eb;--wizard-muted:#607782;--wizard-pink:#e83077;--wizard-shadow:0 16px 34px rgba(24,77,99,.1)}
fieldset.field{min-width:0;margin:0;padding:0;border:0}fieldset.field legend{padding:0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0 0 94px;background:linear-gradient(180deg,#f6fbfc 0,#fff 230px);color:#244452;font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}.wizard-header{position:sticky;top:0;z-index:30;border-top:5px solid var(--wizard-teal);border-bottom:1px solid var(--wizard-line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.wizard-header-inner,.wizard-main,.wizard-footer{width:min(980px,calc(100% - 36px));margin:auto}.wizard-header-inner{min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:18px}.wizard-logo{display:block;width:171px;height:auto}.back-home{display:inline-flex;align-items:center;gap:7px;color:#52717e;text-decoration:none;font-size:13px;font-weight:800}.back-home:hover{color:var(--wizard-teal)}.save-state{display:inline-flex;align-items:center;gap:7px;color:#588078;font-size:12px;font-weight:800}.save-state i{display:block;width:8px;height:8px;border-radius:50%;background:#1fb180;box-shadow:0 0 0 4px #dcf6ed}.wizard-main{padding:30px 0 56px}.wizard-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.wizard-title h1{margin:0;color:var(--wizard-navy);font-size:clamp(24px,3.2vw,33px);font-weight:900;letter-spacing:-.035em}.wizard-title p{margin:0;color:var(--wizard-muted);font-size:13px;font-weight:600}.wizard-stepper{display:flex;align-items:flex-start;gap:0;overflow-x:auto;margin-bottom:31px;padding:0 2px 8px;scrollbar-width:thin}.wizard-stepper::after{content:"";position:absolute}.step-tab{position:relative;display:grid;justify-items:center;gap:7px;min-width:88px;padding:0 8px;border:0;background:transparent;color:#82969e;cursor:pointer}.step-tab::before{content:"";position:absolute;top:16px;right:50%;left:-50%;z-index:-1;height:2px;background:#c5d9d9}.step-tab:first-child::before{left:50%}.step-tab:last-child::before{right:50%}.step-number{display:grid;place-items:center;width:34px;height:34px;border:2px solid #bdcfd2;border-radius:50%;background:#fff;color:#7f949a;font-size:12px;font-weight:900}.step-tab span:last-child{white-space:nowrap;font-size:12px;font-weight:800}.step-tab.is-complete .step-number{border-color:#9bc6c1;background:#eaf8f6;color:#117870}.step-tab.is-active{color:var(--wizard-teal-deep)}.step-tab.is-active .step-number{border-color:var(--wizard-teal);background:var(--wizard-teal);color:#fff;box-shadow:0 6px 12px rgba(0,143,136,.23)}.step-tab.is-active::before{background:#80bdb8}.wizard-shell{overflow:hidden;border:1px solid #e0ebed;border-radius:20px;background:#fff;box-shadow:var(--wizard-shadow)}.wizard-step{min-height:500px;padding:clamp(29px,5vw,52px)}.wizard-step[hidden]{display:none}.step-heading{max-width:710px;margin:0 auto 30px;padding-bottom:21px;border-bottom:1px solid #e5edef;text-align:center}.step-heading h2{margin:0 0 10px;color:var(--wizard-teal-deep);font-size:clamp(23px,3vw,30px);font-weight:900;letter-spacing:-.035em}.step-heading p{margin:0;color:#5f747e;font-size:14px;font-weight:600;line-height:1.9}.step-heading .required-note{display:block;margin-top:10px;color:#ce3b64;font-size:12px;font-weight:700;text-align:left}.step-content{width:min(670px,100%);margin:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.form-grid.one{grid-template-columns:1fr}.field{display:block;color:#314f5c;font-size:13px;font-weight:900}.field.wide{grid-column:1/-1}.field small{color:#7a8f97;font-size:11px;font-weight:700}.field input,.field textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbdcdf;border-radius:9px;background:#fff;color:#213f4c;font-size:16px;outline:none;transition:border-color .18s,box-shadow .18s}.field input{min-height:48px;padding:10px 12px}.field textarea{min-height:130px;padding:13px;resize:vertical;line-height:1.75}.field input:focus,.field textarea:focus{border-color:var(--wizard-teal);box-shadow:0 0 0 4px rgba(0,143,136,.11)}.birth-grid,.phone-grid{display:flex;align-items:center;gap:7px;margin-top:7px}.birth-grid input{width:76px;margin:0}.birth-grid input:first-child{width:100px}.birth-grid b,.phone-grid b{color:#58717a;font-size:13px}.phone-grid input{width:90px;margin:0}.choice-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px}.choice{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 14px;border:1px solid #d1dfe2;border-radius:9px;background:#fff;color:#40606d;font-size:14px;font-weight:800;cursor:pointer}.choice input{width:16px;height:16px;margin:0;accent-color:var(--wizard-teal)}.choice:has(input:checked){border-color:var(--wizard-teal);background:#eef9f7;color:#087b76}.form-tip{display:flex;gap:11px;margin:20px 0 0;padding:15px 16px;border-radius:12px;background:#f1f8f8;color:#55717b;font-size:12px;font-weight:600;line-height:1.8}.form-tip b{flex:0 0 auto;color:var(--wizard-teal-deep)}.form-tip.warning{background:#fff7f8;color:#9c5665}.form-tip.warning b{color:#ce3b64}.expand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0;padding:16px 0;border-top:1px solid #e4edef;border-bottom:1px solid #e4edef;color:#355561;font-size:14px;font-weight:800}.expand-row span:last-child{color:var(--wizard-teal);font-size:20px}.records{display:grid;gap:14px}.record-card{position:relative;padding:21px;border:1px solid #d9e7e9;border-radius:14px;background:#fbfefe}.record-card + .record-card{margin-top:2px}.record-head{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:15px}.record-count{display:inline-flex;align-items:center;gap:7px;color:var(--wizard-navy);font-size:14px;font-weight:900}.record-count i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e5f6f4;color:var(--wizard-teal-deep);font-size:11px;font-style:normal}.text-button{border:0;background:transparent;color:#a85566;font-size:12px;font-weight:900;cursor:pointer}.add-record{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;margin-top:15px;border:1px dashed #49a8a3;border-radius:11px;background:#f7fcfc;color:#087b76;font-size:14px;font-weight:900;cursor:pointer}.add-record b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--wizard-teal);color:#fff;font-size:18px;line-height:1}.assist-box{margin-top:17px;padding:19px;border-radius:14px;background:linear-gradient(135deg,#eaf9f7,#eef5ff)}.assist-box:first-child{margin-top:0}.assist-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.assist-title h3{margin:0;color:var(--wizard-navy);font-size:17px;font-weight:900}.assist-title span{display:inline-flex;align-items:center;gap:5px;color:var(--wizard-teal-deep);font-size:11px;font-weight:900}.assist-box p{margin:0 0 13px;color:#58707b;font-size:12px;line-height:1.75}.assist-actions{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:13px}.small-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:0 13px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--wizard-teal),var(--wizard-blue));color:#fff;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 7px 13px rgba(15,117,149,.16)}.small-button:disabled{opacity:.55;cursor:wait}.small-button.secondary{border:1px solid #b9d3d2;background:#fff;color:#147f79;box-shadow:none}.photo-zone{display:grid;place-items:center;min-height:210px;padding:28px;border:1px dashed #7fb9b6;border-radius:14px;background:#f7fcfc;text-align:center}.photo-zone h3{margin:10px 0 7px;color:var(--wizard-navy);font-size:19px;font-weight:900}.photo-zone p{max-width:440px;margin:0 0 18px;color:#5c747d;font-size:13px;line-height:1.8}.photo-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.photo-upload{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 17px;border:1px solid #b9d5d3;border-radius:9px;background:#fff;color:var(--wizard-teal-deep);font-size:13px;font-weight:900;cursor:pointer}.photo-status{margin-top:12px;color:#5b7c78;font-size:12px;font-weight:800}.final-summary{display:grid;gap:12px}.summary-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 19px;border:1px solid #dce9eb;border-radius:12px;background:#fbfdfd}.summary-card h3{margin:0 0 4px;color:var(--wizard-navy);font-size:15px;font-weight:900}.summary-card p{margin:0;color:#627b85;font-size:12px;line-height:1.6}.summary-link{flex:0 0 auto;color:var(--wizard-teal-deep);font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:3px}.wizard-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:27px;padding-top:21px;border-top:1px solid #e1ebed}.wizard-actions .save-copy{justify-self:center;color:#778e95;font-size:11px;font-weight:700}.nav-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:118px;min-height:51px;padding:0 19px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--wizard-teal),var(--wizard-blue));color:#fff;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 9px 17px rgba(16,111,145,.22)}.nav-button:hover{filter:brightness(.97);transform:translateY(-1px)}.nav-button.prev{justify-self:start;background:#fff;color:#d13b6d;box-shadow:none}.nav-button.next{justify-self:end}.nav-button.finish{background:linear-gradient(135deg,#008f88,#1974c6);text-decoration:none}.preview-shortcut{display:flex;justify-content:center;margin-top:18px}.preview-shortcut a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 17px;border:1px solid #a8c8c6;border-radius:8px;background:#fff;color:#176b69;font-size:13px;font-weight:900;text-decoration:none}.wizard-notice{min-height:0;margin:0 0 19px;color:#9e4a59;font-size:13px;font-weight:800;line-height:1.6}.wizard-notice:empty{display:none}.wizard-footer{padding:0 0 28px;color:#789099;font-size:11px;line-height:1.8}.wizard-footer a{color:#317d90;font-weight:800}.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.example-toggle{position:relative}.example-toggle summary{display:inline-flex;align-items:center;min-height:39px;padding:0 13px;border:1px solid #b9d3d2;border-radius:8px;background:#fff;color:#147f79;font-size:12px;font-weight:900;cursor:pointer;list-style:none}.example-toggle summary::-webkit-details-marker{display:none}.example-toggle summary::after{content:"⌄";margin-left:7px;font-size:14px}.example-toggle[open] summary{border-color:#75bdb8;background:#f7fcfc}.example-toggle>div{position:absolute;z-index:5;top:45px;left:0;display:grid;gap:6px;min-width:230px;padding:8px;border:1px solid #cfe2e1;border-radius:10px;background:#fff;box-shadow:0 12px 24px rgba(18,61,89,.14)}.example-toggle>div button{padding:9px 10px;border:0;border-radius:7px;background:#f3faf9;color:#246966;font-size:12px;font-weight:800;text-align:left;cursor:pointer}.example-toggle>div button:hover{background:#e5f6f4}
.additional-contact{margin-top:20px;border-top:1px solid #e1ebed;border-bottom:1px solid #e1ebed}.additional-contact summary{display:flex;align-items:center;justify-content:space-between;min-height:53px;color:#355561;font-size:14px;font-weight:900;cursor:pointer;list-style:none}.additional-contact summary::-webkit-details-marker{display:none}.additional-contact summary::after{content:"›";color:var(--wizard-teal);font-size:23px}.additional-contact[open]{padding-bottom:18px}.additional-contact[open] summary::after{content:"⌃";font-size:18px}.additional-contact-caption{margin:0;color:#5f7780;font-size:12px;line-height:1.7}
@media(max-width:720px){body{padding-bottom:90px;background:#fff}.wizard-header-inner,.wizard-main,.wizard-footer{width:calc(100% - 24px)}.wizard-header{position:sticky}.wizard-header-inner{min-height:61px}.wizard-logo{width:147px}.back-home{font-size:11px}.save-state{display:none}.wizard-main{padding-top:23px}.wizard-title{display:block;margin-bottom:17px}.wizard-title h1{font-size:24px}.wizard-title p{margin-top:7px;font-size:12px}.wizard-stepper{margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);padding:0 12px 10px}.step-tab{min-width:76px;padding:0 5px}.step-tab span:last-child{font-size:11px}.wizard-shell{border:0;border-radius:0;box-shadow:none}.wizard-step{min-height:0;padding:25px 0 12px}.step-heading{margin-bottom:24px;padding:0 0 17px;text-align:left}.step-heading h2{font-size:23px;text-align:center}.step-heading p{font-size:13px}.form-grid{gap:14px 11px}.field input{min-height:47px}.birth-grid{gap:5px}.birth-grid input{width:56px}.birth-grid input:first-child{width:78px}.phone-grid input{width:75px}.choice{min-height:41px;padding:0 11px}.record-card{padding:16px}.assist-box{padding:15px}.wizard-actions{position:sticky;bottom:0;z-index:20;grid-template-columns:1fr 1fr;margin:20px -12px 0;padding:11px 12px;border-top:1px solid #d7e6e8;background:rgba(255,255,255,.96);box-shadow:0 -8px 20px rgba(19,61,80,.08);backdrop-filter:blur(8px)}.wizard-actions .save-copy{display:none}.nav-button{width:100%;min-width:0;min-height:51px}.nav-button.prev{border:1px solid #f0c4d4}.nav-button.next{grid-column:2}.nav-button[hidden]{display:none}.preview-shortcut{margin-top:15px}.wizard-footer{padding-top:14px}.photo-zone{min-height:190px;padding:20px}.summary-card{align-items:flex-start;padding:15px}.summary-link{padding-top:2px}.form-tip{margin-top:16px}.expand-row{font-size:13px}.example-toggle>div{right:0;left:auto;min-width:218px}}

/* 入力中にも実際の書類を確認できる縮小プレビュー */
.preview-shortcut{display:none}.inline-preview-panel{margin-top:34px;padding:26px;border:1px solid #dbe8eb;border-radius:18px;background:linear-gradient(135deg,#f4fbfc,#f8fbff);box-shadow:0 12px 28px rgba(24,77,99,.07)}.inline-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.inline-preview-kicker{margin:0 0 5px;color:var(--wizard-teal);font-size:11px;font-weight:900;letter-spacing:.1em}.inline-preview-head h2{margin:0;color:var(--wizard-navy);font-size:23px;font-weight:900}.inline-preview-head p:last-child{margin:7px 0 0;color:var(--wizard-muted);font-size:12px;font-weight:700;line-height:1.7}.inline-preview-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:43px;padding:0 14px;border:1px solid #91bdbb;border-radius:9px;background:#fff;color:#176b69;font-size:13px;font-weight:900;text-decoration:none;box-shadow:0 6px 12px rgba(20,89,104,.08)}.inline-preview-open:hover{border-color:var(--wizard-teal);background:#f4fbfb}.preview-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.inline-preview-stage{position:relative;overflow:hidden;width:100%;height:clamp(300px,66vw,680px);border:1px solid #d5e4e7;border-radius:12px;background:#eef6f7}.inline-preview-work .inline-preview-stage{height:clamp(340px,72vw,700px)}.inline-preview-frame{display:block;width:100%;height:100%;border:0;background:#fff;pointer-events:none}@media(max-width:720px){.inline-preview-panel{margin-top:24px;padding:19px 14px;border-radius:14px}.inline-preview-head{display:block;margin-bottom:14px}.inline-preview-head h2{font-size:20px}.inline-preview-head p:last-child{font-size:11px}.inline-preview-open{width:100%;margin-top:14px;min-height:46px}.inline-preview-stage{height:300px}.inline-preview-work .inline-preview-stage{height:360px}}
.address-lookup-status{grid-column:1/-1;min-height:0;margin:-3px 0 0;color:#5c747d;font-size:12px;font-weight:800;line-height:1.6}.address-lookup-status:empty{display:none}.address-lookup-status.is-loading{color:#397b86}.address-lookup-status.is-success{color:#087b76}.address-lookup-status.is-error{color:#a45667}

/* 学歴・資格は1件ずつ、年・月・概要を分けて入力する */
.field select{display:block;width:100%;min-height:48px;margin-top:7px;padding:10px 38px 10px 12px;border:1px solid #cbdcdf;border-radius:9px;background:#fff;color:#213f4c;font-size:16px;outline:none;transition:border-color .18s,box-shadow .18s;appearance:auto}.field select:focus{border-color:var(--wizard-teal);box-shadow:0 0 0 4px rgba(0,143,136,.11)}.timeline-groups{display:grid;gap:26px}.timeline-groups.compact{margin-top:26px}.timeline-group-heading{padding-bottom:11px;border-bottom:1px solid #e1ebed}.timeline-group-heading h3{margin:0;color:var(--wizard-navy);font-size:16px;font-weight:900}.timeline-group-heading h3 small{color:#788d96;font-size:11px}.timeline-group-heading p{margin:5px 0 0;color:#607782;font-size:12px;font-weight:700;line-height:1.65}.timeline-records{display:grid;gap:11px;margin-top:14px}.timeline-record{padding:15px;border:1px solid #d9e7e9;border-radius:13px;background:#fbfefe}.timeline-record-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.timeline-record-head strong{color:#315564;font-size:13px;font-weight:900}.timeline-record-grid{display:grid;grid-template-columns:190px 112px minmax(0,1fr);gap:12px}.timeline-record .field{font-size:12px}.timeline-record .field input,.timeline-record .field select{min-height:46px;font-size:14px}@media(max-width:720px){.timeline-groups{gap:22px}.timeline-record{padding:14px}.timeline-record-grid{grid-template-columns:1fr 1fr}.timeline-record-grid .timeline-description{grid-column:1/-1}.timeline-record .field select{padding-right:26px}}

/* 履歴書の職歴欄：退職表記の迷いを、その場で解消する */
.retirement-guide{display:flex;align-items:center;justify-content:space-between;grid-column:1/-1;gap:13px;margin-top:1px;padding:12px 13px;border-radius:10px;background:#f1f8f8;color:#52717b;font-size:12px;font-weight:800}.retirement-guide-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:0 11px;border:1px solid #9bc9c6;border-radius:8px;background:#fff;color:#087b76;font-size:12px;font-weight:900;cursor:pointer}.retirement-guide-button span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#e7f7f5;color:#087b76;font-size:11px}.retirement-dialog{width:min(568px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 24px 58px rgba(14,50,66,.28);color:#31505d}.retirement-dialog::backdrop{background:rgba(17,46,60,.48);backdrop-filter:blur(2px)}.retirement-dialog-inner{padding:25px}.retirement-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.retirement-dialog-head h2{margin:0;color:var(--wizard-navy);font-size:22px;font-weight:900}.retirement-dialog-close{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#eff6f7;color:#54717b;font-size:25px;line-height:1;cursor:pointer}.retirement-dialog-inner>p{margin:14px 0 0;color:#5d747e;font-size:13px;font-weight:600;line-height:1.75}.retirement-examples{display:grid;gap:9px;margin-top:18px}.retirement-examples section{padding:13px 14px;border:1px solid #d7e6e8;border-radius:10px;background:#fbfefe}.retirement-examples h3{margin:0;color:#2e5563;font-size:13px;font-weight:900}.retirement-examples p{margin:6px 0 0;color:#123d59;font-size:14px;font-weight:800;line-height:1.6}.retirement-dialog-note{padding:11px 12px;border-radius:9px;background:#fff7f8;color:#8a5864!important;font-size:11px!important}.retirement-dialog-actions{display:flex;justify-content:flex-end;margin-top:20px}.retirement-dialog-actions .nav-button{min-height:44px}@media(max-width:720px){.retirement-guide{align-items:flex-start;flex-direction:column}.retirement-guide-button{width:100%;min-height:40px}.retirement-dialog-inner{padding:20px}.retirement-dialog-head h2{font-size:20px}.retirement-examples p{font-size:13px}}

/* 迷いやすい項目だけ、必要なときに入力例を開く */
.field-example{grid-column:1/-1;margin:0}.field-example summary{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid #b9d3d2;border-radius:8px;background:#fff;color:#147f79;font-size:12px;font-weight:900;cursor:pointer;list-style:none}.field-example summary::-webkit-details-marker{display:none}.field-example summary::after{content:"⌄";margin-left:7px;font-size:14px}.field-example[open] summary{border-color:#75bdb8;background:#f4fbfb}.field-example[open] summary::after{content:"⌃"}.field-example>div{display:grid;gap:6px;margin-top:9px;padding:12px 13px;border:1px solid #d6e7e7;border-radius:10px;background:#f7fcfc}.field-example p{margin:0;color:#57717b;font-size:12px;font-weight:700;line-height:1.7}.field-example p b{color:#214c5a;font-weight:900}@media(max-width:720px){.field-example summary{min-height:38px}.field-example>div{padding:11px 12px}}

/* ステップ線は丸い番号の背面だけに置き、重なって見えないようにする */
.wizard-stepper{position:relative;isolation:isolate}.step-tab{z-index:1}.step-number{position:relative;z-index:1}

/* アイコンとフォーム操作は、文字記号ではなく直感的なGoogle Material Symbolsで統一する */
.material-symbols-rounded{display:inline-block;font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.back-home .material-symbols-rounded{font-size:18px}.photo-zone-icon{font-size:38px!important;color:var(--wizard-navy)}.nav-button.next>span[aria-hidden="true"]{display:none}.nav-button.next::after{content:"arrow_forward";font-family:"Material Symbols Rounded";font-size:20px;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.nav-button.prev{font-size:0}.nav-button.prev::before{content:"arrow_back";font-family:"Material Symbols Rounded";font-size:20px;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.nav-button.prev::after{content:"戻る";font-size:14px}.expand-row>span:last-child{display:none}.expand-row::after{content:"chevron_right";font-family:"Material Symbols Rounded";color:var(--wizard-teal);font-size:22px;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.example-toggle summary::after,.field-example summary::after,.additional-contact summary::after{font-family:"Material Symbols Rounded";font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.example-toggle summary::after,.field-example summary::after{content:"expand_more";font-size:19px}.additional-contact summary::after{content:"chevron_right";font-size:22px}.additional-contact[open] summary::after,.field-example[open] summary::after{content:"expand_less";font-size:19px}

/* 1画面に詰め込まず、スマホでは1項目ずつ縦に入力する */
.birth-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;margin-top:7px}.birth-grid label,.employment-period-grid label{display:block;color:#314f5c;font-size:12px;font-weight:900}.birth-grid label>span,.employment-period-grid label>span{display:block;margin-bottom:6px}.birth-grid select{display:block;width:100%;min-height:48px;margin:0;padding:10px 28px 10px 12px;border:1px solid #cbdcdf;border-radius:9px;background:#fff;color:#213f4c;font:inherit;font-size:15px;outline:none}.birth-grid select:focus{border-color:var(--wizard-teal);box-shadow:0 0 0 4px rgba(0,143,136,.11)}.employment-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:7px}.employment-period-grid select{display:block;width:100%;min-height:46px;padding:9px 27px 9px 11px;border:1px solid #cbdcdf;border-radius:9px;background:#fff;color:#213f4c;font:inherit;font-size:14px;outline:none}.employment-period-grid select:focus{border-color:var(--wizard-teal);box-shadow:0 0 0 4px rgba(0,143,136,.11)}

/* 次へは中央で迷わず押せる、十分な幅の主要操作にする */
.wizard-actions{grid-template-columns:minmax(0,.6fr) minmax(360px,2.6fr) minmax(0,.6fr);grid-template-rows:auto auto}.wizard-actions .save-copy{grid-column:1/-1;grid-row:1}.wizard-actions .nav-button.prev{grid-column:1;grid-row:2;justify-self:start}.wizard-actions .nav-button.next{grid-column:2;grid-row:2;justify-self:stretch;width:100%;min-width:0;min-height:60px}
@media(max-width:720px){.form-grid{grid-template-columns:1fr}.wizard-step{padding-bottom:118px}.wizard-actions{grid-template-columns:minmax(112px,.9fr) minmax(0,2.4fr);grid-template-rows:1fr;gap:11px;margin:20px -12px 0;padding:11px 12px}.wizard-actions .save-copy{display:none}.wizard-actions .nav-button.prev{grid-column:1;grid-row:1;width:100%;min-width:112px;padding:0 10px;white-space:nowrap}.wizard-actions .nav-button.next{grid-column:2;grid-row:1;min-height:58px}.nav-button.prev::after{font-size:13px}.employment-period-grid{gap:10px}.birth-grid{gap:7px}.birth-grid select{padding-right:18px;font-size:14px}}

/* 入力する場所を一目で把握できるよう、背景・枠線・フォーカス状態をはっきりさせる */
.form-grid>.field,.timeline-record-grid>.field,.employment-period,.structured-custom,.structured-number{padding:12px;border:1px solid #cfe1e4;border-radius:13px;background:linear-gradient(145deg,#f8fcfc,#f2f9f9);box-shadow:0 3px 9px rgba(20,75,88,.035);transition:border-color .18s,box-shadow .18s,background .18s}.form-grid>.field:focus-within,.timeline-record-grid>.field:focus-within,.employment-period:focus-within,.structured-custom:focus-within,.structured-number:focus-within{border-color:#159a94;background:#f5fffe;box-shadow:0 0 0 4px rgba(0,143,136,.1)}.form-grid>.field input,.form-grid>.field textarea,.timeline-record-grid>.field input,.timeline-record-grid>.field select,.employment-period select,.structured-custom input,.structured-number input{border-color:#b9d2d6;background:#fff;box-shadow:0 1px 2px rgba(18,69,81,.04)}.records,.timeline-groups{gap:18px}.record-card,.timeline-record{border:1px solid #c8e0e2;background:linear-gradient(145deg,#fbfefe,#f2faf9);box-shadow:0 8px 18px rgba(21,80,92,.055)}.timeline-group{padding:18px;border:1px solid #d3e5e6;border-radius:17px;background:#fbfefe;box-shadow:0 7px 17px rgba(21,80,92,.035)}.timeline-group+.timeline-group{margin-top:4px}.timeline-group-heading{margin-bottom:14px}.field-example{margin-top:12px}.inline-preview-panel{margin-top:22px;border-color:#bfdcde;background:linear-gradient(145deg,#eefafa,#f5f9ff);box-shadow:0 10px 24px rgba(24,77,99,.09)}.inline-preview-head{margin-bottom:14px}.inline-preview-head h2{font-size:21px}.inline-preview-head p:last-child{max-width:560px}.inline-preview-stage{border-color:#afced1;background:#e5f1f2}
@media(max-width:720px){.form-grid>.field,.timeline-record-grid>.field,.employment-period{padding:11px}.timeline-group{padding:15px 13px;border-radius:14px}.record-card,.timeline-record{box-shadow:0 5px 13px rgba(21,80,92,.05)}.inline-preview-panel{margin-top:18px;padding:17px 13px}.inline-preview-head h2{font-size:20px}.inline-preview-resume .inline-preview-stage{min-height:250px;height:min(47dvh,390px)}.inline-preview-work .inline-preview-stage{height:min(47dvh,390px)}}

/* 履歴書の埋め込みプレビューはA3横の比率を崩さず、横に動かして確認する */
.inline-preview-resume .inline-preview-stage{height:min(72dvh,792px);min-height:320px;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y}.inline-preview-resume .inline-preview-frame{width:1120px;max-width:none;height:792px}@media(max-width:720px){.inline-preview-resume .inline-preview-stage{height:min(62dvh,500px);min-height:300px}}

/* スマホでは、入力内容のすぐ後で無理なく確認できる高さにする */
@media(max-width:720px){.inline-preview-resume .inline-preview-stage{min-height:250px;height:min(47dvh,390px)}.inline-preview-work .inline-preview-stage{height:min(47dvh,390px)}}

/* フォームは二重枠をなくし、淡い面と直角の入力欄で読み分ける */
.wizard-shell{border-radius:0}.form-grid{padding:20px 18px;border-top:1px solid #d9e7e9;border-bottom:1px solid #d9e7e9;background:#f7fbfb}.form-grid>.field,.timeline-record-grid>.field,.employment-period,.structured-custom,.structured-number{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.form-grid>.field:focus-within,.timeline-record-grid>.field:focus-within,.employment-period:focus-within,.structured-custom:focus-within,.structured-number:focus-within{border:0;background:transparent;box-shadow:none}.field input,.field textarea,.field select,.birth-grid select,.employment-period-grid select,.structured-custom input,.structured-number input{border-color:#b7cdd1;border-radius:2px;box-shadow:none}.field input:focus,.field textarea:focus,.field select:focus,.birth-grid select:focus,.employment-period-grid select:focus,.structured-custom input:focus,.structured-number input:focus{border-color:#159a94;box-shadow:0 0 0 3px rgba(0,143,136,.1)}.choice,.field-example summary,.field-example>div,.example-toggle summary,.example-toggle>div{border-radius:2px}.record-card,.timeline-record,.timeline-group{border:0;border-left:3px solid #8ec5c2;border-radius:0;background:#f5fbfa;box-shadow:none}.timeline-group{padding:18px}.photo-zone,.form-tip,.assist-box,.structured-builder,.retirement-guide,.inline-preview-panel{border-radius:0}.inline-preview-panel{box-shadow:none}@media(max-width:720px){.form-grid{padding:17px 13px}.timeline-group{padding:15px 13px;border-radius:0}}

/* The source image never leaves the device.  These controls only adjust the
   local crop used by the preview and print view. */
.photo-editor{width:min(100%,480px);margin:18px auto 0;padding-top:18px;border-top:1px solid #d7e6e7}.photo-editor-preview{width:144px;height:180px;margin:0 auto 16px;overflow:hidden;border:1px solid #8bb9b7;background:#eaf4f4}.photo-editor-preview img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) var(--photo-y,50%);transform:scale(var(--photo-zoom,1));transition:transform .12s ease}.photo-editor-controls{display:grid;gap:11px;text-align:left}.photo-editor-controls label{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:12px;color:#41616c;font-size:12px;font-weight:800}.photo-editor-controls input{width:100%;accent-color:#008f88}.photo-remove{margin-top:14px;border:0;background:transparent;color:#a85566;font:800 12px "Noto Sans JP",sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.auto-fill{margin:0 0 18px;padding:16px 17px;border-left:3px solid #54aaa4;background:#edf8f7}.auto-fill summary{display:flex;align-items:center;justify-content:space-between;color:#126d69;font-size:14px;font-weight:900;cursor:pointer;list-style:none}.auto-fill summary::-webkit-details-marker{display:none}.auto-fill summary::after{content:"expand_more";font-family:"Material Symbols Rounded";font-size:20px}.auto-fill[open] summary::after{content:"expand_less"}.auto-fill p{margin:9px 0 13px;color:#55717b;font-size:12px;font-weight:600;line-height:1.7}.auto-fill-fields{margin-bottom:13px;padding:0;border:0;background:transparent}@media(max-width:720px){.auto-fill{margin:0 0 15px;padding:14px 13px}.auto-fill-fields{gap:12px}.auto-fill .small-button{width:100%}}

/* 既存書類の取り込みは端末内だけで完結させ、入力済みの事実を上書きしない。 */
.document-import{margin:0 0 18px;padding:16px 17px;border-left:3px solid #698fc3;background:#f1f7fc}.document-import summary{display:flex;align-items:center;justify-content:space-between;color:#245c8b;font-size:14px;font-weight:900;cursor:pointer;list-style:none}.document-import summary::-webkit-details-marker{display:none}.document-import summary::after{content:"expand_more";font-family:"Material Symbols Rounded";font-size:20px}.document-import[open] summary::after{content:"expand_less"}.document-import p{margin:9px 0 13px;color:#55717b;font-size:12px;font-weight:600;line-height:1.7}.document-import .field{display:block;margin:0 0 12px}.document-import .field span{display:block;margin-bottom:6px;color:#355a70;font-size:12px;font-weight:900}.document-import textarea{display:block;width:100%;min-height:130px;padding:10px 11px;border:1px solid #aec7d6;border-radius:2px;background:#fff;color:#213f4c;font:inherit;font-size:13px;line-height:1.65;resize:vertical}.import-file{display:inline-flex;align-items:center;gap:7px;min-height:40px;margin:0 0 12px;color:#245c8b;font-size:12px;font-weight:900;cursor:pointer}.import-file .material-symbols-rounded{font-size:19px}.import-file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.import-file:focus-within{outline:3px solid rgba(25,116,198,.2);outline-offset:3px}.document-import .small-button{display:flex;align-items:center;justify-content:center;min-height:43px;padding:0 15px;border:0;border-radius:2px;background:#2478bb;color:#fff;font:800 13px "Noto Sans JP",sans-serif;cursor:pointer}.document-import .small-button:hover{filter:brightness(.96)}@media(max-width:720px){.document-import{margin:0 0 15px;padding:14px 13px}.document-import .small-button{width:100%;min-height:47px}}

.character-guidance{display:block;margin:8px 0 0;color:#657d86;font-size:11px;font-weight:700;line-height:1.6}.character-guidance.is-short{color:#5d7480}.character-guidance.is-good{color:#087b76}.character-guidance.is-caution{color:#a46a12}.character-guidance.is-warning{color:#bd3158;font-weight:900}

.employment-current{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:#35606a;font-size:12px;font-weight:800;cursor:pointer}.employment-current input{width:16px;height:16px;margin:0;accent-color:#008f88}

.preview-dock{position:fixed;right:max(16px,calc((100vw - 1020px)/2));bottom:22px;z-index:24;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 15px;border:1px solid #94bfbd;border-radius:2px;background:#fff;color:#086f6b;font:800 13px "Noto Sans JP",sans-serif;box-shadow:0 7px 18px rgba(17,73,87,.14);cursor:pointer}.preview-dock .material-symbols-rounded{font-size:19px}@media(max-width:720px){.preview-dock{right:12px;bottom:78px;min-height:40px;padding:0 12px;font-size:12px}}

/* ステップ線は番号の下にだけ通し、丸番号・文言と重ならないようにする */
.wizard-stepper{position:relative;isolation:auto}.wizard-stepper::after{display:none}.step-tab{z-index:auto}.step-tab::before{z-index:0;pointer-events:none}.step-number{position:relative;z-index:1}.step-tab span:last-child{position:relative;z-index:1}

/* ヘッダー操作とPCの文字は、離れて見ても読み取りやすい大きさにする */
.back-home{min-height:42px;padding:0 13px;border:1px solid #c8dcdf;border-radius:2px;background:#f7fbfb;font-size:14px}.back-home .material-symbols-rounded{font-size:20px}@media(min-width:721px){.wizard-header-inner{min-height:76px}.wizard-logo{width:184px}.back-home{min-height:46px;padding:0 17px;font-size:15px}.wizard-title p{font-size:15px}.step-tab span:last-child{font-size:13px}.step-heading p{font-size:16px}.field{font-size:14px}.field small,.birth-grid label,.employment-period-grid label{font-size:12px}.field input,.field textarea,.field select{font-size:17px}.birth-grid select{font-size:16px}.employment-period-grid select{font-size:15px}.choice{font-size:15px}.form-tip{font-size:14px}.record-count,.timeline-record-head strong{font-size:15px}.timeline-group-heading h3{font-size:18px}.timeline-group-heading p,.field-example p{font-size:13px}.nav-button{font-size:16px}.save-state{font-size:13px}}

/* 職務要約・自己PRは、要素を選んでから下書きにする */
.structured-builder{display:grid;gap:15px;margin:2px 0 14px;padding:17px;border:1px solid #b9dddd;border-radius:13px;background:rgba(255,255,255,.76)}.structured-builder-head h3{margin:0;color:var(--wizard-navy);font-size:15px;font-weight:900}.structured-builder-head p{margin:5px 0 0;color:#5b747d;font-size:12px;font-weight:700;line-height:1.65}.structured-questions{display:grid;gap:14px}.structured-question{padding-top:13px;border-top:1px solid #deeaec}.structured-question:first-child{padding-top:0;border-top:0}.structured-question h4{margin:0 0 8px;color:#31505d;font-size:13px;font-weight:900}.structured-choice-list{display:flex;flex-wrap:wrap;gap:7px}.structured-choice{min-height:35px;padding:6px 10px;border:1px solid #bed8da;border-radius:8px;background:#fff;color:#45636d;font-size:12px;font-weight:800;line-height:1.4;cursor:pointer}.structured-choice:hover{border-color:var(--wizard-teal);background:#f2fbfa}.structured-choice.is-selected{border-color:var(--wizard-teal);background:#e5f6f4;color:#087b76;box-shadow:inset 0 0 0 1px var(--wizard-teal)}.structured-custom,.structured-number{display:block;margin-top:10px;color:#355561;font-size:12px;font-weight:900}.structured-custom input,.structured-number input{display:block;width:100%;min-height:44px;margin-top:6px;padding:9px 11px;border:1px solid #c4dbdd;border-radius:8px;background:#fff;color:#213f4c;font:inherit;font-size:14px;outline:none}.structured-custom input:focus,.structured-number input:focus{border-color:var(--wizard-teal);box-shadow:0 0 0 4px rgba(0,143,136,.1)}.structured-generate{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 15px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--wizard-teal),var(--wizard-blue));color:#fff;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 8px 15px rgba(13,105,138,.18)}.structured-generate:hover{filter:brightness(.98);transform:translateY(-1px)}@media(max-width:720px){.structured-builder{gap:13px;padding:14px}.structured-choice{min-height:37px;padding:6px 9px;font-size:11px}.structured-generate{width:100%;min-height:47px}}

/* スマホではステップだけを内部スクロールさせ、ページ全体の横揺れを防ぐ。 */
@media(max-width:720px){body{overflow-x:clip}.wizard-stepper{width:100%;max-width:100%;margin-right:0;margin-left:0;padding-right:2px;padding-left:2px;overscroll-behavior-x:contain}}
