@charset "UTF-8";
/* 先輩の声ページ専用。親サイトの既存CSSは変更しない。 */
.voice-page { background: var(--paper, #f5f7fa); padding-bottom: 64px; }
.voice-container { max-width: 1050px; padding: 0 24px; margin: auto; }
.voice-breadcrumb { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 20px 0 26px; color: #68798e; font-size: 12px; line-height: 1.7; }
.voice-breadcrumb a { color: #50657e; text-decoration: none; }
.voice-breadcrumb a:hover { text-decoration: underline; }
.voice-heading { padding: 12px 0 22px; }
.voice-heading__eyebrow { margin: 0 0 10px; color: #d94759; font-size: 11px; font-weight: 800; line-height: 1.6; letter-spacing: .19em; border-left: 4px solid #e44754; padding-left: 12px; }
.voice-heading h1 { color: var(--navy,#172d49); font-size: clamp(26px,3vw,37px); font-weight: 800; line-height: 1.5; margin: 0; letter-spacing: .035em; }
.voice-people { display: flex; gap: 15px; flex-wrap: wrap; align-items: flex-start; padding: 10px 0 24px; }
.voice-people__item { width: min(290px,calc(50% - 8px)); overflow: hidden; border-radius: 6px; border: 1px solid #ccd7e2; box-shadow: 0 2px 8px #233e5010; background: white; position: relative; }
.voice-people__item img { display: block; width: 100%; height: auto; aspect-ratio: 290 / 100; object-fit: cover; }
.voice-people__item--active { outline: 3px solid #d9485b; outline-offset: 1px; }
.voice-article { min-width:0; }
.voice-hero { margin:0 0 28px; }
.voice-hero__desktop { display:block; width:100%; height:auto; border-radius:7px; box-shadow: 0 5px 16px #172d4914; }
.voice-hero__mobile { display:none; }
.voice-story { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-bottom:44px; }
.voice-story__column { min-width:0; display:flex; flex-direction:column; gap:17px; }
.voice-qa { background:white; border:1px solid #e0e6ed; border-radius:7px; padding:20px 20px 22px; }
.voice-qa + .voice-qa { margin-top:0; }
.voice-qa h3 { font-size:16px; line-height:1.65; margin:0 0 12px; color:#143c68; font-weight:800; }
.voice-qa p { font-size:14px; line-height:1.95; margin:0; color:#303a47; }
.voice-story__photo { display:block; width:100%; height:auto; border-radius:7px; }
.voice-section-image { margin:0 0 20px; }
.voice-section-image img { display:block; width:100%; height:auto; border-radius:3px; }
.voice-day { margin:0; padding:0; list-style:none; display:grid; gap:16px; }
.voice-day__item { display:grid; grid-template-columns:100px minmax(0,1fr); gap:22px; align-items:start; background:#fff; border:1px solid #e0e6ed; padding:20px; border-radius:8px; }
.voice-day__icon { display:block; width:100px; height:100px; object-fit:contain; }
.voice-day__text h3 { margin:0 0 8px; color:var(--navy,#172d49); font-size:18px; line-height:1.6; font-weight:800; }
.voice-day__text p { margin:0; color:#303a47; font-size:14px; line-height:1.95; }
.voice-message { display:grid; grid-template-columns:300px minmax(0,1fr); gap:27px; margin-top:38px; padding:26px; background:#fff; border:1px solid #e0e6ed; border-radius:9px; align-items:start; }
.voice-message__photo { display:block; width:100%; max-width:300px; height:auto; border-radius:5px; }
.voice-message__body h2 { margin:0 0 15px; font-size:18px; line-height:1.6; font-weight:800; color:var(--navy,#172d49); }
.voice-message__body p { font-size:14px; line-height:1.95; margin:0; color:#303a47; }
.voice-end-banner { margin-top:35px; text-align:center; }
.voice-end-banner a { display:block; }
.voice-end-banner img { display:block; width:100%; height:auto; border-radius:4px; }
.voice-bottom { text-align:right; margin-top:17px; }
.voice-back { color:#4e6580; font-size:14px; }
.voice-people__item--active:focus-visible,.voice-end-banner a:focus-visible { outline:3px solid #b97b15; outline-offset:4px; }
@media(max-width:740px){
  .voice-container { padding:0 18px; }
  .voice-breadcrumb { padding:13px 0 22px; }
  .voice-story { grid-template-columns:1fr; gap:22px; }
  .voice-story__column { gap:17px; }
  .voice-message { grid-template-columns: 210px minmax(0,1fr); gap:20px; padding:20px; }
  .voice-day__item { grid-template-columns:85px minmax(0,1fr); gap:14px; padding:16px; }
  .voice-day__icon { width:85px; height:85px; }
}
@media(max-width:520px){
  .voice-page { padding-bottom:38px; }
  .voice-people { gap:10px; padding-bottom:20px; }
  .voice-people__item { width:calc(50% - 5px); }
  .voice-hero { margin-bottom:18px; }
  .voice-hero__desktop { display:none; }
  .voice-hero__mobile { display:grid; grid-template-columns:95px minmax(0,1fr); gap:13px; align-items:center; padding:13px; border-radius:8px; background:#f8f8da; box-shadow:0 4px 15px #172d4914; }
  .voice-hero__mobile img { display:block; width:95px; height:102px; object-fit:cover; object-position:center 15%; border-radius:5px; }
  .voice-hero__mobile p { margin:0; }
  .voice-hero__motto { color:#171b1e; font-size:17px; font-weight:800; line-height:1.45; }
  .voice-hero__name { color:#263340; font-size:13px; margin-top:5px!important; font-weight:700; }
  .voice-hero__join { color:#4d5c69; font-size:11px; }
  .voice-qa { padding:16px 15px 18px; }
  .voice-qa h3 { font-size:15px; }
  .voice-day__item { grid-template-columns:62px minmax(0,1fr); gap:12px; padding:12px; }
  .voice-day__icon { width:62px; height:62px; }
  .voice-day__text h3 { font-size:16px; }
  .voice-message { grid-template-columns:1fr; padding:18px; gap:17px; }
  .voice-message__photo { max-width:250px; }
}


/* 横田雅輝さんの旧ページ: 仕事内容1写真＋一日の流れ横写真 */
.voice-people__item:hover { border-color: #d9485b; box-shadow: 0 5px 14px #233e5026; }
.voice-story--yokota .voice-story__column--photo { justify-content: flex-start; }
.voice-daily__layout { display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 20px; align-items: start; }
.voice-daily__layout > .voice-day { min-width: 0; }
.voice-daily__photo { display: block; width: 100%; height: auto; border-radius: 6px; }
@media (max-width: 740px) {
  .voice-daily__layout { grid-template-columns: 1fr; }
  .voice-daily__photo { width: min(100%,320px); justify-self: center; }
}
