/* ==========================================================================
   Section: Comparison Table
   ADVANCE v2
   ========================================================================== */

.s-comparison-table {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.s-comparison-table__table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: 0.95rem;
}

/* ---------- Header ---------- */
.s-comparison-table__table thead th {
  background: var(--color-primary);
  color: #fff;
  font-weight: var(--font-weight-heading);
  padding: 14px 16px;
  text-align: center;
  white-space: nowrap;
}

.s-comparison-table__table thead th:first-child {
  background: var(--color-secondary);
}

/* Highlight column (自社) */
.s-comparison-table__table thead th.is-highlight {
  background: var(--color-accent);
  color: var(--color-text);
}

/* ---------- Body ---------- */
.s-comparison-table__table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--color-border);
  text-align: center;
  color: var(--color-text);
  line-height: 1.5;
}

.s-comparison-table__table tbody td:first-child {
  text-align: left;
  font-weight: 600;
  background: #f9fafb;
  white-space: nowrap;
}

.s-comparison-table__table tbody td.is-highlight {
  background: rgba(37, 99, 235, 0.04);
  font-weight: 600;
}

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

/* ---------- Symbols ---------- */
.s-comparison-table__circle {
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  line-height: 28px;
  text-align: center;
  font-weight: 700;
  font-size: 0.85rem;
}

.s-comparison-table__circle--good {
  background: var(--color-primary);
  color: #fff;
}

.s-comparison-table__circle--fair {
  background: var(--color-border);
  color: var(--color-text);
}

.s-comparison-table__circle--poor {
  background: transparent;
  color: var(--color-text-light);
  border: 1px solid var(--color-border);
}

/* ---------- Scroll hint ---------- */
.s-comparison-table__scroll-hint {
  display: none;
  text-align: center;
  font-size: 0.8rem;
  color: var(--color-text-light);
  padding: 8px 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
  .s-comparison-table__scroll-hint {
    display: block;
  }

  .s-comparison-table__table {
    font-size: 0.85rem;
  }

  .s-comparison-table__table thead th,
  .s-comparison-table__table tbody td {
    padding: 10px 12px;
  }
}
