/* =========================================================
   Voices Section — C案（comp .voices / 卒業生の声）
========================================================= */
.voices{ background:var(--base); padding:var(--section-gap) 0; }
.voices .h-ja{ margin:10px 0 18px; }

.vc-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:30px; margin-top:clamp(40px, 6vw, 60px); }
.vc-card{
  border:1px solid var(--line);
  background:var(--base);
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.vc-photo{ margin:0; aspect-ratio:4/3; overflow:hidden; background:var(--base-2); }
.vc-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.vc-body{ padding:clamp(24px, 3vw, 30px); }
.vc-meta{ margin-bottom:14px; }
.vc-meta strong{ font-family:var(--serif); font-weight:500; font-size:15px; letter-spacing:.06em; display:block; color:var(--ink); }
.vc-meta span{ font-size:var(--ts-meta); color:var(--ink-soft); }
.vc-card p{ font-size:var(--ts-body); color:var(--ink-body); line-height:1.9; margin:0; }

.vc-cta{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-top:clamp(44px, 6vw, 64px); }
.vc-source{ margin-top:clamp(18px, 2.5vw, 24px); text-align:center; font-size:var(--ts-meta); color:var(--ink-soft); letter-spacing:.04em; }
.vc-source a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }

@media(max-width:959px){
  .vc-grid{ grid-template-columns:1fr; gap:20px; }
}
