
.step {
  display: flex;
  gap: 30px;
  width: 60%;
  margin: 60px auto 0;
  padding-bottom: 20px;
  border-bottom: 2px solid black;
}

.step-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 8px;
}

.step-label {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  color: #1B5E20;
}

.step-number {
  font-size: 44px;
  font-weight: bold;
  line-height: 1;
  color: #1B5E20;
}

.caria-texts {
  display: flex;
  flex-direction: column;
}

.caria-title {
  font-size: clamp(23px, 3vw, 30px);;
  font-weight: bold;
  margin: 0;
}

.caria-description {
  font-size: clamp(16px, 2vw, 18px);;
  color: #666;
  margin: 3px 0 0;
}

.criteria-last {
  font-size: clamp(16px, 2vw, 20px);
  text-align: center;
  margin: 120px auto 200px;
  line-height: 1.5;
  font-weight: bold;
  width: 60%;
}
/* =========================
  Interview Index Cards（2人カード）
========================= */
.itv-index{
  width: min(800px, 88%);
  margin: 26px auto 10px;
}

.itv-index__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

/* カード */
.itv-miniCard{
  position: relative;
  display: block;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.12);
  text-decoration: none;
  transform: translateY(0);
  transition: transform .25s ease;
}

.itv-miniCard:hover{
  transform: translateY(-2px);
}

.itv-miniCard__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.itv-miniCard:hover .itv-miniCard__img{
  transform: scale(1.04);
}

/* 文字の暗幕 */
.itv-miniCard__mask{
  position: absolute;
  inset: 0;
  display: grid;
  align-content: end;
  gap: 6px;
  padding: 16px;
  color: #fff;
}

.itv-miniCard__mask::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.05),
    rgba(0,0,0,0.55)
  );
}

.itv-miniCard__mask > *{
  position: relative;
}

.itv-miniCard__name{
  margin: 0;
  font-weight: 900;
  letter-spacing: .08em;
  font-size: 22px;
  color: #fff;
}

.itv-miniCard__meta{
  margin: 0;
  font-weight: 700;
  opacity: .95;
  font-size: 13px;
  color: #fff;
}
.itv3-wrap{
  scroll-margin-top: 90px; /* ヘッダーの高さに合わせて調整 */
}
  .itv-miniCard img {
        object-position: 50% 35%;

  }

/* スマホ：縦並び */
@media (max-width: 668px){
  .itv-index__grid{
    grid-template-columns: 1fr;
  }
  .itv-miniCard{
    height: 200px;
  }
}

/* =========================
   Interview Layout v3（デザイン寄せ）
========================= */
.itv3-wrap {
  width: 70%;
  margin: 60px auto 0;
}

.itv3-kicker {
  text-align: center;
  letter-spacing: 0.14em;
  color: #000;
  margin: 0 0 14px;
  font-weight: 800;
  font-size: 20px; /* 小さめ */
}

/* 薄い緑のベース */
.itv3-panel {
  position: relative;
  background: #fcfcfc; /* さらに薄い緑 */
  border-radius: 18px;
  padding: 26px;
  overflow: visible;

  /* うっすら枠感でデザイン性 */
  box-shadow: 0 18px 40px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.06);
}

/* TOP：写真＋プロフィール */
.itv3-top {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 14px;
}

/* 写真は飛び出し＆少し大きめ */
.itv3-photo{
  width: 320px;
  height: 320px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;

  margin-top: -40px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
}

.itv3-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%; /* 顔が切れやすいなら調整 */
  display: block;
}

/* プロフィール */
.itv3-profile {
  flex: 1;
    min-width: 0;

}

.itv3-name {
  margin: 0;
  font-weight: 900;
  color: #1B5E20;
  font-size: 24px;
  letter-spacing: .06em;
  line-height: 1.15;
}

.itv3-role {
  margin: 6px 0 0;
  font-weight: 800;
  color: #1B5E20;
  font-size: 16px; /* 小さめ */
  letter-spacing: .03em;
  line-height: 1.5;
}

.itv3-meta{
  margin: 6px 0 0;
  color: rgba(0,0,0,.82);
  font-size: 14px;          /* ←さらに一段小さく */
  letter-spacing: .02em;
  line-height: 1.6;
}

.itv3-intro{
  margin: 0 0 14px;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: .03em;
  color: #111;

  padding-left: 14px;
  border-left: 4px solid #1B5E20; /* ブランド色に合わせてOK */
}

/* Q&A 全体 */
.itv3-qa {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,0.10);
  display: grid;
  gap: 10px;
}

/* 1項目：カード */
.itv3-item {
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  padding: 12px 12px 12px 12px;
}

/* 見出し行 */
.itv3-item-h {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

/* 番号バッジ（デザイン性） */
.itv3-badge {
  width: 32px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  color: #000;
  font-weight: 900;
  font-size: 16px;
}

/* 質問 */
.itv3-q {
  margin: 0;
  color: #000;
  font-weight: 900;
  font-size: clamp(16px, 2vw, 18px); /* 小さめ */
  line-height: 1.4;
}

/* 回答 */
.itv3-a {
  margin: 0;
  color: #000;
  font-size: clamp(15px, 2vw, 17px); 
  line-height: 1.9;
}

/* スマホ */
@media screen and (max-width: 668px) {
  .itv3-wrap {
    width: 90%;
    margin-top: 44px;
  }

  .itv3-panel {
    padding: 16px;
  }

  .itv3-top {
    display: block;
  }

  .itv3-photo {
    width: 100%;
    height: 240px;
    margin-top: -10px;
    margin-bottom: 12px;
  }
}

.qa-item + .qa-item {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px dashed #d8d8d8;
}

.qa dt {
  font-weight: bold;
  margin-bottom: 8px;
  font-size: clamp(15px, 2vw, 17px);
}

.qa dd {
  margin: 0;
  color: #444;
  line-height: 1.9;
  font-size: clamp(14px, 2vw, 16px);
}

@media screen and (max-width: 1000px) {

.itv3-wrap {
    width: 90%;
}
}
/* smartphone */
@media screen and (max-width: 668px) {
  .interview {
    width: 90%;
  }

  .interview-media {
    display: block;
    padding: 18px;
  }

  .interview-photo {
    width: 100%;
    height: 220px;
    border-radius: 12px;
    margin-bottom: 14px;
  }

  .qa {
    padding: 18px;
  }
  .itv3-photo img{
    object-position: 50% 30%;
  }
  .itv-miniCard img {
        object-position: 50% 35%;

  }
}


@media screen and (max-width: 468px) {
.step {
  display: block;
  width: 90%;
}

.step-box {
  margin: 0 auto;
}
.step-label {
  font-size: 15px;
  font-weight: bold;
}

.step-number {
  font-size: 30px;
  font-weight: bold;
}
.criteria-last {
  width: 90%;
}
.caria-title {
  text-align: center;
}

}


