/* ==========================================================================
   プライバシーポリシー — design/Privacy.dc.html
   長文ページ。本文は 18px / line-height 2 前後（他ページより大きい）。
   3つのタブで切り替える。
   ========================================================================== */

.pv {
  background: #fff;
  padding: clamp(48px, 10vw, 120px) clamp(20px, 8vw, 100px);
}
.pv__inner { max-width: 1100px; }

/* --- タブ --------------------------------------------------------------- */
.pv-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 48px;
  border-bottom: 1px solid var(--line-navy);
  margin-bottom: 64px;
}
.pv-tab {
  appearance: none;
  border: none;
  background: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  color: var(--c-muted);
  padding: 0 0 18px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  white-space: nowrap;
}
.pv-tab[aria-selected="true"] { color: var(--c-navy); border-bottom-color: var(--c-red); }

/* --- 本文 --------------------------------------------------------------- */
.pv-h2 {
  font-family: var(--f-head);
  font-size: 24px;
  font-weight: 900;
  color: var(--c-navy);
  margin: 0 0 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(16, 28, 76, .1);
}
.pv-h3 {
  font-family: var(--f-body);
  font-size: 19px;
  font-weight: 700;
  color: var(--c-navy);
  margin: 36px 0 14px;
}

.pv-p     { font-size: 18px; line-height: 2; color: var(--c-text); margin: 0 0 16px; }
.pv-p--b  { font-weight: 700; }
.pv-lh21  { line-height: 2.1; }
.pv-note  { font-size: 15px; line-height: 1.9; color: var(--c-muted); margin: 0; }

.pv-text16 { font-size: 16px; line-height: 2; color: var(--c-text); }
.pv-text18 { font-size: 18px; line-height: 2; color: var(--c-text); }

/* 下余白のバリエーション（design の実値をそのまま写す） */
.pv-mb8  { margin-bottom: 8px; }
.pv-mb12 { margin-bottom: 12px; }
.pv-mb20 { margin-bottom: 20px; }
.pv-mb24 { margin-bottom: 24px; }
.pv-mb36 { margin-bottom: 36px; }
.pv-mb40 { margin-bottom: 40px; }
.pv-mb48 { margin-bottom: 48px; }

/* 定義行 */
.pv-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
  padding: 20px 0;
  border-top: 1px solid rgba(16, 28, 76, .1);
  font-size: 16px;
  line-height: 1.9;
  color: var(--c-text);
}
.pv-row--last { border-bottom: 1px solid rgba(16, 28, 76, .1); }
.pv-row__label { flex: 1 1 260px; font-weight: 700; color: var(--c-navy); font-size: 16px; }

/* 番号付きの行 */
.pv-num { display: flex; gap: 14px; font-size: 18px; line-height: 1.9; color: var(--c-text); }
.pv-num--wide { gap: 16px; line-height: 1.95; }
.pv-num__i { flex: 0 0 20px; color: var(--c-navy); font-weight: 700; }
.pv-num__i--wide { flex-basis: 26px; }

/* 箇条のまとまり */
.pv-list { display: flex; flex-direction: column; gap: 10px; font-size: 18px; line-height: 1.9; color: var(--c-text); }
.pv-list--sm { font-size: 16px; }
.pv-stack { display: flex; flex-direction: column; }
.pv-stack--12 { gap: 12px; }
.pv-stack--22 { gap: 22px; }

/* 囲み（お問い合わせ窓口） */
.pv-box { background: var(--bg-section); padding: 32px 36px; }
.pv-box__title { font-size: 16px; font-weight: 700; color: var(--c-navy); margin-bottom: 12px; }

.pv-date { text-align: right; font-size: 14px; color: var(--c-text); }

.pv-link-inline { color: var(--c-navy); font-weight: 700; text-decoration: underline; }

@media (max-width: 768px) {
  .pv-tabs { flex-wrap: wrap; gap: 8px 20px; }
}
