/* 編集方針（コンテンツポリシー）ページ。
   外枠・パンくず・ヒーロー・フッターは body.promov-taxonomy-overview-page の共通定義を共有する。
   本文エリアのトンマナは制作会社個別ページ（.promov-company-detail）に合わせる。
   ブログ記事のようなカード（グレー背景＋白枠＋影＋大きな角丸）は使わない。
   すべて body.promov-editorial-policy-page / .promov-editorial-policy の内側へ限定する。 */

.promov-editorial-policy,
.promov-editorial-policy * {
  box-sizing: border-box;
}

/* 制作会社個別ページと同じく、ページ全体を白背景の固定ページとして見せる。
   共通定義（promov.css）が既に白なので、ここでは打ち消しを入れないだけでよいが、
   記事ページ用の指定を引き継がないことを明示するために書いておく。 */
body.promov-editorial-policy-page,
body.promov-editorial-policy-page .promov-taxonomy-overview {
  background: #fff;
}

/* 本文エリア。カードにせず、通常の固定ページ本文として流す。
   最大幅と左右余白は共通コンテナ（.promov-taxonomy-overview__inner）に任せ、
   読み幅だけをここで抑える。 */
.promov-editorial-policy__card {
  max-width: 800px;
  margin: 0 auto 72px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.promov-editorial-policy__body > *:first-child {
  margin-top: 0;
}

.promov-editorial-policy__body > *:last-child {
  margin-bottom: 0;
}

/* ── H2 ──
   サイズ・余白・赤い縦棒は promov.css の会社紹介見出しと同じ宣言を共有する。 */

/* 文字組みは共有したまま、固定ページ本文の章間隔だけを整える。 */
body.promov-editorial-policy-page .promov-editorial-policy__body > h2 {
  margin: 48px 0 16px;
}

body.promov-editorial-policy-page .promov-editorial-policy__body > h2:first-of-type {
  margin-top: 44px;
}

body.promov-editorial-policy-page .promov-editorial-policy__body p {
  margin: 0;
}

.promov-editorial-policy__body h3 {
  margin: 36px 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--pv-border);
  color: var(--pv-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

/* 箇条書きは、囲いも背景も付けずに通常の本文と同じ流れで読ませる。 */
.promov-editorial-policy__body ul,
.promov-editorial-policy__body ol {
  margin: 0 0 24px;
  padding: 0 0 0 1.4em;
  border: 0;
  border-radius: 0;
  background: none;
  line-height: 1.8;
}

.promov-editorial-policy__body li {
  margin: 0 0 9px;
}

.promov-editorial-policy__body li:last-child {
  margin-bottom: 0;
}

/* 親テーマのリセットで消える記号を、プライバシーポリシー本文のulだけに戻す。 */
body.promov-privacy-policy-page .promov-editorial-policy__body ul,
body.promov-production-company-terms-page .promov-editorial-policy__body ul {
  padding-left: 1.4em;
  list-style-type: disc;
  list-style-position: outside;
}

body.promov-privacy-policy-page .promov-editorial-policy__body ul > li,
body.promov-production-company-terms-page .promov-editorial-policy__body ul > li {
  display: list-item;
  list-style-type: disc;
}

.promov-editorial-policy__body a {
  color: var(--pv-soft);
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}

.promov-editorial-policy__body a:hover,
.promov-editorial-policy__body a:focus-visible {
  color: var(--pv-accent);
}

.promov-editorial-policy__body strong {
  font-weight: 700;
}

.promov-editorial-policy__body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--pv-r-lg);
}

@media (max-width: 1023px) {
  .promov-editorial-policy__card {
    margin-bottom: 60px;
  }

}

@media (max-width: 767px) {
  .promov-editorial-policy__card {
    margin-bottom: 44px;
  }

  .promov-editorial-policy__body h3 {
    margin-top: 30px;
    font-size: 16.5px;
  }

  body.promov-editorial-policy-page .promov-editorial-policy__body > h2 {
    margin: 36px 0 12px;
  }

  body.promov-editorial-policy-page .promov-editorial-policy__body > h2:first-of-type {
    margin-top: 30px;
  }

  .promov-editorial-policy__body ul,
  .promov-editorial-policy__body ol {
    padding-left: 1.2em;
  }

  body.promov-privacy-policy-page .promov-editorial-policy__body ul,
  body.promov-production-company-terms-page .promov-editorial-policy__body ul {
    padding-left: 1.2em;
  }
}

/*
 * 規約系3ページ（/terms/・/privacy/・/point-terms/）の共通表示契約。
 * 既存のeditorial-policy系クラスは互換性のため残し、対象ページでは
 * promov-legal-page / promov-legal-content を正規のスコープとして使う。
 * 本文HTMLの意味構造（h2/h3/p/ol/ul/li）は変更せず、ここで同じ組版に揃える。
 */
body.promov-legal-page .promov-legal-content,
body.promov-legal-page .promov-legal-content * {
  box-sizing: border-box;
}

body.promov-legal-page .promov-editorial-policy__card {
  max-width: 800px;
  margin: 0 auto 72px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

body.promov-legal-page .promov-legal-content {
  margin: 0;
  padding: 0;
  color: var(--pv-ink);
  font-size: 14px;
  line-height: 1.95;
  overflow-wrap: anywhere;
}

body.promov-legal-page .promov-legal-content > *:first-child {
  margin-top: 0;
}

body.promov-legal-page .promov-legal-content > *:last-child {
  margin-bottom: 0;
}

body.promov-legal-page .promov-legal-content p {
  margin: 0;
  padding: 8px 0 7px;
}

body.promov-legal-page .promov-legal-content h2 {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 48px 0 16px;
  padding: 6px 0 5px;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--pv-ink);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

body.promov-legal-page .promov-legal-content h2:first-of-type {
  margin-top: 44px;
}

body.promov-legal-page .promov-legal-content h2::before {
  content: "";
  flex: 0 0 auto;
  width: 4px;
  height: 19px;
  border-radius: 2px;
  background: var(--pv-accent);
}

body.promov-legal-page .promov-legal-content h3 {
  margin: 36px 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--pv-border);
  color: var(--pv-ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

body.promov-legal-page .promov-legal-content ul,
body.promov-legal-page .promov-legal-content ol {
  margin: 0 0 24px;
  padding: 0 0 0 1.4em;
  border: 0;
  border-radius: 0;
  background: none;
  line-height: 1.8;
  list-style-position: outside;
}

body.promov-legal-page .promov-legal-content ul {
  list-style-type: disc;
}

body.promov-legal-page .promov-legal-content ol {
  list-style-type: decimal;
}

body.promov-legal-page .promov-legal-content li {
  display: list-item;
  margin: 0 0 9px;
}

body.promov-legal-page .promov-legal-content li:last-child {
  margin-bottom: 0;
}

body.promov-legal-page .promov-legal-content li > p {
  margin: 0;
  padding: 0;
}

/* 階層が変わってもmarkerの位置と項目間隔を同じ基準で保つ。 */
body.promov-legal-page .promov-legal-content ul ul,
body.promov-legal-page .promov-legal-content ul ol,
body.promov-legal-page .promov-legal-content ol ul,
body.promov-legal-page .promov-legal-content ol ol {
  margin-top: 8px;
  margin-bottom: 8px;
  padding-left: 1.4em;
}

body.promov-legal-page .promov-legal-content a {
  color: var(--pv-soft);
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}

body.promov-legal-page .promov-legal-content a:hover,
body.promov-legal-page .promov-legal-content a:focus-visible {
  color: var(--pv-accent);
}

body.promov-legal-page .promov-legal-content strong {
  font-weight: 700;
}

body.promov-legal-page .promov-legal-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--pv-r-lg);
}

@media (max-width: 767px) {
  body.promov-legal-page .promov-editorial-policy__card {
    margin-bottom: 44px;
  }

  body.promov-legal-page .promov-legal-content h2 {
    margin: 36px 0 12px;
    font-size: 17px;
  }

  body.promov-legal-page .promov-legal-content h2:first-of-type {
    margin-top: 30px;
  }

  body.promov-legal-page .promov-legal-content h3 {
    margin-top: 30px;
    font-size: 16.5px;
  }

  body.promov-legal-page .promov-legal-content ul,
  body.promov-legal-page .promov-legal-content ol {
    padding-left: 1.2em;
  }

  body.promov-legal-page .promov-legal-content ul ul,
  body.promov-legal-page .promov-legal-content ul ol,
  body.promov-legal-page .promov-legal-content ol ul,
  body.promov-legal-page .promov-legal-content ol ol {
    padding-left: 1.2em;
  }
}
