@charset "UTF-8";

/* =========================================================
   プライバシーポリシーページ専用スタイル
   ../styles.css の後に読み込む。既存のトークン
   （--c-brown / --c-body / --c-accent など）をそのまま使用し、
   このページでしか使わないクラスだけを定義する。
   → 共有の styles.css には一切手を加えていない。
   ========================================================= */

.pp {
  width: 79.426%;                    /* 332 / 418 ＝ 既存セクションと同じ左右余白 */
  padding: 100px 0 8px;              /* 上は固定ヘッダー（64px）分を確保 */
  color: var(--c-body);
}

/* ---------- 見出し部 ---------- */
.pp__head {
  padding-bottom: 8px;
}

.pp__title {
  font-size: clamp(20.5px, 5.74vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.26px;
  text-align: center;
  color: var(--c-brown);
}

.pp__lead {
  margin-top: 28px;
  font-size: clamp(14px, 3.59vw, 15px);
  line-height: 1.95;
}

/* ---------- 章 ---------- */
.pp__chapter {
  margin-top: 46px;
}

.pp__chapter-title {
  padding-bottom: 10px;              /* 区切り線は使わず、余白だけで区切る */
  font-size: clamp(15.5px, 4.2vw, 17.5px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 1px;
  color: var(--c-brown);
}

/* 章の直下に置く段落（第5章など、番号なしの本文） */
.pp__body {
  margin-top: 20px;
  font-size: clamp(14px, 3.59vw, 15px);
  line-height: 1.95;
}

/* ---------- 1. 2. 3. の番号付きリスト ---------- */
.pp-list {
  counter-reset: ppitem;
  margin-top: 20px;
}

.pp-list > li {
  counter-increment: ppitem;
  position: relative;
  padding-left: 1.9em;               /* ぶら下げインデント */
  font-size: clamp(14px, 3.59vw, 15px);
  line-height: 1.95;
}

.pp-list > li + li {
  margin-top: 18px;
}

.pp-list > li::before {
  content: counter(ppitem) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: var(--c-accent);
}

/* 番号付き項目の小見出し（例：個人情報の定義） */
.pp-item__title {
  font-size: clamp(14.5px, 3.83vw, 16px);
  font-weight: 700;
  line-height: 1.95;
  color: var(--c-brown);
}

.pp-item__title + p {
  margin-top: 2px;
}

/* ---------- (1)(2)(3) の入れ子リスト ---------- */
.pp-sublist {
  counter-reset: ppsub;
  margin-top: 10px;
}

.pp-sublist > li {
  counter-increment: ppsub;
  position: relative;
  padding-left: 2.7em;
  line-height: 1.95;
}

.pp-sublist > li + li {
  margin-top: 4px;
}

.pp-sublist > li::before {
  content: "(" counter(ppsub) ")";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--c-accent);
}

/* ---------- 制定日 ---------- */
.pp__date {
  margin-top: 52px;
  text-align: right;
  font-size: 12px;
  line-height: 1.8;
  color: var(--c-muted);
}

/* ---------- 本文中のリンク ---------- */
.pp a {
  color: var(--c-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  word-break: break-all;             /* 長いURLでも枠からはみ出さない */
}

.pp a:hover {
  opacity: 0.75;
}

/* ---------- 狭い端末 ---------- */
@media (max-width: 360px) {
  .pp { padding-top: 92px; }
  .pp-list > li { padding-left: 1.7em; }
  .pp-sublist > li { padding-left: 2.5em; }
}
