/* ================================================
   Legal Notice Page Styles - Mobile First
   すべてCSS変数を使用
   ================================================ */

/* ================================================
   Legal Notice Section
   ================================================ */
.legal-notice-section {
  padding: var(--section-padding-mobile);
  background: var(--color-white);
}

.legal-notice-content {
  max-width: 900px;
  margin: 0 auto;
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-white);
  box-shadow: var(--shadow-card);
  border-radius: var(--border-radius-md);
  overflow: hidden;
}

.legal-table th,
.legal-table td {
  padding: var(--spacing-lg);
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}

.legal-table tr:last-child th,
.legal-table tr:last-child td {
  border-bottom: none;
}

.legal-table th {
  width: 30%;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-black-pure);
  background: var(--color-bg-light);
  vertical-align: top;
}

.legal-table td {
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  color: var(--color-text-primary);
}

.legal-table td a {
  color: var(--color-accent-01);
  text-decoration: underline;
}

.legal-table td a:hover {
  color: var(--color-primary);
}

@media (min-width: 768px) {
  .legal-notice-section {
    padding: var(--section-padding);
  }

  .legal-table th,
  .legal-table td {
    padding: var(--spacing-xl);
  }

  .legal-table th {
    font-size: var(--font-size-md);
  }

  .legal-table td {
    font-size: var(--font-size-md);
  }
}

@media (max-width: 767px) {
  .legal-table {
    display: block;
  }

  .legal-table tbody {
    display: block;
  }

  .legal-table tr {
    display: block;
    margin-bottom: var(--spacing-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius-sm);
  }

  .legal-table th,
  .legal-table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }

  .legal-table th {
    padding: var(--spacing-md);
    border-bottom: 1px solid var(--color-border);
  }

  .legal-table td {
    padding: var(--spacing-md);
  }
}
