@charset "utf-8";
/* ============================================================
   文章主体のページ（プライバシーポリシー・利用規約など）
   style.css → pages.css → plain.css の順で読み込む
   ------------------------------------------------------------
   子ども向けの装飾は最小限にする。ここは保護者と大人が読むページで、
   読みやすさと正確さが最優先。
   ============================================================ */

.plain { padding: 10px 0 60px; }
.plain__inner { max-width: 820px; margin: 0 auto; padding: 0 var(--gutter); }

.plain__head { text-align: center; margin-bottom: 34px; }
.plain__title { font-size: clamp(26px, 3.4vw, 38px); font-weight: 900; color: var(--blue); }
.plain__lead  { font-size: 13px; color: var(--ink-soft); margin-top: 8px; }
.plain__updated { font-size: 12px; color: var(--ink-soft); text-align: right; margin-bottom: 20px; }

.plain__body {
  background: var(--white); border-radius: var(--radius-lg);
  border: 2px solid var(--sky-deep);
  padding: 34px 38px;
}
.plain__body > * + * { margin-top: 18px; }

.plain__body h2 {
  font-size: 18px; font-weight: 900; color: var(--blue);
  padding-left: 12px; border-left: 5px solid var(--blue);
  margin-top: 34px; line-height: 1.4;
}
.plain__body h2:first-child { margin-top: 0; }
.plain__body h3 { font-size: 15px; font-weight: 800; margin-top: 22px; }
.plain__body p  { font-size: 14px; line-height: 2; }

.plain__body ul,
.plain__body ol { padding-left: 1.4em; font-size: 14px; line-height: 2; }
.plain__body ul { list-style: disc; }
.plain__body ol { list-style: decimal; }
.plain__body li::marker { color: var(--blue); }
.plain__body li + li { margin-top: 4px; }

.plain__body a { color: var(--blue); text-decoration: underline; }
.plain__body a:hover { text-decoration: none; }

/* 定義リスト（問い合わせ先など） */
.plain-dl {
  background: var(--sky); border-radius: var(--radius);
  padding: 18px 22px; font-size: 13px; line-height: 1.9;
}
.plain-dl dt { font-weight: 800; color: var(--blue); }
.plain-dl dd { margin: 0 0 10px; }
.plain-dl dd:last-child { margin-bottom: 0; }

/* 保護者向けの注意書き */
.plain-notice {
  background: var(--cream); border: 2px solid #f3e4b4;
  border-radius: var(--radius); padding: 18px 22px;
}
.plain-notice h2 {
  border: none; padding: 0; margin: 0 0 6px;
  font-size: 15px; color: var(--orange);
}
.plain-notice p { font-size: 13px; line-height: 1.9; }

/* 未確定箇所のマーカー。公開前に必ずゼロにすること */
.todo {
  background: #ffe8e5; color: #b3261e;
  border-radius: 4px; padding: 1px 8px;
  font-size: 12px; font-weight: 800;
}

@media (max-width: 700px) {
  .plain__body { padding: 24px 18px; }
  .plain__body h2 { font-size: 16px; }
}
