@charset "UTF-8";
/*
Theme Name: original Child
Version: 1.0
Template: original
*/
/**
 * プライバシーポリシー用スタイル
 *
 * 概要:
 * - `page-privacypolicy.php` のマークアップ（`.pp` BEM）に対応
 * - サイト共通の変数・ブレークポイントを利用
 *
 * 主な仕様:
 * - タイトル/リード文/各セクション/定義リスト/フッターの体裁を整備
 * - 可読性重視の余白とタイポグラフィ
 *
 * 制限事項:
 * - ここではヒーロー画像等の装飾は未実装
 */
:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
}

#privacypolicy .pp {
  padding-bottom: max(20rem, 100px);
  color: #fff;
}
#privacypolicy .pp__header {
  margin-bottom: max(8rem, 50px);
}
#privacypolicy .pp__title {
  color: #fff;
  font-family: YakuHanJP, "Special Gothic Expanded One", "Noto Sans JP", sans-serif;
  font-size: max(3.2rem, 26px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.025em;
  margin-bottom: max(2rem, 12px);
}
#privacypolicy .pp__lead {
  color: #fff;
  font-size: max(1.6rem, 14px);
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.1em;
  opacity: 0.85;
}
#privacypolicy .pp__section:not(:first-of-type) {
  margin-top: max(6rem, 40px);
}
#privacypolicy .pp__heading {
  position: relative;
  color: #fff;
  font-size: max(2rem, 18px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-left: max(2rem, 10px);
  margin-bottom: max(1.5rem, 12px);
}
#privacypolicy .pp__heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5lh;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: max(0.6rem, 6px);
  height: 1lh;
  background: #F5C723;
  border-radius: 3px;
}
#privacypolicy .pp__text {
  color: #fff;
  font-size: max(1.6rem, 14px);
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.1em;
  opacity: 0.9;
}
#privacypolicy .pp__list {
  margin-left: 1.2em;
}
#privacypolicy .pp__list li {
  color: #fff;
  font-size: max(1.6rem, 14px);
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.1em;
  list-style: disc;
}
#privacypolicy .pp__list li:not(:last-child) {
  margin-bottom: max(0.5rem, 6px);
}
#privacypolicy .pp__definitions {
  margin-top: max(2rem, 12px);
}
#privacypolicy .pp__definitions .pp__definitions-row {
  display: grid;
  grid-template-columns: max(18rem, 140px) 1fr;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  -webkit-column-gap: max(3rem, 18px);
     -moz-column-gap: max(3rem, 18px);
          column-gap: max(3rem, 18px);
}
@media screen and (max-width: 768px) {
  #privacypolicy .pp__definitions .pp__definitions-row {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }
}
#privacypolicy .pp__definitions .pp__definitions-row:not(:first-of-type) {
  margin-top: max(1.6rem, 10px);
}
#privacypolicy .pp__definitions .pp__definitions-term,
#privacypolicy .pp__definitions .pp__definitions-desc {
  color: #fff;
  font-size: max(1.6rem, 14px);
  line-height: 2;
  letter-spacing: 0.1em;
}
#privacypolicy .pp__definitions .pp__definitions-term {
  font-weight: 700;
  opacity: 0.9;
}
#privacypolicy .pp__definitions .pp__definitions-desc {
  font-weight: 400;
}
#privacypolicy .pp__definitions .pp__definitions-desc a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#privacypolicy .pp__footer {
  margin-top: max(8rem, 50px);
}
#privacypolicy .pp__footer .pp__updated {
  color: rgba(255, 255, 255, 0.85);
  font-size: max(1.4rem, 12px);
  font-weight: 400;
  letter-spacing: 0.025em;
}