/* =============================================================
   プライバシーポリシー（privacy.html）— v3（P920・2026-09-28）
   ※ 文章は触らない（キックオフの決定。例外は 2026-09-28 承認の 3 か所だけ → Docs/06 §8）。ここは見た目だけ（pv- で始める）
   ============================================================= */

/* 左に目次（PC ではスクロールしてもついてくる）、右に本文 */
.pv-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: start;
}

.pv-toc {
  position: sticky;
  top: calc(var(--lc-header-h) + 24px);
  padding: 20px 20px 18px;
  background: var(--lc-steel-50);
  border: 1px solid var(--lc-steel-200);
  border-radius: var(--lc-radius-m);
}

.pv-toc__label {
  margin-bottom: 10px;
  font-family: var(--lc-font-en);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: var(--lc-steel-500);
}

.pv-toc ol {
  display: grid;
  gap: 2px;
}

.pv-toc a {
  display: block;
  padding: 5px 0;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--lc-steel-700);
  text-decoration: none;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}

.pv-toc a:hover {
  color: var(--lc-blue-600);
}

.pv-body {
  max-width: 760px;
}

.pv-section + .pv-section {
  margin-top: clamp(40px, 5vw, 56px);
  padding-top: clamp(40px, 5vw, 56px);
  border-top: 1px solid var(--lc-steel-200);
}

.pv-section h2 {
  font-size: clamp(1.1875rem, 2vw, 1.375rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: var(--lc-navy-800);
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}

.pv-section h3 {
  margin-top: 28px;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--lc-ink);
}

.pv-section > * + * {
  margin-top: 14px;
}

.pv-section h2 + * {
  margin-top: 16px;
}

.pv-section p,
.pv-section li {
  line-height: 2;
  color: var(--lc-steel-700);
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}

.pv-section strong {
  color: var(--lc-ink);
}

/* 箇条書き（点）と、番号つきの並び */
.pv-list,
.pv-num {
  display: grid;
  gap: 6px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--lc-steel-200);
  border-radius: var(--lc-radius-s);
}

.pv-list li {
  position: relative;
  padding-left: 18px;
}

.pv-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lc-blue-600);
}

.pv-num li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 4px;
}

.pv-num__no {
  font-family: var(--lc-font-en);
  font-weight: 600;
  color: var(--lc-blue-600);
}

.pv-section .lc-table {
  font-size: 0.9375rem;
}

.pv-section .lc-table th {
  width: 200px;
  background: var(--lc-steel-50);
}

.pv-section .lc-table td {
  color: var(--lc-steel-700);
}

.pv-lead + .pv-lead {
  margin-top: 10px;
}

@media (max-width: 1023px) {
  .pv-layout {
    grid-template-columns: 1fr;
  }

  .pv-toc {
    position: static;
  }

  .pv-toc ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
  }
}

@media (max-width: 639px) {
  .pv-toc ol {
    grid-template-columns: 1fr;
  }

  .pv-section .lc-table th {
    width: 104px;
    white-space: normal;
  }

  .pv-section .lc-table th,
  .pv-section .lc-table td {
    padding: 12px;
  }
}
