/* ==========================================================================
   静的ページ共通（利用規約・プライバシーポリシー・お問い合わせ・お知らせ）
   色は 文字色 / 薄いグレー / アクセント（サイト共通のオレンジ）の3系統のみ
   ========================================================================== */
:root {
  --sp-text: #333333;
  --sp-muted: #666666;
  --sp-line: #dddddd;
  --sp-bg: #f7f7f7;
  --sp-accent: #e94709;
}

.static-page {
  max-width: 820px;
  margin: 0 auto !important; /* custom.css の .article { margin: 0 !important } を上書きして中央寄せ */
  padding: 48px 0 80px;
  color: var(--sp-text);
  font-size: 16px;
  line-height: 1.9;
}

/* 子テーマが固定ページの見出しを隠しているので表示に戻す */
.static-page .entry-header {
  display: block;
}
.static-page .entry-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 32px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--sp-text);
}

.static-page .lead {
  margin: 0 0 32px;
}

/* 条・セクション */
.static-page .clause {
  margin: 0 0 40px;
  scroll-margin-top: 24px;
}
.static-page .clause h2 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 16px;
  padding: 0 0 0 12px;
  border-left: 4px solid var(--sp-accent);
}
.static-page .clause h3 {
  font-size: 16px;
  font-weight: 700;
  margin: 24px 0 8px;
}
.static-page .subsection {
  margin-top: 32px;
  scroll-margin-top: 24px;
}
.static-page .clause p,
.static-page .subsection p {
  margin: 0 0 12px;
}
.static-page .clause p:last-child {
  margin-bottom: 0;
}

/* 番号付きリスト（原文の番号をそのまま表示） */
.static-page ol.num {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}
.static-page ol.num ol.num {
  margin: 8px 0 4px;
}
.static-page ol.num > li {
  display: flex;
  align-items: flex-start;
  margin: 0 0 8px;
}
.static-page ol.num > li > .n {
  flex: 0 0 auto;
  min-width: 2.2em;
  padding-right: 0.4em;
  white-space: nowrap;
}
.static-page ol.num > li > .t {
  flex: 1 1 auto;
  min-width: 0;
}
.static-page ol.num > li > .t > p {
  margin: 4px 0 0;
}

/* 箇条書き・注記 */
.static-page ul.disc {
  margin: 0 0 12px;
  padding-left: 1.4em;
}
.static-page ul.disc li {
  margin: 0 0 4px;
}
.static-page p.bullet {
  padding-left: 1em;
  margin-bottom: 4px;
}
.static-page p.note,
.static-page .small {
  font-size: 12px;
  color: var(--sp-muted);
}
.static-page p.indent {
  padding-left: 1em;
  margin-bottom: 4px;
}
.static-page p.right {
  text-align: right;
  margin-bottom: 4px;
}

/* 窓口・連絡先ボックス */
.static-page .contact-box {
  margin: 12px 0 16px;
  padding: 16px 20px;
  border: 1px solid var(--sp-line);
  border-radius: 4px;
  background: #fff;
}
.static-page .contact-box p {
  margin: 0 0 4px;
}
.static-page .contact-box p:last-child {
  margin-bottom: 0;
}

.static-page .contact-dl {
  margin: 0 0 16px;
  padding: 0;
  border-top: 1px solid var(--sp-line);
}
.static-page .contact-dl dt,
.static-page .contact-dl dd {
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--sp-line);
}
.static-page .contact-dl dt {
  font-weight: 700;
  border-bottom: 0;
  padding-bottom: 0;
}
.static-page .contact-dl dd {
  padding-top: 4px;
}
@media (min-width: 640px) {
  .static-page .contact-dl {
    display: grid;
    grid-template-columns: 13em 1fr;
  }
  .static-page .contact-dl dt {
    border-bottom: 1px solid var(--sp-line);
    padding-bottom: 16px;
  }
  .static-page .contact-dl dd {
    padding-top: 16px;
  }
}
.static-page a.mail {
  font-size: 20px;
  font-weight: 700;
  color: var(--sp-accent);
  word-break: break-all;
}
.static-page a.mail:hover {
  text-decoration: underline;
}

/* お知らせ記事の日付 */
.static-page .news-date {
  margin: -16px 0 32px;
  font-size: 12px;
  color: var(--sp-muted);
}

/* 制定・改定日 */
.static-page .revision {
  margin: 48px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--sp-line);
  font-size: 12px;
  color: var(--sp-muted);
  text-align: right;
}

/* リンク色 */
.static-page .entry-content a {
  color: var(--sp-accent);
}

/* スマホ */
@media (max-width: 640px) {
  .static-page {
    padding: 32px 0 64px;
    font-size: 16px;
    line-height: 1.8;
  }
  .static-page .entry-title {
    font-size: 20px;
    margin-bottom: 24px;
  }

  .static-page .clause h2 {
    font-size: 16px;
  }
  .static-page a.mail {
    font-size: 16px;
  }
}

/* SP だけ改行する <br> */
.sp-br {
  display: none;
}
@media (max-width: 640px) {
  .sp-br {
    display: inline;
  }
  /* テーマが SP で見出しに左右 padding を付けるのを打ち消す */
  .static-page .entry-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
