/* ============================================
   s-comparison-02 — 他施術比較テーブル（ハイライト列）
   wp:table ブロックに className="s-comparison-02" を付与して使用
   ============================================ */
.s-comparison-02 {
  container-type: inline-size;
  max-width: var(--width-inner);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

:is(.s-comparison-02 *) {
  margin: 0;
}

.s-comparison-02 table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  table-layout: fixed;
}

/* --- Header row --- */
.s-comparison-02 thead th {
  padding: var(--space-lg) var(--space-xl);
  text-align: center;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-white);
  background: var(--color-gray);
  border-right: 1px solid var(--color-white);
  letter-spacing: var(--letter-spacing-wide);
}

.s-comparison-02 thead th:last-child {
  border-right: none;
}

/* 1列目 = 比較項目ヘッダー */
.s-comparison-02 thead th:first-child {
  background: var(--color-gray-dark);
  font-size: var(--font-size-xs);
}

/* ハイライト列ヘッダー（2列目 = 当施術） */
.s-comparison-02 thead th:nth-child(2) {
  background: var(--color-primary);
}

/* --- Body rows --- */
.s-comparison-02 tbody tr {
  border-bottom: 1px solid var(--color-border);
}

.s-comparison-02 tbody tr:last-child {
  border-bottom: none;
}

.s-comparison-02 tbody td {
  padding: var(--space-2-xl) var(--space-xl);
  text-align: center;
  vertical-align: middle;
  font-size: var(--font-size-md);
  color: var(--color-text);
  border-right: 1px solid var(--color-border);
}

.s-comparison-02 tbody td:last-child {
  border-right: none;
}

/* 1列目 = 比較項目名 */
.s-comparison-02 tbody td:first-child {
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  color: var(--color-text);
  background: var(--color-bg-sub);
}

/* ハイライト列（2列目）のセル */
.s-comparison-02 tbody td:nth-child(2) {
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xl);
  color: var(--color-primary);
  background: var(--color-primary-lightest);
  border-left: 1px solid var(--color-primary-light);
  border-right: 1px solid var(--color-primary-light);
}

/* --- Link row (施術内容を見る) --- */
.s-comparison-02 tbody tr:last-child td {
  padding: var(--space-xl);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-light);
  border-bottom: none;
}

.s-comparison-02 tbody tr:last-child td:nth-child(2) {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-light);
}

.s-comparison-02 tbody tr:last-child td a {
  color: var(--color-primary);
  text-decoration: none;
  font-size: var(--font-size-sm);
}

.s-comparison-02 tbody tr:last-child td a:hover {
  opacity: 0.7;
}

/* figcaption 非表示 */
.s-comparison-02 figcaption {
  display: none;
}

/* --- Responsive --- */
@container (max-width: 599px) {
  .s-comparison-02 {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .s-comparison-02 table {
    min-width: var(--layout-lg);
    font-size: var(--font-size-sm);
  }

  .s-comparison-02 thead th {
    padding: var(--space-md) var(--space-lg);
    font-size: var(--font-size-xs);
  }

  .s-comparison-02 tbody td {
    padding: var(--space-xl) var(--space-lg);
    font-size: var(--font-size-sm);
  }

  .s-comparison-02 tbody td:nth-child(2) {
    font-size: var(--font-size-lg);
  }
}
