/* ==========================================================================
   Legal Page — 利用規約 / 個人情報の取扱いについて
   --------------------------------------------------------------------------
   LegalPageController が描画する静的な法務ページ。サイト chrome（ナビ等）は
   page.html.twig が付けるので、ここは本文ブロックのみ。番号書式は法務確定
   原稿（Word）に合わせる: 項 = 「1.」/ 号・定義・禁止事項 = 「(1)」。
   ========================================================================== */
.legal {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 24px 80px;
  color: var(--color-text-light);
}

.legal__title {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border-subtle);
  font-size: 26px;
  font-weight: 700;
  color: var(--color-text-white);
}

.legal__article {
  margin-top: 36px;
}

.legal__heading {
  margin: 0 0 12px;
  padding-left: 10px;
  border-left: 3px solid var(--color-steam-blue);
  font-size: 17px;
  font-weight: 700;
  color: var(--color-text-white);
}

.legal__text,
.legal__items li {
  font-size: 14px;
  line-height: 1.9;
}

.legal__text {
  margin: 0 0 8px;
}

.legal__link {
  color: var(--color-steam-blue);
  text-decoration: underline;
}

/* 個人情報問合せ窓口のメールアドレス。全社の個人情報保護方針ページに倣って
   テキストではなく画像で載せる（収集ボット対策）。本文の行に馴染ませたいので
   高さは em 基準で決め、幅は原寸比のままにする。 */
.legal__mail-image {
  height: 1.35em;
  width: auto;
  vertical-align: -0.3em;
}

.legal__link:hover,
.legal__link:focus {
  color: var(--color-steam-blue-bright);
}

.legal__items {
  margin: 0;
  padding-left: 1.8em;
}

.legal__items > li {
  margin: 6px 0;
}

/* 号・定義・禁止事項: 「(1)」形式（原稿の Word 番号書式に合わせる）。 */
.legal__items--paren {
  list-style: none;
  counter-reset: legal-paren;
  padding-left: 0;
}

.legal__items--paren > li {
  counter-increment: legal-paren;
  position: relative;
  padding-left: 2.6em;
}

.legal__items--paren > li::before {
  content: "(" counter(legal-paren) ")";
  position: absolute;
  left: 0.4em;
}

/* 項の中に入る号リストは少し字下げする。 */
.legal__items > li > .legal__items--paren {
  margin-top: 6px;
}

.legal__items--bullet {
  list-style: disc;
  padding-left: 1.8em;
}

@media (max-width: 768px) {
  .legal {
    padding: 24px 16px 56px;
  }

  .legal__title {
    font-size: 22px;
  }
}
