/* ⑤ 受講した会社・医院の声 — 他社の会社カード（js/v3-voices.js と対）。.voices-co-grid の data-count が 1 なら横長、2 なら2列 */

.voices-co { margin-top: 88px; padding-top: 56px; border-top: 1px solid var(--line); }
.voices-co-head { font-size: 24px; font-weight: 900; color: var(--ink); line-height: 1.5; margin-bottom: 32px; }
.voices-co-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); align-items: start; }

.voices-co-card { display: grid; gap: 24px; min-width: 0; }
.voices-co-video { position: relative; aspect-ratio: 16 / 9; border-radius: 24px; overflow: hidden; background: var(--ink); box-shadow: 0 28px 56px rgba(84, 46, 12, .28); }
.voices-co-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.voices-co-thumb { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; display: block; }
.voices-co-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--ease); }
.voices-co-thumb:hover img { transform: scale(1.03); }
.voices-co-thumb:focus-visible { outline: 3px solid var(--or); outline-offset: -3px; }
.voices-co-len {
  position: absolute; right: 14px; bottom: 14px; padding: 4px 10px; border-radius: 999px;
  background: rgba(26, 26, 46, .82); color: var(--white); font-family: var(--ff-en); font-weight: 800; font-size: 13px; line-height: 1.4;
}

.voices-co-body { display: grid; gap: 14px; align-content: start; min-width: 0; }
.voices-co-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14px; font-weight: 700; color: var(--sub); }
.voices-co-body h4 { font-size: 22px; font-weight: 900; color: var(--ink); line-height: 1.5; }
.voices-co-desc { font-size: 15px; line-height: 1.85; color: var(--text); }
.voices-co-q { padding: 22px 24px; border-top: 4px solid var(--or); background: var(--apr); border-radius: 0 0 16px 16px; display: grid; gap: 8px; }
.voices-co-q blockquote { text-wrap: pretty; font-size: 17px; font-weight: 700; line-height: 1.8; color: var(--ink); }
.voices-co-q figcaption { font-size: 13px; font-weight: 800; color: var(--or-t); }
.voices-co-q--sub { border-top-width: 2px; padding: 16px 20px; }
.voices-co-q--sub blockquote { font-size: 15px; font-weight: 700; }
.voices-co-more { justify-self: start; background: none; border-top: 0; border-left: 0; border-right: 0; font: inherit; font-weight: 800; font-size: 16px; cursor: pointer; padding: 0 0 2px; }

/* 1社だけ出ているときは、2列の片側が空かないよう横組みにする */
.voices-co-grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
.voices-co-grid[data-count="1"] .voices-co-card { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; }

@media (max-width: 1023px) {
  .voices-co-grid[data-count="1"] .voices-co-card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
  .voices-co { margin-top: 56px; padding-top: 40px; }
  .voices-co-head { font-size: 20px; margin-bottom: 24px; }
  .voices-co-grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .voices-co-video { border-radius: 16px; }
  .voices-co-body h4 { font-size: 19px; }
  .voices-co-q { padding: 18px 20px; }
  .voices-co-q blockquote { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .voices-co-thumb img { transition: none; }
  .voices-co-thumb:hover img { transform: none; }
}

/* 名札: 上の小さい文字は和文の「マネービタミン」（コーポレートサイトの表記 AIお届け係・2026-10-20） */
.kv3-name b { font-family: var(--f-goth, "Noto Sans JP", sans-serif); letter-spacing: .06em; font-size: 11px; }
