/* ============================================================
   kamoku.css - 診療科別ページ共通スタイル
   対象: kamoku/{科目名}/index.php
   ============================================================ */

/* ============================================================
   1. ユーティリティ
   ============================================================ */

.__bg_blue { background-color: #eaf3f9;}
.__bg_blue_page { background-color: #f1f6ff;}
.__color_blue { color: #009166;}
.__color_blue_page { color: #009166;}
.__color_blue_page_mini { color: #009166; font-size: 0.75em;}
.__color_page_mini { font-size: 0.75em;}
.__br_sp { /* SP のみ改行：PC では非表示 */}

@media only screen and (min-width: 768px) {
  .__br_sp { display: none;}
}

.__fs_18 { font-size: 15px;}

@media only screen and (min-width: 768px) {
  .__fs_18 { font-size: 18px;}
}

.__fs_24 { font-size: 16px;}

@media only screen and (min-width: 768px) {
  .__fs_24 { font-size: clamp(20px, 1.88vw, 24px);}
}

.__fs_36 { font-size: 24px;}

@media only screen and (min-width: 768px) {
  .__fs_36 { font-size: clamp(28px, 2.8vw, 36px); white-space: nowrap;}
}

section div p.__ta_center { text-align: center;}
/* p.link は common.css の標準デザイン（p.link.base-btn2.whiteBg）に統一 */

/* ============================================================
   2. レイアウト共通
   ============================================================ */

.__inner_content { width: 95%; margin: 0 auto;}

@media only screen and (min-width: 768px) {
  .__inner_content { max-width: 1250px;}
}

@media only screen and (max-width: 767px) {
  .__inner_content { padding: 0 8px;}
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .__inner_content { padding: 0 16px;}
}

/* ============================================================
   3. パンくずリスト
   ============================================================ */

.breadcrum-wrapper { /*background: linear-gradient(to right, #01aba5, #1C9F91);*/ background: #f5f7f9; padding: 4px;}
.breadcrum-wrapper_lp { background-color: #1C9F91; padding: 4px 0;}
.breadcrum { padding: 10px;}
.breadcrum, .breadcrum span,
.breadcrum a { color: #666666; font-size: 11px;}

/* ============================================================
   4. ファーストビュー（._med_dept_fv）
   ============================================================ */

.page ._med_dept_fv { width: 100%; height: 95vw; max-height: 460px; background-color: #fff; position: relative;}
/* パンくず（FV下部に接続。value/occupancyrate の .vn-breadcrumb 準拠デザイン） */
.page ._med_dept_fv .breadcrum-wrapper { position: absolute; bottom: 0; left: 0; right: 0; height: 36px; display: flex; align-items: center; padding: 0; z-index: 2;}
.page ._med_dept_fv .breadcrum-wrapper .breadcrum a { text-decoration: none;}

@media only screen and (min-width: 768px) {
  .page ._med_dept_fv { height: 40vw; max-height: 530px;}
}

.page ._med_dept_fv .__inner_content { height: 100%;}
.page ._med_dept_fv .__fv { height: 100%; padding: 3vw 0; position: relative; z-index: 1;}
.page ._med_dept_fv .__fv_img { display: block; width: 44%; position: absolute; bottom: 12%; right: -2.2%; z-index: -1;}

@media only screen and (min-width: 768px) {
  .page ._med_dept_fv .__fv_img { width: 50%; bottom: 0%;}
}

/* 小児科FV画像のみ拡大用（他ページに影響しない上書き専用クラス） */
.page ._med_dept_fv .__fv_img.__fv_img_shonika { width: 50%;}

@media only screen and (min-width: 768px) {
  .page ._med_dept_fv .__fv_img.__fv_img_shonika { width: 46%;}
}

._med_dept_fv .__fv h1 { text-align: left; margin: 0; padding: 0; font-weight: 700;}
/* 診療科目バッジ「●●科向け」：/products/line の医療機関向けバッジと同一デザイン（緑文字+緑ボーダーのピル型） */
._med_dept_fv .__fv h1 .__fv__prefix { display: inline-block; font-size: clamp(14px, 1.8vw, 20px); font-weight: 500; color: #11877a; background-color: #fff; border: 2px solid #11877a; border-radius: 999px; padding: 0.35em 1.1em; margin-bottom: 0.6em; line-height: 1.4;}
._med_dept_fv .__fv h1 .__fv__title { font-size: clamp(22px, 4.68vw, 36px); line-height: 1.46; color: #222; margin-bottom: 20px;}

@media only screen and (min-width: 768px) {
  ._med_dept_fv .__fv h1 .__fv__title { font-size: clamp(28px, 3.75vw, 46px);}
}

.page ._med_dept_fv .__fv .__fv__subtitle { font-size: clamp(16px, 3.12vw, 24px); font-weight: 700; color: #444; text-align: left; margin: 0;}

@media only screen and (min-width: 768px) {
  .page ._med_dept_fv .__fv .__fv__subtitle { font-size: clamp(22px, 2.34vw, 22px);}
}

/* __fv__subtitleの下30pxに、本文と同じ左寄せで配置（絶対配置をやめ通常フローに） */
.page ._med_dept_fv .__fv .__fv_btns { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; margin-top: 30px;}
.page ._med_dept_fv .__fv .__fv_btns .__btnbg_blue { background: #fff; border: #1d57c7 2px solid; color: #005bab;}
/* ---- 資料請求ボタン（共通Bパターン：.base-btn.btn-round-arrow.btn-select） ---- */
.page ._med_dept_fv .__fv .__fv_btns .base-btn { max-width: 100%;}

/* ============================================================
   5. セクション見出し（h2）
   ============================================================ */

._med_dept div h2 { font-size: clamp(20px, 3.9vw, 30px); font-weight: 700; color: #222; background: none; padding: 0; margin-bottom: 30px; text-align: center;}

@media only screen and (min-width: 768px) {
  ._med_dept div h2 { font-size: clamp(18px, 3.8vw, 42px); margin-bottom: 50px;}
}

._med_dept div h2 span { font-size: inherit; color: inherit; padding: 0;}
._med_dept div h2 .__color_blue_page { color: #009166;}
.page ._med_dept h2.__page_h2_underline { position: relative; margin-bottom: 80px;}
.page ._med_dept h2.__page_h2_underline::after { display: block; content: ""; width: 7.6%; height: 4px; background-color: #009166; position: absolute; bottom: -26px; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%);}

/* ============================================================
   6. アンカーリンク
   ============================================================ */

/* パンくずと同じく横100%の背景色。中身（ul.anchor）はPCでW1250pxの.__inner_contentで中央寄せ */
._med_dept.anchor_wrapper { background-color: #e5eef4;}
._med_dept ul.anchor { display: flex; flex-wrap: wrap; margin: 0; padding: 3% 2%;}
._med_dept ul.anchor li { padding: 0 2%;}
._med_dept ul.anchor li a { text-decoration: underline; color: #1B6CB4; font-weight: bold; padding: 6px 0;}
._med_dept ul.anchor li a::before { content: ""; display: inline-block; width: 20px; height: 20px; background-image: url('../images/arrow_forward_ios_26dp.svg'); background-position: center; background-size: contain; padding-right: 6px; margin: auto; vertical-align: middle;}

@media only screen and (min-width: 768px) {
  ._med_dept ul.anchor li a { padding: 0; font-size: 13px;}
}

/* ============================================================
   7. 課題セクション（.__problem）
   ============================================================ */

.page ._med_dept .__problem { padding: 12% 0 10%; position: relative;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__problem { padding: 100px 0 70px;}
}

.page ._med_dept .__problem_list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap;}
.page ._med_dept .__problem_list li { width: 60%; margin: 0 auto 30px; position: relative;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__problem_list li { width: 29.9%; margin: 0;}
}

.page ._med_dept .__problem_list li img { width: 100%;}
.page ._med_dept .__problem_list li p { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: absolute; width: 100%; height: 25.2vw; text-align: center; top: 0; left: 0;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__problem_list li p { height: 12.6vw; max-height: 152px;}
}

.page ._med_dept .__problem_list li p span { font-size: clamp(16px, 3.38vw, 26px); font-weight: 500; line-height: 1.38;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__problem_list li p span { font-size: clamp(16px, 2.15vw, 26px);}
}

.page ._med_dept .__problem::after { display: block; content: ""; width: 0; height: 0; border-style: solid; border-width: 6.6vw 11.9vw 0 11.9vw; border-color: #ffffff transparent transparent transparent; position: absolute; top: 100%; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%);}

/* ============================================================
   8. 解決策セクション（.__mr_solutions）
   ============================================================ */

.page ._med_dept .__mr_solutions { padding: 12% 0 10%;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions { padding: 176px 3.8% 101px;}
}

.page ._med_dept .__mr_solutions .__solution_list { width: 100%; background-color: #fff; border-radius: 60px; padding: 50px 3.8% 70px;}

@media only screen and (max-width: 767px) {
  .page ._med_dept .__mr_solutions .__solution_list { border-radius: 20px; padding: 24px 4% 40px;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution { margin-bottom: 50px;}

@media only screen and (max-width: 767px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution { margin-bottom: 30px;}
}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution { margin-bottom: 90px;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution__head { margin-bottom: 30px;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution__head { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0 0 50px 8%;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution__head .__sol_no { display: block; text-align: center; font-family: "Jost", sans-serif; font-size: clamp(60px, 9.63vw, 74px); line-height: 1; color: #e5f4ef; margin-bottom: 0.1em;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution__head .__sol_no { font-size: clamp(64px, 6.77vw, 130px); margin-bottom: 0;}
}

._med_dept .__mr_solutions .__solution_list .__solution__head h2 { font-size: clamp(22px, 3.9vw, 30px); line-height: 1.25; color: #009166; text-align: center; margin: 0; margin-bottom: 0;}
._med_dept .__mr_solutions .__solution_list .__solution__head h2 small { font-size: clamp(12px, 1.82vw, 14px); color: inherit;}

@media only screen and (min-width: 768px) {
  ._med_dept .__mr_solutions .__solution_list .__solution__head h2 { font-size: clamp(24px, 3.1vw, 40px); text-align: left; margin-left: 0.8em;}
  ._med_dept .__mr_solutions .__solution_list .__solution__head h2 small { font-size: clamp(12px, 1.49vw, 18px);}
}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution__body { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; margin: 8%;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_text { width: 100%;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_text { width: 46%;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_text p { font-size: clamp(16px, 1.81vw, 22px); text-align: left;}
.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_img { width: 100%; margin-bottom: 20px;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_img { width: 44.3%; margin-bottom: 0;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_img img { width: 100%;}
.page ._med_dept .__mr_solutions .__solution_list .__solution:last-child { margin-bottom: 0;}
/* --- __solution__body02 / __sol_text02（婦人科など） --- */
.page ._med_dept .__mr_solutions .__solution_list .__solution__body02 h3 { text-align: center; margin: 6% 0 3% 0;}
.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_text02 h3 { text-align: center; margin: 6% 0 3% 0;}
.page ._med_dept .__mr_solutions .__solution_list .__solution__body02 p { text-align: center;}
.page ._med_dept .__mr_solutions .__solution_list .__solution__body02 img { margin-bottom: 4%; width: 100%;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__solution__body02 { margin: 8%;}
}

.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_text02,
.page ._med_dept .__mr_solutions .__solution_list .__solution__body02 .__sol_text02 { width: 100%;}
.page ._med_dept .__mr_solutions .__solution_list .__solution__body .__sol_text02 p,
.page ._med_dept .__mr_solutions .__solution_list .__solution__body02 .__sol_text02 p { font-size: clamp(16px, 1.81vw, 22px); text-align: left;}
.page_naishikyou .__fv_img { width: 54%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_naishikyou .__fv_img { width: 50%; bottom: 4%;}
}

/* --- 解決策: テキスト全幅（__sol_text_full） --- */

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__sol_text_full .__sol_text { width: 100%;}
}

/* --- 解決策: 縦積みレイアウト（__sol_body_stack） --- */

@media only screen and (min-width: 768px) {
  .page ._med_dept .__mr_solutions .__solution_list .__sol_body_stack { flex-direction: column;}
  .page ._med_dept .__mr_solutions .__solution_list .__sol_body_stack .__sol_img,
  .page ._med_dept .__mr_solutions .__solution_list .__sol_body_stack .__sol_text { width: 100%;}
  .page ._med_dept .__mr_solutions .__solution_list .__sol_body_stack .__sol_img { margin-bottom: 24px;}
}

/* --- 解決策 全幅画像（__sol_img_wide） --- */
.__sol_img_wide { margin-top: 24px;}
.__sol_img_wide img { display: block; width: 100%;}
/* --- 解決策 2枚横並び画像（biyou_img_pair） --- */
.__sol_img_wide.biyou_img_pair { display: -webkit-box; display: -ms-flexbox; display: flex; gap: 16px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
.__sol_img_wide.biyou_img_pair img { width: calc(50% - 8px);}
.__sol_img_wide.biyou_img_pair figure { width: calc(50% - 8px);}
.__sol_img_wide.biyou_img_pair figure img { width: 100%; display: block;}
.__sol_img_wide.biyou_img_pair figcaption { font-size: 13px; line-height: 1.6; margin-top: 8px; color: #333;}
/* --- 5枚グリッド（hifuka 04） --- */
.__sol_img_wide.hifuka_img_grid { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start;}
.__sol_img_wide.hifuka_img_grid img { width: calc(33.333% - 8px);}

@media only screen and (max-width: 767px) {
  .__sol_img_wide.hifuka_img_grid img { width: calc(50% - 6px);}
}

@media only screen and (max-width: 767px) {
  .__sol_img_wide.biyou_img_pair { gap: 8px;}
}

/* --- 小児科: カレンダー基本機能 5選リスト --- */
.shouni_calendar_list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 12px; margin-top: 24px; justify-content: space-between;}
.shouni_calendar_list figure { width: calc(33.3% - 8px); margin: 0; text-align: center;}

@media only screen and (min-width: 768px) {
  .shouni_calendar_list figure { width: calc(20% - 10px);}
}

.shouni_calendar_list figure img { width: 100%;}
.shouni_calendar_list figure figcaption { font-size: 12px; color: #555; margin-top: 6px; line-height: 1.4;}
/* --- 小児科: 医師の声 --- */
section.short_voice p.shouni_doctor::before { content: ""; display: block; width: 120px; height: 120px; background-image: url('../images/kamoku/doctor01-min.webp'); background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; top: -60px; left: -128px;}

@media only screen and (max-width: 767px) {
  section.short_voice p.shouni_doctor::before { width: 70px; height: 70px; top: -30px; left: -80px;}
}

/* --- 美容皮膚科: FV --- */
.page_biyohifuka .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_biyohifuka .__fv_img { width: 48%; bottom: 4%;}
}

/* --- 美容皮膚科: 医師の声 --- */
section.short_voice p.biyou_doctor::before { content: ""; display: block; width: 120px; height: 120px; background-image: url('../images/kamoku/doctor01-min.webp'); background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; top: -60px; left: -128px;}

@media only screen and (max-width: 767px) {
  section.short_voice p.biyou_doctor::before { width: 70px; height: 70px; top: -30px; left: -80px;}
}

/* --- 精神科・心療内科: FV --- */
.page_seishinka .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_seishinka .__fv_img { width: 48%; bottom: 4%;}
}

/* --- 眼科: FV --- */
.page_ganka .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_ganka .__fv_img { width: 48%; bottom: 4%;}
}

/* --- 皮膚科: FV --- */
.page_hifuka .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_hifuka .__fv_img { width: 48%; bottom: 4%;}
}

.page_hifuka .__fv__caption { font-size: 12px; color: #555; margin-top: 4px;}
/* --- 耳鼻咽喉科: FV --- */
.page_jibika .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_jibika .__fv_img { width: 48%; bottom: 4%;}
}

/* --- 健診センター: FV --- */
.page_kenshin .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_kenshin .__fv_img { width: 48%; bottom: 4%;}
}

/* --- 子育て支援センター: FV --- */
.page_childcarecenter .__fv_img { width: 52%; bottom: 0;}

@media only screen and (min-width: 768px) {
  .page_childcarecenter .__fv_img { width: 48%; bottom: 4%;}
}

/* --- 子育て支援センター: 導入までの流れ --- */
.childcarecenter_flow { padding: 12% 0 10%;}
.childcarecenter_flow h2 { font-size: 28px; font-weight: 700; text-align: center; margin-bottom: 48px;}
.childcarecenter_flow_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column;}
.childcarecenter_flow_list li { display: flex; align-items: flex-start; gap: 24px; padding: 24px 0; border-top: 1px solid #d9e8f5;}
.childcarecenter_flow_list li:last-child { border-bottom: 1px solid #d9e8f5;}
.childcarecenter_flow_list .flow_step { display: inline-block; background: #009166; color: #fff; font-size: 13px; font-weight: 700; padding: 4px 12px; border-radius: 4px; white-space: nowrap; flex-shrink: 0; margin-top: 2px;}
.childcarecenter_flow_list li h3 { font-size: 18px; font-weight: 700; margin: 0 0 6px;}
.childcarecenter_flow_list li p { font-size: 15px; line-height: 1.7; margin: 0; color: #444;}

@media only screen and (max-width: 767px) {
  .childcarecenter_flow { padding: 48px 0 40px;}
  .childcarecenter_flow h2 { font-size: 22px; margin-bottom: 32px;}
  .childcarecenter_flow_list li { flex-direction: column; gap: 8px; padding: 20px 0;}
}

/* --- 子育て支援センター: 導入施設の声 --- */
.childcarecenter_voice { background: #f7f9fa;}
.childcarecenter_voice_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 40px;}
.childcarecenter_voice_list li { display: flex; gap: 32px; align-items: flex-start;}
.childcarecenter_voice_list li img { width: 200px; flex-shrink: 0; border-radius: 8px; object-fit: cover;}
.childcarecenter_voice_list li blockquote { margin: 0; padding: 0;}
.childcarecenter_voice_list li blockquote p { font-size: 16px; line-height: 1.8; margin-bottom: 8px;}
.childcarecenter_voice_list li blockquote cite { font-size: 14px; font-weight: 700; color: #555; font-style: normal;}

@media only screen and (max-width: 767px) {
  .childcarecenter_voice_list li { flex-direction: column; gap: 16px;}
  .childcarecenter_voice_list li img { width: 100%;}
}

/* ============================================================
   9. オペレーションセクション（.__operations）
   ============================================================ */

.page ._med_dept .__operations { padding: 12% 0 10%;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__operations { padding: 50px 0 80px;}
}

.page ._med_dept .__operations_list,
._med_dept .__operations_list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__operations_list { width: 87.5%; margin: 0 auto;}
}

.page ._med_dept .__operations_list li { width: 100%; background: #fff; border-radius: 20px; -webkit-box-shadow: 0px 0px 50px rgba(133, 155, 219, 0.2); box-shadow: 0px 0px 50px rgba(133, 155, 219, 0.2); padding: 4.4%; /*margin-bottom: 60px;*/}

@media only screen and (max-width: 767px) {
  .page ._med_dept .__operations_list li { margin-bottom: 30px;}
}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__operations_list li,
  ._med_dept .__operations_list li { width: 48%;}
  .page ._med_dept .__operations_list li.__pc_mb0,
  ._med_dept .__operations_list li.__pc_mb0 { margin-bottom: 0;}
}

.page ._med_dept .__operations_list li:last-child { margin-bottom: 0;}
.page ._med_dept .__operations_list li img { width: 60%; display: block; margin: 0 auto;}
.page ._med_dept .__operations_list li h3 { font-size: clamp(22px, 3.38vw, 26px); font-weight: 700; text-align: center; margin: 27px 0 12px;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__operations_list li h3 { font-size: 26px;}
}

.page ._med_dept .__operations_list p { font-size: 16px; text-align: left;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__operations_list p { text-align: center;}
}

.page ._med_dept .__operations_list li p { font-size: 16px; text-align: left;}
/* --- 3カラムレイアウト（__operations_list_3col） --- */

@media only screen and (min-width: 768px) {
  .page ._med_dept .__operations_list_3col li { width: 30%;}
  .page ._med_dept .__operations_list_3col li.__pc_mb0 { margin-bottom: 0;}
}

/* ============================================================
   10. 利用クリニックの声（section.short_voice）
   ============================================================ */

section.short_voice div h2 { margin-bottom: 110px;}
section.short_voice p { display: block; background-color: #EAF0F6; border-top-right-radius: 30px; border-bottom-right-radius: 30px; border-bottom-left-radius: 30px; margin: 0 2% 80px 140px; padding: 30px 40px; position: relative; font-weight: bold;}
section.short_voice p[class^="doctor"]::before { content: ""; display: block; width: 120px; height: 120px; background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; top: -60px; left: -128px;}
section.short_voice p.doctor01::before { background-image: url('../images/kamoku/doctor01-min.webp');}
section.short_voice p.doctor02::before { background-image: url('../images/kamoku/doctor02-min.webp');}
section.short_voice p.doctor03::before { background-image: url('../images/kamoku/doctor03-min.webp');}
section.short_voice p.doctor04::before { background-image: url('../images/kamoku/doctor04-min.webp');}
section.short_voice p.doctor05::before { background-image: url('../images/kamoku/doctor05-min.webp');}
section.short_voice p.naishi_doctor::before { content: ""; display: block; width: 120px; height: 120px; background-image: url('../images/kamoku/doctor01-min.webp'); background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; top: -60px; left: -128px;}

@media only screen and (max-width: 767px) {
  section.short_voice div h2 { margin-bottom: 70px;}
  section.short_voice p { margin: 0 0 60px 80px; padding: 16px 20px;}
  section.short_voice p.naishi_doctor::before { width: 70px; height: 70px; top: -30px; left: -80px;}
  section.short_voice p[class^="doctor"]::before { width: 70px; height: 70px; top: -30px; left: -80px;}
}

/* ============================================================
   11. 科目別専用（option_list / line_point）
   ============================================================ */

/* --- おすすめオプション（婦人科・整形外科・内視鏡内科 共通構造） --- */
.page ._med_dept .__options .fujinka_option_list,
.page ._med_dept .__options .seikei_option_list,
.page ._med_dept .__options .naishi_option_list { display: flex; margin: 0;}
.page ._med_dept .__options .fujinka_option_list img.fujinka_option_item,
.page ._med_dept .__options .seikei_option_list img.seikei_option_item,
.page ._med_dept .__options .naishi_option_list img.naishi_option_item { width: 22%; min-width: 0; flex-shrink: 1; object-fit: contain;}
.page ._med_dept .__options .fujinka_option_list img.fujinka_option_plus,
.page ._med_dept .__options .seikei_option_list img.seikei_option_plus,
.page ._med_dept .__options .naishi_option_list img.naishi_option_plus { width: 8%; min-width: 0; flex-shrink: 1; object-fit: contain;}

@media only screen and (min-width: 768px) {
  .page ._med_dept .__options .fujinka_option_list,
  .page ._med_dept .__options .seikei_option_list,
  .page ._med_dept .__options .naishi_option_list { margin: 0 10%;}
}

/* --- 整形外科・婦人科: おすすめオプション一覧を中央寄せ --- */
.page ._med_dept .__options .seikei_option_list,
.page ._med_dept .__options .fujinka_option_list { justify-content: center;}
/* --- LINEでの予約 活用ポイントリスト --- */
.page ul.fujinka_line_point { display: flex; flex-wrap: wrap;}
.page ul.fujinka_line_point li { width: 50%; padding: 4%; box-sizing: border-box;}
.page ul.fujinka_line_point li img { width: auto;}
.page ul.fujinka_line_point li h4 { font-size: 18px;}

@media only screen and (min-width: 768px) {
  .page ul.fujinka_line_point li h4 { font-size: 22px;}
}

/* ============================================================
   12. 導入事例・関連ページ（.voice_list / .relation_list）
   ============================================================ */

.voice_list ul,
.relation_list ul { margin: 0 4%;}
.voice_list ul li,
.relation_list ul li { text-align: left; margin: 0 0 2% 0;}
.voice_list ul li img,
.relation_list ul li img { width: 100%; height: 210px; object-fit: cover;}

@media only screen and (max-width: 767px) {
  .voice_list ul li img,
  .relation_list ul li img { height: 52vw;}
  .relation_list ul { display: block; margin: 0;}
  .relation_list ul li { width: 100%; padding: 0; margin-bottom: 16px;}
  .relation_list ul li img { width: 100%; height: auto; border-radius: 8px;}
}

.voice_list ul li h3,
.relation_list ul li h3 { padding: 2% 0; font-size: 20px; display: block;}
.voice_list ul li p.voicetxt,
.relation_list ul li p.voicetxt { font-size: 16px;}
.voice_list ul li a,
.relation_list ul li a { color: #555555; text-decoration: none;}
.voice_list ul li a p,
.relation_list ul li a p { text-decoration: none;}
.voice_list ul li p.voicetxt span.clinicname,
.relation_list ul li p.voicetxt span.clinicname { display: block; font-size: 18px; font-weight: bold; padding: 2.5% 0;}
.voice_list ul li p.voicetxt span.kamoku,
.relation_list ul li p.voicetxt span.kamoku { display: none;}
.relation_list ul { padding: 0 0 6% 0;}

@media only screen and (min-width: 768px) {
  .voice_list ul,
  .relation_list ul { display: flex; flex-wrap: wrap; margin: 0; align-items: flex-start;}
  .voice_list ul li,
  .relation_list ul li { text-align: left; width: calc(100% / 3); box-sizing: border-box; margin: 0; padding: 0 1%;}
  .voice_list ul li img,
  .relation_list ul li img { border-radius: 10px;}
  .voice_list ul li p.voicetxt span.clinicname,
  .relation_list ul li p.voicetxt span.clinicname { font-size: 22px;}
  .lp_body .voice_list p.link,
  .lp_body .relation_list p.link { margin: 3% 0 6% 10%;}
}

/* ============================================================
   12. サポート体制（._support__list）
   ============================================================ */

#mr-support ._support { padding: 30px 0 40px;}
#mr-support ._support h2 { margin-bottom: 42px;}
._support__list { width: 100%;}
._support__list li { display: block; width: 100%; margin-bottom: 30px;}
._support__list li img { display: block; width: 40%; margin: 0 auto;}
._support__list li h3 { font-size: 20px; font-weight: 700; text-align: center; margin: 20px 0;}
._support__list li p { font-size: 16px;}
._support__list li p span { font-size: 15px;}

@media only screen and (min-width: 768px) {
  #mr-support ._support { padding: 50px 0;}
  #mr-support ._support h2 { margin-bottom: 70px;}
  ._support__list { display: flex; justify-content: space-between;}
  ._support__list li { width: 31.3%;}
  ._support__list li h3 { font-size: 24px; margin: 29px 0 2.5em; border: none;}
  ._support__list li:last-child h3 { margin-bottom: 1em;}
}

/* ============================================================
   13. よくある質問（.__faq_list）
   ============================================================ */

.page ._med_dept .__faq,
._med_dept .__faq { padding: 80px 0 100px;}
.page ._med_dept .__faq_list li,
._med_dept .__faq_list li { border-top: 1px solid #009166; padding: 2.2% 0 3.5% 3%;}
.page ._med_dept .__faq_list li .__question,
._med_dept .__faq_list li .__question { font-size: 22px; font-weight: 700; margin-bottom: 3.8%; text-align: left;}
.page ._med_dept .__faq_list li .__question .__q,
._med_dept .__faq_list li .__question .__q { font-size: 23px;}
.page ._med_dept .__faq_list li .__answer,
._med_dept .__faq_list li .__answer { background-color: #f7f9fa; padding: 2.6%; font-size: 18px; text-align: left;}
.page ._med_dept .__faq_list li:last-child,
._med_dept .__faq_list li:last-child { padding-bottom: 0;}

@media only screen and (max-width: 767px) {
  .page ._med_dept .__faq,
  ._med_dept .__faq { padding: 40px 0 60px;}
  .page ._med_dept .__faq_list li .__question,
  ._med_dept .__faq_list li .__question { font-size: 16px;}
  .page ._med_dept .__faq_list li .__question .__q,
  ._med_dept .__faq_list li .__question .__q { font-size: 17px;}
  .page ._med_dept .__faq_list li .__answer,
  ._med_dept .__faq_list li .__answer { font-size: 14px;}
}
