.privacy-main { padding-bottom: 70px; }
.privacy-breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px 13px; margin-block: 25px; color: var(--muted); font-size: 11px; }
.privacy-breadcrumbs a:hover { text-decoration: underline; }
.privacy-document { max-width: 860px; margin-inline: auto; padding: 42px 45px; border: 1px solid var(--line); border-radius: 5px; background: var(--white); font-size: 14px; line-height: 2; overflow-wrap: anywhere; }
.privacy-heading h1 { margin-top: 15px; font-size: clamp(24px, 3.2vw, 35px); line-height: 1.6; letter-spacing: .015em; }
.privacy-heading > p:last-of-type { margin-top: 20px; }
.privacy-document a { color: #355c3e; text-decoration: underline; text-underline-offset: 4px; }
.privacy-document a:hover { color: #637a35; }
.privacy-site-info, .privacy-dates { margin: 22px 0 0; }
.privacy-site-info div, .privacy-dates div { display: grid; grid-template-columns: 155px 1fr; gap: 12px; margin-top: 7px; }
.privacy-site-info dt, .privacy-dates dt { color: var(--muted); font-size: 12px; }
.privacy-site-info dd, .privacy-dates dd { margin: 0; }
.privacy-toc { margin-top: 30px; padding: 23px 26px; border: 1px solid var(--line); border-radius: 4px; background: #eef1e4; }
.privacy-toc h2 { font-size: 16px; }
.privacy-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 30px; padding-left: 20px; margin: 14px 0 0; font-size: 12px; line-height: 1.9; }
.privacy-toc a { display: inline-block; padding-block: 3px; }
.privacy-section { margin-top: 35px; padding-top: 31px; border-top: 1px solid var(--line); }
.privacy-section h2 { font-size: 20px; line-height: 1.7; letter-spacing: 0; }
.privacy-section h3 { margin-top: 22px; font-size: 15px; font-weight: 650; }
.privacy-section p { margin-top: 14px; }
.privacy-notice { padding: 14px 18px; border-left: 3px solid #7f965f; background: #eef2e4; }
.privacy-notice strong { display: block; }
.privacy-contact-action { margin-top: 16px; }
.privacy-contact-action a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0; }
.privacy-footer { border-top: 1px solid var(--line); }

@media (max-width: 800px) {
  .privacy-document { padding: 30px; }
  .privacy-toc ol { grid-template-columns: 1fr; gap: 7px; }
}
@media (max-width: 600px) {
  .privacy-main { padding-bottom: 40px; }
  .privacy-breadcrumbs { margin-block: 18px; font-size: 10px; }
  .privacy-document { padding: 25px 18px; }
  .privacy-heading h1 { font-size: clamp(20px, 5.7vw, 26px); }
  .privacy-site-info div, .privacy-dates div { grid-template-columns: 1fr; gap: 0; margin-top: 12px; }
  .privacy-toc { padding: 18px; }
  .privacy-section { margin-top: 28px; padding-top: 25px; }
  .privacy-section h2 { font-size: 18px; }
}
