/* ===================================================================
 * privacy.css — プライバシーポリシー(block/page/privacy.php)
 *
 * ページヒーローのクリームから地を続け、目次と本文をそれぞれ最大 960px の白い箱に入れる。
 * 目次: 2列(SP 1列)。左右交互に 01 02 / 03 04 … と並ぶ。番号は CSS の連番で緑。
 * 本文: 16px(SP 15px)の読み物。項目の間は罫線で区切り、見出しの頭に緑の番号。
 * 箇条は ol(数字)・入れ子の ul(黒丸)・丸マーカーの ul.list--dot を原文の構造のまま使う。
 * 本文の段落(p)にはクラスを付けず、本文の箱の子孫として余白を決める(文言の差し替えで段落が増減しても崩れないように)。
 * =================================================================== */

/* --- 目次 --------------------------------------------------------- */

.privacy-toc {
  padding-inline: 2.5rem;
}

.privacy-toc__title {
  font-size: 1.25rem;
}

.privacy-toc__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.5rem;
  counter-reset: privacy-toc;
  font-size: 0.9375rem;
}

.privacy-toc .privacy-toc__list li {
  margin: 0;
  border-bottom: 1px dashed color-mix(in srgb, var(--project-color-text) 20%, transparent);
  counter-increment: privacy-toc;
}

.privacy-toc__list a {
  min-height: 44px;
  text-decoration: none;
}

.privacy-toc__list a::before {
  content: counter(privacy-toc, decimal-leading-zero);
  color: var(--project-color-secondary);
  font-weight: 700;
}

.privacy-toc__list a:hover {
  text-decoration: underline;
}

/* --- 本文 --------------------------------------------------------- */

.privacy-terms {
  margin-top: 2.5rem;
  padding: 2.5rem var(--space-4xl);
  font-size: var(--fs-md);
}

.privacy-terms__item + .privacy-terms__item {
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid color-mix(in srgb, var(--project-color-text) 14%, transparent);
}

.privacy-terms__title {
  scroll-margin-top: var(--space-lg); /* 目次から着いたときの上の余白(ヘッダーの高さはスクロールの JS が足す) */
  font-size: 1.25rem;
}

.privacy-terms__num {
  font-size: 1.375rem;
}

.privacy-terms p {
  margin: 0;
}

.privacy-terms p + p,
.privacy-terms__ol + p {
  margin-top: var(--space-sm);
}

.privacy-terms__ol {
  padding-left: 1.6em;
  list-style: decimal outside;
}

.privacy-terms__ol > li + li {
  margin-top: var(--space-xs);
}

.privacy-terms__sub {
  padding-left: 1.2em;
  list-style: disc;
}

.privacy-terms__note {
  margin-top: 2px;
  font-size: 0.9375rem;
}

@media (max-width: 767.98px) {

  .privacy-toc {
    padding-inline: var(--space-lg);
  }

  .privacy-toc__title {
    font-size: 1.125rem;
  }

  .privacy-toc__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-terms {
    padding: var(--space-lg);
    font-size: 0.9375rem;
  }

  .privacy-terms__title {
    font-size: 1.125rem;
  }

  .privacy-terms__num {
    font-size: 1.125rem;
  }
}
