.privacy-main .breadcrumb { font-size: var(--font-size-sm); color: var(--color-text-sub); }
.privacy-main .breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--space-3); list-style: none; margin: 0; padding: 0; }
.privacy-main .breadcrumb li { display: flex; align-items: center; gap: var(--space-3); }
.privacy-main .breadcrumb a { display: flex; align-items: center; min-height: var(--control-height); }

.privacy-article { max-width: var(--container-main); padding-block: var(--space-5) var(--space-10); }
.pr-header { max-width: var(--container-article); }
.pr-header h1 { font-size: var(--hero-font-sp); letter-spacing: -.04em; }
.pr-updated { margin-top: var(--space-3); color: var(--color-text-sub); font-size: var(--font-size-sm); }
.pr-header > p:last-child { margin-top: var(--space-4); }

.pr-section { max-width: var(--container-article); margin-top: var(--space-section-small); }
.pr-section h2 { position: relative; display: flex; gap: .35em; padding-left: var(--space-5); font-size: var(--font-size-lg); }
.pr-section h2::before { content: ''; position: absolute; inset-block: .15em; left: 0; width: 5px; border-radius: var(--radius-pill); background: var(--color-accent); }
.pr-section h2 span { flex-shrink: 0; }
.pr-section p { margin-top: var(--space-3); color: var(--color-text-sub); }
.pr-section ul:not(.pr-external-links) { margin-top: var(--space-3); padding-left: 1.4em; list-style: disc; color: var(--color-text-sub); }
.pr-section li + li { margin-top: var(--space-1); }
.pr-section li::marker { color: var(--color-accent); }

.pr-external-links { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); margin-top: var(--space-4); }
.pr-external-links li { max-width: 100%; }
.pr-external-links a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--control-height); max-width: 100%; color: var(--color-link); text-decoration: underline; text-underline-offset: var(--space-1); overflow-wrap: anywhere; }
.pr-external-icon { flex-shrink: 0; text-decoration: none; }
.pr-contact-link { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--control-height); margin-top: var(--space-2); color: var(--color-link); font-weight: var(--font-weight-bold); text-decoration: underline; text-underline-offset: var(--space-1); }

@media (min-width: 768px) {
  .privacy-article { padding-top: var(--space-7); }
  .pr-header h1 { font-size: var(--hero-font-tablet); }
  .pr-section h2 { font-size: var(--font-size-xl); }
}

@media (min-width: 1024px) {
  .privacy-article { padding-top: var(--space-8); }
  .pr-header h1 { font-size: var(--hero-font-desktop-small); }
  .pr-section { margin-top: var(--space-section); }
}

@media (min-width: 1280px) {
  .pr-header h1 { font-size: var(--hero-font-pc); }
}

