/* ブログ全体のテキストカラー調整（医院サイトに合わせる） */
.blog-content-wrapper,
.toc-blog002 {
  color: #4a3b32; /* 濃いブラウン */
  line-height: 1.8;
}

/* 目次全体のコンテナ */
.toc-blog002 {
  background-color: #fbf9f5 !important; /* 明るいベージュ背景 */
  border: 2px solid #ae937d !important; /* 医院カラーのしっかりとしたブラウン線 */
  border-radius: 8px !important;
  padding: 0 0 20px 0 !important; /* タイトルボックスがあるため上部パディングは0 */
  margin-bottom: 40px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* 「目次」のタイトルボックス（背景色を追加） */
.toc-blog002 .toc-title-box {
  background-color: #ddd5c8 !important; /* 落ち着いたベージュブラウンの背景 */
  color: #5a4333 !important; /* 濃いブラウンの文字 */
  font-weight: bold !important;
  font-size: 1.2rem !important;
  text-align: center !important;
  padding: 12px 0 !important;
  margin: 0 0 20px 0 !important;
  border-bottom: 1px solid #e2dacd !important;
  display: block !important;
}

/* 既存の干渉を打ち消すための強力な目次リストリセット */
.toc-blog002 ol, 
.toc-blog002 li {
  list-style: none !important;
  display: block !important;
  float: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* 大見出しリストの余白固定 */
.toc-blog002 ol.list-blog1 {
  margin: 0 25px 12px 25px !important;
  padding: 0 !important;
}
.toc-blog002 ol.list-blog1:last-child {
  margin-bottom: 0 !important;
}

/* 大見出し（親要素）のテキスト設定 */
.toc-blog002 li.midashi-big > a {
  font-weight: bold !important;
  font-size: 1.05rem !important;
  color: #5a4333 !important;
}

/* 子要素（中見出し）の階層構造を美しく整理 */
.toc-blog002 li.midashi-big ol {
  padding-left: 20px !important;
  margin-top: 6px !important;
  margin-bottom: 4px !important;
}

.toc-blog002 li.midashi-big ol li {
  margin-bottom: 6px !important;
  font-size: 0.95rem !important;
}
.toc-blog002 li.midashi-big ol li:last-child {
  margin-bottom: 0 !important;
}

/* 目次内の全リンク共通スタイル */
.toc-blog002 a {
  color: #7a5f4d;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease;
}

.toc-blog002 a:hover {
  color: #b39274; 
  text-decoration: underline !important;
}

/* 本文見出しのスクロール位置調整（固定ヘッダー対策） */
.blog-hight2, 
.blog-hight1 {
  scroll-margin-top: 50px; 
}

/* 大見出し (H2) 文字サイズを大きく調整 */
h2.blog-hight2 {
  font-size: 1.75rem !important; 
  color: #5a4333 !important;
  background-color: #f4eee5 !important; /* 薄いベージュの背景帯 */
  border-left: 6px solid #ae937d !important; /* 左側に少し太めのアクセント線 */
  padding: 12px 18px !important;
  margin-top: 45px !important;
  margin-bottom: 20px !important;
  font-weight: bold !important;
  line-height: 1.4 !important;
}

/* 中見出し (H3) 固有クラス */
.blog-hight1 {
  font-size: 1.2rem !important;
  color: #5a4333 !important;
  border-bottom: 2px solid #e2dacd !important; /* 下側に落ち着いたライン */
  padding-bottom: 6px !important;
  margin-top: 35px !important;
  margin-bottom: 18px !important;
  font-weight: bold !important;
}

.blog-hight1 span {
  position: relative !important;
}

/* 本文内の画像幅の最適化 */
.blog-content-wrapper img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 15px !important;
  border-radius: 4px !important;
}

/* 汎用マージンクラス */
.up-mb-20 { margin-bottom: 20px !important; }
.up-mb-30 { margin-bottom: 30px !important; }

.list-blog1 li+li {
    margin-top: 0px !important;
}
