.policy-page { color: var(--paper); }
.policy-header { display: flex; justify-content: space-between; }
.policy-home { display: inline-flex; align-items: center; padding: 10px 18px; border: 1px solid #dae74c80; border-radius: 4px; color: var(--lime); font-size: 14px; font-weight: 650; }
.policy-home:hover { background: #dae74c12; }
.policy-main { background: #fff; color: var(--navy); padding: 72px 0 88px; }
.policy-content { width: min(880px, calc(100% - 112px)); margin-inline: auto; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.policy-content h1 { margin-bottom: 40px; font-size: clamp(30px, 3.5vw, 48px); font-weight: 650; line-height: 1.2; letter-spacing: -.035em; }
.policy-content h2 { margin: 44px 0 20px; font-size: clamp(24px, 2.3vw, 30px); line-height: 1.35; font-weight: 650; letter-spacing: -.025em; }
.policy-content h3 { margin: 28px 0 16px; font-size: 21px; line-height: 1.4; font-weight: 650; letter-spacing: -.02em; }
.policy-content p { margin: 0 0 18px; }
.policy-content a { text-decoration: underline; text-underline-offset: 4px; }
.policy-content ul, .policy-content ol { margin: 0 0 20px; padding-left: 26px; }
.policy-content li + li { margin-top: 10px; }
.policy-content table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.policy-content th, .policy-content td { padding: 12px; border: 1px solid #002f6230; vertical-align: top; text-align: left; }
.policy-table-wrap { overflow-x: auto; margin-bottom: 24px; }
.footer-policy { text-decoration: underline; text-underline-offset: 4px; }
.footer-policy:hover { color: var(--lime); }
.policy-page .footer .legal { flex-wrap: wrap; }
@media (max-width: 760px) {
  .policy-main { padding: 44px 0 56px; }
  .policy-content { width: calc(100% - 40px); font-size: 16px; line-height: 1.75; }
  .policy-content h1 { margin-bottom: 30px; }
  .policy-content h2 { margin-top: 32px; }
  .policy-home { padding: 9px 12px; font-size: 13px; }
}
@media print {
  .policy-page .header, .policy-page .footer, .policy-page .back-top { display: none; }
  .policy-main { padding: 0; }
  .policy-content { width: 100%; color: #000; font-size: 11pt; }
  .policy-content h1 { font-size: 24pt; }
  .policy-content h2, .policy-content h3 { break-after: avoid; }
  .policy-content p, .policy-content li { orphans: 3; widows: 3; }
}
