/* ============================================================
   humbulls V3 — 事例カード（トップ / 実績一覧 共通コンポーネント）
   正本はここ。v3-home.css からは 2026-07-28 に移設。
   ============================================================ */
.case-title .nb, .case-dl .nb { white-space: nowrap; }

.cases-grid { display: grid; grid-template-columns: 1fr; gap: 26px; margin-top: 44px; }
.case-card { display: flex; flex-direction: column; cursor: pointer; }
.case-card:hover .case-title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.case-photo {
  position: relative; aspect-ratio: 2 / 1; border-radius: 8px; overflow: hidden;
  background: var(--surface);
  display: flex; align-items: center; justify-content: center;
}
/* 実写差し替え時はこの img を入れるだけ（下のプレースホルダ数字を覆う）。バッジは z-index で上に残る */
.case-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.case-figure { font-size: clamp(30px, 4.4vw, 46px); font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1.4px var(--line-strong); letter-spacing: -0.01em; }
/* baigie 実測: バッジは写真の右下端にぴったり接地・写真幅の約28%・左上のみ角丸 */
.case-badge {
  position: absolute; right: 0; bottom: 0; z-index: 1;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 28%; min-height: 26%;
  background: #fff; border-radius: 8px 0 0 0;
  padding: 12px 22px;
}
.case-badge img { height: 22px; width: auto; display: block; max-width: 96px; object-fit: contain; }
.case-badge .case-mark { height: 24px; width: auto; display: block; }
.case-badge .case-word { height: 14px; width: auto; display: block; }
/* 人物写真の切り抜き位置を上寄せにする用 */
.case-photo > img.pos-top { object-position: center 18%; }
.case-badge span { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-2); white-space: nowrap; }
.case-client { margin-top: 15px; font-size: 12px; font-weight: 700; letter-spacing: 0.03em; color: var(--ink-3); }
.case-title { margin-top: 6px; font-size: 16.5px; font-weight: 800; line-height: 1.5; letter-spacing: 0.005em; }
.case-dl { margin-top: 14px; border-top: 1px solid var(--line); }
.case-dl .cm { display: grid; grid-template-columns: 46px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.case-dl dt { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; color: var(--ink-3); padding-top: 3px; }
.case-dl dd { font-size: 12.5px; font-weight: 600; color: var(--ink-2); line-height: 1.65; }
.case-note { margin-top: 12px; font-size: 11px; color: var(--ink-3); line-height: 1.7; }
@media (min-width: 640px) { .cases-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
@media (min-width: 1024px) { .cases-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- タグチップ（実績一覧用。トップでは未使用） ---------- */
.case-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.case-tag {
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--ink-2);
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  padding: 3px 8px;
  white-space: nowrap;
}
.case-tags + .case-client { margin-top: 8px; }
