/* =========================================================
   KYO. — 汎用固定ページ（page.php）
   専用テンプレートを持たない固定ページ＝プライバシーポリシー等。
   本文は管理画面のブロックエディタで書かれるため、
   「どんなブロックが来ても読めるようにする」方針で書いている。
   ========================================================= */

/* --- ページ見出し ---------------------------------------- */
.pagehead {
  margin-top: var(--header-h);          /* ヘッダーが position:fixed のため */
  background: var(--c-cream);
  border-bottom: 1px solid var(--c-line-soft);
  padding-block: clamp(48px, 6vw, 88px);
  text-align: center;
}
.pagehead__title {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(24px, 3.4vw, 40px);
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: var(--c-ink);
}
/* 見出しの下の短い金の罫（他ページの sec-label と同じ差し色を使う） */
.pagehead__title::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: clamp(16px, 2vw, 24px) auto 0;
  background: var(--c-gold);
}

/* --- 本文 ------------------------------------------------ */
.pagebody {
  background: var(--c-paper);
  padding-block: clamp(56px, 7vw, 104px);
}
.pagebody__inner {
  max-width: 820px;                     /* 1行が長くなりすぎないように */
  margin-inline: auto;
  font-family: var(--font-sans);
  font-size: clamp(14px, 1.15vw, 16px);
  line-height: 2.1;                     /* 規約系は行間を広めにとる */
  color: var(--c-ink-soft);
}

.pagebody__inner > :first-child { margin-top: 0; }
.pagebody__inner > :last-child  { margin-bottom: 0; }

.pagebody__inner p {
  margin-block: 0 1.9em;
}

/* 「■ 見出し」から起こした小見出し（kyo_format_page_content）。
   ■ 自体はCSSの四角で描くので、PHP側でテキストからは取り除いてある。
   ※ 下の汎用 h2 ルール（.pagebody__inner h2）より詳細度を高くしておくこと。
     クラス単体だと汎用ルールに負けて、font-size と margin が効かない。 */
.pagebody__inner .pagebody__head {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--c-ink);
  margin-block: 2.6em 0.9em;
  padding: 0 0 0.55em 0.9em;
  border-bottom: 1px solid var(--c-line-soft);
  position: relative;
}
.pagebody__inner .pagebody__head:first-child { margin-top: 0; }
.pagebody__inner .pagebody__head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 8px;
  height: 8px;
  background: var(--c-gold);
}

/* --- 見出しブロックを使った場合（今後のページ用） -------- */
.pagebody__inner h2,
.pagebody__inner h3,
.pagebody__inner h4 {
  font-family: var(--font-serif);
  font-weight: 500;
  color: var(--c-ink);
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.pagebody__inner h2 {
  font-size: clamp(19px, 2.1vw, 25px);
  margin-block: 2.4em 0.9em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--c-line);
}
.pagebody__inner h3 {
  font-size: clamp(17px, 1.7vw, 20px);
  margin-block: 2.1em 0.8em;
  padding-left: 0.7em;
  border-left: 3px solid var(--c-gold);
}
.pagebody__inner h4 {
  font-size: clamp(15px, 1.4vw, 17px);
  margin-block: 1.8em 0.7em;
}

/* --- リスト ---------------------------------------------- */
.pagebody__inner ul,
.pagebody__inner ol {
  margin-block: 0 1.9em;
  padding-left: 1.4em;
}
.pagebody__inner li { margin-bottom: 0.5em; }
.pagebody__inner ul { list-style: none; padding-left: 1.1em; }
.pagebody__inner ul > li { position: relative; }
.pagebody__inner ul > li::before {
  content: "";
  position: absolute;
  left: -1.1em;
  top: 0.95em;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--c-gold);
}

/* --- リンク ---------------------------------------------- */
.pagebody__inner a {
  color: var(--c-gold-dark);
  text-underline-offset: 0.22em;
  text-decoration-thickness: 1px;
}
.pagebody__inner a:hover { color: var(--c-ink); }

/* --- 表 -------------------------------------------------- */
.pagebody__inner table {
  width: 100%;
  border-collapse: collapse;
  margin-block: 0 1.9em;
  font-size: 0.95em;
}
.pagebody__inner th,
.pagebody__inner td {
  padding: 0.9em 1em;
  border: 1px solid var(--c-line);
  text-align: left;
  vertical-align: top;
}
.pagebody__inner th {
  background: var(--c-cream);
  color: var(--c-ink);
  font-weight: 500;
  white-space: nowrap;
}

/* --- 引用・区切り ---------------------------------------- */
.pagebody__inner blockquote {
  margin: 0 0 1.9em;
  padding: 0.2em 0 0.2em 1.2em;
  border-left: 3px solid var(--c-line);
  color: var(--c-ink-mute);
}
.pagebody__inner hr {
  border: 0;
  border-top: 1px solid var(--c-line-soft);
  margin-block: 2.6em;
}

.pagebody__inner img { max-width: 100%; height: auto; }

/* --- スマホ ---------------------------------------------- */
@media (max-width: 600px) {
  .pagehead        { padding-block: 40px; }
  .pagehead__title { font-size: 20px; letter-spacing: 0.04em; }
  .pagebody        { padding-block: 44px; }
  .pagebody__inner { font-size: 14px; line-height: 2.0; }
  .pagebody__inner p { margin-bottom: 1.7em; }
  .pagebody__inner .pagebody__head { font-size: 17px; margin-block: 2.2em 0.8em; }
  .pagebody__inner th { white-space: normal; }
}
