@charset "utf-8";
/* ============================================================
   先輩社員インタビュー：カード → クリックでポップアップ
   （採用ページ recruit-lp の People & Voice と同じ体験の静的版）
   ============================================================ */
.ivc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:18px; max-width:1040px; margin:8px auto 0; padding:0 22px; }
.ivc-card { text-align:left; background:#ffffff; border:1px solid #eadfce; border-radius:16px; overflow:hidden; cursor:pointer; color:inherit; font-family:inherit; padding:0; transition:transform .2s,border-color .2s,box-shadow .2s; }
.ivc-card:hover { transform:translateY(-4px); border-color:#164a84; box-shadow:0 16px 34px rgba(20,40,70,.14); }
.ivc-card:focus-visible { outline:2px solid #ff8a3d; outline-offset:2px; }
.ivc-photo { width:100%; height:200px; object-fit:cover; object-position:center top; display:block; }
.ivc-cbody { padding:15px 18px 18px; }
.ivc-badge { display:inline-block; background:#f4efe6; color:#b26a2b; font-size:11.5px; font-weight:700; border-radius:20px; padding:3px 12px; margin-bottom:10px; }
.ivc-who { display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.ivc-who b { font-size:19px; font-weight:800; color:#1b2431; }
.ivc-who .ivc-role { font-size:12px; color:#b26a2b; font-weight:700; }
.ivc-yr { font-size:11.5px; color:#5f6b7a; margin:2px 0 10px; }
.ivc-teaser { font-size:13.5px; color:#3a4552; line-height:1.6; margin-bottom:12px; }
.ivc-more { font-size:14px; color:#ff8a3d; font-weight:800; }

/* modal */
.ivc-modal { position:fixed; inset:0; z-index:3000; display:none; align-items:flex-start; justify-content:center; padding:38px 16px; background:rgba(6,12,22,.74); overflow-y:auto; }
.ivc-modal.open { display:flex; }
.ivc-inner { background:#f5f7fb; color:#3a4552; border-radius:20px; max-width:840px; width:100%; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.5); }
.ivc-top { position:relative; display:grid; grid-template-columns:320px 1fr; }
.ivc-top img { width:100%; height:100%; min-height:270px; object-fit:cover; object-position:center top; display:block; }
.ivc-intro { padding:26px 30px; }
.ivc-who2 { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.ivc-who2 b { font-size:28px; font-weight:800; color:#1b2431; }
.ivc-who2 .ivc-role2 { font-size:14px; color:#164a84; font-weight:800; }
.ivc-who2 .ivc-yr2 { font-size:12.5px; color:#5f6b7a; width:100%; }
.ivc-hl { display:inline-block; background:#eaf1fb; color:#164a84; border:1px solid #d5e2f2; border-radius:20px; font-size:12px; font-weight:700; padding:4px 12px; }
.ivc-close { position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:0; background:rgba(0,0,0,.4); color:#fff; font-size:20px; cursor:pointer; z-index:3; }
.ivc-mbody { padding:26px 30px 36px; }
.ivc-qa { margin-bottom:30px; }
.ivc-qa:last-child { margin-bottom:0; }
.ivc-qa .ivc-q { font-size:15px; font-weight:800; color:#164a84; margin:0 0 9px; display:flex; gap:8px; }
.ivc-qa .ivc-q .mk { color:#ff8a3d; }
.ivc-qa .ivc-a { font-size:14.5px; color:#3a4552; line-height:2.0; margin:0; }
.ivc-qa .ivc-a mark { background:linear-gradient(transparent 58%,#ffe08a 58%); padding:0 1px; font-weight:600; }
.ivc-qa .ivc-a a.ytlink { color:#c4302b; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.ivc-qa.goal { background:#fff6ea; border:1px solid #ffe1bd; border-radius:12px; padding:14px 16px; }
.ivc-qa.goal .ivc-q { color:#b3660f; }
@media (max-width:680px){ .ivc-top { grid-template-columns:1fr; } .ivc-top img { min-height:220px; max-height:300px; } }
