/* css/style.css */
@charset "utf-8";

/* CSSカスタムプロパティ (CSS変数) */
:root {
    --primary-color: #66BB6A; /* メインカラー: 優しい感じの緑 */
    --primary-darker: #4CAF50; /* メインカラーの少し濃いバージョン */
    --primary-h-darker: #347059; /* メインカラーの更に少し濃いバージョン */
    --primary-s-darker: #6E7E31; /*スモーキーグリーン */
    --accent-color: #ED8D1F; /* 強調色（オレンジ系） */
    --text-color: #333;      /* 基本の文字色 */
    --light-bg-color: #f8fcf8; /* 薄い背景色 (コンテンツブロックなど) */
    --outer-bg-color: #F0FBF0; /* <-- ★追加：コンテンツ外の背景色（薄い緑） */
    --border-color: #e0e0e0;   /* 罫線色 */
    --max-width: 980px;     /* 最大コンテンツ幅 */
    --padding-x: 20px;      /* 左右のパディング */
}

/* ------------------------------------------------
    基本スタイル
------------------------------------------------ */
body {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Arial, sans-serif;
    color: var(--text-color);
    line-height: 1.6;
    background-color: var(--outer-bg-color);
    -webkit-text-size-adjust: 100%; /* テキストの自動調整を無効にする */
}

/* 共通のコンテンツ幅設定 */
.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--padding-x);
}

/* リンクの基本スタイル */
a {
    color: var(--primary-color); /* リンク色をメインの緑に */
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
/* フォーカスアウトラインの調整 (必要に応じて) */
a:focus, button:focus {
    outline: 2px solid var(--primary-color); /* アウトラインも緑に */
    outline-offset: 2px;
}
/* 段落 */
.extra-space-below {
    margin-bottom: 30px; /* 通常の段落より広い余白 */
}
/*　スペース　*/
.extra-space {
    margin-top:30px;
    margin-bottom: 30px;
}

/* ------------------------------------------------
    ヘッダー
------------------------------------------------ */
.site-header {
    background-color: #fff;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
}
.site-header .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.site-title {
    margin: 0;
    font-size: 1.2em;
    line-height: 1;
}
.site-title a {
    display: flex;
    align-items: center;
}
.site-title img {
    height: 49px;
    width: auto;
    margin-right: 10px;
}
.site-title span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

.header-contact {
    text-align: right;
}
.header-contact .tel {
    font-size: 1.8em;
    font-weight: bold;
    color: var(--primary-color); /* 電話番号もメインの緑に */
    margin: 0;
}
.header-contact .tel-note {
    font-size: 0.8em;
    color: #666;
    margin-top: 5px;
}

/* ------------------------------------------------
    ナビゲーション
------------------------------------------------ */
.main-nav {
    background-color: var(--primary-color); /* ナビゲーション背景をメインの緑に */
    padding: 10px 0;
}
.nav-toggle {
    display: none;
    width: 100%;
    background-color: #fff;
    color: var(--primary-color); /* ボタン文字色をメインの緑に */
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: bold;
    text-align: left;
    margin-bottom: 10px;
}
.nav-list {
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
}
.nav-list li {
    position: relative;
}
.nav-list a {
    display: block;
    padding: 10px 15px;
    color: #fff;
    white-space: nowrap;
    transition: background-color 0.3s ease;
}
.nav-list a:hover {
    background-color: var(--primary-darker); /* ホバー色を少し濃い緑に */
}

/* サブメニュー */
.nav-list .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--primary-color); /* サブメニュー背景もメインの緑に */
    min-width: 200px;
    z-index: 100;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.nav-list .sub-menu li {
    width: 100%;
}
.nav-list .sub-menu a {
    padding: 10px 20px;
    font-size: 0.9em;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.nav-list li.has-submenu:hover > .sub-menu {
    display: block;
}

/* ------------------------------------------------
    メインビジュアル
------------------------------------------------ */
.main-visual {
    max-width: var(--max-width);
    margin: 0 auto 30px auto;
    overflow: hidden;
}

.main-visual picture,
.main-visual img {
    display: block;
    width: 100%;
    height: auto;
}

/* ------------------------------------------------
    メインコンテンツとサイドバー
------------------------------------------------ */
.content-wrapper {
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
}
.main-content {
    flex: 3;
    min-width: 0;
}
.sidebar-content {
    flex: 1;
    min-width: 280px;
}


/* ------------------------------------------------
    セクションタイトル（共通スタイル）
------------------------------------------------ */

.section-title {
     /* すべての section-title に適用される基本スタイル */
    font-size: 1.8em;
    color: var(--primary-h-darker); /* タイトル色をメインの緑に */
    border-bottom: 2px solid var(--primary-color); /* 下線もメインの緑に */
    padding-bottom: 10px;
    margin-bottom: 20px;
    text-align: left;
}

.widget-title {
    font-size: 1.2em;
    color: var(--primary-h-darker); /* ウィジェットタイトル色もメインの緑に */
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 8px;
    margin-bottom: 15px;
}

/* お知らせセクション */
.section-news .post-list p {
    margin-bottom: 10px;
}
.section-news .post-list p:last-child {
    margin-bottom: 0;
}
.highlight-text {
    font-size: 130%;
    color: var(--primary-color); /* ハイライトテキストもメインの緑に */
}
.separator-line {
    text-align: center;
    margin-top: 20px;
    padding-bottom: 10px;
}
.separator-line img {
    height: 50px;
    width: 300px;
}
.emphasize-text {
    color: var(--accent-color); /* 強調テキストはアクセントカラーに */
    font-weight: bold;
}
.news-archive {
    text-align: right;
    margin-top: 20px;
}

.info-list {
    list-style: none; /* デフォルトの黒丸などを消す */
    padding-left: 30px; /* デフォルトの左パディングを消す（必要に応じて） */
    margin-bottom: 20px;
}

.info-list li {
    position: relative; /* ::before の基準位置にするため */
    padding-left: 20px; /* 記号分のスペースを空ける */
    margin-bottom: 10px; /* 各項目の下の余白 */
    line-height: 1.6;
}

.info-list li::before {
    content: "＊"; /* 表示したい記号 */
    color: var(--primary-h-darker); /* 色付け */
    position: absolute; /* 親要素（li）を基準に配置 */
    left: 0; /* 左端に配置 */
    top: 0; /* 上揃え */
    font-weight: bold; /* 記号を太字にする */
    margin-right: 5px; /* 記号とテキストの間の余白 */
}
/* ------------------------------------------------
    トップページ各セクション 
------------------------------------------------ */

.section-news  {
    background-color: #fff; /* 例: セクションの背景色 */
    padding: 30px; /* セクション内のパディング */
    border-radius: 8px; /* 角丸 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* 軽い影 */
    margin-bottom: 40px; /* ★ここを追加または調整★ 各セクションの下に40pxの余白を設ける */
}

.section-about {
    background-color: #fff; /* 例: セクションの背景色 */
    padding: 30px; /* セクション内のパディング */
    border-radius: 8px; /* 角丸 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* 軽い影 */
    margin-bottom: 40px; /* ★ここを追加または調整★ 各セクションの下に40pxの余白を設ける */
}

/* てんかんの専門医セクション */
.section-about .post-content img {
    float: right;
    margin-left: 20px;
    margin-bottom: 10px;
}
.section-about .post-content::after {
    content: "";
    display: block;
    clear: both;
}



/* 下部の2つのリンクブロック */
.flex-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 30px;
}
.flex-item {
    flex: 1;
    min-width: 280px;
    border: 1px solid var(--border-color);
    padding: 15px;
    text-align: center;
    background-color: var(--light-bg-color);
    transition: box-shadow 0.3s ease;
}
.flex-item:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.flex-item img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}
.flex-item h3 {
    font-size: 1.2em;
    color: var(--primary-color); /* h3もメインの緑に */
    margin-bottom: 10px;
}
.flex-item p {
    font-size: 0.9em;
    line-height: 1.5;
}
.flex-item .read-more {
    color: var(--primary-color); /* 読み込み詳細もメインの緑に */
    font-weight: bold;
}


/* サイドバー内のウィジェット */
.sidebar-content .banner img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 15px;
}
.sidebar-content .widget {
    background-color: var(--light-bg-color);
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid var(--border-color);
}
.sidebar-content .widget ul {
    list-style: none;
    padding: 0;
}
.sidebar-content .widget li {
    margin-bottom: 8px;
    font-size: 0.96em;
}
.sidebar-content .widget li:last-child {
    margin-bottom: 0;
}
.clinic-info li {
    line-height: 1.5;
}


/* ------------------------------------------------
    フッター
------------------------------------------------ */
.site-footer {
    background-color: #333; /* フッター背景は濃いグレーのまま（変更しても良い） */
    color: #fff;
    padding: 30px 0;
    text-align: center;
}
.footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
}
.footer-nav a {
    color: #fff; /* フッターリンクも白のまま */
    font-weight: bold;
}
.footer-nav a:hover {
    text-decoration: underline;
}
.copyright {
    font-size: 0.8em;
    color: #bbb;
}

/* ------------------------------------------------
    ページコンテンツセクション (共通スタイル)
------------------------------------------------ */
.page-content-section {
    background-color: #fff; /* 例: セクションの背景色 */
    padding: 30px; /* セクション内のパディング */
    border-radius: 8px; /* 角丸 */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* 軽い影 */
    margin-bottom: 40px; /* ★ここを追加または調整★ 各セクションの下に40pxの余白を設ける */
}

/* ------------------------------------------------
    PC用のトップ画像エリアとタイトル
------------------------------------------------ */
.page-hero-image {
    height: 250px; /* 画像の高さに合わせて設定 */
    max-width: 980px; /* ★コンテナの最大幅を980pxに制限★ */
    margin: 0 auto; /* ★コンテナ自体を中央寄せにする★ */
    background-size: cover; /* または contain, auto などを試す */
    background-position: center; /* 画像を中央に配置 */
    position: relative; /* 子要素（h1）を配置するための基準 */
    margin-bottom: 20px; /* 下に20pxの余白を追加 */
    display: flex; /* 子要素（h1）を中央に配置するために利用 */
    align-items: center;
    justify-content: center;
    color: #fff; /* テキストを白に */
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5); /* 読みやすいように影を付ける */
}

.page-hero-image .container {
    /* この中のコンテナは、親要素（page-hero-image）の幅に合わせる */
    max-width: 100%;
    margin: 0;
}

.page-hero-image .container .page-title {
    /* コンテナ内のh1にスタイルを適用 */
    font-size: 3em;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    line-height: 1; /* 行の高さを調整 */
}

/* ページごとに異なる背景画像を適用 */
.info-page .page-hero-image {
    background-image: url('../img/bnner/info-page-hero.webp'); /* 診療のご案内用の画像 */
}
.kensa-page .page-hero-image {
    background-image: url('../img/bnner/info-page-hero.webp'); /* 診療のご案内用の画像 */
}
.tenkan-page .page-hero-image {
    background-image: url('../img/bnner/tenkan-page-hero.webp'); /* てんかんの診療の画像 */
}
.monowasure-page .page-hero-image {
    background-image: url('../img/bnner/tenkan-page-hero.webp'); /* てんかんの診療の画像 */
}
.pregnancy-page .page-hero-image {
    background-image: url('../img/bnner/tenkan-page-hero.webp'); /* てんかんの診療の画像 */
}

.access-page .page-hero-image {
    background-image: url('../img/bnner/access-page-hero.webp'); /* アクセスの画像 */
}
.doctor-list-page .page-hero-image {
    background-image: url('../img/doctor-page-hero.jpg'); /* 医師紹介用の画像 */
}
.study-page .page-hero-image {
    background-image: url('../img/bnner/study-page-hero.webp'); /* 医師用勉強会の画像 */
}
.doctor-page .page-hero-image {
    background-image: url('../img/bnner/doctor-page-hero.webp'); /* 医師ご紹介の画像 */
}
.doctor-2-page .page-hero-image {
    background-image: url('../img/bnner/doctor-page-hero.webp'); /* 著書・講演の画像 */
}
.doctor-page .page-hero-image {
    background-image: url('../img/bnner/doctor-page-hero.webp'); /* 医師ご紹介の画像 */
}
.link-page .page-hero-image {
    background-image: url('../img/bnner/etc-page-hero.webp'); /* リンクの画像 */
}
.happy-page .page-hero-image {
    background-image: url('../img/bnner/etc-page-hero.webp'); /* リンクの画像 */
}
.news2511-page .page-hero-image {
    background-image: url('../img/bnner/news-page-hero.webp'); /* リンクの画像 */
}
.news2014-page .page-hero-image {
    background-image: url('../img/bnner/news-page-hero.webp'); /* リンクの画像 */
}

/* ...他のページも同様... */



/* ------------------------------------------------
    トップページ固有のスタイル
------------------------------------------------ */
/* .section-news のスタイル */
/* .section-about のスタイル */
/* .flex-links のスタイル */

/* ------------------------------------------------
    各ページ共通の画像スタイル
------------------------------------------------ */
.page-visual {
    height: 300px;
    overflow: hidden;
    margin-bottom: 30px;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
}
.page-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 画像をセンター表示、divのclassはimage-container */
.center-block-image {
    display: block; /* imgはデフォルトでインライン要素なので、ブロック要素にする */
    margin: 0 auto; /* 上下マージンは0、左右マージンは自動で中央寄せ */
    max-width: 100%; /* 親要素からはみ出さないように */
    height: auto; /* 比率を保つ */
}


/* ------------------------------------------------
    PCでのメインテキスト領域のスタイル
------------------------------------------------ */
/* .page-content-section に直接当てるか、
   その中にさらに囲む div を作ってそこに当てる */
.page-content-section.main-text-area p {
    margin-left: 20px; /* main-text-area クラスを持つ親要素内のすべてのpに適用 */
    margin-right: 20px; /* 必要であれば右マージンも */
    line-height: 1.7;
}

/* ------------------------------------------------
    箇条書きリストのスタイル
------------------------------------------------ */
.page-content-section ul {
    list-style: none; /* デフォルトの黒丸などを消す */
    padding-left: 30px; /* デフォルトの左パディングを消す（必要に応じて） */
    margin-bottom: 20px;
}

.page-content-section ul li {
    position: relative; /* ::before の基準位置にするため */
    padding-left: 20px; /* 記号分のスペースを空ける */
    margin-bottom: 10px; /* 各項目の下の余白 */
    line-height: 1.6;
}

.page-content-section ul li::before {
    content: "＊"; /* 表示したい記号 */
    color: var(--primary-color); /* メインカラーで色付け */
    position: absolute; /* 親要素（li）を基準に配置 */
    left: 0; /* 左端に配置 */
    top: 0; /* 上揃え */
    font-weight: bold; /* 記号を太字にする */
    margin-right: 5px; /* 記号とテキストの間の余白 */
}

/* もし、全ての ul li に適用したくない場合は、特定のクラスを付与 */
/* 例: <ul class="marked-list"> にしたい場合 */
/*
.marked-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 20px;
}
.marked-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    line-height: 1.6;
}
.marked-list li::before {
    content: "＊";
    color: var(--primary-color);
    position: absolute;
    left: 0;
    top: 0;
    font-weight: bold;
    margin-right: 5px;
}
*/

/* 太字 */
.text-strong {
    font-weight: bold;
}

/* 署名 */
.author-signature {
    text-align: right;
    font-style: italic; /* 斜体にすることもできます */
    color: #555; /* 色を少し薄くする */
    margin-top: 10px; /* 本文との間に余白を空ける */
}
/* 右寄せ */
.txt-right {
    text-align: right;
}
.highlight {
    font-weight: bold;
    color: var(--primary-darker);  
}
/* ------------------------------------------------
    各ページ固有のスタイル
------------------------------------------------ */
.sub-page h2 {
    font-size: 1.6em; /* 基本の h2 フォントサイズ */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 25px; /* 下の余白 */
    margin-left: 15px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 8px;
}

.sub-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}
    
/* -- 診療のご案内 (info.html) -- */

.info-page .page-content-section h3 {
    color: var(--primary-darker);
    border-bottom: 1px dashed var(--border-color);
    padding-bottom: 5px;
    margin-top: 25px;
    margin-bottom: 15px;
    margin-left: 15px;
    font-weight: bold;
    font-size: 1.2em;
}
.info-page .clinic-hours-table { /* 表 */
    width: 100%; /* 親要素の幅いっぱいに広げる */
    border-collapse: collapse; /* セルの境界線を結合 */
    margin-bottom: 20px; /* 下に余白 */
    font-size: 0.95em; /* フォントサイズ調整 */
}
.info-page .clinic-hours-table th,
.info-page .clinic-hours-table td {
    border: 1px solid var(--border-color); /* 罫線 */
    padding: 12px 15px; /* パディング */
    text-align: center; /* 中央寄せ */
}
.info-page .clinic-hours-table th {
    background-color: var(--light-bg-color); /* ヘッダーの背景色 */
    font-weight: bold;
    color: var(--primary-color); /* ヘッダーの文字色 */
    white-space: nowrap; /* テキストの折り返し防止 */
}
.info-page .clinic-hours-table td {
    background-color: #fff; /* セルの背景色 */
}
.info-page .clinic-hours-table tbody tr:nth-child(even) td {
    background-color: #fcfcfc; /* 偶数行に背景色をつけて見やすくする */
}
.info-page .note {
    font-size: 0.85em;
    color: #666;
    text-align: right;
    margin-bottom: 25px; /* 下の余白 */
}
.info-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}
.info-page .image-container {
    padding-bottom: 20px;
    padding-top: 20px;    
}


/* -- 脳波検査 (kensa.html) -- */

.kensa-page .main-text-area p {
    margin-left: 20px; /* main-text-area クラスを持つ親要素内のすべてのpに適用 */
    margin-right: 20px; /* 必要であれば右マージンも */
    margin-top: 30px;
    line-height: 1.7;
    
}
.kensa-page .image-container {
    margin-top: 50px; /* 上マージンを追加 */
    margin-bottom: 40px; /* 下にも余白が欲しい場合 */
}
.kensa-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}

/* -- てんかんの診療 (tenkan.html) -- */

 .tenkan-page .main-text-area p{
        line-height: 1.9
    }


.tenkan-page .patient-concern {
    margin-left: 30px; /* 左にインデント（数値は適宜調整） */
    margin-right: 30px; /* 左右にインデントして塊感を出しても良い */
    margin-bottom: 10px;
    padding: 15px; /* 内側に少しパディング */
   /* background-color: var(--light-bg-color);  薄い背景色で目立たせる */
    /* border-left: 4px solid var(--primary-color);  左に強調線 */
   /*font-style: italic;  少し斜体にする（任意） */
    color: var(--dark-text-color); /* 少し暗めの文字色にする（任意） */
    /* border-radius: 5px; 角丸にする（任意） */ 
    line-height: 1.8; /* 読みやすく行間を広げる */
}
.tenkan-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}
/* -- もの忘れとてんかん (monowasure.html) -- */

.monowasure-page .main-text-area p{
    line-height: 1.9em;
    margin-bottom: 20px;
}




/* 論文情報セクション */
.monowasure-page .section-paper-info {
    background-color: #f9f9f9;
    border-left: 3px solid var(--primary-color);
    padding: 20px;
    margin-top: 40px;
}
.monowasure-page .section-paper-info h3 {
    margin-top: 0;
}
.monowasure-page .paper-title {
    font-size: 1.4em;
    color: var(--primary-darker);
    font-weight: bold;
    margin-bottom: 20px;
}
.monowasure-page .section-paper-info h4{
    font-size: 1.4em;
    color:var(--primary-h-darker);
    margin-top: 30px;
}
.monowasure-page .section-paper-info h5 {
    margin-top: 30px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    font-weight: bold;
    color: var(--primary-s-darker);
}
.monowasure-page .section-paper-info p {
    margin-top: 20px;
    padding-bottom: 3px;

}
.monowasure-page .section-related {
    margin-top: 30px;
}
.monowasure-page .section-related h3{
    font-size: 1.4em;
    color: var(--primary-darker);
    font-weight: bold;
    margin-bottom: 20px;
}
.monowasure-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}

/* -- てんかんと妊娠 (epilepsy-pregnancy.html) -- */
.pregnancy-page .main-text-area p{
        line-height: 1.9
    }

.pregnancy-page .patient-concern {
    margin-left: 30px; /* 左にインデント（数値は適宜調整） */
    margin-right: 30px; /* 左右にインデントして塊感を出しても良い */
    margin-bottom: 10px;
    padding: 15px; /* 内側に少しパディング */
    color: var(--dark-text-color); /* 少し暗めの文字色にする（任意） */
    line-height: 1.8; /* 読みやすく行間を広げる */
}
.pregnancy-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}
.pregnancy-page .center-block-image {
    /* 例: 親要素の幅に対して、最大で80%の大きさにする */
    max-width: 40%;
    /* 縦横比を維持するために必須 */
    height: auto;
    /* (元のCSSが中央寄せをしているなら、それはそのまま維持されます) */
    margin-top: 20px;
}

.pregnancy-page .section-related h3{
    font-size: 1.4em;
    color: var(--primary-darker);
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 20px;
}




/* -- 医師向け勉強会 (study.html) -- */

.year-navigation ul {
    list-style: none; /* リストの点を削除 */
    padding: 0; /* デフォルトのパディングを削除 */
    margin: 0; /* デフォルトのマージンを削除 */
    margin-top: 30px;
    display: flex; /* リスト項目を横並びにする */
    flex-wrap: wrap; /* 画面幅が狭いときに折り返す */
    justify-content: center; /* 項目を中央に配置 */
    gap: 15px; /* 項目間の間隔を設定 */
}

.year-navigation li a {
    text-decoration: none; /* リンクの下線を削除 */
    color: #333; /* 文字の色 */
    font-weight: bold;
    padding: 5px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s; /* ホバー時のアニメーション */
}

.year-navigation li a:hover {
    background-color: #007bff; /* ホバー時の背景色 */
    color: #fff; /* ホバー時の文字色 */
}
/* summaryの基本的なスタイル */
summary {
  list-style: none; /* デフォルトの矢印を削除 */
  cursor: pointer; /* マウスカーソルをポインターに変更 */
  font-size: 1.5rem; /* 文字を大きくする */
  font-weight: bold; /* 文字を太くする */
  padding: 15px; /* 内側の余白 */
  border-bottom: 2px solid #ccc; /* 下線 */
  position: relative; /* 子要素（+と-）の基準点 */
}

/* summaryの右側に「+」を表示 */
summary::after {
  content: '+'; /* 擬似要素に「+」を挿入 */
  position: absolute;
  right: 15px; /* 右端からの位置 */
  top: 50%;
  transform: translateY(-50%); /* 垂直方向の中央に配置 */
  font-size: 2rem; /* +の文字を大きくする */
  font-weight: normal;
}
/* detailsが展開されたときに「-」を表示 */
details[open] > summary::after {
  content: '−'; /* 「-」に切り替える */
}

/* アコーディオンのコンテンツ部分のスタイル */
details > *:not(summary) {
  padding: 15px;
  border-bottom: 1px solid #eee;
}




/* -- 医師のご紹介 (doctor.html) -- */



.doctor-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}

/* -- 医師のご紹介 summary要素　クリック領域 -- */
.doctor-preview {
    /* 以前のCSSに追加 */
    list-style: none; /* デフォルトの矢印を削除 */
    cursor: pointer; /* マウスをポインターに変更（必須） */
    
    /* 視覚的な区切り */
    border: 1px solid #ddd;
    margin-bottom: 10px;
    padding: 15px; /* 全体に余白 */
    border-radius: 5px;
}

/* マウスが乗ったときの変化（非常に重要） */
.doctor-preview:hover {
    background-color: #e7fee16b; /* 薄く色を変える */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); /* 影を付けて浮き上がらせる */
}

/* -- 医師のご紹介 写真とテキストの横並び -- */
.preview-content-wrapper {
    display: flex; /* 子要素を横並びに */
    align-items: center; /* 垂直方向の中央揃え */
    gap: 15px; /* 写真とテキストの間隔 */
}

.photo-area img {
    width: 100px; /* 写真のサイズを固定 */
    height: 100px;
    object-fit: cover; /* 写真を切り抜いて比率を保つ */
    border-radius: 50%; /* 写真を丸くする（任意） */
}

.text-area {
    flex-grow: 1; /* 残りのスペースを全てテキストに割り当てる */
}
.doctor-page .short-specialty {
    font-size: 0.9em;
    
    
}

/* -- 医師のご紹介 「＋」/「−」アイコンの再調整 -- */

.doctor-preview {
    /* 既存のCSSと併用 */
    position: relative; /* アイコン配置の基準 */
}

.doctor-preview::after {
    /* 「+」アイコンの配置 */
    content: '+';
    position: absolute;
    right: 15px; 
    bottom: 0.5; /* 下端から15px上に配置 */
    top: auto;   /* topの指定を解除（bottomを使用するため）*/
    transform: translateY(-50%); 
    font-size: 1.8rem;
    font-weight: normal;
}

details[open] > .doctor-preview::after {
    content: '−'; /* 展開時に「-」に */
}
/*　医師の資格・専門医 */
.doctor-page .doctor-credentials h3 {
    font-size: 1.0em; /* 基本の h2 フォントサイズ */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 10px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
    font-weight: bold;
}
/*　略歴 */
.doctor-page .doctor-biography h3 {
    font-size: 1.0em; /* 基本の h2 フォントサイズ */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 10px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
    font-weight: bold;
}
/* 医師のメッセージ */
.doctor-page .message-to-patients {
    background-color: #f9f9f9;
    border-left: 3px solid var(--primary-color);
    padding: 20px;
    margin-top: 40px;
}
.doctor-page .message-to-patients h3 {
    margin-top: 0;
    font-size: 1.2em;
}

.doctor-page .message-to-patients p {
    margin-top: 20px;
    padding-bottom: 3px;

}


/* -- 著著・講演ご紹介 (doctor-2.html) -- */



.doctor-2-page .highlight {
    font-weight: bold;
    color: var(--primary-h-darker); /* ハイライトテキストもメインの緑に */
}


/*　著書のご案内 */
.doctor-2-page .book-list h4 {
    font-size: 1.0em; /*  */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 10px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
    font-weight: bold;
}
.doctor-2-page .post-content img {
    float: right;
    margin-left: 20px;
    margin-bottom: 10px;
}
.doctor-2-page .post-content::after {
    content: "";
    display: block;
    clear: both;
}

.doctor-2-page .presentation h4 {
    font-size: 1.0em; /*  */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 10px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
    font-weight: bold;
}

.doctor-2-page .publication-list h2{
    font-size: 1.2em;
    font-weight: bold;
}


/* ------------------------------------------------
    講演実績リストのスタイル
------------------------------------------------ */
.lecture-list {
    list-style: none; /* デフォルトの黒丸などを消す */
    padding-left: 30px; /* デフォルトの左パディングを消す（必要に応じて） */
    margin-bottom: 20px;
}

.lecture-list li {
    position: relative; /* ::before の基準位置にするため */
    padding-left: 20px; /* 記号分のスペースを空ける */
    margin-bottom: 10px; /* 各項目の下の余白 */
    line-height: 1.6;
}

.lecture-list li::before {
    content: "＊"; /* 表示したい記号 */
    color: var(--primary-h-darker); /* 色付け */
    position: absolute; /* 親要素（li）を基準に配置 */
    left: 0; /* 左端に配置 */
    top: 0; /* 上揃え */
    font-weight: bold; /* 記号を太字にする */
    margin-right: 5px; /* 記号とテキストの間の余白 */
}

/* --- 講演会記録（リストアイテム）の共通スタイル --- */
.lecture-item {
    list-style: none; /* 必要に応じてリストマークを消す */
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee; /* 各記録の下に薄い区切り線 */
}
/* 最後のリストアイテムの下線は削除 */
.lecture-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

/* --- メタ情報（日付・主催・会名称）のスタイル --- */
.lecture-meta-group {
    font-size: 0.9em; /* 文字を少し小さく */
    color: #666; /* 色を薄く */
    margin-bottom: 5px;
}

/* メタ情報内の各要素（日付、主催、会名称）に適用 */
.lecture-meta-group span {
    margin-right: 5px; /* 右側のスペース */
    /* white-space: nowrap; 要素内で改行させない */
}

/* 最後の要素以外に対して区切り線（縦線 | ）を追加 */
.lecture-meta-group span:not(:last-child):after {
    content: "|"; /* 縦線を挿入 */
    margin-left: 5px; /* 縦線と次の要素の間にスペース */
    color: #999; /* 区切り線の色 */
}

/* --- 講演タイトル --- */
.lecture-title {
    font-weight: bold;
    margin: 0;
}



/* -- 地図 -- */
.map-container {
    /* 地図の親要素を作り、縦横比を固定する */
    position: relative;
    padding-bottom: 75%; /* 4:3の比率 */
    height: 0;
    overflow: hidden;
    margin-bottom: 20px;
}
.map-container iframe {
    /* iframeを親要素いっぱいに広げる */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.location {
    margin-top: 20px; 
    margin-bottom: 20px;
}
/*　幸福な旅 */
.happy-page .image-container {
    padding-bottom: 30px;
    padding-top: 30px;    

}
/* ニュース 瑞宝中綬章受勲 */
.news2511-page .post-content img {
    width: 200px;
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
}
.news2511-page .post-content::after {
    content: "";
    display: block;
    clear: both;
}
.news2014-page .image-container{
    margin-bottom: 20px;
    margin-top: 20px;
    
}
.news2014-page .center-block-image {
    display: block; /* imgはデフォルトでインライン要素なので、ブロック要素にする */
    margin: 10px, auto; /* 上下マージンは10、左右マージンは自動で中央寄せ */
    max-width: 100%; /* 親要素からはみ出さないように */
    height: auto; /* 比率を保つ */
}
.news2014-page h3 {
    font-size: 1.2em;
    margin-bottom: 15px;
    color: var(--primary-h-darker);
}

/* ------------------------------------------------
    てんかん相談窓口
------------------------------------------------ */
/* ベースのスタイルリセット */
.styled-form {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* モダンなフォント */
    max-width: 700px; /* フォームの最大幅 */
    margin: 30px auto;
    padding: 20px;
    background: #ffffff; /* 白い背景 */
    border-radius: 8px; /* 角を丸く */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* 影で立体感を出す */
}

/* タイトル周り */
.contact-section .title {
    font-size: 28px;
    color: #333;
    border-bottom: 3px solid #007bff; /* 青色のアクセントライン */
    padding-bottom: 10px;
    margin-bottom: 20px;
    text-align: center;
}

.contact-form-body .ttl3 {
    font-size: 18px;
    color: #555;
    text-align: center;
    margin-bottom: 30px;
}

/* 必須項目マーク */
.required-mark {
    color: #dc3545; /* 赤色で目立たせる */
    font-weight: bold;
    margin-left: 5px;
}

.required-note {
    text-align: right;
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
}

/* フォーム項目グループ */
.form-group {
    display: flex;
    flex-wrap: wrap; /* 小さい画面で折り返す */
    margin-bottom: 15px;
    border-bottom: 1px dashed #eee; /* 薄い区切り線 */
    padding-bottom: 15px;
}

.form-group label {
    flex-basis: 150px; /* ラベルの幅を固定 */
    padding-top: 10px;
    font-weight: 600; /* 太字 */
    color: #333;
}

.form-group .input-area {
    flex-grow: 1; /* 残りのスペースを埋める */
}

/* 入力欄全体 */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box; /* パディングを含めて幅を計算 */
    transition: border-color 0.3s, box-shadow 0.3s;
}

/* フォーカス時のスタイル */
.form-group input:focus,
.form-group textarea:focus {
    border-color: #017c1f; 
    box-shadow: 0 0 5px rgba(0, 255, 101, 0.55);
    outline: none;
}

/* テキストエリアの調整 */
.textarea-group {
    border-bottom: none; /* テキストエリアの下線は不要 */
}

/* プライバシーポリシー */
.privacy-policy {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    padding: 15px;
    margin-top: 20px;
    margin-bottom: 30px;
    border-radius: 4px;
    font-size: 14px;
    color: #555;
}

.privacy-policy h4 {
    color: var(--primary-darker);
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 10px;
}

.privacy-policy ol {
    list-style-type: decimal;
    margin-left: 20px;
    padding-left: 0;
}

/* ボタンエリア */
.btn-area {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}

/* 送信ボタン */
.btn-area input[type="submit"] {
    background-color: var(--primary-darker); 
    color: white;
    padding: 12px 30px;
    border: none;
    border-radius: 5px;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.1s;
    margin-right: 15px;
}

.btn-area input[type="submit"]:hover {
    background-color: #276a09; /* ホバーで少し濃く */
}

/* リセットボタン */
.btn-area .reset-button {
    background-color: #6c757d; /* グレー */
    color: white;
    padding: 12px 30px;
    border: none;
    border-radius: 5px;
    font-size: 18px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.btn-area .reset-button:hover {
    background-color: #5a6268;
}

/* その他の注意事項 */
.notice-text {
    font-size: 14px;
    color: #777;
    line-height: 1.6;
    padding-top: 15px;
    border-top: 1px solid #eee;
}



/* ------------------------------------------------
    メディアクエリ (レスポンシブデザイン)
------------------------------------------------ */

/* タブレット向け (最大幅 768px) */
@media screen and (max-width: 768px) {
    :root {
        --padding-x: 15px;
    }
       
    .site-header .container {
        flex-direction: column;
        text-align: center;
    }
    .site-title {
        margin-bottom: 10px;
    }
    .site-title a {
        justify-content: center;
    }
    .header-contact {
        width: 100%;
        text-align: center;
    }

    /* ナビゲーションのモバイル表示 */
    .nav-toggle {
        display: block;
    }
    .nav-list {
        flex-direction: column;
        display: none;
        width: 100%;
    }
    .nav-list.is-open {
        display: block;
    }
    .nav-list li {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .nav-list li:last-child {
        border-bottom: none;
    }
    .nav-list a {
        padding: 12px var(--padding-x);
    }
    .nav-list .sub-menu {
        position: static;
        width: 100%;
        box-shadow: none;
        background-color: rgba(0, 0, 0, 0.1);
    }
    .nav-list .sub-menu a {
        padding-left: calc(var(--padding-x) + 20px);
    }
    .nav-list li.has-submenu:hover > .sub-menu {
        display: none;
    }
    .nav-list li.has-submenu.is-open > .sub-menu {
        display: block;
    }    
    
     /* ★★★ ここから、共通の「リセット」または「モバイル用」スタイルをまとめる ★★★ */
    
      /* -- 各ページh1エリア　スタイル調整 */
  .page-hero-image {
        max-width: 100%; /* スマホでは画面いっぱいに広げる */
        height: 200px; /* スマホでは高さを調整 */
        margin: 0 0 10px 0; /* マージンも調整 */
        background-size: cover;
        background-position: center;
        background-color: transparent;
    }
 .page-hero-image .container .page-title {
    /* コンテナ内のh1にスタイルを適用 */
    font-size: 2.2em;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    line-height: 1; /* 行の高さを調整 */
}
    
    .info-page .page-hero-image {
        /* スマホ用の正方形に近い画像を指定 */
        background-image: url('../img/bnner/sp-info-hero.webp');
    }
    /* ...他のページも同様にスマホ用の画像を設定... */
    .kensa-page .page-hero-image {
        /* スマホ用の正方形に近い画像を指定 */
        background-image: url('../img/bnner/sp-info-hero.webp');
    }
    .tenkan-page .page-hero-image {
         background-image: url('../img/bnner/sp-tenkan-hero.webp');
    }
    .monowasure-page .page-hero-image {
         background-image: url('../img/bnner/sp-tenkan-hero.webp');
    }

    .access-page .page-hero-image {
         background-image: url('../img/bnner/sp-access-hero.webp');
    }

    .study-page .page-hero-image {
         background-image: url('../img/bnner/sp-study-hero.webp');
    }
    .doctor-page .page-hero-image {
         background-image: url('../img/bnner/sp-doctor-hero.webp');
    }
    .doctor-2-page .page-hero-image {
         background-image: url('../img/bnner/sp-doctor-hero.webp');
    }
    .link-page .page-hero-image {
        background-image: url('../img/bnner/sp-etc-hero.webp');
    }
    .happy-page .page-hero-image {
        background-image: url('../img/bnner/sp-etc-hero.webp');
    }
    .news2511-page .page-hero-image {
        background-image: url('../img/bnner/sp-news-hero.webp');
    }
    .news2014-page .page-hero-image {
        background-image: url('../img/bnner/sp-news-hero.webp');
    }
    /* メインコンテンツとサイドバーの配置 */
    .main-content,
    .sidebar-content {
        flex-basis: 100%;
        min-width: unset;
    }

    .section-about .post-content img {
        float: none;
        display: block;
        margin: 0 auto 20px auto;
    }

    .flex-links {
        flex-direction: column;
    }
    .flex-item {
        min-width: unset;
    }

    .footer-nav {
        flex-direction: column;
        align-items: center;
    }
    
    /* セクションのデザイン */
    .section-news {
        background-color: transparent; /* 背景色を透明に戻す */
        padding: 0; /* パディングをなくす */
        border-radius: 0; /* 角丸をなくす */
        box-shadow: none; /* 影をなくす */
        margin-bottom: 30px; /* 必要なら少し余白を残すか、0にする */
    }
    .section-about{
        background-color: transparent; /* 背景色を透明に戻す */
        padding: 0; /* パディングをなくす */
        border-radius: 0; /* 角丸をなくす */
        box-shadow: none; /* 影をなくす */
        margin-top: 50px;
        margin-bottom: 30px; /* 必要なら少し余白を残すか、0にする */
    }

    /* 箇条書き */
    
.page-content-section ul {
    list-style: none; /* デフォルトの黒丸などを消す */
    padding-left: 0; /* デフォルトの左パディングを消す（必要に応じて） */
    margin-bottom: 20px;
}
 .page-content-section.main-text-area p {
        margin-left: 0; /* スマホでは左マージンを0に戻す */
        margin-right: 0;
    }  
    
    .info-page .clinic-hours-table th,
    .info-page .clinic-hours-table td {
        padding: 8px 10px; /* 小さい画面ではパディングを減らす */
        font-size: 0.9em;
    }
    /* さらに小さいスマホ向けに、テーブルを横スクロールさせる例 */
    /* 親要素に overflow-x: auto; を設定する方が一般的 */
    .info-page .table-responsive { /* HTML側でテーブルを囲むdivにこのクラスを付与 */
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table-responsive {
        overflow-x: auto; /* 診療日テーブルの横スクロールを有効にする */
        -webkit-overflow-scrolling: touch; /* iOSでのスクロールをスムーズにする */
    }
        /* -- サブページ の h2 スタイル調整 -- */
    .sub-page h2 {
        font-size: 1.4em; /* スマホではさらに小さくする */
        font-weight: bold;
        margin-top: 15px; /* 上の余白を減らす */
        margin-bottom: 15px; /* 下の余白を減らす */
        margin-left: 0; /* 左側の余白をなくす */
        border-bottom: none; /* スマホでは下線をなくす */
        padding-bottom: 0; /* スマホでは下パディングも0に */
        text-align: center; /* 中央寄せにする */
    }
    .info-page .page-content-section h3 {
    margin-left: 5px;
    font-weight: bold;
    font-size: 1.2em;
}
.tenkan-page .patient-concern {
        margin-left: 10px; /* スマホではインデントを減らす */
        margin-right: 10px;
        padding: 10px;
       /*  font-size: 0.9em; 少し小さく */
    }
   
 /* -- .page-content-section のスマートフォン向けスタイル調整 -- */
    .page-content-section {
        background-color: transparent; /* 背景色を透明に戻す */
        padding: 0; /* パディングをなくす */
        border-radius: 0; /* 角丸をなくす */
        box-shadow: none; /* 影をなくす */
        margin-bottom: 30px; /* 必要なら少し余白を残すか、0にする */
    }
 .page-content-section p {
        margin-left: 0;
        margin-right: 0;
    }
  /* -- もの忘れページ のスマートフォン向けスタイル調整 -- */  
    
.monowasure-page .main-text-area p{
    line-height: 1.6em;
}
.monowasure .section-paper-info {
        padding: 15px;
        margin-top: 20px;
    }
.monowasure .section-paper-info p {
        font-size: 0.9em;
        line-height: 1.6;
    }   
    
.pregnancy-page .center-block-image {
    /* 例: 親要素の幅に対して、最大で80%の大きさにする */
    max-width: 50%;
    /* 縦横比を維持するために必須 */
    height: auto;
}   
    

/* -- 医師のご紹介 写真とテキストの横並びをやめる -- */
     /* 1. 横並びの解除と中央揃えの基準 */
.preview-content-wrapper {
   display: block; /* Flexboxを解除し、ブロック要素の縦積みに戻す */
        text-align: center; /* photo-areaとtext-areaを中央揃えにするための基準 */
        padding: 10px 0; /* 上下の余白調整 */
    }
    
 /* 2. 写真の配置とサイズの調整 */
    .photo-area {
        display: block; /* 念のためブロック要素に設定 */
        margin: 0 auto 10px auto; /* 写真のコンテナを中央揃え */
    }

    /* 3. 写真の実際のサイズ調整 */
    .photo-area img {
        width: 120px; /* 写真のサイズを大きくする（例：80pxから120pxへ） */
        height: 120px;
        /* object-fit: cover; はそのまま維持 */
        /* border-radius: 50%; はそのまま維持 */
    }  
     /* 4. テキスト（氏名・専門）の中央揃え */
    .text-area {
        text-align: left; /* テキスト全体を中央揃え */
    }
    
.doctor-page .message-to-patients {
        padding: 15px;
        margin-top: 20px;
    }
.doctor-page .message-to-patients p {
        font-size: 1.0em;
        line-height: 1.6;
    }  
/*　医師の資格・専門医 */
.doctor-page .doctor-credentials h3 {
    font-size: 1.0em; /* フォントサイズ */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 3px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
}
    
    
    
.doctor-2-page .book-list h4 {
    font-size: 1.0em; /*  */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 5px;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
    font-weight: bold;
}
.doctor-2-page .presentation h4 {
    font-size: 1.0em; /*  */
    color: var(--primary-h-darker); /* 基本の文字色 */
    margin-top: 8px; /* 上の余白 */
    margin-bottom: 15px; /* 下の余白 */
    margin-left: 0;
    border-bottom: 1px solid var(--primary-color); /* 下線 */
    padding-bottom: 2px;
    font-weight: bold;
}
.doctor-2-page .post-content img {
        float: none;
        display: block;
        margin: 0 auto 20px auto;
    }    
    
    
  /* 講演実績リスト */
    
.lecture-list {
    list-style: none; /* デフォルトの黒丸などを消す */
    padding-left: 0; /* デフォルトの左パディングを消す（必要に応じて） */
    margin-bottom: 20px;
}
 .lecture-list p {
        margin-left: 0; /* スマホでは左マージンを0に戻す */
        margin-right: 0;
    }  
    
.link-page .section-title {
         font-size: 1.2em; /* スマホではさらに小さくする */
        font-weight: bold;
        margin-top: 15px; /* 上の余白を減らす */
        margin-bottom: 15px; /* 下の余白を減らす */
        margin-left: 0; /* 左側の余白をなくす */
        border-bottom: none; /* スマホでは下線をなくす */
        padding-bottom: 0; /* スマホでは下パディングも0に */
        text-align: left; /* 中央寄せにする */
    }    
.link-page .image-container {
    padding-bottom: 30px;
    padding-top: 10px;    
}
    

 /* ニュース 瑞宝中綬章受勲 */
.news2511-page .post-content img {
    width: 160px;
    float: none;
    display: block; /* Flexboxを解除し、ブロック要素の縦積みに戻す */
    text-align: center; /* photo-areaとtext-areaを中央揃えにするための基準 */
     margin: 0 auto 20px auto;
    }
    
/* てんかん相談窓口　*/    
 .form-group {
        display: block; /* 縦並びにする */
    }

    .form-group label {
        flex-basis: auto; /* 幅指定を解除 */
        display: block;
        margin-bottom: 5px;
    }
    
    .btn-area input[type="submit"],
    .btn-area .reset-button {
        width: 100%;
        margin: 5px 0;
    }   
}
/* ------------------------------------------------
    メディアクエリ (レスポンシブデザイン)
------------------------------------------------ */
/* @media screen and (max-width: 768px) { ... } */
/* 各ページ固有のスタイルにも、必要に応じてメディアクエリを適用 */
/*
@media screen and (max-width: 768px) {
    .doctor-list-page .doctor-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .doctor-list-page .doctor-item img {
        margin-bottom: 15px;
    }
}
*/

/* スマートフォン向け (最大幅 480px) */
@media screen and (max-width: 480px) {
    .site-title img {
        height: 40px;
    }
    .header-contact .tel {
        font-size: 1.5em;
    }
    .section-title {
        font-size: 1.5em;
    }
    .widget-title {
        font-size: 1.2em;
    }
}
