/* ============================================================
   Policy Pages
   ============================================================ */
.policy-section {
  padding-block: clamp(3rem, 8vw, 5rem);
}

.policy-container {
  max-width: 800px;
}

.policy-updated {
  font-size: 0.82rem;
  color: #aaa;
  margin-bottom: 2rem;
  font-family: var(--font-en);
}

.policy-container h2 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0a0a0a;
  margin: 2.5rem 0 0.75rem;
  padding-left: 0.75rem;
  border-left: 3px solid #f97316;
}

.policy-container p {
  font-size: 0.93rem;
  color: #444;
  line-height: 1.85;
  margin-bottom: 1em;
}

.policy-container ul {
  list-style: none;
  padding: 0;
  margin-bottom: 1em;
}

.policy-container ul li {
  font-size: 0.9rem;
  color: #555;
  padding: 0.3rem 0 0.3rem 1.25rem;
  position: relative;
}

.policy-container ul li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: #f97316;
  font-size: 0.75rem;
}

.policy-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0 1.5rem;
  font-size: 0.9rem;
}

.policy-table th,
.policy-table td {
  padding: 0.75rem 1rem;
  border: 1px solid #e8e8e8;
  text-align: left;
}

.policy-table th {
  background: #f9f9f9;
  font-weight: 700;
  color: #333;
  width: 140px;
}

.policy-table td {
  color: #555;
}

.policy-table--tokusho th { width: 35%; }
