
.v-casting.v-privacy { -webkit-touch-callout: default; -webkit-user-select: text; user-select: text; }

.privacy { padding: clamp(40px, 7vw, 88px) var(--gutter) clamp(64px, 9vw, 120px); }
.privacy__doc { max-width: 760px; margin: 0 auto; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }

.privacy__title { margin: 0 0 28px; font-size: clamp(22px, 2.6vw, 30px); font-weight: 700; letter-spacing: .02em; line-height: 1.45; }
.privacy__doc h2 {
  margin: 48px 0 12px; padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: 17px; font-weight: 700;
  scroll-margin-top: calc(var(--header-h) + 16px);
}
.privacy__doc p { margin: 0 0 8px; }
.privacy__doc ul, .privacy__doc ol { margin: 0 0 12px; padding-left: 1.3em; }
.privacy__doc li { margin: 2px 0; }
.privacy__doc strong { font-weight: 700; }

.privacy__table { margin: 12px 0 16px; overflow-x: auto; }
.privacy__doc table { width: 100%; border-collapse: collapse; font-size: 14px; }
.privacy__doc th, .privacy__doc td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.privacy__doc thead th { background: var(--bg-2); font-weight: 700; }
.privacy__doc tbody th { width: 28%; min-width: 96px; font-weight: 600; color: var(--muted); }

.privacy__back { max-width: 760px; margin: 0 auto 28px; font-size: 14px; letter-spacing: .02em; }
.privacy__back--end { margin: 48px auto 0; }
.privacy__back a { display: inline-block; padding: 8px 0; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.v-casting .cast-pop--policy { -webkit-touch-callout: default; -webkit-user-select: text; user-select: text; }
.cast-pop--policy {
  width: min(720px, calc(100vw - 24px));
  --line: #e6e2db; --bg-2: #efece6; --muted: #5c5853;
}
.cast-pop--policy .privacy__doc { max-width: none; font-size: 14px; line-height: 1.75; }
.cast-pop--policy .privacy__title { margin: 4px 0 16px; font-size: 17px; }
.cast-pop--policy .privacy__doc h2 { margin: 28px 0 8px; padding-top: 16px; font-size: 15px; }
.cast-pop--policy .privacy__doc p { color: #2f2d2a; font-size: 14px; }
.cast-pop--policy .privacy__doc table { font-size: 13px; }
.cast-pop--policy .privacy__doc th, .cast-pop--policy .privacy__doc td { padding: 8px 10px; }
.cast-pop--policy a:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
@media (max-width: 600px) {
  .cast-pop--policy .legal__body { padding: 12px 16px 20px; }
  .cast-pop--policy .privacy__doc tbody th { min-width: 72px; }
  .cast-pop--policy .privacy__doc th, .cast-pop--policy .privacy__doc td { padding: 7px 8px; }
}
