@charset "UTF-8";
/* ==========================================================
   doc.css — 文章ページ／詳細ページ共通（新規11ページ用）
   privacy / safety-report / terms-photo / event-* / lesson-*
   規約: components.css のトークンのみ使用。影なし・絵文字なし。
   作成: 2026-09-04（D-1 担当A）
   ========================================================== */

/* ---- 戻りリンク ---- */
.doc-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  letter-spacing: 0.07em;
  color: var(--cx-blue);
  text-decoration: none;
}
.doc-back svg { width: 16px; height: 16px; }
@media (hover: hover) { .doc-back:hover { text-decoration: underline; } }

/* ---- 文章ページ本体 ---- */
.doc__intro { margin-bottom: 8px; }
.doc__sec { margin-top: 44px; }
.doc__sec:first-child { margin-top: 0; }
.doc__h2 {
  margin: 0 0 14px;
  padding-left: 13px;
  border-left: 3px solid var(--cx-blue);
  font-family: var(--cx-font-jp);
  font-size: 19px;
  line-height: 28px;
  letter-spacing: 0.09em;
  font-weight: 400;
  color: var(--cx-ink);
}
.doc__p {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.07em;
  color: var(--cx-ink);
}
.doc__p:last-child { margin-bottom: 0; }
.doc__list { margin: 0 0 12px; padding: 0; list-style: none; }
.doc__list > li {
  position: relative;
  padding-left: 2.4em;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.07em;
  color: var(--cx-ink);
}
.doc__list > li > .doc__num {
  position: absolute;
  left: 0;
  color: var(--cx-blue);
}
.doc__list--sub { margin-top: 6px; margin-left: 1.2em; }
.doc__sign { margin-top: 40px; text-align: right; }
.doc__sign p { margin: 0; font-size: 15px; line-height: 26px; letter-spacing: 0.07em; color: var(--cx-ink); }

/* ---- 情報行（大会・レッスンの要項。値が和文でも成立する型） ---- */
.doc-rows { margin: 0; border-top: 1px solid var(--cx-hair); }
.doc-rows__row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 0 24px;
  align-items: baseline;
  padding: 18px 4px;
  border-bottom: 1px solid var(--cx-hair);
}
.doc-rows__label { font-size: 15px; line-height: 26px; letter-spacing: 0.11em; color: var(--cx-blue); }
.doc-rows__value { font-size: 16px; line-height: 26px; letter-spacing: 0.07em; color: var(--cx-ink); }
.doc-rows__value.cx-tbd { color: var(--cx-gray-aa); }

/* ---- 年度カード（安全報告書） ---- */
.doc-years { gap: 28px; }
.doc-year { padding: 30px 32px 28px; }
.doc-year__label { display: block; font-family: var(--cx-font-en); font-size: 28px; line-height: 1; letter-spacing: 0.04em; color: var(--cx-blue); }
.doc-year__title { margin: 10px 0 0; font-size: 19px; line-height: 28px; letter-spacing: 0.08em; font-weight: 400; color: var(--cx-ink); }
.doc-year__note { margin: 12px 0 18px; }
.doc-year__act { margin: 0; }

/* ---- 見出し下の余白の型（apply-thanks の間） ---- */
.doc-lead { margin-bottom: 34px; }
.doc-note { margin-top: 26px; }

@media (max-width: 768px) {
  .doc__sec { margin-top: 34px; }
  .doc__h2 { font-size: 17px; line-height: 26px; padding-left: 11px; }
  .doc__p, .doc__list > li { font-size: 15px; line-height: 28px; }
  .doc__list > li { padding-left: 2.2em; }
  .doc-rows__row { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 14px 2px; }
  .doc-rows__label { font-size: 14px; line-height: 22px; }
  .doc-rows__value { font-size: 15px; line-height: 25px; }
  .doc-years { gap: 20px; }
  .doc-year { padding: 24px 22px 22px; }
  .doc-year__label { font-size: 24px; }
  .doc-year__title { font-size: 17px; line-height: 26px; }
}

/* 【2026-09-16 SP修正】電話番号がハイフンで行割れしないように */
.doc-nowrap { white-space: nowrap; }
