/* 求人CMS・採用ページ共通拡張 */
.job-preserve-lines{white-space:pre-line}
.job-summary{white-space:pre-line}
.job-formatted-text{display:grid;gap:14px;color:var(--ink)}
.job-formatted-text p{margin:0;line-height:1.9}
.job-formatted-text.compact{gap:9px}
.job-formatted-text.compact p{line-height:1.75}
.job-content-list{display:grid;gap:9px;list-style:none;margin:4px 0;padding:0}
.job-content-list li{position:relative;padding:12px 15px 12px 43px;border:1px solid var(--line);border-radius:10px;background:#f8fbfe;line-height:1.75}
.job-content-list li::before{content:"\f00c";position:absolute;left:16px;top:12px;color:var(--blue);font-family:"Font Awesome 6 Free";font-weight:900}
.job-content-list-numbered{counter-reset:job-list-number}
.job-content-list-numbered li{counter-increment:job-list-number;padding-left:50px}
.job-content-list-numbered li::before{content:counter(job-list-number);width:24px;height:24px;top:11px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-family:inherit;font-size:12px;font-weight:800}
.job-benefit-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;margin:10px 0 0;padding:7px 11px;border:1px solid #f0c58f;border-radius:999px;background:#fff6e9;color:#955000;font-size:13px;font-weight:800}
.job-benefit-badge:hover{background:#ffefd9}
.job-card .job-benefit-badge{margin-bottom:2px}
.job-card .job-meta{min-height:0}
.job-card-conditions dd{white-space:pre-line}
.job-condition-note{margin:7px 0 0;color:var(--muted);font-size:13px}
.job-office-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.job-office-candidate-card{padding:19px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(23,48,73,.04)}
.job-office-candidate-card h3{margin:10px 0 7px;font-size:17px;line-height:1.5}
.job-office-candidate-card p{margin:0 0 8px;color:var(--muted);font-size:13px}
.job-signing-bonus-panel{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:24px;border:1px solid #f0c58f;border-radius:16px;background:linear-gradient(120deg,#fff6e9,#fff)}
.job-signing-bonus-panel>i{width:56px;height:56px;display:grid;place-items:center;border-radius:15px;background:#fff0d7;color:#a45b00;font-size:25px}
.job-signing-bonus-panel h2{margin:0 0 8px}
.job-signing-bonus-panel p{margin:0 0 14px;color:var(--muted)}
.job-side-office-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.job-side-office-list li{border-bottom:1px solid var(--line);padding-bottom:10px}
.job-side-office-list li:last-child{border-bottom:0;padding-bottom:0}
.job-side-office-list a{display:block;color:var(--blue);font-weight:700}
.job-side-office-list small{display:block;margin-top:2px;color:var(--muted)}
.job-side-bonus{border-color:#f0c58f;background:#fff8ee}
.job-side-bonus h2{color:#955000}
.job-side-bonus h2 i{margin-right:5px}
.job-entry-office-note{margin:8px 0 0;color:#536171;font-size:13px;line-height:1.7}

/* 社員の声：似顔絵は縦幅基準、四方に余白 */
.staff-voice-image{height:340px!important;aspect-ratio:auto!important;padding:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;overflow:hidden}
.staff-voice-image img{display:block!important;width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.staff-voice-card:hover .staff-voice-image img{transform:none!important}
.staff-interview-portrait{min-height:540px;padding:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(23,48,73,.05)}
.staff-interview-portrait img{display:block;width:auto;height:460px;max-width:100%;max-height:100%;object-fit:contain}
.job-voice-links>a{display:flex;flex-direction:column;overflow:hidden}
.job-voice-links>a>.job-voice-portrait{box-sizing:border-box;width:100%;height:240px;margin:0;padding:18px;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff;border-bottom:1px solid var(--line)}
.job-voice-links>a>.job-voice-portrait img{display:block!important;width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0 auto!important;object-fit:contain!important;object-position:center center!important}

/* 入社支度金ページ */
.signing-bonus-hero{background:linear-gradient(115deg,#fff8ec,#fff 58%,#f7fbff);border-bottom:1px solid var(--line)}
.signing-bonus-hero-inner{display:grid;grid-template-columns:1.25fr auto;gap:32px;align-items:center}
.signing-bonus-hero h1{font-size:clamp(34px,4vw,50px);margin:0 0 12px}
.signing-bonus-hero p{margin:0;color:var(--muted);font-size:17px}
.signing-bonus-amount{min-width:240px;padding:24px 30px;border:1px solid #f0c58f;border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:center}
.signing-bonus-amount span,.signing-bonus-amount small{display:block;color:#755c42}
.signing-bonus-amount strong{display:block;margin:4px 0;font-size:36px;line-height:1.3;color:#a45b00}
.signing-bonus-condition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.signing-bonus-condition-grid article{padding:22px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center;box-shadow:0 7px 20px rgba(23,48,73,.04)}
.signing-bonus-condition-grid i{font-size:30px;color:#a45b00;margin-bottom:10px}
.signing-bonus-condition-grid h3{font-size:18px;margin:0 0 7px}
.signing-bonus-condition-grid p{margin:0;color:var(--muted);font-size:14px}
.signing-bonus-note{margin-top:24px;border-color:#f0c58f;background:#fffaf3}
.signing-bonus-note h2{display:flex;gap:9px;align-items:flex-start;color:#7d4800}
.signing-bonus-note h2 i{margin-top:.22em}
.signing-bonus-note p:last-child{margin-bottom:0}
.signing-bonus-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.signing-bonus-region-panel{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.signing-bonus-region-panel h3{margin:0 0 14px;font-size:22px;color:var(--blue)}
.signing-bonus-job-list{display:grid;gap:10px}
.signing-bonus-job-list a{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}
.signing-bonus-job-list a:hover{border-color:#a8c9e8;background:#f4f9ff}
.signing-bonus-job-list span{display:grid;gap:3px}
.signing-bonus-job-list small{color:var(--muted)}
.signing-bonus-empty{text-align:center}
.signing-bonus-bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.signing-bonus-flow{display:grid;gap:11px;list-style:none;margin:20px 0 0;padding:0}
.signing-bonus-flow li{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.signing-bonus-flow>li>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#a45b00;color:#fff;font-weight:800}
.signing-bonus-flow h3{margin:0 0 3px;font-size:17px}
.signing-bonus-flow p{margin:0;color:var(--muted);font-size:14px}
.signing-bonus-faq details{border-bottom:1px solid var(--line)}
.signing-bonus-faq details:last-child{border-bottom:0}
.signing-bonus-faq summary{padding:13px 0;cursor:pointer;font-weight:700}
.signing-bonus-faq details p{margin:0 0 14px;color:var(--muted)}
.signing-bonus-cta{display:grid;grid-template-columns:1.2fr auto;gap:24px;align-items:center;background:linear-gradient(110deg,#fff5e6,#fff);border-color:#f0c58f}
.signing-bonus-cta h2{margin:0 0 7px}
.signing-bonus-cta p{margin:0;color:var(--muted)}

@media(max-width:960px){
  .job-office-candidate-grid,.signing-bonus-region-grid,.signing-bonus-bottom-grid,.signing-bonus-cta,.signing-bonus-hero-inner{grid-template-columns:1fr}
  .signing-bonus-condition-grid{grid-template-columns:repeat(2,1fr)}
  .signing-bonus-amount{max-width:320px}
  .staff-interview-portrait{min-height:470px}
  .staff-interview-portrait img{height:400px}
}
@media(max-width:640px){
  .job-content-list li{padding-left:40px}
  .job-office-candidate-grid,.signing-bonus-condition-grid{grid-template-columns:1fr}
  .job-signing-bonus-panel{grid-template-columns:1fr}
  .staff-voice-image{height:300px!important;padding:22px!important}
  .staff-interview-portrait{min-height:390px;padding:24px}
  .staff-interview-portrait img{height:340px}
  .job-voice-links>a>.job-voice-portrait{height:220px}
  .signing-bonus-hero p{font-size:15px}
  .signing-bonus-amount{min-width:0;width:100%}
}
