#contents p {
  margin-top: 1em;
  margin-bottom: 0.8em;
}

#contents p.intro {
  margin-top: 0;
}

/* UL: インデントと箇条（・）を強制的に表示する
   .content_wrap 以下の ul のみ対象 */
.content_wrap ul {
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin-left: 1.5em !important;
  padding-left: 0.5em !important;
}

.content_wrap ul ul {
  margin-left: 1.2em !important;
}

.content_wrap ul li {
  display: list-item !important;
}

.content_wrap ul li::marker {
  color: inherit !important;
  font-size: 1em !important;
  opacity: 1 !important;
}

@supports (list-style-type: disc) {
  .content_wrap ul li {
    list-style-type: disc !important;
  }
}

/* OL: インデントと番号（1. 2.）を強制的に表示する
   .content_wrap 以下の ol のみ対象 */
.content_wrap ol {
  list-style-type: decimal !important;
  list-style-position: outside !important;
  margin-left: 1.5em !important;
  padding-left: 0.5em !important;
}

.content_wrap ol ol {
  margin-left: 1.2em !important;
}

.content_wrap ol li {
  display: list-item !important;
}

.content_wrap ol li::marker {
  color: inherit !important;
  font-size: 1em !important;
  opacity: 1 !important;
}

@supports (list-style-type: decimal) {
  .content_wrap ol li {
    list-style-type: decimal !important;
  }
}

/* OL: 括弧付きの数字を表示するクラス
   使い方: <ol class="ol-paren"> ... </ol>
   表示例: (1) 項目1
*/
.ol-paren {
  /* 優先度を高めてネイティブマーカーを確実に消す */
  list-style: none !important;
  counter-reset: ol-paren;
  margin-left: 0;
  padding-left: 0;
}

/* .content_wrap 下で .content_wrap ol li による強制スタイルがある場合でも
   .ol-paren はネイティブマーカーを消さないと二重表示になるため、より具体的な
   セレクタで上書きする */
.content_wrap .ol-paren,
.content_wrap .ol-paren li {
  list-style: none !important;
}

.ol-paren > li {
  counter-increment: ol-paren;
  position: relative;
  padding-left: 2.2em; /* マーカー領域の確保 */
  margin-bottom: 0.5em;
}

/* ネイティブ ::marker が残るブラウザ向けに目立たなくするフォールバック */
.content_wrap .ol-paren > li::marker,
.ol-paren > li::marker {
  /* 一部ブラウザでは ::marker の display が効かないため透明化とサイズ0で隠す */
  color: transparent;
  font-size: 0;
}

.ol-paren > li::before {
  content: "(" counter(ol-paren) ")";
  position: absolute;
  left: 0;
  width: 2em;
  text-align: left;
  font-weight: 700;
  color: inherit;
}

/* ネストされた ol の場合はカウンターをリセットして階層ごとに番号を付ける */
.ol-paren ol {
  counter-reset: ol-paren;
  margin: 0;
  padding: 0 0 0 1.5em;
}

.content_wrap p.ol-paren {
  margin-left: 1.5em !important;
  padding-left: 0.5em !important;
}
