@charset "UTF-8";

/**
 * プライバシーポリシー本文のスタイル
 *
 * メインの style.css はビルド済みのため、そこへ追記すると再ビルドで消える。
 * このファイルだけを privacy ページで追加読み込みし、独立して保守できるようにする。
 *
 * 本文は固定ページ側の素の HTML なので、`body.privacy`（func-core.php の
 * `my_body_class()` が付与）でスコープしたうえで要素セレクタで整える。
 * 利用規約など同種のページを追加する場合は、func-enqueue.php の読み込み条件と
 * ここのスコープを合わせて広げる。
 *
 * @package nikoshoun
 */

.privacy .bl_pageSec_body {
  font-size: var(--fs_md, 1rem);
  line-height: 1.9;
}

/* 縦リズムは隣接セレクタで作り、末尾要素に余分な余白を残さない */
.privacy .bl_pageSec_body > * + * {
  margin-top: 1.5rem;
}

.privacy .bl_pageSec_body > * + h2 {
  margin-top: 3rem;
}

.privacy .bl_pageSec_body > h2 + * {
  margin-top: 1rem;
}

/* --------------------------------
 * 条見出し
 * `bl_heading_lv2` と同じ2色バーの意匠を、本文内の階層に合うサイズで踏襲する。
 * -------------------------------- */
.privacy .bl_pageSec_body h2 {
  font-size: var(--fs_2l, 1.25rem);
  font-weight: var(--fw_bold, 700);
  line-height: 1.5;
  padding-left: .8em;
  position: relative;
}

.privacy .bl_pageSec_body h2::before {
  content: "";
  width: .2em;
  height: 1.1em;
  position: absolute;
  top: calc((1.5em - 1.1em) / 2);
  left: 0;
  background: linear-gradient(to bottom, var(--c_blue, #006ccb) 0, var(--c_blue, #006ccb) .39em, #1b2870 .39em, #1b2870 100%);
}

/* --------------------------------
 * 箇条書き
 * リセットで `ol, ul, li { list-style: none }` と padding 0 が当たっているため、
 * 条番号を読ませる必要がある本文内だけマーカーとインデントを戻す。
 * -------------------------------- */
.privacy .bl_pageSec_body ol,
.privacy .bl_pageSec_body ul {
  padding-left: 1.75em;
}

.privacy .bl_pageSec_body ol {
  list-style: decimal;
}

.privacy .bl_pageSec_body ul {
  list-style: disc;
}

/* 第5条 4. の a〜e（HTML の type 属性もリセットに潰されるため明示する） */
.privacy .bl_pageSec_body ol[type="a"] {
  list-style: lower-alpha;
}

.privacy .bl_pageSec_body li {
  list-style: inherit;
}

.privacy .bl_pageSec_body li::marker {
  color: var(--c_gray, #75757c);
}

.privacy .bl_pageSec_body li + li {
  margin-top: .75rem;
}

/* 入れ子リスト（第5条 4. の a〜e） */
.privacy .bl_pageSec_body li > ol {
  margin-top: .75rem;
}

/* --------------------------------
 * お問い合わせ窓口
 * -------------------------------- */
.privacy .bl_pageSec_body dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem 1.5rem;
  padding: 1.5rem;
  border-radius: 4px;
  background-color: var(--c_veryLightBlue, #edf8ff);
}

.privacy .bl_pageSec_body dt {
  font-weight: var(--fw_bold, 700);
}

/* --------------------------------
 * 本文中のリンク
 * 全体で `a { text-decoration: none }` を当てているため、本文内だけ戻す。
 * -------------------------------- */
.privacy .bl_pageSec_body a {
  color: var(--c_blue, #006ccb);
  text-decoration: underline;
}

.privacy .bl_pageSec_body a:hover,
.privacy .bl_pageSec_body a:focus-visible {
  text-decoration: none;
}

/* 文末の「以上」 */
.privacy .bl_pageSec_body > p:last-child {
  text-align: right;
}

@media only screen and (width <= 830px) {
  .privacy .bl_pageSec_body {
    line-height: 1.8;
  }

  .privacy .bl_pageSec_body > * + * {
    margin-top: 1.25rem;
  }

  .privacy .bl_pageSec_body > * + h2 {
    margin-top: 2.5rem;
  }

  .privacy .bl_pageSec_body h2 {
    font-size: var(--fs_xl, 1.125rem);
  }
}

@media only screen and (width <= 520px) {
  .privacy .bl_pageSec_body {
    font-size: var(--fs_sm, .9375rem);
  }

  .privacy .bl_pageSec_body ol,
  .privacy .bl_pageSec_body ul {
    padding-left: 1.5em;
  }

  .privacy .bl_pageSec_body dl {
    grid-template-columns: 1fr;
    gap: .25rem;
    padding: 1.25rem;
  }

  .privacy .bl_pageSec_body dd + dt {
    margin-top: .75rem;
  }
}
