@charset "utf-8";



/* ==========================================================================
グーグルマップ
========================================================================== */
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
padding-left: 15px;
padding-right: 15px;
}

/* ==========================================================================
曼荼羅ページ
========================================================================== */


/* --- 目次 (.table-of-contents) 基本スタイル --- */
.table-of-contents {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 25px 15px; /* 下のpaddingを少し増やす */
    margin-bottom: 2em;
    box-sizing: border-box; /* paddingを含めて高さを計算 */
}

/* --- 目次タイトル --- */
.table-of-contents h1 {
    text-align: center;
    border-bottom: 3px solid #4a4a4a;
    margin-top: 0.5em;
    margin-bottom: 0.8em; /* スクロール領域との間に少しマージン */
    padding-bottom: 5px;
}

/* --- スクロール領域のラッパー --- */
.toc-scroll-wrapper {
    max-height: 16em; /* 約10行分の高さ (1行の高さを1.6emと仮定) */
    overflow-y: auto; /* 縦方向のスクロールを自動で表示 */
    padding-right: 10px; /* スクロールバーのためのスペース */
    box-sizing: border-box;
}

/* --- 目次リスト --- */
.table-of-contents ul {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0; /* スクロールコンテナ内の上マージンをリセット */
    margin-bottom: 0; /* スクロールコンテナ内の下マージンをリセット */
}

/* 目次の第1階層 */
.table-of-contents > .toc-scroll-wrapper > ul > li {
    font-weight: bold;
    margin-top: 0.7em;
}
/* 最初のliの上マージンをなくす */
.table-of-contents > .toc-scroll-wrapper > ul > li:first-child {
    margin-top: 0;
}


/* 目次の第2階層 */
.table-of-contents ul ul {
    list-style-type: disc;
    padding-left: 25px; /* インデント */
    font-weight: normal;
    margin-top: 0.3em;
}

.table-of-contents ul ul li {
    margin-top: 0.2em;
}

/* --- リンクスタイル --- */
.table-of-contents a {
    color: #007bff;
    text-decoration: none;
    display: block; /* リンク領域を広げる */
}

.table-of-contents a:hover {
    text-decoration: underline;
}

/* --- スクロールバーのスタイル (オプション: Webkit系ブラウザ) --- */
.toc-scroll-wrapper::-webkit-scrollbar {
    width: 8px; /* スクロールバーの幅 */
}

.toc-scroll-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1; /* トラックの背景色 */
    border-radius: 10px;
}

.toc-scroll-wrapper::-webkit-scrollbar-thumb {
    background: #ccc; /* スクロールバーの色 */
    border-radius: 10px;
}

.toc-scroll-wrapper::-webkit-scrollbar-thumb:hover {
    background: #aaa; /* ホバー時の色 */
}

/* --- 本文 (.mandara-content-block) --- */

/* 本文内の各セクション */
.mandara-content-block {
    margin-bottom: 2em;
}

/* 本文内の見出し */
.mandara-content-block h2 {
    position: relative;
    outline: unset;
    outline-offset: unset;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    border-radius: unset;
    overflow: unset;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: .6em 0 .5em;
    margin-bottom: 1.2em;
    border-top: double 3px #333;
    border-bottom: double 3px #333;
}
.mandara-content-block h3,
.mandara-content-block h4 {
	font-size: 1.1em;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    padding-bottom: 5px;
}

/*.mandara-content-block h2 {
    border-bottom: 2px solid #eaeaea;
    padding-left: 5px;
}*/
/*
.mandara-content-block h3 {
    border-left: 5px solid #eaeaea;
    padding-left: 10px;
}*/

/* 本文内の段落 */
.mandara-content-block p {
    margin-bottom: 1em;
}

/* 本文内のリスト（治療パターンなどで使用） */
.mandara-content-block ul,
.mandara-content-block ol {
    padding-left: 2em;
}

.mandara-content-block ul li,
.mandara-content-block ol li {
     margin-bottom: 0.5em;
}

/* ==========================================================================
波動ページ
========================================================================== */


html {
    scroll-behavior: smooth;
}

/* --- 基本レイアウト --- */
body {
    /* 必要に応じてテーマに合わせて調整 */
}

/* --- リンクの基本スタイル --- */
a {
    color: #007bff;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

/* --- 目次 (.hado-table-of-contents) --- */
.hado-table-of-contents {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 25px;
    margin-bottom: 2em;
    box-sizing: border-box; /* paddingを含めて計算 */
}

/* 目次のH1見出し */
.hado-table-of-contents h1 {
    text-align: center;
    border-bottom: 3px solid #4a4a4a;
    margin-top: 0.5em; /* 上部のマージンを調整 */
    padding-bottom: 5px;
    font-size: 1.5em; /* 見出しサイズ調整 */
}

/* 目次スクロールラッパー */
.hado-toc-scroll-wrapper {
    max-height: 16em; /* 約10行分 + 余白。表示を見て調整してください */
    overflow-y: auto;  /* 高さを超えたらスクロール */
    padding-right: 10px; /* スクロールバー用の余白 */
    box-sizing: border-box;
}

.hado-table-of-contents ul {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0; /* スクロール領域内の不要な空白削除 */
    margin-bottom: 0; /* スクロール領域内の不要な空白削除 */
}

/* 目次の第1階層 */
.hado-table-of-contents .hado-toc-scroll-wrapper > ul > li {
    font-weight: bold;
    margin-top: 0.7em;
}

/* 目次の第2階層 */
.hado-table-of-contents ul ul {
    list-style-type: disc;
    padding-left: 25px;
    font-weight: normal;
    margin-top: 0.3em;
}

.hado-table-of-contents ul ul li {
    margin-top: 0.2em;
}

/* Webkit系ブラウザ用スクロールバーのスタイル（オプション）*/
.hado-toc-scroll-wrapper::-webkit-scrollbar {
  width: 8px;
}
.hado-toc-scroll-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}
.hado-toc-scroll-wrapper::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}
.hado-toc-scroll-wrapper::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}


/* --- 本文 (.hado-main-content) --- */
.hado-main-content {
    /* 本文領域全体に適用するスタイル（もしあれば） */
}

/* 本文内の各セクション */
.hado-content-block {
    margin-bottom: 2em;
}

/* 本文内の見出し (H2は見出しブロックで設定) */
.hado-content-block h3,
.hado-content-block h4 {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    padding-bottom: 5px;
}

.hado-content-block h3 {
    border-left: 5px solid #eaeaea;
    padding-left: 10px;
}

/* 本文内の段落 */
.hado-content-block p {
    margin-bottom: 1em;
    line-height: 1.7; /* テーマに合わせて調整 */
}

/* 本文内のリスト */
.hado-content-block ul,
.hado-content-block ol {
    padding-left: 2em;
    margin-bottom: 1em;
}

.hado-content-block ul li,
.hado-content-block ol li {
     margin-bottom: 0.5em;
}

/* WordPress画像ブロックの調整 */
.wp-block-image {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}
.wp-block-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #ddd;
    border-radius: 4px;
}