@charset "UTF-8";

/* =========================================================
   下層ページ共通ヘッダー (Sub Hero)
========================================================= */
.p-sub-hero-bg {
    width: 100%;
    height: 100px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.p-sub-hero-title {
    padding: 60px 0 20px;
    text-align: center;
    margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
    .p-sub-hero-bg {
        height: 100px;
    }
    .p-sub-hero-title {
        padding: 40px 0 10px;
        margin-bottom: 30px;
    }
}

/* =========================================================
   診療内容 (MEDICAL) 共通
========================================================= */
.p-medical-intro {
    text-align: center;
    margin-bottom: 60px;
    font-size: 0.95rem;
    line-height: 1.8;
}
@media screen and (max-width: 768px) {
    .p-medical-intro {
        text-align: left;
        margin-bottom: 40px;
    }
}

/* 導線グリッド (3カラム) - 診療内容トップ等で使用 */
.p-medical-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 30px;
    margin-bottom: 80px;
}
.p-medical-card {
    display: flex;
    flex-direction: column;
}
.p-medical-card__img {
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 4px;
}
.p-medical-card__img img {
    width: 100%;
    aspect-ratio: 7 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.p-medical-card:hover .p-medical-card__img img {
    transform: scale(1.05);
}
.p-medical-card__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--color-text);
    border-left: 4px solid var(--color-main);
    padding-left: 10px;
    margin-bottom: 12px;
    line-height: 1.3;
}
.p-medical-card__text {
    font-size: 0.9rem;
    color: #444;
    line-height: 1.7;
    margin-bottom: 15px;
    flex: 1;
}
.p-medical-card .c-btn-circle-arrow {
    align-self: flex-start;
}
@media screen and (max-width: 768px) {
    .p-medical-grid {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-bottom: 60px;
    }
    .p-medical-card__img img {
        aspect-ratio: 7 / 3;
    }
}

/* =========================================================
   診療内容 詳細ページ用（互い違いレイアウト等）
========================================================= */
/* セクション見出し */
.p-medical-detail-heading {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 50px;
    position: relative;
    padding-bottom: 20px;
}
.p-medical-detail-heading::before {
    display: block;
    font-family: 'rollerscript-smooth', sans-serif !important;
    color: var(--color-main);
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    margin-bottom: 5px;
    text-transform: lowercase;
}
.p-medical-detail-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background-color: var(--color-main);
}
/* 各見出しの英語ラベル設定 */
.p-medical-detail-heading--rehab::before { content: 'rehabilitation'; }
.p-medical-detail-heading--about::before { content: 'about'; }
.p-medical-detail-heading--menu::before { content: 'program menu'; }
.p-medical-detail-heading--issue::before { content: 'issue'; }
.p-medical-detail-heading--necessity::before { content: 'necessity'; }
.p-medical-detail-heading--record::before { content: 'record'; }
.p-medical-detail-heading--eval::before { content: 'evaluation'; }
.p-medical-detail-heading--usage::before { content: 'for use'; }
.p-medical-detail-heading--test::before { content: 'test'; }
.p-medical-detail-heading--cost::before { content: 'cost'; }
.p-medical-detail-heading--flow::before { content: 'flow'; }
.p-medical-detail-heading--counseling::before { content: 'counseling'; }
.p-medical-detail-heading--cbt::before { content: 'cbt'; }
.p-medical-detail-heading--support::before { content: 'support'; }
.p-medical-detail-heading--program::before { content: 'program'; }
.p-medical-detail-heading--care::before { content: 'care'; }
.p-medical-detail-heading--notes::before { content: 'notes'; }
.p-medical-detail-heading--recommend::before { content: 'recommend'; }

/* 互い違いレイアウト (Zigzag) */
.p-medical-zigzag {
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin-bottom: 80px;
}
.p-medical-zigzag-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "img content";
    gap: 0 50px;
    align-items: center;
}
.p-medical-zigzag-item:nth-child(even) {
    grid-template-areas: "content img";
}

/* 反転クラス（右画像からスタート） */
.p-medical-zigzag--reverse .p-medical-zigzag-item {
    grid-template-areas: "content img";
}
.p-medical-zigzag--reverse .p-medical-zigzag-item:nth-child(even) {
    grid-template-areas: "img content";
}

/* 左画像固定クラス（偶数番目でも反転しない） */
.p-medical-zigzag--align-left .p-medical-zigzag-item {
    grid-template-areas: "img content" !important;
}

.p-medical-zigzag__img {
    grid-area: img;
    width: 100%;
}
.p-medical-zigzag__img img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}
.p-medical-zigzag__content {
    grid-area: content;
}
.p-medical-zigzag__title {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 700;
    font-size: 1.3rem;
    color: var(--color-text);
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}
.p-medical-zigzag__title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 1.1em;
    background-color: var(--color-main);
    border-radius: 2px;
    flex-shrink: 0;
}
.p-medical-zigzag__text {
    font-size: 0.95rem;
    line-height: 1.8;
    color: #444;
}

@media screen and (max-width: 768px) {
    .p-medical-detail-heading {
        font-size: 1.4rem;
        margin-bottom: 40px;
    }
    .p-medical-zigzag {
        gap: 50px;
        margin-bottom: 60px;
    }
    .p-medical-zigzag-item,
    .p-medical-zigzag-item:nth-child(even),
    .p-medical-zigzag--reverse .p-medical-zigzag-item,
    .p-medical-zigzag--reverse .p-medical-zigzag-item:nth-child(even),
    .p-medical-zigzag--align-left .p-medical-zigzag-item {
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: stretch;
    }
    .p-medical-zigzag__title {
        font-size: 1.2rem;
        margin-bottom: 12px;
    }
    .p-medical-zigzag__img {
        width: 100%;
        order: -1;
    }
    .p-medical-zigzag__content {
        width: 100%;
    }
}

/* =========================================================
   医療リワークプログラム固有レイアウト
========================================================= */
/* --- 省略：医療リワーク用 --- */
.p-rework-about { display: flex; justify-content: space-between; gap: 50px; margin-bottom: 80px; }
.p-rework-about__left { width: 50%; }
.p-rework-about__text { font-size: 0.95rem; line-height: 1.8; color: #444; }
.p-rework-about__right { width: 50%; }
.p-rework-about-box { background-color: #f4f8f9; padding: 25px; border-radius: 8px; margin-bottom: 20px; }
.p-rework-about-box:last-child { margin-bottom: 0; }
.p-rework-about-box h3 { font-weight: 700; color: var(--color-main); font-size: 1.1rem; margin-bottom: 10px; }
.p-rework-about-box p { font-size: 0.95rem; line-height: 1.6; color: #444; }
.p-rework-staff-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.p-rework-staff-list span { display: inline-block; border: 1px solid var(--color-text); padding: 4px 12px; border-radius: 4px; font-size: 0.85rem; font-weight: 700; }
.p-rework-three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 80px; }
.p-rework-card { background-color: #f9f9f9; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.p-rework-card__img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.p-rework-card__body { padding: 20px; flex: 1; }
.p-rework-card__title { font-size: 1.1rem; font-weight: 700; margin-bottom: 10px; border-left: 3px solid var(--color-main); padding-left: 10px; line-height: 1.4; }
.p-rework-card__text { font-size: 0.9rem; line-height: 1.6; color: #444; }
.p-rework-text-sec { width: 100%; margin: 0 auto 80px; text-align: left; }
.p-rework-text-sec p { font-size: 0.95rem; line-height: 1.8; color: #444; margin-bottom: 15px; }
.p-rework-text-sec p:last-child { margin-bottom: 0; }
.p-rework-record { display: flex; justify-content: space-between; align-items: center; gap: 50px; margin-bottom: 80px; }
.p-rework-record__img { width: 45%; }
.p-rework-record__img img { width: 100%; height: auto; display: block; }
.p-rework-record__info { width: 55%; }
.p-rework-record__info p { font-size: 0.95rem; line-height: 1.8; color: #444; margin-bottom: 15px; }
.p-rework-record__list { margin-top: 20px; }
.p-rework-record__list li { position: relative; padding-left: 20px; font-size: 0.95rem; line-height: 1.8; margin-bottom: 5px; font-weight: 700; }
.p-rework-record__list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; background-color: var(--color-main); }
.p-rework-eval { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; background-color: #f4f8f9; padding: 40px; border-radius: 8px; margin-bottom: 80px; }
.p-rework-eval__list { width: 45%; background-color: #fff; padding: 25px; border-radius: 8px; }
.p-rework-eval__list h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 15px; text-align: center; }
.p-rework-eval__list ul { list-style: none; padding: 0; }
.p-rework-eval__list li { font-size: 0.9rem; line-height: 1.5; margin-bottom: 12px; padding-left: 26px; position: relative; }
.p-rework-eval__list li::before { content: ''; position: absolute; left: 0; top: 3px; width: 16px; height: 16px; background-image: url('/demo/assets/img/common/icon_check.png'); background-size: contain; background-repeat: no-repeat; }
.p-rework-eval__info { width: 50%; }
.p-rework-eval__info p { font-size: 0.95rem; line-height: 1.8; color: #444; }
@media screen and (max-width: 768px) {
    .p-rework-about { flex-direction: column; gap: 30px; }
    .p-rework-about__left, .p-rework-about__right { width: 100%; }
    .p-rework-three-col { grid-template-columns: 1fr; }
    .p-rework-record { flex-direction: column; gap: 30px; }
    .p-rework-record__img, .p-rework-record__info { width: 100%; }
    .p-rework-eval { flex-direction: column; padding: 25px 20px; gap: 25px; }
    .p-rework-eval__list, .p-rework-eval__info { width: 100%; }
}

/* =========================================================
   ご利用について (USAGE)
========================================================= */
.p-medical-usage { margin-bottom: 80px; }
.p-usage-block { margin-bottom: 40px; }
.p-usage-block:last-child { margin-bottom: 0; }
.p-usage-title { font-weight: 700; font-size: 1.1rem; color: var(--color-text); border-left: 4px solid var(--color-main); padding-left: 12px; margin-bottom: 15px; }
.p-usage-text { font-size: 0.95rem; line-height: 1.8; color: #444; }
.p-usage-highlight { color: var(--color-main); font-weight: 700; margin-bottom: 5px; display: block; }
.p-daycare-links-wrap { display: flex; justify-content: space-between; align-items: center; gap: 50px; margin-top: 60px; padding-top: 60px; border-top: 1px solid #eee; }
.p-daycare-links__img { width: 45%; }
.p-daycare-links__img img { width: 100%; border-radius: 4px; }
.p-daycare-links__content { width: 55%; }
.p-daycare-links__title { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; }
.p-daycare-links__text { font-size: 0.9rem; color: #666; margin-bottom: 20px; }
.p-daycare-links__list { display: flex; flex-direction: column; gap: 10px; }
.p-daycare-link-btn { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border: 1px solid #ccc; border-radius: 4px; font-weight: bold; color: var(--color-text); transition: all 0.3s; }
.p-daycare-link-btn:hover { border-color: var(--color-main); color: var(--color-main); }
@media screen and (max-width: 768px) {
    .p-daycare-links-wrap { flex-direction: column; gap: 30px; margin-top: 40px; padding-top: 40px; }
    .p-daycare-links__img, .p-daycare-links__content { width: 100%; }
}

/* =========================================================
   受診の流れ (画像＋テキスト) - 心理検査・PMH・カウンセリング共通
========================================================= */
.p-medical-flow { margin-bottom: 80px; }
.p-medical-flow-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 50px; margin-bottom: 60px; padding-bottom: 60px; border-bottom: 1px solid #eaeaea; }
.p-medical-flow-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.p-medical-flow-item__info { width: 50%; }
.p-medical-flow-item__img { width: 45%; border-radius: 4px; overflow: hidden; background: #e0e0e0; }
.p-medical-flow-item__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.p-medical-flow-step { font-family: 'Noto Sans JP', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--color-main); margin-bottom: 5px; letter-spacing: 0.05em; }
.p-medical-flow-title { font-size: 1.3rem; font-weight: 700; color: var(--color-text); margin-bottom: 15px; line-height: 1.3; }
.p-medical-flow-desc { font-size: 0.95rem; line-height: 1.8; color: #444; }

@media screen and (max-width: 768px) {
    .p-medical-flow-item { flex-direction: column; gap: 25px; margin-bottom: 40px; padding-bottom: 40px; }
    .p-medical-flow-item__info, .p-medical-flow-item__img { width: 100%; }
}

/* =========================================================
   心理検査 (PSYCHOLOGICAL TEST) 固有レイアウト
========================================================= */
.p-medical-test-list { margin-bottom: 80px; }
.p-medical-test-list dl { margin-bottom: 25px; }
.p-medical-test-list dl:last-child { margin-bottom: 0; }
.p-medical-test-list dt { font-weight: 700; font-size: 1.15rem; color: var(--color-text); margin-bottom: 10px; border-left: 4px solid var(--color-main); padding-left: 10px; line-height: 1.4; }
.p-medical-test-list dd { font-size: 0.95rem; line-height: 1.8; color: #444; padding-left: 14px; }

/* 受診の流れ (画像＋テキスト) */
.p-medical-flow { margin-bottom: 80px; }
.p-medical-flow-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 50px; margin-bottom: 60px; padding-bottom: 60px; border-bottom: 1px solid #eaeaea; }
.p-medical-flow-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.p-medical-flow-item__info { width: 50%; }
.p-medical-flow-item__img { width: 45%; border-radius: 4px; overflow: hidden; background: #e0e0e0; }
.p-medical-flow-item__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.p-medical-flow-step { font-family: 'Noto Sans JP', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--color-main); margin-bottom: 5px; letter-spacing: 0.05em; }
.p-medical-flow-title { font-size: 1.3rem; font-weight: 700; color: var(--color-text); margin-bottom: 15px; line-height: 1.3; }
.p-medical-flow-desc { font-size: 0.95rem; line-height: 1.8; color: #444; }

@media screen and (max-width: 768px) {
    .p-medical-flow-item { flex-direction: column; gap: 25px; margin-bottom: 40px; padding-bottom: 40px; }
    .p-medical-flow-item__info, .p-medical-flow-item__img { width: 100%; }
}

/* =========================================================
   心理カウンセリング (COUNSELING) 固有レイアウト
========================================================= */
/* こころの専門家等のリスト（チェックアイコン） */
.p-counseling-list { margin-top: 15px; }
.p-counseling-list li { position: relative; padding-left: 22px; margin-bottom: 8px; font-size: 0.95rem; color: #444; line-height: 1.6; }
.p-counseling-list li::before { content: ''; position: absolute; left: 0; top: 3px; width: 14px; height: 14px; background-image: url('/demo/assets/img/common/icon_check.png'); background-size: contain; background-repeat: no-repeat; }

/* 主な精神疾患（黒枠のリスト） */
.p-counseling-illness-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
.p-counseling-illness-list span { border: 1px solid #333; padding: 6px 15px; border-radius: 4px; font-size: 0.9rem; color: #333; font-weight: 700; }

/* 認知行動療法：フロー図 */
.p-cbt-list { margin-top: 25px; }
.p-cbt-item { display: flex; align-items: flex-start; margin-bottom: 12px; }
.p-cbt-item:last-child { margin-bottom: 0; }
.p-cbt-label-wrap { display: flex; flex-direction: column; align-items: center; margin-right: 15px; flex-shrink: 0; }
.p-cbt-label { background-color: #333; color: #fff; font-size: 0.85rem; font-weight: 700; width: 60px; text-align: center; padding: 5px 0; border-radius: 4px; }
.p-cbt-arrow { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid #333; margin-top: 4px; }
.p-cbt-text { font-size: 0.95rem; color: #444; line-height: 1.6; padding-top: 4px; }

/* 費用について（料金ボックス） */
.p-counseling-price-box { background-color: #f4f8f9; padding: 25px; border-radius: 8px; margin-top: 20px; }
.p-counseling-price-box dl { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; border-bottom: 1px solid #ddd; padding-bottom: 15px; }
.p-counseling-price-box dl:last-child { margin-bottom: 0; border-bottom: none; padding-bottom: 0; }
.p-counseling-price-box dt { font-weight: 700; color: var(--color-text); font-size: 1rem; }
.p-counseling-price-box dd { font-weight: 700; color: #444; font-size: 1rem; }
@media screen and (max-width: 768px) {
    .p-counseling-price-box { padding: 20px 15px; }
    .p-counseling-price-box dl { flex-direction: column; align-items: flex-start; gap: 5px; }
}

/* =========================================================
   周産期メンタルヘルス (PMH) 固有レイアウト
========================================================= */

/* --- よくある症状 (画像 + リスト) --- */
.p-pmh-symptoms {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
    margin-bottom: 80px;
}
.p-pmh-symptoms__img { width: 45%; }
.p-pmh-symptoms__img img { width: 100%; border-radius: 4px; aspect-ratio: 4 / 3; object-fit: cover; }
.p-pmh-symptoms__content { width: 50%; }
.p-pmh-symptoms__title { font-size: 1.2rem; font-weight: 700; margin-bottom: 15px; border-left: 4px solid var(--color-main); padding-left: 10px; }
.p-pmh-symptoms__list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.p-pmh-symptoms__list li { position: relative; padding-left: 20px; font-size: 0.95rem; line-height: 1.6; }
.p-pmh-symptoms__list li::before { content: ''; position: absolute; left: 0; top: 5px; width: 14px; height: 14px; background-image: url('/demo/assets/img/common/icon_check.png'); background-size: contain; background-repeat: no-repeat; }

@media screen and (max-width: 768px) {
    .p-pmh-symptoms { flex-direction: column; gap: 30px; }
    .p-pmh-symptoms__img, .p-pmh-symptoms__content { width: 100%; }
}

/* --- 妊娠から出産後までのサポート（フロー図） --- */
.p-pmh-flow-wrap {
    max-width: 900px;
    margin: 0 auto 100px;
    position: relative;
}
/* ヘッダー部分 */
.p-pmh-flow-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    align-items: flex-end;
}
.p-pmh-flow-header__left,
.p-pmh-flow-header__right {
    width: 38%;
    text-align: center;
    font-weight: 700;
    color: var(--color-main);
    font-size: 1.1rem;
}
.p-pmh-flow-header__right .support-label {
    display: block;
    background-color: var(--color-main);
    color: #fff;
    font-size: 0.85rem;
    padding: 5px 10px;
    border-radius: 4px;
    margin-top: 10px;
    font-weight: bold;
}
/* 中央を貫くオレンジの直線と矢印 */
.p-pmh-flow-line {
    position: absolute;
    top: 80px;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    background-color: var(--color-main);
    z-index: 1;
}
.p-pmh-flow-line::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 20px solid var(--color-main);
}
/* 各ステップの行 */
.p-pmh-flow-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
}
.p-pmh-flow-row:last-child {
    margin-bottom: 0;
}
/* 左右のテキストボックス */
.p-pmh-flow-box {
    width: 38%;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.6;
    font-weight: bold;
    color: #444;
}
.p-pmh-flow-box--left { background-color: #f0f4f8; } /* 産婦人科 */
.p-pmh-flow-box--right { background-color: #fff5e0; } /* 精神科 */
.p-pmh-flow-box.is-empty { background-color: transparent; }

/* 中央の時期ラベル */
.p-pmh-flow-time {
    width: 20%;
    background-color: #fff;
    border: 2px solid var(--color-main);
    border-radius: 8px; 
    text-align: center;
    padding: 8px 0;
    font-weight: 700;
    color: var(--color-main);
    font-size: 1rem;
}

@media screen and (max-width: 768px) {
    .p-pmh-flow-header { display: none; }
    .p-pmh-flow-line { left: 20px; top: 20px; }
    .p-pmh-flow-line::after { bottom: -10px; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 15px solid var(--color-main); }
    .p-pmh-flow-row { flex-direction: column; align-items: flex-start; padding-left: 50px; margin-bottom: 40px; }
    .p-pmh-flow-time { width: auto; padding: 5px 20px; margin-bottom: 15px; }
    .p-pmh-flow-box { width: 100%; text-align: left; margin-bottom: 10px; }
    .p-pmh-flow-box.is-empty { display: none; }
    .p-pmh-flow-box::before { content: attr(data-label); display: block; font-weight: 700; color: var(--color-main); font-size: 0.85rem; margin-bottom: 5px; }
}

/* --- 受診時のご注意 (2カラム・カードグリッド) --- */
.p-pmh-notes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 80px;
}
.p-pmh-notes-card {
    background-color: #f4f8f9;
    padding: 30px;
    border-radius: 8px;
}
.p-pmh-notes-card--full {
    grid-column: 1 / -1; /* 診察時間テーブル用に全幅確保 */
}
.p-pmh-notes-title {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--color-main);
    margin-bottom: 15px;
    border-bottom: 2px solid #eaeaea;
    padding-bottom: 10px;
}
.p-pmh-notes-text {
    font-size: 0.95rem;
    line-height: 1.8;
    color: #444;
}
.p-pmh-notes-text ul {
    padding-left: 20px;
    margin-bottom: 15px;
}
.p-pmh-notes-text ul li {
    list-style-type: none; /* ドットから・に変更する場合 */
    margin-bottom: 5px;
}
.p-pmh-clinic-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}
.p-pmh-clinic-list span {
    background-color: #fff;
    border: 1px solid #ccc;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #444;
}

@media screen and (max-width: 768px) {
    .p-pmh-notes-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* =========================================================
   当院の特徴 (FEATURES) - トップページ共通スタイル
========================================================= */
.p-features {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}
.p-feature-item {
    width: calc(33.333% - 20px);
    background: linear-gradient(135deg, #f4f8f9 0%, #eaf1ef 100%);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}
.p-feature-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.p-feature-item__img {
    width: 100%;
    overflow: hidden;
}
.p-feature-item__img img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.p-feature-item:hover .p-feature-item__img img {
    transform: scale(1.05);
}
.p-feature-item__txt {
    padding: 30px 25px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.p-feature-item__header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 15px;
}
.p-feature-item__num {
    font-family: var(--font-gothic);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--color-main);
    line-height: 1;
}
.p-feature-item__txt h3 {
    font-family: var(--font-gothic);
    color: var(--color-text);
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 0;
}
.p-feature-item__txt p {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.8;
}
@media screen and (max-width: 768px) {
    .p-features {
        flex-direction: column;
        gap: 25px;
    }
    .p-feature-item {
        width: 100%;
    }
    .p-feature-item__txt {
        padding: 25px 20px;
    }
}

/* ==============================================
   ADHD治験のご案内 (p-trial)
============================================== */
.p-trial__lead {
    font-size: 1.125rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}

.p-trial__block {
    margin-bottom: 4rem;
}
.p-trial__block--mt {
    margin-top: 6rem;
}

/* 2カラムレイアウト */
.p-trial__col2 {
    display: flex;
    align-items: center;
    gap: 3rem;
    margin-bottom: 3rem;
}
.p-trial__col2--rev {
    flex-direction: row-reverse;
}
.p-trial__col2:last-child {
    margin-bottom: 0;
}
.p-trial__col2-img {
    width: 45%;
}
.p-trial__col2-img img {
    width: 100%;
    height: auto;
    border-radius: 8px; /* デザインに合わせて調整してください */
}
.p-trial__col2-text {
    width: 55%;
}

/* 見出し */
.p-trial__h2 {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333; /* サイトのメインカラーに調整してください */
    margin-bottom: 1.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #ccc;
}
.p-trial__h3 {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 1rem;
    color: #333;
}

/* チェックアイコン付きリスト */
.p-trial__check-list {
    margin-bottom: 1.5rem;
}
.p-trial__check-list li {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: 0.5rem;
    line-height: 1.6;
}
.p-trial__check-list li::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    left: 0;
    width: 1.2rem;
    height: 1.2rem;
    background-image: url('/demo/assets/img/common/icon_check.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* テキスト・注釈類 */
.p-trial__note {
    font-size: 0.875rem;
    color: #666;
    line-height: 1.6;
}
.p-trial__note p {
    margin-bottom: 0.3rem;
}
.p-trial__mt-text {
    margin-top: 1.5rem;
}
.p-trial__content {
    margin-top: 3rem;
    line-height: 1.8;
}
.p-trial__protocol-num {
    font-weight: bold;
    margin-top: 2rem;
    text-align: center;
}
.p-trial__tel-btn {
    margin-top: 2rem;
    text-align: center;
}
.p-trial__tel-btn .c-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 1rem 3rem;
    background-color: #333; /* サイトのアクセントカラーに調整してください */
    color: #fff;
    border-radius: 50px;
    text-decoration: none;
    transition: opacity 0.3s ease;
}
.p-trial__tel-btn .c-btn:hover {
    opacity: 0.8;
}

/* --- レスポンシブ (SP) --- */
@media screen and (max-width: 768px) {
    .p-trial__lead {
        font-size: 1rem;
        text-align: left;
    }
    .p-trial__col2,
    .p-trial__col2--rev {
        flex-direction: column;
        gap: 1.5rem;
    }
    .p-trial__col2--rev-sp {
        flex-direction: column-reverse; /* SP時にテキストを上にしたい場合はこちらを調整 */
    }
    .p-trial__col2-img,
    .p-trial__col2-text {
        width: 100%;
    }
    .p-trial__tel-btn .c-btn {
        width: 100%;
        padding: 1rem;
        font-size: 1.25rem;
    }
}
