/* =========================================================
   プライバシーポリシー専用スタイル（privacy-policy.html でのみ読み込む）
   - シンプルな「読み物」ページ。凝った演出は入れない。
   - 全体は白背景・黒文字で可読性を最優先。
     ※ Wix版で「白背景に白文字で読めない」バグがあったため、
       本文の文字色は必ず黒系（#222 前後）に固定し、白文字は使わない。
   - 色変数 --bb-red / --bb-black などは base.css で定義済みのものを使う。
     ここではこのページ専用の変数（--pp-*）だけを定義する。
   ========================================================= */

:root{
  --pp-text:  #222222;   /* 本文の基本色（白背景に対して十分なコントラスト） */
  --pp-muted: #555555;   /* 補足・署名など、やや弱めたい箇所のみ。白文字は不可 */
  --pp-rule:  #e6e6e6;   /* 区切り線・枠線 */
  --pp-panel: #faf7f7;   /* 定義リストの下地（ごく薄いグレー） */
}

/* ---------- ページ全体の土台 ---------- */
.pp-page{
  background:#ffffff;
  color:var(--pp-text);
}

/* py-lg-6 は Bootstrap に無いので補完（about-4.html と同じ使い方に合わせる） */
@media (min-width:992px){
  .py-lg-6{ padding-top:4.5rem; padding-bottom:4.5rem; }
}

/* 共通フッターの弧（base.css の .bb-footer-arc）はフッター上端の真上 140px にかぶさる。
   本文（最後の項目）が隠れないよう、弧の高さ＋余白ぶんの下パディングを確保する
   （index/about-1 の .bb-cta-band と同じ 160px の考え方）。
   ※ HTML 側の .py-5（Bootstrap ユーティリティ）が padding-bottom:3rem !important を
      当てているため、それを上書きするには !important が必要。 */
.pp-page{ padding-bottom:160px !important; }
/* モバイル（≤767.98px）は弧が 90px に縮むので下パディングも軽くする
   （弧 90px より十分に大きい 120px を確保）。 */
@media (max-width:767.98px){
  .pp-page{ padding-bottom:120px !important; }
}

/* 読みやすい行長に制限して中央寄せ */
.pp-doc{
  max-width:780px;
  margin-inline:auto;
  line-height:1.9;
  font-size:clamp(0.95rem, 0.9rem + 0.3vw, 1.0625rem);
  font-feature-settings:"palt" 1;
}

.pp-doc p{
  margin:0 0 1.25rem;
  color:var(--pp-text);
}

/* ---------- ページタイトル ---------- */
.pp-title{
  font-weight:900;
  color:var(--bb-black);
  font-size:clamp(1.6rem, 1.3rem + 1.6vw, 2.4rem);
  line-height:1.35;
  margin:0 0 1.75rem;
  padding-bottom:0.75rem;
  border-bottom:3px solid var(--bb-red);
}

/* ---------- セクション見出し（h2） ---------- */
.pp-doc h2{
  font-weight:700;
  color:var(--bb-black);
  font-size:clamp(1.15rem, 1.02rem + 0.7vw, 1.5rem);
  line-height:1.5;
  margin:2.5rem 0 1rem;
  padding-left:0.75rem;
  border-left:5px solid var(--bb-red);
}

/* ---------- 小見出し（h3） ---------- */
.pp-doc h3{
  font-weight:700;
  color:var(--bb-black);
  font-size:clamp(1.02rem, 0.95rem + 0.4vw, 1.2rem);
  line-height:1.5;
  margin:1.75rem 0 0.75rem;
}

/* ---------- 番号付きリスト ---------- */
/* 基本方針の 1〜6：番号を丸数字風に見せ、見出し(h2)と本文をぶら下げる */
.pp-list{
  list-style:none;
  counter-reset:pp-counter;
  margin:1.75rem 0;
  padding:0;
}
.pp-list > li{
  counter-increment:pp-counter;
  position:relative;
  padding-left:2.5rem;
  margin-bottom:1.75rem;
}
.pp-list > li::before{
  content:counter(pp-counter) ".";
  position:absolute;
  left:0;
  top:0;
  font-weight:700;
  color:var(--bb-red);
  font-size:1.05em;
}
/* li 直下の h2 はリスト内の項目名なので、左ボーダー等の装飾を外して素の見出しに */
.pp-list > li > h2{
  border-left:none;
  padding-left:0;
  margin:0 0 0.6rem;
  font-size:clamp(1.05rem, 0.98rem + 0.4vw, 1.25rem);
}
.pp-list > li > p:last-child{ margin-bottom:0; }

/* 利用目的・第三者提供の除外事由：シンプルな番号リスト（項目名なし） */
.pp-list--plain{
  counter-reset:pp-counter;
}
.pp-list--plain > li{
  padding-left:2.25rem;
  margin-bottom:0.6rem;
}
.pp-list--plain > li::before{
  content:counter(pp-counter) ".";
}

/* ---------- 署名ブロック（制定日・改訂日・社名など） ---------- */
.pp-signature{
  margin:2rem 0 0;
  color:var(--pp-muted);
  line-height:2;
}

/* ---------- セクション区切り ---------- */
.pp-section{
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--pp-rule);
}

/* ---------- 問い合わせ先の住所ブロック ---------- */
.pp-contact{
  line-height:2;
  padding:1rem 1.25rem;
  background:var(--pp-panel);
  border-radius:0.5rem;
}

/* ---------- 第三者提供の定義リスト（ラベル：値） ---------- */
.pp-provide-name{
  color:var(--bb-red);
  margin-top:1.5rem;
}
.pp-provide{
  margin:0 0 1.5rem;
  padding:1rem 1.25rem;
  background:var(--pp-panel);
  border:1px solid var(--pp-rule);
  border-radius:0.5rem;
  /* PC・タブレット：ラベル列 ＋ 値列の2カラム */
  display:grid;
  grid-template-columns:minmax(11rem, 14rem) 1fr;
  column-gap:1.25rem;
  row-gap:0.6rem;
}
.pp-provide dt{
  font-weight:700;
  color:var(--bb-black);
  line-height:1.7;
}
.pp-provide dd{
  margin:0;
  color:var(--pp-text);
  line-height:1.7;
}
/* dt と dd の組ごとに薄い区切り線（最初の組は除く） */
.pp-provide dt:not(:first-of-type),
.pp-provide dd:not(:first-of-type){
  padding-top:0.6rem;
  border-top:1px dashed var(--pp-rule);
}

/* スマホ：2カラムだと窮屈なので「ラベルを上・値を下」に縦積み */
@media (max-width:575.98px){
  .pp-provide{
    display:block;
  }
  .pp-provide dt{
    margin-top:0.9rem;
  }
  .pp-provide dt:first-of-type{
    margin-top:0;
  }
  .pp-provide dd{
    margin:0.15rem 0 0;
  }
  .pp-provide dt:not(:first-of-type){
    padding-top:0.9rem;
    border-top:1px dashed var(--pp-rule);
  }
  .pp-provide dd:not(:first-of-type){
    padding-top:0;
    border-top:none;
  }
}

/* ---------- 極小画面での詰め ---------- */
@media (max-width:575.98px){
  .pp-doc{ line-height:1.85; }
  .pp-doc h2{ padding-left:0.6rem; border-left-width:4px; }
  .pp-list > li{ padding-left:1.9rem; }
  .pp-list--plain > li{ padding-left:1.8rem; }
}
