/* ============================================================
   先輩インタビュー (interview) — 1年目 / 4年目 社員インタビュー
   共通トークン・ヘッダー・フッター・.btn-pill は style.css から、
   .about-shell / .about-kicker などの下層ページ共通パーツは about.css から継承。
   PC(1440)基準、≤1024 / ≤768 でレスポンシブ。
   ============================================================ */

/* ヘッダー（浮遊する白バー）とフッターは about.css の下層ページ共通指定をそのまま使う */
.interview-page { background: #fff; color: #161e29; }

.iv-shell { width: min(1120px, calc(100% - 64px)); margin: 0 auto; }

/* =========================================================
   HERO
   ========================================================= */
.iv-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 460px;
  overflow: hidden;
  padding: 132px 0 70px;
  background: #111;
  color: #fff;
}
.iv-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("../assets/growth/growth-hero.jpg") center 45% / cover no-repeat;
  filter: grayscale(30%);
  transform: scale(1.02);
}
.iv-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(10, 16, 13, .88) 0%, rgba(10, 16, 13, .70) 44%, rgba(10, 16, 13, .36) 100%);
}
.iv-hero__inner { position: relative; z-index: 1; }
.iv-hero__inner h1 {
  margin-bottom: 20px;
  font-size: clamp(44px, 5vw, 68px);
  line-height: 1.2;
  letter-spacing: -.04em;
}
.iv-hero__lead {
  max-width: 720px;
  color: rgba(255, 255, 255, .92);
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
}

/* =========================================================
   セクション土台
   ========================================================= */
.iv-section { padding: 108px 0; }
.iv-section--gray { background: #eef0ef; }

.iv-head { margin-bottom: 44px; text-align: center; }
.iv-head h2 {
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.4;
  letter-spacing: -.03em;
}
.iv-head > p:last-child {
  margin-top: 14px;
  color: #68717c;
  font-size: 14px;
  font-weight: 500;
}

/* =========================================================
   インタビュームービー
   ========================================================= */
.iv-movie {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 6px;
  aspect-ratio: 16 / 9;
  background: #121a22;
}
.iv-movie__video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ムービー直下のリード */
.iv-lead { margin-top: 46px; text-align: center; }
.iv-lead h3 {
  font-size: clamp(21px, 2.2vw, 27px);
  line-height: 1.6;
  letter-spacing: -.02em;
}
.iv-lead > p:last-child {
  margin-top: 12px;
  color: #7a838c;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
}

/* =========================================================
   インタビュー本体（写真 + カード）
   ========================================================= */
.iv-list { display: grid; gap: 34px; margin-top: 54px; }
.iv-item {
  display: grid;
  grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}
.iv-item__photo {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 4px 44px 4px 4px;
  background: #e9eceb;
}
.iv-item__photo picture {
  display: block;
  width: 100%;
  height: 100%;
}
.iv-item__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
.iv-item:hover .iv-item__photo img { transform: scale(1.03); }

.iv-card {
  border: 1px solid #e1e4e2;
  border-radius: 6px;
  padding: 30px 32px 34px;
  background: #fff;
}
.iv-section--gray .iv-card { border-color: #dde2df; }
.iv-card__tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.iv-card__tags span {
  border-radius: 20px;
  padding: 6px 11px;
  background: #e8f6ee;
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}
.iv-card h3 { font-size: 27px; letter-spacing: -.02em; }
.iv-card__meta {
  margin-top: 8px;
  color: #7a838c;
  font-size: 12px;
  font-weight: 700;
}

.iv-block { margin-top: 26px; }
.iv-block__label {
  margin-bottom: 10px;
  color: var(--brand);
  font-family: var(--font-en);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}
.iv-block p {
  color: #4e5661;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
}
.iv-quote {
  margin-top: 22px;
  border-left: 3px solid var(--brand);
  padding: 2px 0 2px 18px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: -.02em;
}

/* =========================================================
   CTA（フッターと隙間なく接続する）
   ========================================================= */
.iv-cta {
  padding: 76px 0 80px;
  background: #111;
  color: #fff;
  text-align: center;
}
.iv-cta h2 { font-size: clamp(23px, 2.6vw, 32px); line-height: 1.55; }
.iv-cta > .iv-shell > p { margin-top: 14px; color: #b5bab7; font-size: 14px; font-weight: 500; }
.iv-cta__buttons { display: flex; justify-content: center; gap: 16px; margin-top: 36px; }
.iv-cta__buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  border: 1px solid transparent;
  border-radius: 100px;
  padding: 17px 26px;
  font-size: 13px;
  font-weight: 700;
  transition: opacity .2s ease;
}
.iv-cta__buttons a:first-child { background: #fff; color: #161e29; }
.iv-cta__buttons a:last-child { background: var(--brand); color: #fff; }
.iv-cta__buttons a:hover { opacity: .84; }

/* CTA の直後にフッターが続くため、角丸と余白は落として密着させる */
.interview-page .footer { margin-top: 0; border-radius: 0; }

/* =========================================================
   レスポンシブ — タブレット (≤1024)
   ========================================================= */
@media (max-width: 1024px) {
  .iv-shell { width: min(1120px, calc(100% - 48px)); }
  .iv-section { padding: 88px 0; }
  .iv-item { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 26px; }
  .iv-card { padding: 26px 26px 30px; }
}

/* =========================================================
   レスポンシブ — スマートフォン (≤768)
   ========================================================= */
@media (max-width: 768px) {
  .iv-shell { width: min(calc(100% - 40px), 560px); }

  .iv-hero { min-height: 400px; padding: 120px 0 58px; }
  .iv-hero__inner h1 { font-size: 40px; }
  .iv-hero__lead { font-size: 13px; line-height: 1.95; }

  .iv-section { padding: 68px 0 72px; }
  .iv-head { margin-bottom: 32px; }
  .iv-head h2 { font-size: 27px; }
  .iv-head > p:last-child { font-size: 13px; }

  .iv-movie { border-radius: 4px; }

  .iv-lead { margin-top: 32px; }
  .iv-lead h3 { font-size: 20px; }

  .iv-list { gap: 26px; margin-top: 36px; }
  .iv-item { grid-template-columns: 1fr; gap: 18px; }
  .iv-item__photo { aspect-ratio: 4 / 3; border-radius: 4px 32px 4px 4px; }
  .iv-card { padding: 24px 20px 28px; }
  .iv-card h3 { font-size: 23px; }
  .iv-block { margin-top: 22px; }
  .iv-block p { font-size: 13px; line-height: 1.95; }
  .iv-quote { font-size: 17px; padding-left: 14px; }

  .iv-cta { padding: 56px 0 60px; }
  .iv-cta h2 { font-size: 21px; }
  .iv-cta > .iv-shell > p { font-size: 13px; }
  .iv-cta__buttons { flex-direction: column; gap: 12px; margin-top: 28px; }
  .iv-cta__buttons a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .iv-item__photo img { transition: none; }
  .iv-item:hover .iv-item__photo img { transform: none; }
}
