@charset "UTF-8";
/* ==========================================================================
   CBC 出展規約 ページ
   - 英字タイトル: Akshar / 本文: Zen Kaku Gothic New（ともにGoogle Fonts）
   - 既存 common.css との衝突を避けるため、原則 #pageTerms 配下にスコープ
   - ヘッダー／フッター／モバイルドロワーは sctl / faq ページと共通の設計
   - 本文（規約条文）は「グレー見出しバー＋番号リスト」で構成（access のセク
     ション見出しバーと同トーン）
   ========================================================================== */

#pageTerms {
  --cbc-ink: #333333;
  --cbc-ink-2: #4a4a4a;
  --cbc-muted: #9a9a9a;
  --cbc-line: #e2e2e2;
  --cbc-bg: #ffffff;
  --cbc-bg-soft: #f4f3f1;
  --cbc-yellow: #f5cf3d;
  --cbc-yellow-soft: #fbe79f;
  --cbc-teal: #56b0ac;
  --cbc-pink: #e88b8b;
  --cbc-pink-soft: #f6d3d3;
  --cbc-bar: #736f6b;
  --cbc-link: #3f9c98;
  --cbc-footer: #3d3b39;

  margin: 0;
  padding: 0;
  color: var(--cbc-ink);
  background: var(--cbc-bg);
  font-family: 'Zen Kaku Gothic New', -apple-system, 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

#pageTerms *,
#pageTerms *::before,
#pageTerms *::after {
  box-sizing: border-box;
}

#pageTerms a {
  text-decoration: none;
}

/* ============ BODY / 規約本文 ============ */
.termsBody {
  background: var(--cbc-bg-soft);
  padding: 8px 32px 84px;
}
.termsBodyInner {
  max-width: 940px;
  margin: 0 auto;
}
.termsDocTitle {
  text-align: center;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--cbc-ink);
  margin: 40px 0 8px;
}

/* 条見出し（グレーバー） */
.termsSection {
  margin-top: 44px;
}
.termsBar {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0 0 22px;
  padding: 12px 22px;
  background: var(--cbc-bar);
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  border: 0;
}

/* 条の前書き・後書き（リスト外の段落） */
.termsLead {
  color: var(--cbc-ink);
  margin: 0 0 16px;
}
.termsNote {
  color: var(--cbc-ink);
  margin: 18px 0 0;
}
.termsPlain {
  color: var(--cbc-ink);
  margin: 0;
}

/* 番号リスト（1. 2. 3. …） */
.termsList {
  margin: 0;
  padding-left: 2.4rem;
  list-style: decimal;
}
.termsList > li {
  margin-bottom: 14px;
  padding-left: 6px;
  color: var(--cbc-ink);
  line-height: 1.9;
}
.termsList > li:last-child {
  margin-bottom: 0;
}

/* 号リスト（①② / ⑴⑵ など。マーカーは本文に含み、ぶら下げ整形） */
.termsSubList {
  list-style: none;
  margin: 12px 0 4px;
  padding-left: 1.2em;
}
.termsSubList li {
  padding-left: 1.7em;
  text-indent: -1.7em;
  margin-bottom: 8px;
  line-height: 1.85;
  color: var(--cbc-ink);
}
.termsSubList li:last-child {
  margin-bottom: 0;
}

/* 第10条 禁止事項のグループ見出し（１．出展資格… 等） */
.termsGroup {
  margin-top: 18px;
}
.termsGroup:first-of-type {
  margin-top: 4px;
}
.termsGroupHead {
  font-weight: 700;
  color: var(--cbc-ink);
  margin: 0;
}

/* 末尾「以上」 */
.termsClosing {
  text-align: right;
  color: var(--cbc-ink);
  margin: 40px 0 0;
}

/* 本文中リンク */
.termsLink {
  color: var(--cbc-link);
  border-bottom: 1px solid #9dd0cd;
  transition: opacity .2s;
}
.termsLink:hover {
  opacity: .75;
}

/* ============ レスポンシブ（〜767px） ============ */
@media screen and (max-width: 767px) {
  #pageTerms {
    font-size: 1.4rem;
  }

  .termsBody {
    padding: 4px 16px 52px;
  }
  .termsDocTitle {
    font-size: 1.6rem;
    margin: 28px 0 6px;
  }
  .termsSection {
    margin-top: 36px;
  }
  .termsBar {
    padding: 11px 16px;
    font-size: 1.6rem;
  }
  .termsList {
    padding-left: 2rem;
  }
  .termsList > li {
    line-height: 1.85;
  }
}

