/* 大口病院 コラム（カスタム投稿タイプ oguchi_column）専用の装飾
   WPCode のカスタムコードスニペット（種類：CSS／全ページで実行）に貼る。
   影響範囲をコラムの記事ページと一覧に限定しているので、既存のお知らせ・固定ページには影響しません。 */

.single-oguchi_column .entry-content,
.post-type-archive-oguchi_column .entry-content {
  --col-teal: #3AA8C1;
  --col-pink: #E0648A;
  --col-text: #3A3A3A;
  color: var(--col-text);
  line-height: 1.9;
}

/* 見出し */
.single-oguchi_column .entry-content h2 {
  background: #f4fbfd;
  border-left: 6px solid var(--col-teal);
  padding: .6em .8em;
  border-radius: 0 6px 6px 0;
  margin-top: 2.4em;
}
.single-oguchi_column .entry-content h3 {
  border-bottom: 2px solid var(--col-teal);
  padding-bottom: .3em;
  margin-top: 2em;
}

/* 番号付きリスト（丸数字） */
.single-oguchi_column .entry-content ol {
  counter-reset: li;
  list-style: none;
  padding-left: 0;
}
.single-oguchi_column .entry-content ol > li {
  counter-increment: li;
  position: relative;
  padding-left: 2.4em;
  margin-bottom: .7em;
}
.single-oguchi_column .entry-content ol > li::before {
  content: counter(li);
  position: absolute;
  left: 0;
  top: .15em;
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
  background: var(--col-teal);
  color: #fff;
  font-size: .85em;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 表 */
.single-oguchi_column .entry-content .wp-block-table { overflow-x: auto; }
.single-oguchi_column .entry-content table { border-collapse: collapse; width: 100%; font-size: .95em; }
.single-oguchi_column .entry-content thead th {
  background: var(--col-teal);
  color: #fff;
  font-weight: 700;
}
.single-oguchi_column .entry-content th,
.single-oguchi_column .entry-content td {
  border: 1px solid #d9e2e6;
  padding: .7em .8em;
  vertical-align: top;
}
.single-oguchi_column .entry-content tbody th { background: #f4fbfd; text-align: left; }

/* ボックス（:::box good / bad / check / caution） */
.single-oguchi_column .entry-content .box-good,
.single-oguchi_column .entry-content .box-bad,
.single-oguchi_column .entry-content .box-check,
.single-oguchi_column .entry-content .box-caution {
  border-radius: 8px;
  padding: 1.4em 1.5em 1.1em;
  margin: 1.8em 0;
  position: relative;
}
.single-oguchi_column .entry-content .box-good > *:last-child,
.single-oguchi_column .entry-content .box-bad > *:last-child,
.single-oguchi_column .entry-content .box-check > *:last-child,
.single-oguchi_column .entry-content .box-caution > *:last-child { margin-bottom: 0; }

.single-oguchi_column .entry-content .box-good::before,
.single-oguchi_column .entry-content .box-bad::before,
.single-oguchi_column .entry-content .box-check::before,
.single-oguchi_column .entry-content .box-caution::before {
  position: absolute;
  top: -.9em;
  left: 1.2em;
  font-size: .8em;
  font-weight: 700;
  color: #fff;
  padding: .25em 1em;
  border-radius: 999px;
}

.single-oguchi_column .entry-content .box-check { background: #f4fbfd; border: 2px solid var(--col-teal); }
.single-oguchi_column .entry-content .box-check::before { content: "チェック"; background: var(--col-teal); }

.single-oguchi_column .entry-content .box-good { background: #f2faf5; border: 2px solid #4aa97a; }
.single-oguchi_column .entry-content .box-good::before { content: "おすすめ"; background: #4aa97a; }

.single-oguchi_column .entry-content .box-bad { background: #fdf3f6; border: 2px solid var(--col-pink); }
.single-oguchi_column .entry-content .box-bad::before { content: "避けたい"; background: var(--col-pink); }

.single-oguchi_column .entry-content .box-caution { background: #fff8ee; border: 2px solid #e0a13d; }
.single-oguchi_column .entry-content .box-caution::before { content: "注意"; background: #e0a13d; }

.single-oguchi_column .entry-content .box-bad li::marker { color: var(--col-pink); }
.single-oguchi_column .entry-content .box-check li::marker { color: var(--col-teal); }

/* キャプションボックス（:::cap） */
.single-oguchi_column .entry-content .cap-box {
  border: 2px solid var(--col-pink);
  border-radius: 8px;
  padding: 0 1.4em 1.2em;
  margin: 2em 0;
  background: #fff;
}
.single-oguchi_column .entry-content .cap-box > p:first-child {
  background: var(--col-pink);
  color: #fff;
  font-weight: 700;
  text-align: center;
  margin: 0 -1.4em 1.2em;
  padding: .6em 1em;
  border-radius: 4px 4px 0 0;
}
.single-oguchi_column .entry-content .cap-box > p:first-child strong { color: #fff; }
.single-oguchi_column .entry-content .cap-box > *:last-child { margin-bottom: 0; }

/* 吹き出し（:::reader / :::expert） */
.single-oguchi_column .entry-content .is-style-balloon-reader,
.single-oguchi_column .entry-content .is-style-balloon-expert {
  position: relative;
  border-radius: 12px;
  padding: 1.1em 1.3em;
  margin: 1.8em 0 1.8em 1em;
}
.single-oguchi_column .entry-content .is-style-balloon-reader::after,
.single-oguchi_column .entry-content .is-style-balloon-expert::after {
  content: "";
  position: absolute;
  left: -10px;
  top: 1.4em;
  border-width: 8px 10px 8px 0;
  border-style: solid;
}
.single-oguchi_column .entry-content .is-style-balloon-reader {
  background: #f2f4f6;
  border: 1px solid #dfe4e8;
}
.single-oguchi_column .entry-content .is-style-balloon-reader::after { border-color: transparent #f2f4f6 transparent transparent; }

.single-oguchi_column .entry-content .is-style-balloon-expert {
  background: #eef8fb;
  border: 1px solid var(--col-teal);
}
.single-oguchi_column .entry-content .is-style-balloon-expert::after { border-color: transparent #eef8fb transparent transparent; }
.single-oguchi_column .entry-content .is-style-balloon-expert strong {
  display: inline-block;
  color: var(--col-teal);
  font-size: .85em;
  margin-bottom: .2em;
}
.single-oguchi_column .entry-content .is-style-balloon-reader > *:last-child,
.single-oguchi_column .entry-content .is-style-balloon-expert > *:last-child { margin-bottom: 0; }

/* 本文先頭のアイキャッチ（プラグインが出力） */
.single-oguchi_column .entry-content .oguchi-column-thumb {
  margin: 0 0 2em;
}
.single-oguchi_column .entry-content .oguchi-column-thumb__img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}
