body {
  font-family: 
    'Zen Old Mincho', 
    'Hiragino Mincho ProN', /* macOS 和文 */
    'Yu Mincho',             /* Windows 和文 */
    'MS PMincho',            /* Windows旧環境 */
    'Libre Baskerville', 
    Georgia, 
    serif;
}

/* 欧文のみ指定したい場合 */
.roman {
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}
.zen-old {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
}
/* 欧文のみ指定したい場合 */
.roman a:hover{
  color: #002A74;
}

.font1{font-family: 'Hina Mincho', serif;}
.font2{font-family: 'Kosugi', sans-serif;}
.font3{font-family: 'Noto Sans JP', sans-serif;}
.font4{font-family: 'Noto Serif JP', serif;}
.font5{font-family: 'Reggae One', cursive;}
.font6{font-family: 'RocknRoll One', sans-serif;}
.font7{font-family: 'Sawarabi Gothic', sans-serif;}
.font8{font-family: 'Sawarabi Mincho', serif;}
.font9{font-family: 'Shippori Mincho B1', serif;}
.font10{font-family: 'Zen Maru Gothic', sans-serif;}
.font11{font-family: 'DotGothic16', sans-serif;}
.font12{font-family: 'Zen Kaku Gothic New', sans-serif;}

.bg_white{background-color: #FFF !important;}
.bg_lightblue{background-color: #ECEDF4 !important;}
.color-pink{color: #FF00B1;}
.pc-br{display: block;}
.sp-br{display: none;}
.tb-br{display: block;}
.kome-note{
  text-indent:-1em;
  padding-left:1em;
}
h3{font-size: 28px;line-height: 40px;color: #002A74;font-weight: normal;}
@media (min-width: 768px) and (max-width: 1024px) {
.tb-br{display: none;}
}
@media screen and (max-width: 768px) {
.sp-br{display: block;}
.pc-br{display: none;}
.tb-br{display: none;}
}
/*共通*/

p{font-size: 16px;color: #000;font-weight: normal;line-height: 1.8;}
@media screen and (max-width: 768px) {
 p{font-size: 14px;color: #000;font-weight: normal;line-height: 1.8;} 
}
.default-top-bottom-m{margin: 100px 0 !important;}
.default-top-bottom-p{padding-top: 100px !important;padding-bottom: 100px !important;}
.w100 {width: 100%;height: auto !important;}
.w60 {width: 60%;}
.w70 {width: 70%;}
.w80 {width: 80%;}
.w50 {width: 50%;}
.max-100 { max-width: 100%;}

.tb-margin{margin: 130px 0;}

.pc-center-sp-left{text-align: center;}
@media screen and (max-width: 768px) {
.pc-center-sp-left{text-align: left;}
}

@media screen and (max-width: 768px) {
.tb-margin{margin: 70px 0;}  
}
#topBtn{
    background:#002A74;
    color: #fff;
    position: fixed;
    right: 0px;
    bottom: 0px;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 9;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
    .pcnav{ display: none !important; }
}
@media (max-width: 768px) {
  .mb-7-sp {
    margin-bottom: 0rem !important; /* 64px */
  }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc-tb { display: block !important; }
.sp-tb { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 1024px) {
    .pc-tb { display: none !important; }
    .sp-tb { display: block !important; }
}



/* =======================================
   iPadなど中間サイズ（768〜991px）の余白調整
   ======================================= */
@media (min-width: 768px) and (max-width: 1110px) {
  /* containerの左右に余白を戻す */
  .container {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  /* rowの左右詰めを解除（gx-0などを上書き） */
  .row {
    margin-left: -12px !important;
    margin-right: -12px !important;
  }

  /* col系の左右も自然な間隔に */
  [class*="col-"] {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .tablet-mt{margin-top: 3rem;}
}

 
/* ローディング画面全体 */
    .loader {
      position: fixed;
      z-index: 9999;
      top: 0; left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(#ffffff, #E2E5F5);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      transition: opacity 1s ease;
      animation: fadeOutLoader 3s ease forwards;
      animation-delay: 2s;
    }

    /* ロゴ共通 */
    .loader-logo {
      opacity: 1;
      transition: all 2s ease;
    }

    /* メインロゴ（中央） */
    .logo-main {
      width: 450px;
      animation: fadeOutLogo 5s ease forwards;
      animation-delay: 1s;
    }

    /* サブロゴ（下部） */
    .logo-sub {
      width: 280px;
      position: absolute;
      bottom: 50px;
      animation: fadeOutBlur 5s ease forwards;
      animation-delay: 1s;
    }

    /* フェードアウト（中央ロゴ） */
    @keyframes fadeOutLogo {
      0% { opacity: 1; filter: blur(0px); }
      100% { opacity: 0; filter: blur(52px); }
    }

    /* フェードアウト + ブラー（サブロゴ） */
    @keyframes fadeOutBlur {
      0% { opacity: 1; filter: blur(0px); }
      100% { opacity: 0; filter: blur(52px); }
    }

    /* 背景のフェードアウト */
    @keyframes fadeOutLoader {
      0% { opacity: 1; }
      100% { opacity: 0; visibility: hidden; }
    }

    @media screen and (max-width: 768px) {
    /* メインロゴ（中央） */
    .logo-main {
      width: 250px;
    }

    /* サブロゴ（下部） */
    .logo-sub {
      width: 180px;
    }

    }
/*メニュー用css*/



/* SPメニュー */
/* === menu base === */
.menu-content .row {
  padding: 0;
  margin: 0;
}

#menu-btn-check {
  display: none;
}

.menu-content .row {
  padding: 0;
  margin: 0;
}

.menu-content {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100dvh;
  min-height: 100vh;
  z-index: 99998;
  overflow-y: auto;
  background-color: #002A74;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .1);

  transform: translate3d(0, -100%, 0);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    transform 0.5s ease,
    opacity 0.5s ease,
    visibility 0s linear 0.5s;
  will-change: transform;
}

#menu-btn-check:checked ~ .menu-content {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    transform 0.5s ease,
    opacity 0.5s ease,
    visibility 0s linear 0s;
}

.menu-content a:hover {
  color: #9ec7ca;
}

#menu-btn-check:checked ~ .menu-content {
  left: 0;
  top: 0;
}

/* === responsive === */
@media only screen and (max-width: 1000px) {
  .menu-content ul {
    padding: 0;
  }
  .menu-content ul li a::before {
    right: 11px;
    top: 20px;
  }
}

/* === menu button === */
.menu-btn {
  position: fixed;
  top: -4px;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  width: 80px;
  z-index: 99999;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .menu-btn {
    height: 65px;
    width: 65px;
  top: 2px;
  }
}
/* === hamburger lines === */
.menu-btn span {
  position: absolute;
  right: 18px;
  width: 38px;
  height: 1px;
  background-color: #DC000C;
  transition: all 0.4s ease-in-out;
}

.menu-btn span::before,
.menu-btn span::after {
  content: "";
  position: absolute;
  height: 1px;
  background-color: #DC000C;
  transform-origin: center;
  transition: all 0.4s ease-in-out;
}

/* 初期位置（静止状態） */
.menu-btn span::before {
  width: 48px;
  bottom: 11px;
  right: 0;
  transform: rotate(0deg);
}

.menu-btn span::after {
  width: 22px;
  top: 11px;
  right: 0;
  transform: rotate(0deg);
}
@media only screen and (max-width: 768px) {
/* === hamburger sp lines === */
.menu-btn span {
  position: absolute;
  right: 18px;
  width: 30px;
  height: 1px;
  background-color: #DC000C;
  transition: all 0.4s ease-in-out;
}


/* 初期位置（静止状態） */
.menu-btn span::before {
  width: 40px;
  bottom: 11px;
  right: 0;
  transform: rotate(0deg);
}

.menu-btn span::after {
  width: 16px;
  top: 11px;
  right: 0;
  transform: rotate(0deg);
}
}

/* チェックボックス非表示 */
#menu-btn-check {
  display: none;
}

/* 真ん中線を消す */
#menu-btn-check:checked ~ .menu-btn span {
  background-color: transparent;
}

/* === ✕化アニメーション定義（三段階） === */
@keyframes beforeCross {
  0% { transform: rotate(0deg); }
  60% { transform: rotate(0deg); }
  100% { transform: rotate(32deg); }
}

@keyframes afterCross {
  0% { transform: rotate(0deg); }
  60% { transform: rotate(0deg); }
  100% { transform: rotate(-32deg); }
}
/* アニメーション制御用のフラグ */
body.menu-ready #menu-btn-check:not(:checked) ~ .menu-btn span::before,
body.menu-ready #menu-btn-check:not(:checked) ~ .menu-btn span::after,
body.menu-ready #menu-btn-check:checked ~ .menu-btn span::before,
body.menu-ready #menu-btn-check:checked ~ .menu-btn span::after {
  animation: none;
}
/* === クリック後だけアニメーション発動 === */
#menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  right: 0;
  width: 38px;
  background-color: #fff;
  animation: beforeCross 0.45s ease-in-out forwards;
}

#menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  right: 0;
  width: 38px;
  background-color: #fff;
  animation: afterCross 0.45s ease-in-out forwards;
}




/* SPメニュー */

/* header */

/* header pc */

.navItem_kq21:hover > a {
  color: #002f77;
}
.withIcon {
  color: #000;
  text-decoration: none;
}

.withIcon:hover {
  color: #0f3c86; /* ホバー時に色変更 */
}

.headerNav_kq21 {
  background: #FFF;
  position: relative;
  height: 70px;
  z-index: 99;
}

.headerContainer_kq21 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  padding: 15px 80px 0 30px ;
  margin: 0 auto;
}

.logo_kq21 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo_kq21 img {
  width: 220px;
  height: auto;
}

.logo_kq21 span {
  font-weight: bold;
  color: #002f77;
  font-size: 16px;
}

.navMenu_kq21 {
  display: flex;
  padding-left: 30px;
  gap: 20px;
  flex-wrap: wrap;
  line-height: 0 !important;
}

.navMenu_kq21 a {
  text-decoration: none;
  color: #000;
  font-size: 16px;
  padding-bottom: 10px; /* ← 常に余白を確保 */
  position: relative; /* 擬似要素の位置を調整するため */
  transition: color 0.3s;
}

.navMenu_kq21 a::after {
  content: '';
  position: absolute;
  bottom: 0px; /* 下線を文字の下に移動させる */
  left: 0;
  width: 100%;
  height: 1px;
  background-color: transparent; /* 初期状態では透明 */
  transition: background-color 0.3s;
}

.navMenu_kq21 a:hover {
  color: #002A74;
}

.navMenu_kq21 a:hover::after {
  background-color: #002A74; /* ホバー時に下線を表示 */
}


@media screen and (max-width: 768px) {
.headerNav_kq21 {
  background: #FFF;
  position: relative;
  height: 70px;
  z-index: 99;
}

.headerContainer_kq21 {
  padding: 15px 15px 0  ;
  margin: 0 auto;
}
 }
 
@media screen and (max-width: 1200px) {
  .navMenu_kq21 {
  display: none;
}
}

/* メガメニュー */
/* メガメニューが開いている間も下線を表示 */
.navItem_kq21:hover > a::after {
  background-color: #002A74;
}
/* 各ナビ項目（高さを統一） */
.navItem_kq21 > a{
  display: inline-flex;          /* ← これでズレ解消 */
  align-items: center;           /* 縦中央 */
  gap: 6px;                      /* 文字とアイコンの間 */
  padding: 8px 0;                /* 好みで */
  line-height: 1;                /* 行高を固定 */
}
.navItem_kq21 {
  position: relative;
  display: inline-block; /* ← これが重要 */
}
/* hover領域を拡張する透明ボックス */
.navItem_kq21 .hoverBuffer {
  position: absolute;
  top: 100%; /* 要素のすぐ下 */
  left: 0;
  width: 100%;
  height: 50px; /* hover延長エリア */
  z-index: 1;
}
.megaMenu_kq21 {
  position: absolute;
  top: calc(100% + 18px); /* ← 表示位置をより下にずらす（元は20px） */
  left: 50%;
  transform: translateX(-50%);
  background: #002A74;
  padding: 20px 30px 20px 30px;
  display: none;
  flex-direction: column;
  z-index: 1000;
}

.navItem_kq21:hover .megaMenu_kq21 {
  display: flex;
}

.megaMenu_kq21 a {
  padding: 8px 0;
  color: #FFF;
  text-decoration: none;
  white-space: nowrap;
}

.megaMenu_kq21 a:hover {
  color: #002A74;
  
}

/* メガメニュー内 */
.clinicMenu {
  color: #fff;
}

.clinicMenu__title {
  position: relative;
  margin-bottom: 10px;
  border-bottom: 1px solid #fff;
}

.clinicMenu__title a {font-size: 20px !important;padding-bottom: 15px;}


/* 矢印 */
/* まず今の ::before, ::after を無効化 */
.clinicMenu__list li::before,
.clinicMenu__list li::after {
  content: none;
}

/* リストアイテムに矢印画像を表示 */
.clinicMenu__list li {
  position: relative;
  padding: 15px 40px 15px 0 !important; 
}

.clinicMenu__list li::after {
  content: "";
  position: absolute;
  top: 70%;
  right: 0;
  width: 30px;   /* 画像の幅 */
  height: 30px;  /* 画像の高さ */
  background-image: url("../../assets/images/nav-arrow-hover.svg"); /* 矢印画像 */
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
/* 2番目（整形外科）だけ別画像 */
.clinicMenu__list li:nth-child(n+2)::after {
  background-image: url("../../assets/images/nav-arrow.svg");
}
/* hover時に矢印を動かす */
.clinicMenu__list li:hover::after {
  transform: translateY(-50%) translateX(5px);
}
/* 矢印 */

.clinicMenu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.clinicMenu__list li {
  padding: 15px 0;
}

.clinicMenu__list a {
  display: block;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  position: relative;border-bottom: none;
}
.clinicMenu__list a:hover {
  color: #fff; /* ホバー時に下線を表示 */
}

.navMenu_kq21 .clinicMenu__list a:hover::after {
  display: none;
  background-color: #774000; /* ホバー時に下線を表示 */
}

 /* sp menu */
:root {
  /* 矢印画像のパスをここで指定（例） */
  --navkh79-arrow-url: url("../../assets/images/nav-arrow.svg");
}
.navkh79-logo{width: 220px;}
.navkh79 {
  padding: 0 0;
  color: #fff;
  }

/* セクション見出し */
.navkh79__section {
  margin: 18px 0 6px;
  padding: 12px 16px 10px;
  line-height: 1.4;
  position: relative;
}

/* リスト全体 */
.navkh79__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.navkh79__list_border {
  border-bottom: 1px solid rgb(255, 255, 255);
  margin-top: 30px;
  margin-bottom: 20px;
}
.navkh79__list_border li a{
  font-size: 20px;
}


/* 各リンク行 */
.navkh79__item a {
  display: block;
  font-size: 16px;
  padding: 5px 48px 5px 0px; /* 右は矢印分の余白 */
  color: #FFF;
  text-decoration: none;
  line-height: 1.6;
  position: relative;
  transition: background-color .2s ease, opacity .2s ease;
}



/* 右端の矢印（画像） */
.navkh79__item a::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 30px;         /* 矢印画像サイズ */
  height: 30px;
  transform: translateY(-50%);
  background-image: var(--navkh79-arrow-url);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.9;
  pointer-events: none;
}

/* hover / focus */
.navkh79__item a:hover,
.navkh79__item a:focus-visible {
  outline: none;
  color: #fff;
}

/* アクティブ時は矢印を hover 画像に */
.navkh79__item--current a::after {
  background-image: var(--navkh79-arrow-hover-url);
}

/* 追加：hover用の矢印画像パス */
:root {
  --navkh79-arrow-hover-url: url("../../assets/images/nav-arrow-hover.svg");
}

/* 矢印にアニメーションを付与（画像だけ動かす） */
.navkh79__item a::after {
  transition: transform .25s ease; /* 画像のスライド用 */
}

/* hover時：矢印画像を差し替え＆わずかに右へスライド */
.navkh79__item a:hover::after,
.navkh79__item a:focus-visible::after {
  background-image: var(--navkh79-arrow-hover-url);
  transform: translateY(-50%) translateX(6px); /* 画像だけ右に動く */
}

/* （任意）タップ端末のために active も同様にしておく */
.navkh79__item a:active::after {
  background-image: var(--navkh79-arrow-hover-url);
  transform: translateY(-50%) translateX(6px);
}
 /* sp menu */

 /* sp menu footer */
.link-nav_x82 {
  margin:30px 0 0 0;
  padding: 15px 0 40px;
  text-align: left;
  position: relative;
  border-top: 4px solid #3D61A2;
}

/* UL 横並び */
.link-nav_x82 ul {
  display: flex;
  justify-content: center;
  gap: 70px;
  list-style: none;
  margin:0 0 0 0;
  padding: 0;
}

/* 各リンク */
.link-nav_x82 li a {
  color: #C0C9D9;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  position: relative;
  padding-right: 55px; /* 矢印の分スペース */
  display: inline-block;
}

/* 矢印（SVG画像を使用） */
.link-nav_x82 li a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 90%;
  transform: translateY(-50%);
  width: 30px;   /* 画像の横幅に合わせて調整 */
  height: 30px;  /* 画像の高さに合わせて調整 */
  background-image: url("../../assets/images/nav-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
/* 矢印にアニメーションを付与（画像だけ動かす） */
.link-nav_x82 a::after {
  transition: transform .25s ease; /* 画像のスライド用 */
}
/* hover時：矢印画像を差し替え＆わずかに右へスライド */
.link-nav_x82 li a:hover::after,
.link-nav_x82 li a:focus-visible::after {
  background-image: url("../../assets/images/nav-arrow-hover.svg");
  transform: translateY(-50%) translateX(6px); /* 画像だけ右に動く */
}
/* ===== スマホ用（768px以下） ===== */
@media (max-width: 768px) {
  .link-nav_x82 ul {
    flex-direction: column;  
    gap: 0px;
    padding: 0 0px;   /* 左右に余白 */
    align-items: stretch; /* 横幅いっぱい使えるように */
  }

  .link-nav_x82 li a {
    display: flex;          /* テキストと矢印を両端に配置 */
    justify-content: space-between;
    align-items: center;
    padding-right: 15px;       /* 矢印分スペースは不要 */
    font-size: 14px;
  }

  .link-nav_x82 li a::after {
    position: static;       /* 相対配置に切り替え */
    transform: none;        /* translate解除 */
    width: 30px;
    height: 30px;
    flex-shrink: 0;         /* 矢印のサイズを固定 */
    margin-top: 10px !important;
  }
  /* スマホ hover時 */
  .link-nav_x82 li a:hover::after,
  .link-nav_x82 li a:focus-visible::after {
    background-image: url("../../assets/images/nav-arrow-hover.svg");
    transform: translateX(6px);  /* ← Y方向の移動はなし */
  }
}


 /* sp menu footer */


/* footer */
 .bg-cover-bottom {
  width: 100%;
  padding-top: 55%; /* 例：画像の縦横比が3:2なら66.66%（＝縦÷横×100） */
  background-image: url("../../assets/images/footer-exterior.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-color: #FFF; /* 背景色は任意 */
  position: relative;
}
  .accordionMenu_9abx img{width: 334px;max-width: 100%;}
  .accordionMenu_9abx p{margin-top: 30px;font-size: 14px;color: white;}
  .accordionMenu_9abx {
  display: flex;
  gap: 0px;
  background-color: #002A74;
  color: white;
  padding: 100px;
}

.accordionColumn_9abx {
  flex: 1;
}

.accordionItem_9abx {
}


.accordionHeader_9abx {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  padding: 14px 0;
  font-size: 16px;
  color: white;
  cursor: pointer;
  position: relative;
  border-bottom:1px solid #FFF ;
}

.accordionItem_9abx_border{
  border-bottom:1px solid #FFF ;}

.accordionHeader_9abx::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  transition: transform 0.3s;
}

.accordionHeader_9abx.active::after {
  content: "−";
}

.accordionContent_9abx {
  max-height: 0;
  overflow: hidden;
  color: #fff;
  transition: max-height 0.4s ease;
}

.arrowLinkList {
  list-style: none;
  padding: 5px 0;
  margin: 0;
}

.arrowLinkList li {
  padding: 0;
  margin: 0;
}





.arrowLinkList a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  text-decoration: none;
  padding: 0px 0;
  font-size: 13px;
  transition: all 0.3s ease;
}
.arrowLinkList-title{border-top: none !important;}
.arrowLinkList-title a{font-size: 16px;}

/* 各リンク行 */
.navkh79__item a {
  display: block;
  font-size: 16px;
  padding: 5px 48px 5px 0px; /* 右は矢印分の余白 */
  color: #FFF;
  text-decoration: none;
  line-height: 1.6;
  position: relative;
  transition: background-color .2s ease, opacity .2s ease;
}


.arrowLinkList a {
  position: relative;
  display: block;
  font-size: 16px;
  padding: 5px 48px 5px 0px; /* 右に矢印画像のスペース */
  color: #FFF;
  text-decoration: none;
  line-height: 1.6;
}

/* ::after を画像矢印に変更 */
.arrowLinkList a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  width: 30px; /* 画像サイズに合わせて調整可 */
  height: 30px;
  background-image: url("../../assets/images/nav-arrow.svg"); /* ← 適切な画像パスに置き換えてください */
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  pointer-events: none;
}

/* ::after を画像矢印に変更 */
.arrowLinkList2 a::after {
  background-image: url("../../assets/images/nav-arrow-hover.svg"); /* ← 適切な画像パスに置き換えてください */
}

/* hover 時に矢印を右へスライド */
.arrowLinkList a:hover::after {
  transform: translate(5px, -50%);
}
@media screen and (max-width: 768px) {
  .accordionMenu_9abx {
    display: block;
    padding: 40px 20px;
  }

  .accordionMenu_9abx .container .row {
    flex-direction: column;
  }

  .accordionColumn_9abx {
    width: 100%;
    margin-top: 30px;
  }

  .col-lg-5 {
    width: 100%;
    margin-bottom: 30px;
  }

  .arrowLinkList a::before,
  .arrowLinkList a::after,
  .arrowLinkList-title a::before,
  .arrowLinkList-title a::after {
    right: 10px; /* スマホ用に少し余裕を持たせる */
  }
}


.logoGrid_5x2{margin: 30px 0;}

.logoRow_5x2 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 28px;
  padding: 20px 0;
}

/* aタグ内の画像を縦横中央に */
.logoRow_5x2 a {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 画像自体のサイズ調整 */
.logoRow_5x2 img {
  width: auto;
  height: auto;
  object-fit: contain;
  display: block; /* インライン余白を防止 */
}




.roFooter {
  background: #F4F2EF;
  padding: 70px 0px;
  color: #333;
}


.roFooter_mainLogo img {
  width: 270px;
  max-width: 100%;
  margin: 30px 0;
}

.roFooter_group {
  font-size: 14px;
  margin-top: 5px;
}

.roFooter_textBlock {
  margin: 0px 0 0px;
}

.roFooter_catch {
  font-size: 38px;
  line-height: 40px;
  margin-top: 15px;
  margin-bottom: 25px;
}

.roFooter_desc {
  font-size: 16px;
  line-height: 30px;
  color: #000;
}

.roFooter_links_hr{border-top: 1px solid #CBCBCB;}
.roFooter_links {
  list-style: none;
  padding: 0;
  margin: 30px 0 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 14px;
}

.roFooter_links li a {
  color: #333;
  text-decoration: none;
}

.roFooter_links li a:hover {
  color: #002A74;
  text-decoration: none;
}

.roFooter_copy {
  font-size: 12px;
  color: #000;
  margin-top: 30px;
  text-align: center;
}
.roFooter_hospitals img {max-width: 100%;}
@media screen and (max-width: 768px) {
  .roFooter_catch {
  font-size: 22px;
  text-align: center;
  line-height: 40px;
}

.roFooter_desc {
  font-size: 14px;
  line-height: 26px;
  color: #000;
  text-align: center;
}
}

/* 矢印 */
.chevron-thin-up {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-left: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  transform: rotate(135deg);
  margin: 0px auto;
  margin-top: 5px; /* ← 矢印を下にずらす */
}




/* ====== トップ st ====== */


/* 電話エリア */

.contactTelCta{
  --navy:#002A74;
  --white:#ffffff;
  --line:rgba(255,255,255,.55);
  padding: 12px 0;
}

.contactTelCta__inner{
  max-width: 100%;
  margin: 0 auto;
  padding: 28px 36px 30px;
  background: var(--navy);
  border-radius: 10px;
  color: var(--white);
  text-align: center;
}

/* 上段タイトル */
.contactTelCta__title{
  margin: 0;
  font-size: 24px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: .08em;
  color: var(--white);
}

/* 受付時間行 */
.contactTelCta__meta{
  margin-top: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 14px;
  letter-spacing: .08em;
}

.contactTelCta__badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 14px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 6px;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}

.contactTelCta__days,
.contactTelCta__time{
  font-size: 16px;
  white-space: nowrap;
  line-height: 1.4;
}
.contactTelCta__time{
  margin-left: 30px;
}
/* 横線 */
.contactTelCta__border{
  width: 100%;
  height: 1px;
  background: var(--line);
  margin: 25px 0 25px;
}

/* 下段2カラム */
.contactTelCta__grid{
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
  padding: 0 0 0 50px; /* ← 左右の余白 */
}

.contactTelCta__col{
  text-align: left;
}

.contactTelCta__label{
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: .08em;
  color: var(--white);
}

.contactTelCta__tel{
  margin: 0;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: .06em;
  white-space: nowrap;
}

.contactTelCta__num{
  font-size: 38px;
  font-weight: 400;
  letter-spacing: .08em;
}
.contactTelCta__tel,
.contactTelCta__tel a{
  color:#fff;
  text-decoration:none;
}

.contactTelCta__tel a:visited{
  color:#fff;
}

.contactTelCta__tel a:hover{
  color:#fff;
}
/* スマホ */
@media (max-width: 980px){

  .contactTelCta{
    padding: 10px 0;
  }

  .contactTelCta__inner{
    padding: 22px 24px 24px;
    border-radius: 8px;
  }

  /* 上段タイトル：枠付き */
  .contactTelCta__title{
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: .08em;
    margin: 0 auto;
    display: inline-block;
    max-width: 100%;
  }

  /* 受付時間全体を縦並び */
  .contactTelCta__meta{
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 13px;
  }
.contactTelCta__metaRow{
  display:flex;
  gap:0px;
  justify-content:center;
  align-items:center;
}
  /* 受付時間バッジ：横長 */
  .contactTelCta__badge{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 275px;
    min-height: 0;
    padding: 3px 12px;
    font-size: 14px;
    line-height: 1.2;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 3px;
  }

  /* 曜日＋時間は横並び */
  .contactTelCta__days,
  .contactTelCta__time{
    font-size: 13px;
    line-height: 1.4;
  }

  .contactTelCta__time{
    margin-left: 0px;
  }

  .contactTelCta__border{
    margin: 16px 0 14px;
  }

  .contactTelCta__grid{
    grid-template-columns: 1fr;
    gap: 14px;
  padding: 0 0 0 0px; /* ← 左右の余白 */
  }

  .contactTelCta__col{
    text-align: center;
  }

  .contactTelCta__label{
    font-size: 14px;
    margin: 0 0 6px;
    line-height: 1.5;
  }

  .contactTelCta__tel{
    font-size: 14px;
    line-height: 1.2;
  letter-spacing: .00em;
  }

  .contactTelCta__num{
    font-size: 23px;
    letter-spacing: .00em;
  }
}
a[href^="tel"]{
  color:#fff !important;
  text-decoration:none !important;
}


/* アクセス */
 .accessBlock_a9xv {
  background-color: #002f77;
  padding: 60px 50px;
  color: #fff;
  border-radius: 10px;
}

.accessInner_a9xv {
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: flex-start;
}

.accessText_a9xv {
  flex: 1;
  min-width: 300px;
}


.accessDescription_a9xv {
  line-height: 30px;
  margin-bottom: 20px;
  color: #FFF;
}

.accessLine_a9xv {
  border: none;
  border-top: 1px solid #FFF;
  margin: 50px 0;
}

.accessAddress_a9xv {
  font-weight: bold;
  margin-bottom: 12px;
  color: #FFF;
}


.accessMap_a9xv {
  flex: 1;
  width: 100%;
}

.accessMap_a9xv iframe {
  width: 100%;
  height: 420px;
  border: 0;
  border-radius: 10px;
}



/* MORE通常 */
/* 親要素 */
.mriMoreLink_position_l {
  position: relative;
}

/* リンク文字 */
.moreLine_l {
  position: absolute;
  font-size: 12px;
  color: #FFF !important;
  left: 0px;
  top: 0;
  text-decoration: none;
  display: inline-block;
  padding-right: 40px; /* 矢印画像分の余白 */
}


/* 画像矢印（旧斜線） */
.moreLine_l::after {
  content: "";
  position: absolute;
  top: 20px;                /* テキストとの縦位置調整 */
  left: 0px;             /* 横線の右端と合わせる */
  width: 110px;             /* 画像サイズ調整 */
  height: 30px;
  background-image: url("../../assets/images/moreLine-arrow.svg"); /* 矢印画像パス */
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.3s ease;
}


.moreLine_l:hover::after {
  transform: translateX(5px);
}



@media screen and (max-width: 1024px) {

  /* リンク文字 */
.moreLine_l {
  position: absolute;
  font-size: 14px;
  color: #FFF !important;
  left: 0px;
  top: 0;
  text-decoration: none;
  display: inline-block;
  padding-right: 40px; /* 矢印画像分の余白 */
}



  .accessText_a9xv {
  flex: 1;
  min-width: 100%;
}

.container1200{
    max-width: 100%;
    overflow-x: hidden;
  }
  .accessBlock_a9xv,
  .accessInner_a9xv {
  padding: 30px 15px 30px;
    max-width: 100%;
    width: 100%;
  }
.accessLine_a9xv {
  border: none;
  border-top: 1px solid #FFF;
  margin: 10px 0 20px;
}
  
  .accessMap_a9xv iframe {
  width: 100%;
  height: 300px;
  border: 0;
  border-radius: 10px;
}
}





/* お知らせ */


.newsMeta_f94k {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
 .newsListWrap_f94k {
  max-width: 100%;
  width: 100%;
  color: #000;
}

.newsListHeader_f94k {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #222;
  margin-bottom: 20px;
}

.newsListHeader_f94k a:hover {
  color: #002A74;
}
@media (max-width: 768px) {
  .newsListHeader_f94k {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  margin-top: 20px;
  color: #222;
  margin-bottom: 20px;
}
}
.newsMore_f94k {
  text-decoration: none;
  color: #000;
  font-weight: 500;
}

.newsIcon_f94k {margin-left: 5px;
}
/* hover時に画像を切り替え */
.newsMore_f94k:hover .newsIcon_f94k img {
  content: url("../../assets/images/news-more-hover.jpg");
}
@media (max-width: 768px) {
 .newsIcon_f94k {margin-left: 5px;
}
.newsIcon_f94k img {width: 20px;
}
}
.newsList_f94k {
  list-style: none;
  padding: 0;
  margin: 0;
}

.newsList_f94k li {
  border-bottom: 1px solid #eef1f6;
}

.newsItem_f94k {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 15px 0;
  text-decoration: none;
  transition: background 0.3s;
}

.newsItem_f94k:hover {
  background-color: #f9fbff;
}

.newsDate_f94k {
  width: 150px;
  padding-left: 30px;
  margin-right: 30px;
  font-size: 12px;
  color: #BAB1A0;
  position: relative; /* 疑似要素の位置基準にする */
}
.newsDate_f94k::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%)rotate(90deg);
  width: 1px;
  height: 35px; /* 高さは必要に応じて調整可能 */
  background-color: #ECECEF; /* 線の色、必要に応じて変更 */
}

.newsCat_f94k {
  background-color: #FFF;
  color: #002A74;
  border: 1px solid #ECECEF;
  border-radius: 5px;
  text-align: center;
  width: 100px;
  font-size: 12px;
  padding: 2px 5px;
}

.newsTitle_f94k {
  flex: 1;
  color: #002f77;
  font-size: 16px;
}

@media (max-width: 1024px) {
  .newsItem_f94k {
    flex-direction: column; /* スマホ時は縦並び */
    align-items: flex-start;
    gap: 10px; /* 要素間の間隔を狭くする */
    padding: 20px 0; /* 上下の余白を減らす */
  }

  .newsMeta_f94k {
    margin-bottom: 0px;
  }

  .newsDate_f94k {
    width: 80px;
  padding-left: 0px;
  margin-right: 30px;
    font-size: 14px;
  position: relative; /* 疑似要素の位置基準にする */
  }

  .newsDate_f94k::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%)rotate(90deg);
  width: 1px;
  height: 35px; /* 高さは必要に応じて調整可能 */
  background-color: #ECECEF; /* 線の色、必要に応じて変更 */
}

  .newsCat_f94k {
    font-size: 12px;
    padding: 2px 6px;
  max-width: 180px;
  width: 130px;
  }


  .newsTitle_f94k {
    font-size: 14px;
    margin-top: 0;
  }
}







 /*タイトルセンター 青*/
.title_box_center_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 30px;
}

.title_box_center_label {
  display: flex;
  gap: 6px;
  margin-bottom: 0px;
  justify-content: center;
}

.title_box_center_dot_blue,
.title_box_center_dot_red {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.title_box_center_dot_blue {
  background-color: #002f77;
}

.title_box_center_dot_red {
  background-color: #d62256;
}

.title_box_center_main {
  font-size: 30px;
  line-height: 1.5;
  color: #002f77;
  margin-bottom: 5px;
}

.title_box_center_sub {
  font-size: 12px;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  color: #b2a89f;
  letter-spacing: 0.05rem;
}

@media screen and (max-width: 768px) {
  .title_box_center_main {
  font-size: 24px;
}
.title_box_center_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 30px;
}

}




/*診療案内*/

/*タイトル左 青*/
.title_box_left_wrapper {
  display: inline-block;
  text-align: left;
  margin-bottom: 30px;
}

.title_box_left_label {
  color: #002f77;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 0%;
}

.title_box_left_dotBlue,
.title_box_left_dotRed {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.title_box_left_dotBlue {
  background-color: #002f77;
}

.title_box_left_dotRed {
  background-color: #d62256;
}

.title_box_left_main {
  font-size: 30px;
  margin-left: 10px;
  margin-bottom: 5px;
  line-height: 1.5;
}

.title_box_left_sub {
  font-size: 12px;
  line-height: 14px;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  color: #b2a89f;
  margin-top: 5px;
  letter-spacing: 0.05rem;
}

@media (min-width: 768px) and (max-width: 1024px) {
.title_box_left_label {
  margin-top: 50px;
}
.medicalSection_bg .col-lg-4{margin:0 20px;width: 95%;}
.medicalSection_bg .container{padding: 0 !important;}
}

@media screen and (max-width: 768px) {
  .title_box_left_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .title_box_left_label {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .title_box_left_dots {
    display: flex; /* 横並びにする */
    gap: 6px;       /* ドットの間隔 */
    margin-bottom: 0px;
  }

  .title_box_left_dotBlue,
  .title_box_left_dotRed {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
  }

  .title_box_left_dotBlue {
    background-color: #002f77;
  }

  .title_box_left_dotRed {
    background-color: #d62256;
  }

  .title_box_left_main {
    margin-bottom: 5px;
    font-size: 24px;width: 100%;
    color: #002f77;
  }

  .title_box_left_sub {
    font-size: 12px;
    color: #b2a89f;
    letter-spacing: 0.05rem;
  }
}


/*タイトル左 白*/
.title_box_left_wrapper_wh {
  display: inline-block;
  text-align: left;
  margin-bottom: 30px;
}

.title_box_left_label_wh {
  color: #FFF;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: -5px;
}

.title_box_left_dotBlue_wh,
.title_box_left_dotRed_wh {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.title_box_left_dotBlue_wh {
  background-color: #FFF;
}

.title_box_left_dotRed_wh {
  background-color: #d62256;
}

.title_box_left_main_wh {
  font-size: 30px;
  line-height: 1.5;
  margin-left: 10px;
}

.title_box_left_sub_wh {
  font-size: 12px;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  color: #FFF;
  margin-top: 5px;
  letter-spacing: 0.05rem;
}


@media screen and (max-width: 768px) {
  .title_box_left_wrapper_wh {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .title_box_left_label_wh {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .title_box_left_dots_wh {
    display: flex; /* 横並びにする */
    gap: 6px;       /* ドットの間隔 */
    margin-bottom: 0px;
  }

  .title_box_left_dotBlue_wh,
  .title_box_left_dotRed_wh {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
  }

  .title_box_left_dotBlue_wh {
    background-color: #FFF;
  }

  .title_box_left_dotRed_wh {
    background-color: #d62256;
  }

  .title_box_left_main_wh {
    margin-bottom: 0px;
    font-size: 24px;
    color: #FFF;
    margin-left: 0;
  }

  .title_box_left_sub_wh {
    font-size: 12px;
    color: #FFF;
    letter-spacing: 0.05rem;
  }
}



  @media (min-width: 992px) {
  .medicalSectioncontainer{
    max-width: 1350px;
  }
}

.medicalSection_bg{background-color: #ECEDF4;}

.medicalSection_wrapper {
  background: url('../../assets/images/medicalSection-bg.png') no-repeat center center / cover;padding: 0px 0;
}

.medicalSectioncontainer p{line-height: 30px;}
/* 右側カード群 */
.medicalSection_cards {
  width: 100%;
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  padding: 135px 70px;
}

.medicalSection_card {
  flex: 1;
  background-color: #fff;
  border-radius: 10px;
  padding: 40px 0px 50px;
  text-align: center;
  text-decoration: none;
  color: #002a74;
  box-shadow: 0 0 8px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  transition: all 0.3s ease;
}

.medicalSection_card:hover {
  background-color: #002A74;
  color: #FFF;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.medicalSection_icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 10px;
  background-color: #002A74;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.medicalSection_icon img {
  width: auto;
  height: auto;
}
.medicalSection_card:hover .medicalSection_icon img {
  filter: brightness(0) saturate(100%) invert(15%) sepia(98%) saturate(734%) hue-rotate(194deg) brightness(93%) contrast(94%);
  /* 白背景でも見えるように色調調整（例：青） */
}
.medicalSection_card:hover .medicalSection_icon {
  background-color: #FFF;
}
.medicalSection_label {
  font-size: 18px;
  margin-bottom: 10px;
  line-height: 22px;
  color: #002A74;
}
.medicalSection_card:hover .medicalSection_label {
  color: #FFF;
}

.medicalSection_arrow {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}


/* 矢印 */

@media (max-width: 768px) {
  .medicalSection_bg{background-color: #ECEDF4;}

  .medicalSection_bg .col-lg-4 {
    padding-left: 32px;
    padding-right: 32px;
    margin-top: 30px;
  }
  .medicalSection_bg .col-lg-8 {
    padding-left: 16px;
    padding-right: 16px;
  }
  .medicalSectioncontainer p{line-height: 30px;margin-bottom: 50px;}
}
@media (max-width: 768px) {
  .medicalSectioncontainer {
    padding: 30px 0px;
  }

  .medicalSection_cards {
    flex-direction: column;
    gap: 20px;
    padding: 80px 20px;
  }

  .medicalSection_card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px;
    border-radius: 8px;
    text-align: left;
    position: relative;
  }

  .medicalSection_icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    margin: 0;
  }
.medicalSection_icon img {
  width: 30px;
  height: 30px;
}
  .medicalSection_label {
    flex: 1;
    margin-left: 10px;
    font-size: 19px;
    line-height: 1.4;
    margin-top: 10px;
    color: #002A74;
  }

  .medicalSection_arrow {
    position: static;
    transform: none;
    margin-left: auto;
    margin-bottom: 10px;
  }
 

  .medicalSection_card:hover {
    background-color: #002A74;
    color: #FFF;
  }

  .medicalSection_card:hover .medicalSection_label {
    color: #FFF;
  }

  .medicalSection_card:hover .medicalSection_icon {
    background-color: #FFF;
  }
}







 /*当院の特徴・設備*/

.featureTitle {
  display: flex;
  align-items: center;
  gap: 20px;          /* 文字と線の間隔 */

  font-size: 30px;
  font-weight: 400;
  color: #002f77;
  margin-bottom: 50px;
}

/* 右に伸びる線 */
.featureTitle::after {
  content: "";
  flex: 1;            /* ← 残り幅いっぱいに伸びる */
  height: 1px;
  background: #002f77;
}

.featureTitle::before {
    left: 0;
}

.featureTitle::after {
    right: 0;
}

.featureTitleRow {
  display: flex;
  align-items: center;
  gap: 20px;
}


.featureTitleLine {
  flex-grow: 1;
  height: 1px;
  background-color: #6a7ba2;
}


  .featureSection_f95b {
  display: flex;
}

.featureTabs_f95b {
  width:380px;
  
}
.featureTabs_inner{flex: 1;
  width: 320px;
  display: flex;
  flex-direction: column;}
.tabBtn_f95b_top {
  border-top: 1px solid #C0C9D9 !important;
}
.tabBtn_f95b {
  background: transparent;
  border: none;
  border-bottom: 1px solid #C0C9D9;
  text-align: left;
  padding: 9px 15px;
  line-height: 1.3;
  cursor: pointer;
  font-size: 16px;
  color: #333;
  transition: all 0.3s;
}

.tabBtn_f95b.active {
  background-color: #F4FAFD;
  color: #002A74;
  font-weight: normal;
}

.featureContent_f95b {
  flex: 2;
  margin-left: 30px;
  position: relative;
}

.tabContent_f95b {
  display: none;
  animation: fadeIn_f95b 0.4s ease;
}

.tabContent_f95b.active {
  display: block;
}

.tabContent_f95b img {
  width: 100%;
  border-radius: 10px;
}
.featureTextBox_f95b .MoreLink_position{top: 40px;}

.featureTextBox_f95b {
  background-color: #FFF;
  margin-top: -80px;
  margin-left: 11%;
  padding: 40px  0 0 30px;
  max-width: 90%;
  position: relative;
}

.featureTextBox_f95b h3 {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 20px;
  color: #002A74;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.featureTextBox_f95b p {
  font-size: 16px;
  line-height: 1.5;
  color: #000;
}

.moreArrow_f95b {
  font-size: 12px;
  color: #d62256;
}
@keyframes fadeIn_f95b {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (max-width: 991.98px) {
  .featureSection_f95b {
    flex-direction: column;
  }

  .featureTabs_f95b {
    width: 100%;
    margin-bottom: 20px;
  }

  .featureTabs_inner {
    width: 100%;
  }

  .featureContent_f95b {
    margin-left: 0;
  }

  .tabBtn_f95b {
    font-size: 15px;
    padding: 10px 12px;
  }

  .tabContent_f95b img {
    width: 100%;
    height: auto;
  }

  .featureTextBox_f95b {
    margin-top: -50px;
    margin-left: 5%;
    max-width: 95%;
    padding: 30px 20px 0;
  }

  .featureTextBox_f95b h3 {
    font-size: 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  .featureTextBox_f95b p {
    font-size: 14px;
  }

  .featureTitle {
    font-size: 22px;
    margin-bottom: 30px;
  }
/* 右に伸びる線 */
.featureTitle::after {
  content: "";
  flex: 1;            /* ← 残り幅いっぱいに伸びる */
  max-width: 80px;
  height: 1px;
  background: #002f77;
}
  
}



/* 画像スクロール */
/* コンテナ */
.scrollContainer {
  overflow: hidden;
  width: 100%;
  background-color: #f8f8f8;
}

/* トラック（2セット分） */
.scrollTrack {
  display: flex;
  width: max-content;
  animation: scrollLoop 40s linear infinite;
}

/* 画像 */
.scrollTrack img {
  height: 400px;
  flex-shrink: 0;
  object-fit: cover;
}

/* アニメーション：全体の 50% 分だけ左にスライド */
@keyframes scrollLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* スマホ用 */
@media screen and (max-width: 768px) {
  .scrollTrack img {
    height: 300px;
  }
}





/* 外来案内 */
.imageCardWrap_Section{position: relative;margin-bottom: 50px;}
.imageCardWrap_heading{font-size: 24px;color: #002a74;margin-bottom: 20px;margin-top: 40px;display: block;}

.imageCardWrap_j83a {
  position: relative;
  width: 100%;
  max-width: 96%;
  aspect-ratio: 4 / 2.5;
}

.imageCardWrap_j83a {
  position: relative;
  width: 100%;
  padding-bottom: 62.5%; /* アスペクト比 4:2.5 */
  border-radius: 10px;
  overflow: visible;
  margin-bottom: 50px;
}
@media (max-width: 768px){
  .imageCardWrap_j83a {
  margin-bottom: 10px;
}
}

/* 背景：絶対配置で100%拡大（Safariでもズレない安定方式） */
.imageCardBackground_j83a {
  position: absolute;
  top: 17px;
  left: 17px;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  z-index: 1;
}

/* 画像も全く同じサイズに揃える（100% × 100%） */
.imageCardImage_j83a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  z-index: 2;
}
@media (max-width: 768px){

}
/* パターンA：青紫〜水色 */
.bgPattern-a {
  background: linear-gradient(to bottom, #EBD5E4, #C6D0E9);
}

/* パターンB：ピンク〜オレンジ */
.bgPattern-b {
  background: linear-gradient(to bottom, #C3C5E2, #CDE5F8);
}

/* パターンC：緑〜黄緑 */
.bgPattern-c {
  background: linear-gradient(to bottom, #B9D9F3, #C6DFD3);
}

/* パターンD：グレー〜ホワイト */
.bgPattern-d {
  background: linear-gradient(to bottom, #BCD9CA, #EBF1D8);
}
/* パターンD：グレー〜ホワイト */
.bgPattern-e {
  background: linear-gradient(to bottom, #F1EBD8, #E6BBC6);
}


.MoreLink_position{position: absolute;top: 5px;right: 80px;}
.moreLine-arrow {
  position: relative;
  font-size: 14px;
  color: #000;
  text-decoration: none;
  display: inline-block;
}

/* 背景矢印を擬似要素で実装 */
.moreLine-arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 110px;
  height: 30px;
  background-image: url("../../assets/images/moreLine-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  transition: transform 0.3s ease;
}

/* hoverで矢印だけ右に動かす */
.moreLine-arrow:hover::after {
  transform: translateX(5px);
}

@media (max-width: 768px){
.imageCardWrap_heading{font-size: 18px;color: #002A74;margin-bottom: 20px;margin-top: 40px;display: block;}
.MoreLink_position{position: static;top: 0px;right: 80px;margin-bottom: 15px;padding-bottom: 20px; text-align: right;margin-right: 70px;}
.moreLine-arrow {
  position: relative;
  font-size: 12px;
  text-align: right;
}
  /* 背景矢印を擬似要素で実装 */
.moreLine-arrow::after {
  width: 90px;
  left: -3px;
  height: 30px;
  bottom: -1px;
  background-image: url("../../assets/images/moreLine-arrow.svg");
}
  /* スマホのときだけ中央寄せ */
  .morecenter {
    text-align: center;margin-left: -10%;
  }
}
@media (max-width: 768px){
  .moreLine-arrow.sp-more-right {
    display: block !important;
    margin-left: auto !important;
    text-align: right !important;
    width: fit-content !important;
    position: relative !important;
    margin-right: 60px;
  }

  
}


/* MRIセンター */
 .mriSection_xyz9 {
  background: url('../../assets/images/mriSection-bg.jpg') no-repeat center bottom / cover;
  padding: 50px 0px;
}

.mriContainer_xyz9{
  position: relative;
  border-radius: 10px;
  padding: 50px 50px;
}

.mriContainer_xyz9::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 10px;
  background: rgba(255,255,255,0.9);
  z-index: 0;
}

.mriContainer_xyz9 > *{
  position: relative;
  z-index: 1;
}

.mriHeader_xyz9 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.mriTitle_xyz9 {
  font-size: 30px;
  color: #002f77;
  font-weight: normal;
}

.mriText_xyz9 {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 30px;
}

.mriPoints_xyz9 {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.mriPointBox_xyz9 {
  flex: 1;
  border: 1px solid #002f77;
  border-radius: 10px;
  text-align: center;
  width: 100%;
  padding: 15px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #DC000C;
  font-size: 16px;
  line-height: 1.5;
}

.mriPointBox_xyz9 small {
  color: #000;
  font-size: 12px;
}

.mriReserveBoxes_xyz9 {
  background: #002f77;
  border-radius: 10px;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  padding: 30px 70px;
  gap: 70px;
  justify-content: space-between;
}

.mriPhoneBox_xyz9,
.mriWebBox_xyz9 {
  flex: 1;
}

.mriReserveTitle_xyz9 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 25px;
  border-bottom: 1px solid #FFF;
  padding-bottom: 20px;
  color: #FFF;
}

.mriPhoneNumber_xyz9 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 20px;
  line-height: 24px;
  color: #FFF;
}

.mriPhoneNumber_xyz9 span {
  font-size: 40px;
  color: #FFF;
  letter-spacing: 2px;
}

/* スマホ時の電話リンクスタイル */
@media (max-width: 768px) {

.mriPhoneNumber_xyz9 {
  font-size: 24px;
  text-align: center;
  margin-bottom: 5px;
  line-height: 24px;
  color: #FFF;
}

.mriPhoneNumber_xyz9 span {
  font-size: 40px;
  color: #FFF;
  letter-spacing: 2px;
}

  .mriPhoneNumber_xyz9 a {
    color: #fff;           /* 白文字 */
    text-decoration: none; /* 下線なし */
  }

  .mriPhoneNumber_xyz9 a:hover,
  .mriPhoneNumber_xyz9 a:focus {
    color: #fff;           /* hoverしても白のまま */
    text-decoration: none; /* hover時も下線なし */
  }
  .mriPointBox_xyz9 {
  font-size: 14px;
}


}

.mriHoursBox_xyz9 {
  font-size: 13px;
  display: flex;
  align-items: center;
}

.mriHoursLabel_xyz9 {
  border: 1px solid #fff;
  display: inline-block;
  font-size: 14px;
  border-radius: 10px;
  padding: 3px 10px;
  margin-right: 10px;
}
.mriHoursText_xyz9 {
  font-size: 14px;
  flex-grow: 1;
  position: relative;
}
/* spanの時間だけ右端に寄せる */
.mriHoursText_xyz9 span {
  position: absolute;
  right: 0;
}

.mriWebBtn_xyz9 {
  position: relative;
  display: block;
  background: #fff;
  color: #000;
  padding: 12px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: 0.3s;
}

.mriWebBtn_xyz9:hover {
  color: #002A74;
  background: #ECEDF4;
}


/* 矢印 */
/* 矢印ボタン */
.mriWebArrow_xyz9 {
  position: absolute;
  width: 30px;
  height: 30px;
  right: 15px;
  top: 50%; /* 中央揃え */
  transform: translateY(-50%);
  z-index: 10;
  background-image: url("../../assets/images/nav-arrow-hover.svg"); /* ←画像パスを指定 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  transition: transform 0.3s ease;
}

/* hover時に画像を右へスライド */
a:hover .mriWebArrow_xyz9 {
  transform: translate(5px, -50%);
}



@media screen and (max-width: 991px) {
.mriTitle_xyz9 {
  font-size: 20px;
  color: #002f77;
}
.mriPoints_xyz9{display: block;}
.mriPointBox_xyz9{margin-bottom: 10px;}
.mriReserveTitle_xyz9 {
  text-align: center;
  font-size: 16px;
  margin-bottom: 15px;
  border-bottom: 1px solid #FFF;
  padding-bottom: 0px;
  color: #FFF;
}
  .mriContainer_xyz9 {
  padding: 30px;
}

  .mriReserveBoxes_xyz9 {
  padding: 20px 30px ;
  display: block;
}
.mriPhoneBox_xyz9{display: block;width: 100%;}
.mriPhoneNumber_xyz9 {
  font-size: 15px;
  color: #FFF;
}

.mriPhoneNumber_xyz9 span {
  font-size: 22px;
  letter-spacing: 1px;
  margin-left: 0px !important;
}
.mriHoursBox_xyz9 {
  font-size: 13px;
  display: block;
  align-items: center;
  text-align: center;
}
.mriHoursLabel_xyz9 {
  font-size: 12px;
  line-height: 1.5;
  border: 1px solid #fff;
  display: block;
  width: 100%;
  margin-right: 0px;
  margin-bottom: 5px;
}
.mriHoursText_xyz9 {
  font-size: 12px;
  line-height: 1.5;
  width: 100%;
  display: block;
  margin-bottom: 15px;
}
/* spanの時間だけ右端に寄せる */
.mriHoursText_xyz9 span {
  position: relative;
  right: auto;
}
}


.mriMoreLink_position {
  position: relative;

}

.moreLine {
  position: absolute;
  font-size: 14px;
  color: #000;
  right: 0px;
  top: 0;
  text-decoration: none;
  display: inline-block;
  padding-right: 80px; /* 矢印画像のスペースを確保 */
}

/* 矢印画像（斜線＋横線の代わり） */
.moreLine::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 0px;
  width: 100px;
  height: 30px;
  background-image: url("../../assets/images/moreLine-arrow.svg"); /* ←画像パスを指定 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
  pointer-events: none;
}

/* hoverで画像だけ右に動く */
.moreLine:hover::after {
  transform: translateX(5px);
}


.mriMoreLink_position-sp{position: relative;margin: 20px 0 50px;}
.moreLine-sp {
  position: absolute;
  font-size: 14px;
  color: #000;
  left: 40%; /* 中央基準 */
  top: 0;
  transform: translateX(-40%); /* 横中央揃え */
  text-decoration: none;
}

/* 横線 */
.moreLine-sp::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 1px;
  background-color: #dc000c;
  transition: all 0.3s ease;
}

/* 斜線 */
.moreLine-sp::after {
  content: "";
  position: absolute;
  top: 15px;
  left: 100px;
  width: 1px;
  height: 10px;
  background-color: #DC1B0A;
  transform: translateX(-40%) rotate(-45deg);
  transform-origin: bottom center;
  transition: all 0.3s ease;
}

/* hover時に動く・色変わる */
.moreLine-sp:hover::before {
  transform: translateX(5px);
  background-color: #DC000C;
}

.moreLine-sp:hover::after {
  transform: translateX(5px) rotate(-45deg);
  background-color: #DC000C;
}







/* 診療に関するお問い合わせ */

.contactCardBox_d435 {
  background-color: #BAB1A0;
  padding: 30px 20px;
  border-radius: 10px;
  width: 100%;
  height: 268px;
  color: #FFF;
  margin-bottom: 30px;
}

.contactCardTitle_d435 {
  background-color: #FFF;
  color: #000;
  padding: 5px 20px;
  width: 100%;
  border-radius: 5px;
  text-align: center;
  font-size: 17px;
  margin-bottom:20px;
}

.contactCardTel_d435 {
  margin-bottom: 10px;
  text-align: center;
  align-items: baseline;
}

.contactCardTelLabel_d435 {
  font-size: 24px;
}

/* スマホ時の TEL / FAX リンク統一 */
@media (max-width: 991px) {
  .contactCardBox_d435 {
  background-color: #BAB1A0;
  padding: 30px 30px;
  border-radius: 10px;
  width: 100%;
  height: auto;
  color: #FFF;
  margin-bottom: 30px;
}
  .contactCardTelNumber_d435 a,
  .contactCardFaxLabel_d435 a {
    color: #fff;            /* 白文字 */
    text-decoration: none;  /* 下線なし */
  }

  .contactCardTelNumber_d435 a:hover,
  .contactCardTelNumber_d435 a:focus,
  .contactCardFaxLabel_d435 a:hover,
  .contactCardFaxLabel_d435 a:focus {
    color: #fff;
    text-decoration: none;
  }
  .contactCardTel_d435 {
  margin-bottom: 0px;
  text-align: center;
  align-items: baseline;
}
}

.contactCardTelNumber_d435 {
  font-size: 40px;
  font-weight: 100;
  letter-spacing: 1px;
  line-height: 40px;
  margin-bottom: 0px;
  white-space: nowrap; /* 折り返し防止 */
}
.contactCardFaxLabel_d435,.contactCardFaxNumber_d435{
  font-size: 20px;
  line-height: 16px;
}
@media screen and (max-width: 768px) {
.contactCardTelLabel_d435 {
  font-size: 15px;
  margin-right: 0px;
}
.contactCardFaxLabel_d435{
  font-size: 15px;
  line-height: 16px;
}
 .contactCardTelNumber_d435 {
  font-size: 26px;
  white-space: nowrap; /* ← これを追加 */
  letter-spacing: 2px;
} 
}


.contactCardLine_d435 {
  height: 1px;
  background-color: #FFF;
  border: none;
  margin: 20px 0;
}

.contactCardHoursWrapper_d435 {
  text-align: center;
  display: flex;
  align-items: center;
}

.contactCardHoursLabel_d435 {
  border: 1px solid white;
  padding: 5px 10px;
  width: 200px;
  display: inline-block;
  border-radius: 5px;
  margin-right: 15px;
  line-height: 1;
  font-size: 14px;
  color: white;
}
.contactCardHours_d435{position: relative;width: 100%;}
.contactCardHours_d435 p {
  margin: 5px 0;
  font-size: 14px;
  letter-spacing: 1px;
  color: white;
  display: flex;                  /* ← 横並びに */
  justify-content: space-between; /* ← 左右に分ける */
  align-items: center;            /* ← 縦中央 */
}
.contactCardHours_d435 span {
  position: absolute;
  right: 0;
  font-size: 14px;
}
@media screen and (max-width: 991px) {
.contactCardHoursWrapper_d435 {
    flex-direction: column;   /* 縦並びに変更 */
    align-items: center;
    text-align: center;
  }
  .contactCardHoursLabel_d435 {
  font-size: 14px;
  display: block;
  margin-right: 0px;
  width: 100%;
}
 .contactCardHours_d435 p {
  font-size: 14px;
  margin-bottom: 0px;
}
}





/* 診療時間表 */

.clinicTableWrapper_hrs {
  max-width: 100%;
  margin-bottom: 20px;
}

.clinicTimeTable_hrs {
  width: 100%;
  height: 268px;
  border-collapse: collapse;
  background-color: #F9F9FC;
  border-radius: 10px;
  overflow: hidden;
}

.clinicTimeTable_hrs th,
.clinicTimeTable_hrs td {
  text-align: center;
  padding: 12px;
  border-bottom: 1px solid #e0e6ed;
  font-size: 15px;
  line-height: 1.5;
  color: #002A74;
}

.clinicTimeTable_hrs thead th {
  background-color: #ECEDF4;
  font-size: 15px;
}

.clinicTimeTable_hrs tr:last-child td {
  border-bottom: none;
}

.clinicTimeTable_hrs .holiday {
  color: #002A74;
}

.clinicTableNote_hrs {
  color: #000;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .clinicTimeTable_hrs {
    height: auto !important; /* ← 高さをリセット */
  }
  .clinicTimeTable_hrs th,
  .clinicTimeTable_hrs td {
    font-size: 14px;
  padding: 12px 8px;
    white-space: nowrap; /* ← これを追加 */
  }


  .clinicTimeTable_hrs thead th {
    font-size: 14px;
    white-space: nowrap; /* ← これも追加しておくと安全 */
  }
}





/* outpatientCard */

#outpatientCard {position: relative;margin-top:30px;z-index: 2;}
#outpatientCard a{text-decoration: none;}
/* リンク全体に hover 効果を付ける */
.outpatientCard_92dd {
  transition: background-color 0.3s ease;
}

.outpatientCard_92dd {
  position: relative;
  background-color: #002f77;
  color: white;
  display: flex;
  align-items: center;
  padding: 42px 25px;
  border-radius: 10px;
  max-width: 100%;
  position: relative;
  margin-bottom: 30px;
}
.outpatientCard_92dd_red {
  background-color: #DC000C;
}
@media screen and (max-width: 768px) {
  .outpatientCard_92dd {
  position: relative;
  background-color: #002f77;
  color: white;
  display: flex;
  align-items: center;
  padding: 20px 25px;
  border-radius: 10px;
  max-width: 100%;
  position: relative;
  margin-bottom: 30px;
}
  .outpatientCard_92dd {
  margin-bottom: 15px;
}
.outpatientCard_92dd_red {
  background-color: #DC000C;
}
}
/* hover時の背景色変更 */
a:hover .outpatientCard_92dd {
  background-color: #ECEDF4; /* お好みの色に変更 */
}
/* アイコン */
.outpatientIcon_92dd {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.outpatientIcon_92dd img {
  width: auto;
  height: auto;
}

.outpatientText_92dd {
  flex: 1;
}

.outpatientTitle_92dd {
  margin-left: 20px;
  font-size: 18px;
  margin-bottom: 0px;
}
/* 親リンクに hover したとき、タイトルの色を変更 */
a:hover .outpatientTitle_92dd {
  color: #002A74;
}
.outpatientSub_92dd {
  font-size: 12px;
  margin-top: 0px;
  margin-left: 20px;
  color: #BAB1A0;
}

.outpatientArrow_92dd {
  color: #DC1B0A;
  font-size: 20px;
}

.outpatientArrow_92dd {
  position: absolute;
  width: 36px;
  height: 36px;
  right: 15px;
  top: calc(50% + 0px); /* お好みで調整 */
  z-index: 10;
  background: transparent;
  cursor: pointer;
}

/* 横線（棒） */
.outpatientArrow_92dd::before {
  content: "";
  position: absolute;
  top: -25%;
  left: 55%;
  width: 1px;
  height: 70%;
  background-color: #DC1B0A;
  transform: translateX(-50%) rotate(90deg);
}

/* 斜線（左上へ） */
.outpatientArrow_92dd::after {
  content: "";
  position: absolute;
  top: -20%;
  left: 90%;
  width: 1px;
  height: 30%;
  background-color: #DC1B0A;
  transform: translateX(-40%) rotate(-45deg);
  transform-origin: bottom center;
}
/* hover時、矢印の色変更・位置調整 */
a:hover .outpatientArrow_92dd::before,
a:hover .outpatientArrow_92dd::after {
  background-color: #DC000C;
  transition: all 0.3s ease;
}

/* before の調整（右へ移動） */
a:hover .outpatientArrow_92dd::before {
  transform: translateX(5px) rotate(90deg);
}

/* after の調整（右へ移動） */
a:hover .outpatientArrow_92dd::after {
  transform: translateX(5px) rotate(-45deg);
}


/* 横線（棒） */
.outpatientArrow_92dd_white::before {
  background-color: #FFF;
}

/* 斜線（左上へ） */
.outpatientArrow_92dd_white::after {
  background-color: #FFF;
}
/* hover時、矢印の色変更・位置調整 */
a:hover .outpatientArrow_92dd_white::before,
a:hover .outpatientArrow_92dd_white::after {
}



/* NEWS */
#top-news{margin-top: -170px;position: relative;z-index: 2;}
.news-item {
  background-color: #f0f9ff;
  opacity: 0.8;
  border-radius: 10px;
  padding: 20px 30px;
  display: flex;
  align-items: center;
  
}

.news-item .news-label {
  font-size: 18px;
  color: #DC000C;
  letter-spacing: 1px;
  width: 10%;
  padding: 0 ;
}

.news-item .date {
  font-size: 12px;
  color: #000;
  padding: 0 ;
  width: 10%;
}

.news-item .category {
  font-size: 12px;
  color: #909090;
  border: 1px solid #C0C9D9;
  font-weight: normal;
  border-radius: 5px;
  width: 10%;
  padding: 0 1%;
  text-align: center;
}

.news-item .title {
  font-size: 16px;
  padding:0 3%;
  color: #000;
  flex-grow: 1;
  width: 60%;
}

.news-item .news-label,
.news-item .date,
.news-item .category,
.news-item .title {
  margin: 0;
}
.news-item a{text-decoration: none;color: #000;}
.news-item .title a:hover {
  color: #002A74;
}
/* スマホ対応 */
@media screen and (max-width: 768px) {
#top-news{margin-top: -230px;position: relative;z-index: 2;}
  .news-item {
    flex-wrap: wrap;
    padding: 5%;
    position: relative;
  }
.news-item .news-label{
    width: 25%;
  }
  
  .news-item .date{
    width: 25%;
  }

  .news-item .category {
    width: 40%;
  }

  .news-item .title {
    width: 80%;
    padding:5px 0%;
    margin-left: 25%;
    font-size: 14px;
    line-height: 18px;
    font-weight: normal;
  }
}





/* トップスライド */

  .swiper-txt-inner{position: absolute;left: 58%;top:15%;z-index: 2;color: #FFF;width: 40%;}
  .swiper-title{font-size:38px;line-height: 1.5;margin-bottom: 30px;}
  .swiper-sub-title{font-size:26px;color: #FFF;line-height: 37px;margin-bottom: 10px;font-weight: normal;}
  .swiper-txt{font-size:16px;color: #FFF;line-height: 40px;}

/* ===== 769px〜1100pxの中間デバイス用 ===== */
@media screen and (min-width: 769px) and (max-width: 1100px) {
  .swiper-txt-inner{position: absolute;left: 5%;top:10%;z-index: 2;color: #FFF;width: 100%;}
  .swiper-title{font-size:35px;line-height: 54px;margin-bottom: 20px;}
  .swiper-sub-title{font-size:20px;color: #FFF;line-height: 1.5;margin-bottom: 10px}
  .swiper-txt{font-size:14px;color: #FFF;line-height: 30px;}
}

@media screen and (max-width: 768px) {
  .swiper-txt-inner{position: absolute;left: 7%;top:5%;z-index: 2;color: #FFF;width: 80%;}
  .swiper-title{font-size:35px;line-height: 1.3;margin-bottom: 20px;}
  .swiper-sub-title{font-size:20px;color: #FFF;line-height: 1.5;margin-bottom: 10px}
  .swiper-txt{font-size:14px;color: #FFF;line-height: 30px;}
}
  .custom-fraction {
  position: absolute;
  top: 50%;
  right: 45px;
  transform: translateY(0%) rotate(90deg);
  transform-origin: top center;
  font-size: 12px;
  color: #FFF;
  white-space: nowrap;
  z-index: 10;
}
/* 著作権表示：縦書きで縦中央配置 */
.copyright-vertical {
  position: absolute;
  top: 50%;
  right: -80px;
  transform: translateY(0%) rotate(90deg);
  transform-origin: top center;
  font-size: 11px;
  line-height: 1em;
  letter-spacing: 0.2em;
  color: #FFF;
  white-space: nowrap;
  z-index: 10;
}
 .fadeSwiper {
  width: 100%;
  height: 700px;
  position: relative;
  overflow: hidden;
}

.swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 上矢印 */
.swiper-button-prev {
  right: 4em;
  top: calc(50% - 30px); /* 中央より上へ */
  transform: rotate(270deg);
}
/* 矢印共通設定 */
.swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next {
  right: 10px;
  left: auto;
}
/* Swiperボタン全体の設定 */
.swiper-button-prev.custom-arrow-up {
  position: absolute;
  width: 36px;
  height: 36px;
  right: 50px;
  top: calc(50% - 60px); /* お好みで調整 */
  z-index: 10;
  background: transparent;
  cursor: pointer;
}

/* 縦線（棒） */
.swiper-button-prev.custom-arrow-up::before {
  content: "";
  position: absolute;
  top: 10%;
  left: 50%;
  width: 1px;
  height: 80%;
  background-color: #fff;
  transform: translateX(-50%) rotate(90deg);
}

/* 斜線（右上へ） */
.swiper-button-prev.custom-arrow-up::after {
  content: "";
  position: absolute;
  top: 40%;
  left: 60%;
  width: 1px;
  height: 40%;
  background-color: #fff;
  transform: translateX(-40%) rotate(45deg);
  transform-origin: bottom center;
}

/* Swiperボタン全体の設定 */
.swiper-button-next.custom-arrow-down {
  position: absolute;
  width: 36px;
  height: 36px;
  right: 50px;
  top: calc(50% + 60px); /* お好みで調整 */
  z-index: 10;
  background: transparent;
  cursor: pointer;
}

/* 縦線（棒） */
.swiper-button-next.custom-arrow-down::before {
  content: "";
  position: absolute;
  top: 10%;
  left: 50%;
  width: 1px;
  height: 80%;
  background-color: #fff;
  transform: translateX(-50%) rotate(90deg);
}

/* 斜線（右上へ） */
.swiper-button-next.custom-arrow-down::after {
  content: "";
  position: absolute;
  top: 10%;
  left: 90%;
  width: 1px;
  height: 40%;
  background-color: #fff;
  transform: translateX(-40%) rotate(-45deg);
  transform-origin: bottom center;
}

/* 上矢印 */
.swiper-button-prev {
  top: calc(50% - 30px); /* 中央より上へ */
  transform: rotate(270deg);
}

/* 下矢印 */
.swiper-button-next {
  top: calc(50% + 30px); /* 中央より下へ */
  transform: rotate(90deg);
}

/* 上矢印 hover時：色を赤に */
.swiper-button-prev.custom-arrow-up:hover::before,
.swiper-button-prev.custom-arrow-up:hover::after {
  background-color: #ff0000;
}

/* 下矢印 hover時：色を赤に */
.swiper-button-next.custom-arrow-down:hover::before,
.swiper-button-next.custom-arrow-down:hover::after {
  background-color: #ff0000;
}

/* アニメーションをつけるための共通設定 */
.swiper-button-prev.custom-arrow-up,
.swiper-button-next.custom-arrow-down {
  transition: transform 0.2s ease;
}

/* ホバー時に上下に移動 */
.swiper-button-prev.custom-arrow-up:hover {
  transform: rotate(270deg)translateX(3px);
}

.swiper-button-next.custom-arrow-down:hover {
  transform: rotate(90deg)translateX(3px);
}

@media screen and (max-width: 768px) {
  .custom-fraction {
  position: absolute;
  top: 48.5%;
  right: 17px;
  transform: translateY(0%) rotate(90deg);
  transform-origin: top center;
  font-size: 12px;
  color: #FFF;
  white-space: nowrap;
  z-index: 10;
}
  /* Swiperボタン全体の設定 */
.swiper-button-next.custom-arrow-down {
  position: absolute;
  width: 25px;
  height: 25px;
  right: 30px;
  top: calc(50% + 45px); /* お好みで調整 */
  z-index: 10;
  background: transparent;
  cursor: pointer;
}
/* Swiperボタン全体の設定 */
.swiper-button-prev.custom-arrow-up {
  position: absolute;
  width: 25px;
  height: 25px;
  right: 30px;
  top: calc(50% - 45px); /* お好みで調整 */
  z-index: 10;
  background: transparent;
  cursor: pointer;
}
  .fadeSwiper {
    height: 700px;
  }

  .swiper-slide {
    height: 700px;
  }

  .swiper-slide img {
    height: 100%; /* 修正：700px → 100% */
    object-fit: cover;
  }
  /* 著作権表示：縦書きで縦中央配置 */
.copyright-vertical {
  position: absolute;
  top: 50%;
  right: -85px;
  transform: translateY(0%) rotate(90deg);
  transform-origin: top center;
  font-size: 10px;
  color: #FFF;
  letter-spacing: 0.2em;
  line-height: 1em;
  white-space: nowrap;
  z-index: 10;
}
}

/* ====== トップ end ====== */






/* ===== パンくずリスト ===== */
.breadcrumb_ro50 {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 13px;
  margin: 15px 0 15px;
  gap: 8px; /* アイコンや区切りとの隙間 */
  flex-wrap: wrap; /* ← 折り返し可能に！ */
  line-height: 1.6 !important;
}

.breadcrumb_ro50 i {
  font-size: 11px;
}

.breadcrumb_ro50 a {
  color: #000;
  font-size: 13px;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px; /* アイコンとテキストの間 */
  transition: color .2s ease;
}

.breadcrumb_ro50 a:hover {
  color: #002f77; /* ホバーで紺色に */
}

.breadcrumb_ro50 .divider_ro50 {
  color: #555;
}

/* ===== スマホ対応 ===== */
@media screen and (max-width: 768px) {
  .breadcrumb_ro50 {
    display: none;
    font-size: 12px;
    gap: 6px;
    line-height: 1.8;
  }
  .breadcrumb_ro50 a {
    font-size: 12px;
  }
}
/* ===== パンくずリスト ===== */




/* =====  Heroタイトル画像付き  ===== */
.hero_kq{
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 300px;       /* ← 高さを固定 */
  padding: 0;          /* ← 高さを固定したので padding は不要 */
   background-position: center center; /* ← 画像の基準をセンターに */
  background-repeat: no-repeat;       /* ← 繰り返し防止 */
  background-size: cover !important;             /* ← 画面いっぱいに拡大 */
}
/* ===== スマホ用（高さを自動調整） ===== */
@media (max-width: 768px) {
  .hero_kq {
    height: 250px; /* ← スマホでは少し低めに */
    background-size: cover; /* 画像全体をカバー */
    background-position: center top; /* 上寄せもおすすめ */
  }
}


/* 中央配置（Grid → Flexに変更） */
.hero_kq__inner{
  height: 100%;
  display: flex;                 /* ← ここを flex に */
  flex-direction: column;        /* 縦積み */
  justify-content: center;       /* 縦方向の中央寄せ */
  align-items: center;           /* 横方向の中央寄せ */
  text-align: center;
  padding-inline: 16px;
  gap: 0;                        /* 行間はここで0に固定 */
}
/* 念のためUAデフォルト余白を完全リセット */
.hero_kq__inner > *{
  line-height: 1;                /* 行高も詰める */
}

/* 日本語タイトル（必要な最小だけ） */
.hero_kq__ja{
  font-weight: 200;
  font-size: 40px;
  margin-top: 20px;
  margin-bottom: 20px;
  color: #002f77;
}


/* 英語サブタイトル */
.hero_kq__en{
  font-size: 12px;
  letter-spacing: 0.12em;
  color: #254f8f;
  opacity: 0.9;
}
@media (max-width: 768px){
  
 .hero_kq__ja{
  font-size: 28px;
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.3;
  color: #002f77;
}
.hero_kq__en{
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #254f8f;
  opacity: 0.9;
}
}
/* モバイル微調整 */
@media (max-width: 480px){
  .hero_kq{ height: 250px; }
  .hero_kq__ja{ letter-spacing: 0.04em; }
}

/* =====  Heroタイトル画像付き  ===== */


/* =====  Heroタイトル  ===== */
.heroPlain_jp91{
  position: relative;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 16px;
  margin-bottom: 100px;
  margin-top: 25px;
}

/* 中央配置 */
.heroPlain_jp91__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

/* 日本語タイトル */
.heroPlain_jp91__ja{
  margin: 0;
  font-weight: 200;
  line-height: 43px;
  font-size: 40px;
  line-height: 1.5;
  color: #002f77;
}

/* 英語サブタイトル */
.heroPlain_jp91__en{
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.12em;
  color: #000;
  opacity: 0.9;
}

/* モバイル対応 */
@media (max-width: 480px){
  .heroPlain_jp91{ height: 160px; }
  .heroPlain_jp91__ja{ font-size: 28px; letter-spacing: 0.04em; }
}
/* =====  Heroタイトル  ===== */



/* ====== リスト全体 ====== */
.infoGrid_ro40{
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列レイアウト */
  column-gap: 30px;    /* 横の空き */
  row-gap: 10px;       /* 縦の空き */
  padding: 1px 0;
  box-sizing: border-box;
}

/* 各リンクブロック */
.infoCol_ro40{
  display: block; /* 1つのリンクを囲むだけ */
}

/* 各リンク */
.infoItem_ro40{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 10px 12px 0;
  font-size: 16px;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid #e6ecf3;
  transition: color .2s ease, border-color .2s ease;
}

/* アイコン（三角） */
.infoItem_ro40::after{
  content: "";
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 1.6px solid #2a2f36;
  border-bottom: 1.6px solid #2a2f36;
  transform: rotate(45deg);
  opacity: .9;
  position: relative;
  top: -2px;   /* ← 上に移動 */
}

/* ホバー */
.infoItem_ro40:hover{
  color: #0f3c86;
  border-bottom-color: #d5dee9;
}

/* スマホ対応 */
@media (max-width: 1024px){
  .infoGrid_ro40{ grid-template-columns: repeat(2, 1fr); column-gap: 32px; }
}
@media (max-width: 480px){
  .infoGrid_ro40{ grid-template-columns: 1fr; row-gap: 5px; }
  .infoItem_ro40{ font-size: 15px; padding-right: 24px; }
}
/* ====== リスト全体 ====== */









/* ===== 外来受診の方へ共通 st ===== */


/* ==============================
   外来受診の方へ上部
   ============================== */
.title_orthopedic {
  font-size: 24px;
  line-height: 1.5;
  color: #002f77;
  margin-bottom: 15px;
}
.photo-r{border-radius: 10px;width: 100%;}
@media screen and (max-width: 768px) {
.title_orthopedic {
  font-size: 20px;
  line-height: 1.5;
  color: #002f77;
  margin-bottom: 15px;
}
}


.accordionSection_x9 {
  border-top: 1px solid #C0C9D9;
}

/* アコーディオンヘッダー */
.accordionHeader_x9 {
  width: 100%;
  text-align: left;
  padding: 12px 0;
  font-size: 24px;
  color: #002A74;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.accordionIcon_x9 {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 30px;   /* アイコンの大きさ */
  height: 30px;
}

/* 横線（共通） */
.accordionIcon_x9::before,
.accordionIcon_x9::after {
  content: "";
  position: absolute;
  background: #DC1B0A; /* 線の色 */
}

/* 横線 */
.accordionIcon_x9::before {
  width: 20px;
  height: 1px;
}

/* 縦線（初期は表示） */
.accordionIcon_x9::after {
  width: 1px;
  height: 20px;
}

/* 開いたときは縦線を消す → マイナスになる */
.accordionHeader_x9.active .accordionIcon_x9::after {
  transform: scaleY(0);
}
/* アコーディオン内容 */
.accordionContent_x9 {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.accordionContent_x9 .accordionGrid_x9 {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 左右2列 */
  gap: 10px 30px;
  padding: 0 0 20px 0;
}

.accordionGrid_x9 .item a {
  position: relative;               /* ::after を基準に配置 */
  display: block;
  padding: 10px 40px 0px 0;        /* 右に矢印分の余白 */
  font-size: 18px;
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* 矢印を画像で右端に配置 */
.accordionGrid_x9 .item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  width: 26px;  /* 矢印画像サイズ */
  height: 20px;
  background-image: url("../../assets/images/nav-arrow-hover.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  pointer-events: none;
}

/* ホバー時のエフェクト（矢印が少し右に動く） */
.accordionGrid_x9 .item a:hover {
  color: #002A74; /* テキストを赤に */
}
.accordionGrid_x9 .item a:hover::after {
  transform: translateY(-50%) translateX(4px);
}

/* ===== 下のリンクリスト ===== */
.linkList_x9 {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #C0C9D9;
}

.linkList_x9 li {
  border-bottom: 1px solid #C0C9D9;
}

.linkList_x9 li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  text-decoration: none;
  color: #002A74;
  font-size: 24px;
}
.linkList_x9 li a:hover {
  color: #000;
}
.linkList_x9 li a:hover .moreLine-arrow {
  color: #002A74 !important;
}

.linkList_x9 .moreLine-arrow {
  margin-right: 80px;  /* ← ここで調整 */
  font-size: 14px;
}
/* リンク（a）全体じゃなくて、文字をhoverした時だけ発火 */
.linkList_x9 li a:hover .moreLine-arrow::after {
  transform: translateX(5px);
}
@media screen and (max-width: 1024px) {
.title_box_left_wrapper_accordionHeader_x9 {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
@media (max-width: 768px){
  .accordionHeader_x9 {
  font-size: 18px;
}
  .linkList_x9 li a {
  font-size: 18px;
  line-height: 1.5;
}
.accordionContent_x9 .accordionGrid_x9 {
  display: grid;
  grid-template-columns: 1fr; /* 左右2列 */
}
.accordionGrid_x9 .item a {
  font-size: 14px;
}

.linkList_x9 .moreLine-arrow {
  margin-right: 55px;  /* ← ここで調整 */
  font-size: 12px;
}
}



/* 外来受診の方へ下部リンク */
.surgery-list {
  line-height: 1.8;
  color: #000;
  border-top: 1px solid #C0C9D9;
  width: 100%;
  max-width: 280px; /* 必要に応じて調整 */
  margin-top: 30px;
}

.surgery-list a:hover{
  color: #002A74 !important;
}

/* 手術名リンク */
.surgery-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 280px; /* 必要に応じて調整 */
  padding: 8px 0;
  text-decoration: none;
  color: #000 !important;
  border-bottom: 1px solid #C0C9D9;
  font-size: 16px;
  position: relative;
}

/* 矢印画像 */
.surgery-link::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 26px;
  background: url("../../assets/images/arrow.png") no-repeat center / contain;
  transition: transform 0.3s ease;
}

/* hover時に矢印を右へ動かす */
.surgery-link:hover::after {
  transform: translateX(5px);
}

/* 説明テキスト */
.surgery-note {
  font-size: 16px;
  padding: 6px 0;
  color: #000;
  border-bottom: 1px solid #C0C9D9;
  width: 100%;
  max-width: 280px; /* 必要に応じて調整 */
}
@media (max-width: 768px) {

/* 手術名リンク */
.surgery-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 280px; /* 必要に応じて調整 */
  padding: 8px 0;
  text-decoration: none;
  color: #000 !important;
  border-bottom: 1px solid #C0C9D9;
  font-size: 14px;
  position: relative;
}
/* 説明テキスト */
.surgery-note {
  font-size: 14px;
  padding: 6px 0;
  color: #000;
  border-bottom: 1px solid #C0C9D9;
  width: 100%;
  max-width: 280px; /* 必要に応じて調整 */
}
}
/* 外来受診の方へ下部リンク */



/* アイコン付き疾患ブロック */
.injury-box {
  display: flex;
  justify-content: flex-start;
  background: #ECEDF4;
  border-radius: 10px;
  padding: 30px 30px;
  width: 100%;
  color: #000;
}

.injury-illustration {
  flex-shrink: 0;
  width: 130px;
  margin-right: 30px;
}

/* テキスト側 */
.injury-box h3 {
  color: #002A74;
  font-size: 24px;
  text-align: center;
  margin-bottom: 15px;
}
.injury-box img {
  width: 100%;
}

.injury-text ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.injury-text li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.6;
}

.injury-text li::before {
  content: "●";
  color: #002A74;
  position: absolute;
  left: 0;
  font-size: 12px;
  top: 3px;
}
@media (max-width: 768px) {
.injury-box {
  display: block;
  justify-content: flex-start;
  background: #ECEDF4;
  border-radius: 10px;
  padding: 30px ;
  width: 100% !important;
  color: #000;
}
.injury-illustration {
  flex-shrink: 0;
  width: 100%;
  margin-right: 0px;
}
.injury-box img {
  width: 110px;
  margin-bottom: 15px;
  display: block;       /* インライン要素をブロック化 */
  margin-left: auto;    /* 左右中央寄せ */
  margin-right: auto;
}
/* テキスト側 */
.injury-box h3 {
  color: #002A74;
  font-size: 18px;
  text-align: center;
  margin-bottom: 15px;
}

.injury-text li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.6;
}
}
/* アイコン付き疾患ブロック */


.btn-cause {
  display: inline-block;
  background: #C0C9D9;      /* 淡いグレー寄りの青 */
  color: #fff;              /* 白文字 */
  font-size: 17px;
  text-align: center;
  padding: 5px 30px;
  border-radius: 9999px;    /* 丸みを強調（pill型） */
  line-height: 1.6;
  margin:10px 0 5px 0;
}
@media (max-width: 768px) {
  .btn-cause {
  font-size: 12px;
  padding: 3px 15px;
}
}


/* ===== 外来受診の方へ共通 end ===== */




/* ===== FAQ全体 st ===== */
 /* FAQ全体 */
.faq-item-topborder {
  border-top: 1px solid #ECEDF4;
}
.faq-item {
  border-bottom: 1px solid #ECEDF4;
}

/* 質問 */
.faq-question {
  width: 100%;
  padding: 20px 0 10px;
  background: none;
  border: none;
  text-align: left;
  font-size: 20px !important;
  line-height: 1.5;
  color: #000;
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-bottom: -5px;
}

.faq-question:hover {
  color: #002A74;
}
/* Q ラベル */
.faq-question .faq-label {
  font-size: 20px;
}
/* Q ラベル */
.faq-question .faq-label.q {
  color: #002A74;
  font-weight: bold;
  margin-right: 6px;
  flex-shrink: 0;
}

/* 回答（外枠は余白を固定） */
.faq-answer {
  padding: 15px 0 0 0;
}

/* 内側ラッパーをアニメーション対象に */
.faq-answer-inner {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

/* Aの右側のテキスト(p, ul)を縦方向に並べる */
.faq-answer-inner {
  flex-wrap: wrap; /* ← 横に並びきれない要素を下に回す */
}



/* 開いたとき */
.faq-question.active + .faq-answer .faq-answer-inner {
  max-height: 1000px; /* 十分大きめにしておく */
}

/* A ラベル */
.faq-answer .faq-label.a {
  color: #DC000C;
  font-weight: bold;
  margin-right: 0px;
  flex-shrink: 0;
  width: 30px;
  text-align: left;
  margin-bottom: 50px;
}

/* 回答テキスト */
.faq-answer p {
  margin-bottom: 15px;
  font-size: 16px !important;
  flex: 1;
}

/* 箇条書き */
.faq-answer ul {
  list-style: none; /* ← これを追加！ */
  margin: 10px 0 25px 20px;
  padding: 0;
  margin-left: 2em;
}
.faq-answer ul li {
  position: relative;
  padding-left: 12px;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 6px;
}
.faq-answer ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 4px;
  height: 4px;
  background-color: #002A74;
  border-radius: 50%;
}

/* ＋／－アイコン（線で作る） */
.faq-question .icon {
  position: relative;
  width: 18px;
  height: 18px;
  margin-top: 5px;
  margin-left: auto;
}

.faq-question .icon::before,
.faq-question .icon::after {
  content: "";
  position: absolute;
  background: #002A74;
  transition: transform 0.3s ease;
}

/* 横線 */
.faq-question .icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

/* 縦線（初期は表示 → ＋） */
.faq-question .icon::after {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

/* active時は縦線を消す（－） */
.faq-question.active .icon::after {
  transform: scaleY(0);
}

/* SP対応 */
@media screen and (max-width: 768px) {
  .faq-question {
    font-size: 16px !important;
    line-height: 24px;
    padding: 16px 0px 10px 0;
  }
  /* テキスト */
.faq-answer p {
  margin-bottom: 15px;
  font-size: 14px !important;
  line-height: 1.8;
}
}
/* ===== FAQ全体 ed ===== */



/* ===== 入院・面会の方へ st ===== */
.visitors {
  border-bottom: 1px solid #C0C9D9;
  padding: 0px 0 20px 0;
  margin: 0px 0;
}

/* 見出し */
.visitors-title {
  font-size: 24px;
  font-weight: normal;
  color: #002A74;
  border-bottom: 1px solid #002A74;
  padding-bottom: 6px;
  margin-bottom: 15px;
}


/* 見出し */
.visitors-title-small {
  font-size: 20px;
  color: #000;
  font-weight: normal;
  margin-top: 10px;
  margin-bottom: 5px;
}

.visitors p {
  margin: 0px 0;
  font-size: 16px;
}

/* 説明文 */
.visitors-desc {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
  color: #000;
}

/* PDFリンクカード */
.visitors-card {
  border-top: 1px solid #C0C9D9;
  border-bottom: 1px solid #C0C9D9;
  padding: 12px 0;
  margin-bottom: 15px;
  margin-top: 15px;
  background: #fff;
  width: 300px;
}
.visitors-card:hover {
  color: #002A74;
}
@media (max-width: 768px) {
.visitors-card{
    margin-left: auto;
    margin-right: auto;
  }

}
/* リンク */
.visitors-link {
  text-decoration: none;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
}

/* アイコン */
.visitors-icon {
  margin-left: 10px;
  font-size: 18px;
  color: #000; /* PDFは赤系にするとわかりやすい */
}

@media (max-width: 768px) {
.visitors {
  padding: 0px 0 10px 0;
}
/* 見出し */
.visitors-title {
  font-size: 18px;
  padding-bottom: 6px;
  line-height: 1.5;
  margin-bottom: 15px;
}
/* 見出し */
.visitors-title-small {
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 5px;
}
.visitors p {
  margin: 0px 0;
  font-size: 14px;
}

/* 説明文 */
.visitors-desc {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 20px;
  color: #000;
}
/* リンク */
.visitors-link {
  font-size: 14px;
}
}

.visitors-steps h2 {
  font-size: 24px;
  text-align: center;
  border-bottom: 1px solid #002A74;
  color: #002A74;
  padding-bottom: 5px ;
  font-weight: normal;
  margin-bottom: 10px;
}

.visitors-steps {
  position: relative;
  margin-top: 20px;
  margin-bottom: 20px;
  background: #F9F9FC;
  border-radius: 10px;
  padding: 20px 40px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.visitors-step {
  display: flex;
  align-items: center;
  gap: 5px;
  border-bottom: 1px solid #ECEDF4;
  padding: 20px 0 20px !important;
}

.visitors-step:last-child {
  margin-bottom: 40px;
}

/* Flow + 数字 横並び */
.visitors-number {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 100px;
  font-size: 16px;
  color: #BAB1A0;
}

.visitors-number .label {
  font-size: 14px;
  margin: 5px 0 0 0 !important;
  color: #BAB1A0;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

.visitors-number .num {
  font-size: 52px;
  font-weight: normal;
  color: #002A74;
  line-height: 1;
}

.visitors-content h3 {
  font-size: 20px;
  margin: 0px 0 0 0 !important;
  color: #002A74;
}

.visitors-content p {
  font-size: 16px;
  color: #000;
  margin: 0;
  line-height: 1.8;
}

/* 注意書きスタイル */
.visitors-steps .note {
  font-size: 14px;
  color: #333;
  text-align: center;
  margin-top: 20px;
}
/* Flow3（最後のステップ）はボーダー消す */
.visitors-step:last-child {
  border-bottom: none;
  margin-bottom: 0px;
}
/* スマホ対応 */
@media (max-width: 768px) {
  .visitors-step {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
.visitors-steps {
  padding: 20px 30px;
}
  .visitors-number {
    justify-content: flex-start;
  }

  .visitors-number .num {
    font-size: 42px;
  }

  .visitors-content p {
    font-size: 14px;
  }
}
/* ===== 入院・面会の方へ ed ===== */





/* ===== 回復期リハビリ・療養の方へ st ===== */

.adl-list {
  background-color: #fff;
  border-radius: 10px;
  padding: 25px 30px;
  list-style: disc inside;
  color: #002A74;
  font-size: 16px;
  line-height: 2;
}

.adl-list li {
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 16px;
}

.adl-list p {
  font-size: 16px;
  color: #002A74 !important;
}

.adl-list li::marker {
  font-size: 8px; /* 点を小さく */
}
/* ==============================
   通常バージョン（左に画像・右にテキスト）2
   ============================== */
   
 .disease-section {
  max-width: 1200px;
  margin: 100px 0 150px;
  padding: 0;
}

.disease-card {
  display: flex;
  align-items: flex-start;
  position: relative;
  gap: 0;
}

.disease-img img {
  width: 100%;
  width: 540px;
  max-width: 600px;
  border-radius: 10px;
  display: block;
  z-index: 2;
  position: relative;
}

.disease-text {
  position: relative;
  flex: 1;
  padding: 5px 50px 5px 50px;
  z-index: 1; /* 文字は常に上に */
}

/* 背景だけ別レイヤーに */
.disease-text::before {
  content: "";
  position: absolute;
  top: -50px;      /* 上にずらす */
  left: -150px;     /* 左にずらす */
  right: 0;
  bottom: -50px;
  background: #ECEDF4;
  border-radius: 10px;
  z-index: -1;     /* 背景は下に配置 */
}

.disease-text h3 {
  font-size: 24px;
  margin-bottom: 12px;
  line-height: 1.5;
  color: #002a74;
}

.disease-text p {
  font-size: 16px;
  line-height: 1.8;
  color: #000;
}


@media (max-width: 990px) {
  
 
.adl-list li {
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
}
  .disease-section {
  margin: 50px 0 100px;
  padding: 0;
}
  .disease-card {
    display: block;
    position: relative;
  }

  /* 画像 */
  .disease-img {
    text-align: left;
    width: 90% !important;
    margin-right: 10%; /* 右にスペース */
    position: relative;
    z-index: 4;
  }

  .disease-img img {
    width: 100% !important;
    border-radius: 10px;
    display: block;
  }
.disease-text h3 {
  font-size: 18px;
  margin-bottom: 12px;
  line-height: 1.5;
  color: #002a74;
}

.disease-text p {
  font-size: 14px;
  line-height: 1.8;
  color: #000;
}
  /* テキスト */
  .disease-text {
    text-align: left;
    margin-left: 10%; /* 左にスペース */
    margin-top: 20px; /* 画像に少しかぶる */
    position: relative;
    padding: 0px 20px 20px;
    z-index: 3; /* 文字は一番前 */
  }

  /* 背景ボックス */
  .disease-text::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0%;
    right: 0;
    bottom: -10px;
    background: #ECEDF4;
    border-radius: 10px;
  }
}

/* ==============================
   反転バージョン（右に画像・左にテキスト）2
   ============================== */
.disease-section.reverse .disease-card {
  flex-direction: row-reverse; /* 並び順を逆に */
}

.disease-section.reverse .disease-text {
  padding: 5px 50px 5px 50px;
}

.disease-section.reverse .disease-text::before {
  content: "";
  position: absolute;
  top: -50px;
  left: 0;       /* 右ではなく左基準に */
  right: -150px; /* 今度は右に大きく広げる */
  bottom: -50px;
  background: #ECEDF4;
  border-radius: 10px;
  z-index: -1;
}

/* スマホ時の反転 */
@media (max-width: 990px) {
  .disease-section.reverse .disease-card {
    display: block;
  }

  .disease-section.reverse .disease-img {
    text-align: right;   /* 今度は右寄せ */
    width: 80% !important;
    margin-left: 20%;    /* 左にスペースを空ける */
    margin-right: 0;
  }

  .disease-section.reverse .disease-text {
    text-align: left;
    margin-right: 10%;   /* 右にスペース */
    margin-left: 0;
    margin-top: 20px;
    padding: 0px 20px 20px;
    z-index: 3;
  }

  .disease-section.reverse .disease-text::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0;
    right: 0;
    bottom: -10px;
    background: #ECEDF4;
    border-radius: 10px;
  }
}
@media (max-width: 768px) {
  .disease-section.reverse .disease-img {
    text-align: right;   /* 今度は右寄せ */
    width: 90% !important;
    margin-left: 10%;    /* 左にスペースを空ける */
    margin-right: 0;
  }
}


.hospital-box {
  display: flex;
  justify-content: space-between;
  border: 1px solid #5AA93C;
  border-radius: 10px;
  padding: 50px;
  gap: 30px;
  max-width: 1100px;
  margin: 30px auto;
}

.hospital-content {
  flex: 1;
}



.hospital-logo img {
  max-width: 440px;
  margin-bottom: 40px;
}



.hospital-desc {
  font-size: 16px;
  color: #000;
  line-height: 1.7;
}

.hospital-link {
  margin-top: 15px;
  font-size: 14px;
}

.hospital-link a {
  color: #e50012;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.hospital-image {
  flex: 0 0 50%;
}

.hospital-image img {
  width: 100%;
  border-radius: 10px;
}

/* Responsive */
@media screen and (max-width: 1024px) {
  .hospital-box {
    flex-direction: column;
    padding: 20px 25px;
  width: 85%;
  }

  .hospital-image {
    width: 100%;
  }
  .hospital-logo img {
  max-width: 100%;
}
.hospital-desc {
  font-size: 14px;
  color: #000;
  line-height: 1.7;
}
}

/* ===== 回復期リハビリ・療養の方へ ed ===== */

/* ===== 受け入れ体制 st ===== */

.linkArrowBox {
  position: relative;
  font-size: 14px;
  color: #000;
  text-decoration: none;
  display: flex;                  /* ← 横並びにする */
  justify-content: space-between; /* 左右に配置 */
  align-items: center;
  width: 100%;                    /* 横幅いっぱい */
  padding-bottom: 5px;
  border-bottom: 1px solid #002A74; /* 下線を追加 */
}

.linkArrow-title {
  font-size: 24px;
  color: #002A74;
  margin: 0;
}

.linkArrow-text {
  position: relative;
  font-size: 14px;
  padding-right: 70px; /* 矢印分の余白を確保 */
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

/* 背景矢印 */
.linkArrow-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 110px;
  height: 30px;
  background-image: url("../../assets/images/moreLine-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  transition: transform 0.3s ease;
}

/* hoverで矢印だけ動く */
.linkArrowBox:hover .linkArrow-text::after {
  transform: translateX(5px);
}

/* スマホ対応 */
@media (max-width: 768px) {

.linkArrow-title {
  font-size: 18px;
  color: #002A74;
  margin: 0;
}

  .linkArrow-text {
  font-size: 12px;
  padding-right: 50px; /* 矢印分の余白を確保 */
  }
  .linkArrow-text::after {
    width: 80px;
  }
}


/* ===== 受け入れ体制 ed ===== */


/* ===== 安全対策・感染症対策 st ===== */
.document-box {
      border: 1px solid #C0C9D9;
      border-radius: 10px;
      padding: 50px;
      max-width: 100%;
      line-height: 1.8;
      color: #000;
    }


    .document-box p {
      margin-bottom: 30px;
      line-height: 1.8;
    }

    @media screen and (max-width: 768px) {
     .document-box {
      border: 1px solid #C0C9D9;
      border-radius: 10px;
      padding: 30px;
      max-width: 100%;
      line-height: 1.8;
      color: #000;
    } 
    .document-box p {
    }
    }


.revision-history {
  max-width: 250px;
  font-size: 15px;
  line-height: 1.8;
}

.revision-history table {
  width: 100%;
  border-collapse: collapse;
}

.revision-history td {
  padding: 4px 0px;
  vertical-align: top;
}

/* 1列目（日付）を右寄せ */
.revision-history td:first-child {
  text-align: left;
  width: 60%;
  white-space: nowrap;
}

/* 2列目（内容）を左寄せ */
.revision-history td:last-child {
  text-align: left;
  width: 40%;
}
@media screen and (max-width: 768px) {
 .revision-history {
  max-width: 250px;
  font-size: 14px;
  line-height: 1.5;
}
    }
/* ===== 安全対策・感染症対策 ed ===== */





/* ===== 患者様の権利・責務 st ===== */

/* patient全体 */
.patient-item-topborder {
  border-top: 1px solid #ECEDF4;
}
.patient-item {
  border-bottom: 1px solid #ECEDF4;
}
.patient-question {
  width: 100%;
  padding: 20px 10px 10px 0; /* ← 右側に余白を確保 */
  background: none;
  border: none;
  text-align: left;
  font-size: 16px;
  line-height: 1.8;
  color: #000;
  display: flex;
  align-items: flex-start;
  justify-content: space-between; /* ← テキストとアイコンを左右に分離 */
  gap: 10px; /* ← テキストとアイコンの間の余白 */
  cursor: pointer;
  margin-bottom: -5px;
  position: relative;
}

.patient-question:hover {
  color: #002A74;
}

/* ＋／－アイコン */
.patient-question .icon {
  flex-shrink: 0; /* ← 潰れ防止 */
  position: relative;
  width: 18px;
  height: 18px;
  margin-left: 10px; /* テキストとの間隔 */
  min-width: 18px; /* 念のため幅固定 */
}

.patient-question .icon::before,
.patient-question .icon::after {
  content: "";
  position: absolute;
  background: #002A74;
  transition: transform 0.3s ease;
}

.patient-question .icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
}

.patient-question .icon::after {
  left: 50%;
  top: 0;
  width: 1px;
  height: 100%;
  transform: translateX(-50%);
}

/* activeで「＋」→「－」 */
.patient-question.active .icon::after {
  transform: scaleY(0);
}

/* 回答部分 */
.patient-answer {
  padding: 15px 0 0 0;
}

.patient-answer-inner {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.patient-question.active + .patient-answer .patient-answer-inner {
  max-height: 1000px;
}

/* テキスト */
.patient-answer p {
  margin-bottom: 15px;
  font-size: 15px;
  line-height: 1.8;
}

/* SP対応 */
@media screen and (max-width: 768px) {
  .patient-question {
    font-size: 14px;
    line-height: 24px;
    padding: 16px 0px 10px 0;
  }
  /* テキスト */
.patient-answer p {
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 1.8;
}
}
/* ===== 患者様の権利・責務 ed ===== */




/* ====== MRI st ====== */

.imaging-hero {
  background: url("../../assets/images/mri/mri-imain.jpg") center/cover no-repeat;
  color: #fff;
  padding: 80px 0;
}

.imaging-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0px;
  gap: 0px;
}

/* 左側 */
.imaging-left {
  flex: 1.2; /* ← 左を広く */
}

.imaging-title {
  font-size: 56px;
  font-weight: lighter;
  line-height: 1.4;
  margin-bottom: 10px;
}

.imaging-sub {
  font-size: 18px;
  font-weight: lighter;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.8);
  margin-bottom: 40px;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

/* 丸い特徴アイコン */
.imaging-features {
  display: flex;
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.imaging-features li {
  background: #fff;
  color: #153c7a;
  border-radius: 50%;
  width: 180px;
  height: 180px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  font-weight: 500;
  font-size: 18px;
}

/* 右側カード */
.imaging-right {
  flex: 0.8; /* ← 右を少し狭く */
  display: flex;
  justify-content: flex-end;
}

.imaging-card {
  background: #fff;
  border-radius: 10px;
  color: #000;
  padding-bottom: 20px;
  width: 460px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.imaging-card-header {
  background: #BAB1A0;
  color: #fff;
  text-align: center;
  font-size: 26px;
  padding: 12px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.imaging-card-body {
  padding: 25px;
}

.imaging-tel {
  font-size: 24px;
  margin-bottom: 10px;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

.imaging-tel span {
  color: #002A74;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 40px;
}

.imaging-info {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
  margin-bottom: 25px;
  font-size: 14px;
  color: #000;
}
.contactCardHoursWrapper_d9 {
  text-align: center;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #C0C9D9;
  padding-bottom: 20px;
  margin-bottom: 30px;
}
.contactCardHoursLabel_d9 {
  background-color: #e1dcd3;
  padding: 2px 15px;
  display: inline-block;
  border-radius: 5px;
  margin-right: 15px;
  font-size: 14px;
  color: #000;
}
.contactCardHours_d9 p {
  margin: 5px 0;
  font-size: 14px;
  letter-spacing: 1px;
  color: #000;
}
.contactCardHours_d9 .time {
  margin-left: 10px; /* ← ここで右側スペース */
  display: inline-block;
}

.mriWebBtn_xyz1 {
  position: relative;
  display: block;
  background: #DC000C;
  color: #FFF !important;
  padding: 12px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: 0.3s;
}

.mriWebBtn_xyz1:hover {
  color: #FFF;
  background: #DC000C;
}

/* 矢印 */
/* 矢印ボタン */
.mriWebArrow_xyz1 {
  position: absolute;
  width: 30px;
  height: 30px;
  right: 15px;
  top: 50%; /* 中央揃え */
  transform: translateY(-50%);
  z-index: 10;
  background-image: url("../../assets/images/nav-arrow.svg"); /* ←画像パスを指定 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  transition: transform 0.3s ease;
}

/* hover時に画像を右へスライド */
a:hover .mriWebArrow_xyz1 {
  transform: translate(5px, -50%);
}

@media (max-width: 768px) {


  

  .imaging-hero {
    padding: 40px 20px;
    background-position: center top;
  }

  .imaging-inner {
    flex-direction: column;
    align-items: center;
    gap: 30px;
  }

  /* 左ブロック */
  .imaging-left {
    flex: none;
    width: 100%;
  }

  .imaging-card-body {
  padding: 25px;
}

  .imaging-title {
    font-size: 26px;
    line-height: 1.5;
    margin-bottom: 10px;
  }

  .imaging-sub {
    font-size: 12px;
    margin-bottom: 25px;
  }

/* スマホ用 */
@media (max-width: 768px) {
  .imaging-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 下段は2つ並び */
    grid-template-rows: auto auto;
    justify-items: center;
    row-gap: 0px;
    column-gap: 5px;
  }

  /* 1つ目だけ中央に配置 */
  .imaging-features li:first-child {
    grid-column: 1 / span 2;
    justify-self: center;
  }

  .imaging-features li {
    width: 150px;
    height: 150px;
    font-size: 13px;
    line-height: 1.4;
  }
}

  /* 右ブロック */
  .imaging-right {
    flex: none;
    width: 100%;
    justify-content: center;
  }

  .imaging-card {
    width: 100%;
    max-width: 360px;
  }

  .imaging-card-header {
    font-size: 20px;
    padding: 10px;
  }

  .imaging-tel {
    font-size: 18px;
    text-align: center;
  }

  .imaging-tel span {
    font-size: 28px;
    margin-top: 4px;
  }
.imaging-tel a,
.imaging-tel span {
  color: inherit !important;        /* 親の色を継承 */
  text-decoration: none !important; /* 下線を確実に消す */
}

/* ホバー・フォーカス時も絶対に下線を出さない */
.imaging-tel a:hover,
.imaging-tel a:focus {
  color: inherit !important;
  text-decoration: none !important;
}
  .contactCardHoursWrapper_d9 {
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid #C0C9D9;
    padding-bottom: 20px;
    position: relative;
  }

  .contactCardHoursLabel_d9 {
  font-size: 14px;
  width: 100%;
  margin-right: 0;
  margin-bottom:5px;
  }
.contactCardHours_d9 {
  width: 100%;
}
.contactCardHours_d9 p {
  font-size: 14px;
  left: 0;
  margin-top: 0;
  line-height: 1em;
  text-align: left !important;
}
.contactCardHours_d9 .time {
  position: absolute;
  right: 0px; /* ← ここで右側スペース */
}
  .mriWebBtn_xyz1 {
    text-align: center;
    font-size: 15px;
    padding: 12px 16px;
  }

  .mriWebArrow_xyz1 {
    right: 12px;
    width: 24px;
    height: 24px;
  }
}

/* ====== リスト全体 ====== */
.infoGrid_ro50{
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 3列レイアウト */
  column-gap: 20px;    /* 横の空き */
  row-gap: 10px;       /* 縦の空き */
  padding: 1px 0;
  box-sizing: border-box;
}

/* 各リンクブロック */
.infoCol_ro50{
  display: block; /* 1つのリンクを囲むだけ */
}

/* 各リンク */
.infoItem_ro50{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 10px 12px 0;
  font-size: 16px;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid #e6ecf3;
  transition: color .2s ease, border-color .2s ease;
}

/* アイコン（三角） */
.infoItem_ro50::after{
  content: "";
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 1.6px solid #2a2f36;
  border-bottom: 1.6px solid #2a2f36;
  transform: rotate(45deg);
  opacity: .9;
}

/* ホバー */
.infoItem_ro50:hover{
  color: #0f3c86;
  border-bottom-color: #d5dee9;
}

/* スマホ対応 */
@media (max-width: 768px){
  .infoGrid_ro50{ grid-template-columns: repeat(2, 1fr); column-gap: 32px; }
}
@media (max-width: 480px){
  .infoGrid_ro50{ grid-template-columns: 1fr; row-gap: 20px; }
  .infoItem_ro50{ font-size: 15px; padding-right: 24px; }
}
/* ====== リスト全体 ====== */


.mri-card {
  border-radius: 10px;
  padding: 0px 0px;
  width: 100%;
  max-width: 100%;
  color: #000;
}

/* タイトル */
.mri-title {
  font-size: 24px;
  color: #002A74;
  margin-bottom: 5px;
  line-height: 1em;
}

/* サブタイトル */

.mri-subtitle {
  position: relative;
  font-size: 16px;
  color: #002A74;
  margin-bottom: 25px;
  padding-bottom: 15px;
}

/* 下線を左にはみ出させる */
.mri-subtitle::after {
  content: "";
  position: absolute;
  width: 130% !important;
  left: -30%;        /* ← 左にはみ出す量を調整 */
  bottom: 0;
  width: calc(100% + 30px);  /* ← 全体幅も広げる */
  height: 1px;
  background-color: #002A74;
}

.mri-subtitle2 {
  position: relative;
  font-size: 16px;
  color: #002A74;
  margin-bottom: 25px;
  padding-bottom: 15px;
}

/* 下線を左にはみ出させる */
.mri-subtitle2::after {
  content: "";
  position: absolute;
  width: 130% !important;
  right: -30%;        /* ← 左にはみ出す量を調整 */
  bottom: 0;
  width: calc(100% + 30px);  /* ← 全体幅も広げる */
  height: 1px;
  background-color: #002A74;
}


/* 特徴ボックス */
.mri-feature-box {
  background: #fff;
  border-radius: 10px;
  padding: 20px 25px;
  margin-bottom: 25px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.mri-feature-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mri-feature-box li {
  position: relative;
  padding-left: 16px;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.6;
}

/* 赤丸のアイコン */
.mri-feature-box li::before {
  content: "●";
  color: #c8142f;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 12px;
  line-height: 1.5;
}

/* 説明文 */
.mri-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #000;
}

@media (max-width: 768px){
/* タイトル */
.mri-title {
  font-size: 20px;
  color: #002A74;
  margin-bottom: 5px;
  line-height: 1em;
}
.mri-subtitle2 {
  font-size: 14px;
}
.mri-feature-box li {
  font-size: 12px;
  line-height: 1.6;
}
.mri-desc {
  font-size: 14px;
  line-height: 1.8;
  color: #000;
}
  /* 下線を左にはみ出させる */
.mri-subtitle::after {
  content: "";
  position: absolute;
  width: 100% !important;
  left: 0%;        /* ← 左にはみ出す量を調整 */
  bottom: 0;
  width: calc(100% + 30px);  /* ← 全体幅も広げる */
  height: 1px;
  background-color: #002A74;
}
  /* 下線を左にはみ出させる */
.mri-subtitle2::after {
  content: "";
  position: absolute;
  width: 100% !important;
  right: 0%;        /* ← 左にはみ出す量を調整 */
  bottom: 0;
  width: calc(100% + 30px);  /* ← 全体幅も広げる */
  height: 1px;
  background-color: #002A74;
}
}
.exam-compare {
  width: 100%;
}


/* ヘッダー */
.exam-table thead th {
  background: #D8DAEA;
  text-align: center;
  padding: 16px 0;
  font-size: 14px;
  color: #000;
}
.exam-table .exam-tablep-st {
  background: #CFD2E6;
}

.exam-table thead th img {
  width: 100%;
}

.exam-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 0px;
  color: #000;
}

/* セル */
.exam-table th,
.exam-table td {
  border: 1px solid #ECECEF;
  padding: 14px 12px;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.7;
}

/* 左列（項目名） */
.exam-table tbody th {
  background: #F9F9FC;
  text-align: center;
  font-weight: 600;
  color: #000;
  width: 200px;
  white-space: nowrap;
}

/* ホバー行 */
.exam-table tbody tr:hover {
  background: #f6f9ff;
  transition: 0.2s;
}

/* ===== スクロール対応 ===== */
.exam-table-wrap {
  width: 100%;
  overflow-x: auto;          /* 横スクロール許可 */
  -webkit-overflow-scrolling: touch; /* スマホの慣性スクロール対応 */
  padding-bottom: 30px;
}

.exam-table {
  min-width: 900px;          /* ← スクロールさせたい最小幅を設定 */
  border-collapse: collapse;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
}
/* スクロールバー見やすく */
.exam-table-wrap::-webkit-scrollbar {
  height: 8px;
}
.exam-table-wrap::-webkit-scrollbar-thumb {
  background: #c0c4d4;
  border-radius: 5px;
}
.exam-table-wrap::-webkit-scrollbar-track {
  background: #f0f2f8;
}
/* スマホ対応 */
@media (max-width: 768px) {

  
  .exam-table th,
.exam-table td {
  font-size: 12px;
  line-height: 1.7;
}
  .exam-table thead th img {
    max-width: 100%;
  }
  .exam-table tbody th {
    width: 100px;
    font-size: 12px;
  }
}

/* ===== Scrollbar design (cross-browser) ===== */
.exam-table-wrap{
  /* Firefox */
  scrollbar-width: thin; /* auto | thin | none */
  scrollbar-color: #002A74 #eef1fb; /* thumb track */
}

/* Chrome / Edge / Safari */
.exam-table-wrap::-webkit-scrollbar{
  height: 5px;              /* 横スクロールなので height */
}

.exam-table-wrap::-webkit-scrollbar-track{
  background: #183182;
  border-radius: 999px;
  margin: 6px 10px;          /* 両端に余白（つかみやすく） */
}


.exam-table-wrap::-webkit-scrollbar-thumb{
  background: #002A74;
  border-radius: 999px;
  border: 3px solid #eef1fb; /* “内側に余白”っぽくして上品に */
}

.exam-table-wrap::-webkit-scrollbar-thumb:hover{
  background: #002A74;
}

.exam-table-wrap::-webkit-scrollbar-thumb:active{
  background: rgb(77, 87, 123);
}

/* 外側：背景バーを置くスペース */
.exam-table-shell{
  position: relative;
  padding-bottom: 22px; /* ←ここにバー用の余白を作る（重要） */
}

/* 背景バー（必ず表示される） */
.exam-table-shell::before{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:8px;          /* ←下げたい時はここを小さく */
  height:6px;
  background:#183182;  /* ←バー背景色 */
  border-radius:999px;
  pointer-events:none;
  z-index: 2;          /* ←Safari対策：前面に出す */
}

/* 内側：スクロール担当 */
.exam-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  position: relative;
  z-index: 1;          /* shell::before より下にしてもOK */
}

/* ネイティブのバー（つまみ） */
.exam-table-wrap::-webkit-scrollbar{ height:6px; }
.exam-table-wrap::-webkit-scrollbar-thumb{
  background:#002A74;  /* ←バー色 */
  border-radius:999px;
}

/* （任意）Safari/Chromeでtrackが出ないのは仕様なので気にしない */




/* MRIステップ */
 /* MRIステップ */
.mri-flow-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid #C0C9D9;
  position: relative;
}

.mri-flow-steps2 {
  display: flex;
  border-top: 1px solid #C0C9D9;
  flex-direction: column;
  gap: 0;
  position: relative;
}

/* 各ステップ共通 */
.mri-flow-step {
  position: relative;
  border-bottom: 1px solid #C0C9D9;
  padding: 25px 20px 25px 50px;
  color: #000;
  line-height: 1.8;
}



/* 番号丸 */
.mri-flow-num {
  position: absolute;
  left: 0px;
  top: 24px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #fff;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  font-size: 16px;
  text-align: center;
  line-height: 30px;
}

/* 各番号の色変更 */
.mri-num1 { background: #EA6146; }
.mri-num2 { background: #EFA43D; }
.mri-num3 { background: #88B94F; }

/* テキスト */
.mri-flow-step p {
  margin: 0;
  font-size: 16px;
}

@media (max-width: 990px) {
  .mri-flow-steps2 {
    border-top: none;
  }
}

/* スマホ対応 */
@media (max-width: 768px) {
  .mri-flow-step p {
    margin: 0;
    font-size: 14px;
  }

  .mri-flow-step {
    padding: 18px 15px 18px 55px;
  }

  .mri-flow-num {
    left: 15px;
    top: 18px;
  }

 
}

.reserve-box {
  background: #BAB1A0;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  color: #fff;
  max-width: 100%;
  margin: 30px auto;
}

/* 上部タイトル */
.reserve-header {
  background: #d7d0c2;
  color: #333;
  font-size: 20px;
  padding: 16px 0;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

/* 電話部分 */
.reserve-body {
  padding: 10px 20px 30px;
}

.reserve-tel {
  color: #fff;
  font-size: 24px !important;
  letter-spacing: 0.05em;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  margin-bottom: 15px;
}

.reserve-tel span {
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  margin-left: 10px;
}

/* 下線 */
.reserve-tel {
  border-bottom: 1px solid #FFFFFF;
  padding-bottom: 10px;
  margin-bottom: 25px;
  width: 70%;
  margin-left: 15% !important;
}

/* 時間情報 */
.reserve-info {
  display: flex;
  margin-top: 20px;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  color: #fff;
}

.reserve-label {
  background: #d2cbc0;
  color: #000;
  padding: 2px 20px;
  border-radius: 5px;
  font-size: 14px;
}

.reserve-hours {
  display: flex;
  gap: 15px;
  align-items: center;
  font-size: 14px;
}

.time {
  letter-spacing: 0.05em;
  margin-left: 1em;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .reserve-box {
    max-width: 100%;
  }
.reserve-header {
  font-size: 16px;
}
  .reserve-body {
    padding: 10px 25px 30px;
  }

.reserve-tel {
    font-size: 18px !important;
  border-bottom: 1px solid #FFFFFF;
  padding-bottom: 5px;
  margin-bottom: 0px;
  width: 100%;
  margin-left: 0% !important;
}
  .reserve-tel span {
    font-size: 25px !important;
    margin-top: 5px;
    margin-left: 0;
  }

  .reserve-info {
    gap: 10px;
  }
.reserve-label {
  font-size: 14px;
  width: 100%;
  margin-bottom: 0;
}
.reserve-hours {
  font-size: 14px;
  width: 100%;
  position: relative;
  line-height: 1;
}
.reserve-hours span {
  width: 100%;
  text-align: left;
}
.reserve-hours .time {
  position: absolute;
  text-align: right;
  right: 0;
}
}
/* ====== MRI ed ====== */


/* ====== アクセス st ====== */

  /* 全体ブロック */
.accessBlock_bb01 {
  line-height: 1.8;
  margin: 40px 0;
}

/* 大タイトル（青文字） */
.accessTitle_bb01 {
  font-size: 24px;
  font-weight: normal;
  color: #002A74; /* 青 */
  margin-bottom: 20px;
  border-bottom: 1px solid #002A74; /* 下に区切り線（任意） */
  padding-bottom: 8px;
}

/* 小見出し */
.accessSubTitle_bb01 {
  font-size: 18px;
  line-height: 1.5;
  color: #000;
  margin: 16px 0 6px;
}

/* 箇条書き */
.accessSection_bb01 ul {
  list-style-type: none;
  margin-left: 0px;
  padding-left: .5em;
  color: #000;
  font-size: 16px;
}
.accessSection_bb01 li {
  margin-left: 0px;
  padding-left: 0;
}

.accessSection_bb01 ul li {
  position: relative;
  padding-left: 14px;    /* ドット分の余白 */
}

.accessSection_bb01 ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;            /* テキストに対して縦位置調整 */
  width: 3px;            /* ドットの大きさ（小さめ） */
  height: 3px;
  background-color: #333; /* ドットの色 */
  border-radius: 50%;    /* 丸くする */
}
.accessSection_bb01{border-bottom: 1px solid #C0C9D9;}
@media (max-width: 768px) {
  /* 大タイトル（青文字） */
.accessTitle_bb01 {
  font-size: 18px;
}
/* 小見出し */
.accessSubTitle_bb01 {
  font-size: 15px;
  line-height: 1.5;
  color: #000;
  margin: 16px 0 6px;
}
/* 箇条書き */
.accessSection_bb01 ul {
  font-size: 14px;
}
}
/* ====== アクセス ed ====== */

/* ====== 当院の特徴・設備 st ====== */
 /* ブロック全体 */
.sectionBlock_aa01 {
  margin: 40px 0;
  line-height: 1.8;
}

/* 見出し */
.sectionTitle_aa01 {
  font-size: 24px;
  color: #002A74; /* 青文字 */
  position: relative;
  font-weight: normal;
  line-height: 1.5;
  padding-left: 0px; /* 飾りラインのスペース */
  margin-bottom: 12px;
  margin-top: 50px;
  padding-top: 10px;
}

.sectionTitle_aa01 span {
  font-size: 20px;
}

/* 見出し左の赤いライン */
.sectionTitle_aa01::before {
  content: "";
  position: absolute;
  left: 0;
  top:0; 
  transform: translateY(-50%);
  width: 16px;
  height: 3px;
  background-color: #DC000C; /* 赤 */
}

/* 本文 */
.sectionText_aa01 {
  font-size: 16px;
}
@media (max-width: 768px) {
  /* 見出し */
.sectionTitle_aa01 {
  font-size: 18px;
  color: #002A74; /* 青文字 */
  position: relative;
  font-weight: normal;
  line-height: 1.5;
  padding-left: 0px; /* 飾りラインのスペース */
  margin-bottom: 12px;
  margin-top: 50px;
  padding-top: 10px;
}
/* 見出し左の赤いライン */
.sectionTitle_aa01::before {
  content: "";
  position: absolute;
  left: 0;
  top: -5px; 
  transform: translateY(-50%);
  width: 16px;
  height: 3px;
  background-color: #DC000C; /* 赤 */
}
.sectionTitle_aa01 span {
  font-size: 16px;
}
.sectionText_aa01 {
  font-size: 14px;
}

}
/* PC時にカラム間スペースをさらに広く */
@media (min-width: 992px) {
  .custom-gx {
    --bs-gutter-x: 4rem; /* ← デフォルトは3rem、ここで倍に！ */
  }
}
/* ====== 当院の特徴・設備 ed ====== */



/* ====== 当院の理念・施設概要 st ====== */
 /* ====== Philosophy Blocks (ph78) ====== */
.philoWrap_ph78{
  max-width: 100%;
  position: relative;
  overflow-x: hidden;  /* ← 念のため横スクロール防止 */
}

/* 1つのブロック */
.philoBlock_ph78{
  place-items: center;
  margin-top: 0;
  min-height: 760px;  /* 画像も含めた高さを確保（数字は調整） */
}

/* 背景の角丸グラデ四角（装飾） */
.philoBlock_ph78 .dec{
  position: absolute;
  border-radius: 10px;
  opacity: .8;
  z-index: -1;
  filter: saturate(1.05);
}

.philoBlock_ph78 .dec.dec-tl{ top: 0; left:160px;background: linear-gradient(180deg, #FBC4AB, #FCE998);height:180px;width: 250px; }
.philoBlock_ph78 .dec.dec-tr{ top: 380px; right: -50px; background: linear-gradient(180deg,#F3D1E3,#BFCDE7);height:240px;width:240px; }
.philoBlock_ph78 .dec.dec-bl{ top: 550px; left:150px; background: linear-gradient(180deg,#CDF7FC,#A6D9E8);height:300px;width: 240px; }

.philoBlock_ph78 .dec.dec-br{ top: 0px; right: -10px; background: linear-gradient(180deg,#FBC4AB,#FCE998);height:120px;width:160px;position: absolute; }
.philoBlock_ph78 .dec.dec-bl2{ top: 450px; left:110px; background:linear-gradient(180deg,#F3D1E3,#BFCDE7);height:240px;width: 240px; }
.philoBlock_ph78 .dec.dec-br2{ top: 500px; right: 100px; background: linear-gradient(180deg,#CDF7FC,#A6D9E8);height:230px;width:300px; }


/* 1つ目 */
.sideImg.left{
  position: absolute;
  left: -50px;
  top: 160px;
  width: 400px;
  height: 320px;
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.left img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 枠に合わせて切り抜き */
}
.sideImg.right{
  position: absolute;
  right: 30px;
  top: 0;
  width: 330px;
  height: 400px; 
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.right img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 枠に合わせて切り抜き */
}
.sideImg.right2{
  position: absolute;
  right: 120px;
  top: 640px;
  width: 290px;
  height: 180px;          /* ← 縦長に見える高さを固定 */
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.right2 img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 枠に合わせて切り抜き */
}
@media (max-width: 1024px){
  /* 1つのブロック */
.philoBlock_ph78{
  place-items: center;
  margin-top: 0;
  min-height: 650px;  /* 画像も含めた高さを確保（数字は調整） */
}

.philosophy-sp-top{margin-top: 0px !important;margin-bottom: 0;}
.philoBlock_ph78 .dec.dec-tl{ top:20px; left:30px;background: linear-gradient(180deg, #FBC4AB, #FCE998);height:100px;width: 130px; }
.philoBlock_ph78 .dec.dec-tr{ top: 140px; right: -50px; background: linear-gradient(180deg,#F3D1E3,#BFCDE7);height:110px;width:110px; }
.philoBlock_ph78 .dec.dec-bl{ top: 250px; left:20px; background: linear-gradient(180deg,#CDF7FC,#A6D9E8);height:70px;width: 50px; }
.sideImg.left{
  position: absolute;
  left: -10px;
  top: 90px;
  width: 140px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.right{
  position: absolute;
  right: 20px;
  top: 0;
  width: 120px;
  height: 150px; 
  border-radius: 10px;
  overflow: hidden;
}
}

@media (max-width: 768px){
  /* 1つのブロック */
.philoBlock_ph78{
  place-items: center;
  margin-top: 0;
  min-height: 650px;  /* 画像も含めた高さを確保（数字は調整） */
}

.philosophy-sp-top{margin-top: 210px !important;margin-bottom: 0;}
.philoBlock_ph78 .dec.dec-tl{ top:20px; left:30px;background: linear-gradient(180deg, #FBC4AB, #FCE998);height:100px;width: 130px; }
.philoBlock_ph78 .dec.dec-tr{ top: 140px; right: -50px; background: linear-gradient(180deg,#F3D1E3,#BFCDE7);height:110px;width:110px; }
.philoBlock_ph78 .dec.dec-bl{ top: 250px; left:20px; background: linear-gradient(180deg,#CDF7FC,#A6D9E8);height:70px;width: 50px; }
.sideImg.left{
  position: absolute;
  left: -10px;
  top: 90px;
  width: 140px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.right{
  position: absolute;
  right: 20px;
  top: 0;
  width: 120px;
  height: 150px; 
  border-radius: 10px;
  overflow: hidden;
}
}

/* 2つ目 */
.sideImg.left2{
  position: absolute;
  left: -50px;
  top: 100px;
  width: 330px;
  height: 400px; 
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.left2 img{
  width: 110%;
  height: 110%;
  object-fit: cover;        /* 枠に合わせて切り抜き */
}

.sideImg.right3{
  position: absolute;
  right: -40px;
  top: 140px;
  width: 400px;
  height: 320px;          /* ← 縦長に見える高さを固定 */
  border-radius: 10px;
  overflow: hidden;
}
.sideImg.right3 img{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* 枠に合わせて切り抜き */
}

@media (max-width: 1024px){
.philosophy-sp-top2{margin-top: 120px !important;margin-bottom: 0;}
.philoBlock_ph78_height{
  min-height: 950px;
}
.philoBlock_ph78 .dec.dec-br{ top: 160px; right: -5px; background: linear-gradient(180deg,#FBC4AB,#FCE998);height:60px;width:60px;position: absolute; }
.philoBlock_ph78 .dec.dec-bl2{ top: 120px; left:70px; background:linear-gradient(180deg,#F3D1E3,#BFCDE7);height:90px;width: 90px; }
.philoBlock_ph78 .dec.dec-br2{ top: 810px; left: 30px; background: linear-gradient(180deg,#CDF7FC,#A6D9E8);height:100px;width:140px; }

.sideImg.right2{
  position: absolute;
  right:-10px;
  top: 600px;
  width: 150px;
  height: 100px;          /* ← 縦長に見える高さを固定 */
  border-radius: 10px;
  overflow: hidden;
}

.sideImg.left2{
  position: absolute;
  left: -10px;
  top: 0px;
  width: 130px;
  height: 170px; 
  border-radius: 10px;
  overflow: hidden;
}

.sideImg.right3{
  position: absolute;
  right:20px;
  top: 740px;
  width: 210px;
  height: 150px;          /* ← 縦長に見える高さを固定 */
  border-radius: 10px;
  overflow: hidden;
}
}


@media (max-width: 768px){
.philosophy-sp-top2{margin-top: 220px !important;margin-bottom: 0;}
.philoBlock_ph78_height{
  min-height: 950px;
}
.philoBlock_ph78 .dec.dec-br{ top: 160px; right: -5px; background: linear-gradient(180deg,#FBC4AB,#FCE998);height:60px;width:60px;position: absolute; }
.philoBlock_ph78 .dec.dec-bl2{ top: 120px; left:70px; background:linear-gradient(180deg,#F3D1E3,#BFCDE7);height:90px;width: 90px; }
.philoBlock_ph78 .dec.dec-br2{ top: 810px; left: 30px; background: linear-gradient(180deg,#CDF7FC,#A6D9E8);height:100px;width:140px; }

.sideImg.right2{
  position: absolute;
  right:-10px;
  top: 30px;
  width: 150px;
  height: 100px;          /* ← 縦長に見える高さを固定 */
  border-radius: 10px;
  overflow: hidden;
}

.sideImg.left2{
  position: absolute;
  left: -10px;
  top: 0px;
  width: 130px;
  height: 170px; 
  border-radius: 10px;
  overflow: hidden;
}

.sideImg.right3{
  position: absolute;
  right:20px;
  top: 740px;
  width: 210px;
  height: 150px;          /* ← 縦長に見える高さを固定 */
  border-radius: 10px;
  overflow: hidden;
}
}


/* 大きいリード文 */
.lead_ph78{
  position: relative;
  margin: 30px 0 30px;
  font-weight: 300;
  font-size:40px;
  text-align: center;
  line-height: 1.8;
  letter-spacing: .06em;
  color: #002A74;
  z-index: 1;
}

/* 説明文 */
.desc_ph78{
  position: relative;
  margin: 0;
  text-align: center;
  font-size: 20px;
  line-height: 2.5;
  color: #000;
  z-index: 1;
}
@media (max-width: 768px){
  /* 大きいリード文 */
.lead_ph78{
  margin: 30px 0 30px;
  font-weight: 300;
  font-size: 25px;
  text-align: center;
  line-height: 1.8;
  letter-spacing: .01em;
  color: #002A74;
  z-index: 1;
}

/* 説明文 */
.desc_ph78{
  position: relative;
  margin: 0;
  text-align: center;
  font-size: 14px;
  line-height: 2.5;
  color: #000;
  z-index: 1;
}
}

 /* ========== Promise Section (kx81) ========== */
.promise_kx81{
  position: relative;
  isolation: isolate;
  padding: clamp(40px, 6vw, 72px) 0;
  color: #fff;
  overflow: hidden;
}
/* 背景画像＋青ベール */
.promise_kx81::before{
  content:"";
  position:absolute; inset:0;
  background: center/cover no-repeat var(--bg-url, none);
  filter: saturate(1.05);
  z-index:-2;
}
.promise_kx81::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(7,39,84,0.60); /* 濃い青のオーバーレイ */
  z-index:-1;
}

/* 横並びレイアウト */
.promise_kx81__inner{
  display: grid;
  grid-template-columns: 1fr 1.6fr; /* 左見出し：右リスト */
}


/* 右側リスト */
.promise_kx81__list{
  counter-reset: pnum;
  list-style:none;
  margin:0;
  padding:0;
  display: grid;
  gap: 10px;
  width: 700px;
  max-width: 100% ;
}

/* 各カード */
/* PCデフォルト */
.promise_kx81__list > li{
  display: grid;
  grid-template-columns: auto 60px 1fr; /* バッジ / 数字 / 本文 */
  align-items: center;
  gap: 10px;
  padding: 0 30px;
  background: rgba(255,255,255,0.96);
  border-radius: 10px;
}

/* PC時は leftStack を横並びに見せる */
.promise_kx81__list .leftStack{
  display: contents; /* 中身をそのまま grid の子にする */
}

/* 左の薄いバッジ */
.promise_kx81__list .badge{
  display: inline-flex;
  font-weight: normal;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  align-items:center;
  justify-content:center;
  min-width: 84px;
  letter-spacing: 0.1rem;
  font-size: 14px;
  color: #BAB1A0;
}

/* 大きい番号（CSSカウンタ） */
.promise_kx81__list .num{
  counter-increment: pnum;
  font-size: 60px;
  font-weight: normal;
  color: #002A74;
  text-align: center;
}
.promise_kx81__list .num::before{
  content: counter(pnum);
}

/* 本文 */
.promise_kx81__list p{
  margin:5px 0 0 0;
  font-size: 18px;
  line-height: 1.5;
  color: #2b3a4f;
}

/* --- レスポンシブ --- */
@media (max-width: 1024px){
  .promise_kx81__inner{width: 100%;display: block;}
  .promise_kx81__head{width: 100%;}
  .promise_kx81__list{width: 100%;}
  .promise_kx81__list > li{
    display: grid;
    grid-template-columns: auto 1fr; /* 左=Promise+num, 右=本文 */
  align-items: center;
    gap: 10px;
    padding: 16px;
  border-radius: 5px;
  }

  .promise_kx81__list .leftStack{
    display: flex;
    flex-direction: column;
    align-items: center;   /* ←ここを center に */
    gap: 4px;
    text-align: center;    /* 念のため数字内のテキストも中央 */
  }

  .promise_kx81__list .badge{
    font-size: 11px;
    color: #BAB1A0;
  }

  .promise_kx81__list .num{
    margin-top: 5px;
    font-size: 40px;
    line-height: 28px;
    color: #002A74;
    width: 100%;           /* 中央に収まるよう幅を広げる */
  }

  .promise_kx81__list p{
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
  }
}


/* 表形式 */
.facility_table_wh dl{
  display:grid;
  grid-template-columns: 200px 1fr; /* 左固定・右可変 */
  border-bottom:1px solid #C0C9D9;
  padding:16px 0;
  margin: 0 ;
  font-size:16px;
}
.facility_table_wh dt{
  color:#000;
  font-weight: normal;
  text-align: center;
}
.facility_table_wh dd{
  margin:0;
  color:#000;
}

/* 箇条書きスタイル調整 */
.facility_table_wh dd ul,
.facility_table_wh dd li{
  margin:0 !important;
  padding:0 !important;
  list-style:none;
}
.facility_table_wh dd li::before{
  content:"・";
  margin-right:4px;
}

/* レスポンシブ：スマホは縦積み */
@media(max-width:768px){
  .facility_table_wh dl{
    grid-template-columns: 1fr;
    gap:6px;
  font-size:14px;
  }
  .facility_table_wh dt{
    text-align: left;
  font-size:16px;
  }
  .facility_table_wh dd{
    padding-left: 1em;
  }
}


  /* ===== Certification Section (aw01) ===== */
.certification_aw01{
  width: 100%;
  border-top: 1px solid #C0C9D9;
  border-bottom: 1px solid #C0C9D9;
  background: #fff;
  padding: clamp(40px, 6vw, 72px) 16px;
}

.certification_aw01__inner{
  width: min(900px, 92%);
  margin: 0 auto;
  text-align: center;
}

/* 見出し */
.certification_aw01__title{
  margin: 0 0 20px;
  font-size: 28px;
  font-weight: 500;
  color: #002f77;
}

/* 説明文 */
.certification_aw01__desc{
  margin: 0 0 30px;
  font-size: 16px;
  line-height: 1.8;
  color: #000;
}

/* ロゴ画像 */
.certification_aw01__logos{
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.certification_aw01__logos img{
  max-width: 220px;
  height: auto;
  display: block;
}
@media(max-width:768px){
  .certification_aw01__title{
  font-size: 21px;
}
.certification_aw01__desc{
  font-size: 14px;
}
}
/* ====== 当院の理念・施設概要 ed ====== */



/* ====== ニュース一覧 ed ====== */

.category-nav_x91{margin-bottom: 40px;}
.category-list_x91 {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0;
}

.category-title {
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  color: #0d3679;
  font-size: 18px;
  display: block;
  margin-bottom: 15px;
}

.category-list_x91 {
  list-style: none;
  display: flex;
  gap: 0;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.category-list_x91 li {
  font-size: 16px;
  position: relative;
  padding: 0 20px;
}
/* 左端（All）の左側だけスペースなくす */
.category-list_x91 li:first-child {
  padding-left: 0;
}
/* 1つ目以外の前に縦線を中央配置で表示 */
.category-list_x91 li:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 1em;
  border-left: 1px solid #ECECEF;
}

.category-list_x91 a {
  text-decoration: none;
  color: #000;
  transition: color 0.3s;
}

.category-list_x91 a:hover {
  color: #0d3679;
}

.category-list_x91 a.active {
  color: #0d3679;
}
@media(max-width:768px){
  .category-list_x91 li {
  font-size: 14px;
  position: relative;
  padding: 0 15px;
}
}


.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin: 50px 0;
}

.pagination .prev,
.pagination .next {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #000;
  text-decoration: none;
  font-weight: normal;
  font-size: 16px;
}

.pagination .prev img,
.pagination .next img {
  height: 10px;
  width: auto;
  display: inline-block;
  margin-bottom: 5px;
}

/* ページ番号のエリア */
.pagination .pages {
  display: flex;
  gap: 10px;
  margin: 0 50px;
}

.pagination .pages span {
  color: #ccc;
  font-size: 20px;
}

.pagination .pages .current {
  color: #003366;
}

/* アニメーション共通 */
.pagination .prev img,
.pagination .next img {
  height: 10px;
  width: auto;
  display: inline-block;
  margin-bottom: 5px;
  transition: transform 0.3s ease;
}

/* ← hoverで左にスライド（prev） */
.pagination .prev:hover img {
  transform: translateX(-5px);
}

/* → hoverで右にスライド（next） */
.pagination .next:hover img {
  transform: translateX(5px);
}
.pagination .pages a {
  color: #ccc;
  font-size: 20px;
  text-decoration: none;
  transition: color 0.3s;
}

.pagination .pages a:hover {
  color: #003366;
}

.pagination .pages a.current {
  color: #003366;
  pointer-events: none; /* 現在ページはクリック不可に */
}

.pagination .pages span {
  font-size: 20px;
  color: #ccc;
}
.pagination .pages .current {
  color: #003366;
  font-weight: bold;
  pointer-events: none;
}
@media(max-width:768px){
  .pagination .pages {
  display: flex;
  gap: 10px;
  margin: 0 10px;
}
  .pagination .pages span {
  color: #ccc;
  font-size: 14px;
}
  .pagination .pages a {
  font-size: 14px;
}
.pagination .prev,
.pagination .next {
  font-size: 12px;
}
}
/* ====== ニュース一覧 ed ====== */

/* ====== ニュースシングル st ====== */

  .meta-box {
  display: flex;
  align-items: center;
  gap: 25px; /* 日付とカテゴリの間隔 */
  margin-bottom: 30px;
}

.meta-date {
  color: #BAB1A0; /* 薄いグレーベージュ */
  font-size: 12px;
  font-weight: 500;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

.meta-cat {
  border: 1px solid #ECECEF;
  border-radius: 5px;
  padding: 2px 20px;
  font-size: 12px;
  color: #0d3679; /* 深めの青 */
}
#single h1{font-size:30px;color: #002A74;margin-bottom:30px}
#single h2{font-size:22px;color: #002A74;margin-bottom:30px}
#single img{max-width:100%}

#single {
  overflow-x: hidden;
}

#single * {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.single-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: 100px 0;
}

.single-pagination .prev,
.single-pagination .next {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #000;
  text-decoration: none;
  font-weight: normal;
  font-size: 16px;
}

.single-pagination .prev img,
.single-pagination .next img {
  height: 10px;
  width: auto;
  display: inline-block;
  margin-bottom: 5px;
}

/* ページ番号のエリア */
.single-pagination .pages {
  display: flex;
  gap: 10px;
  margin: 0 50px;
}

.single-pagination .pages span {
  color: #ccc;
  font-size: 20px;
}

.single-pagination .pages .current {
  color: #003366;
}

/* アニメーション共通 */
.single-pagination .prev img,
.single-pagination .next img {
  height: 10px;
  width: auto;
  display: inline-block;
  margin-bottom: 5px;
  transition: transform 0.3s ease;
}

/* ← hoverで左にスライド（prev） */
.single-pagination .prev:hover img {
  transform: translateX(-5px);
}

/* → hoverで右にスライド（next） */
.single-pagination .next:hover img {
  transform: translateX(5px);
}
.single-pagination .pages a {
  color: #000;
  font-size: 16px;
  text-decoration: none;
  transition: color 0.3s;
}

.single-pagination .pages a:hover {
  color: #003366;
}

.single-pagination .pages a.current {
  color: #003366;
  pointer-events: none; /* 現在ページはクリック不可に */
}

.single-pagination .pages span {
  font-size: 16px;
  color: #ccc;
}
@media(max-width:768px){

#single h1{font-size:22px;color: #002A74;margin-bottom:30px}
  .single-pagination .pages {
  display: flex;
  gap: 10px;
  margin: 0 10px;
}
.meta-cat {
  border: 1px solid #ECECEF;
  border-radius: 5px;
  padding: 2px 20px;
  font-size: 12px;
  color: #0d3679; /* 深めの青 */
}
  .single-pagination .pages span {
  color: #ccc;
  font-size: 14px;
}
  .single-pagination .pages a {
  font-size: 14px;
}
.single-pagination .prev,
.single-pagination .next {
  font-size: 12px;
}
}
/* ====== ニュースシングル ed ====== */

/* ====== 外来受診の方へ st ====== */
.schedule-table-wrap {
  position: relative;
}

.note-fixed {
  position: absolute;
  top: -45px;       /* 表の上に配置 */
  right: 0;         /* 右端に揃える */
  font-size: 16px;
  color: #DC000C;
  font-weight: normal;
}
  
 .schedule-container {
  max-width: 100%;
  margin: 30px 0;
  padding: 10px;
}

.schedule-title {
  font-size: 20px;
  margin-bottom: 15px;
  color: #002A74;
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  text-align: center;
  background: #F9F9FC;
  table-layout: fixed; /* 均等割り当て */
  border-radius: 8px; /* 角丸 */
  overflow: hidden;   /* 角丸を有効にするため */
}

.schedule-table th {
  background: #ECEDF4;
  color: #002A74;
  padding: 10px;
}

.schedule-table td {
  padding: 10px;
  border: 1px solid #ECEDF4;
  word-wrap: break-word; /* 長い文字も折り返し */
}
.schedule-table .subject-top-top {
  font-weight: normal;
  background: #D8DAEA;
  color: #002A74;
}
.schedule-table .subject-top {
  font-weight: normal;
  background: #E2E4EF;
  color: #002A74;
}
.schedule-table .subject-bottom {
  font-weight: normal;
  background: #F9F9FC;
  color: #002A74;
}
.schedule-table .text-time {
  color: #002A74;
}


.schedule-note {
  margin-top: 10px;
  font-size: 14px;
  color: #000;
  line-height: 1.6;
}


/* 外側の枠線を消す */
.schedule-table th:first-child,
.schedule-table td:first-child {
  border-left: none;
}
.schedule-table th:last-child,
.schedule-table td:last-child {
  border-right: none;
}
.schedule-table thead tr:first-child th {
  border-top: none;
}
.schedule-table tbody tr:last-child td {
  border-bottom: none;
}


/* スマホ対応で横スクロール */
@media (max-width: 768px) {

  .schedule-container {
  max-width: 100%;
  margin: 0px 0;
  padding: 10px;
}
  .schedule-table-wrap {
    overflow-x: auto;    /* 横スクロール有効化 */
    -webkit-overflow-scrolling: touch; /* iOSでスムーズスクロール */
    /* スクロールバーの見た目 */
    scrollbar-width: thin;
    scrollbar-color: #002A74 #ECEDF4; /* thumb色 track色（Firefox） */
  padding-bottom: 30px;
  }

  .schedule-table {
    min-width: 800px; /* 最低幅を指定（スクロール発生用） */
    font-size: 12px;  /* スマホでは文字小さめ */
  }
/* WebKit（iOS Safari, Chrome）用 */
  .schedule-table-wrap::-webkit-scrollbar {
    height: 4px; /* 高さを指定して細く */
  }
  .schedule-table-wrap::-webkit-scrollbar-thumb {
    background-color: #002A74;  /* スクロールバーのつまみ部分 */
    border-radius: 4px;
  }
  .schedule-table-wrap::-webkit-scrollbar-track {
    background-color: #ECEDF4;  /* スクロールバーの背景 */
  }

  
  .note-fixed {
    position: static;   /* フローに戻す */
    display: block;
    text-align: left;   /* 左寄せ */
    margin: 0 0 10px;      /* 上下余白を確保 */
    font-size: 14px;    /* スマホ用に少し小さめ */
  }
}
@media (max-width: 768px) {
  .schedule-table-wrap {
    width: calc(95vw - 15px); /* 画面右端まで広げる */
    margin-right: 0;       /* rowのpaddingを打ち消す */
  }
}




@media (max-width: 768px) {

.schedule-title {
  font-size: 20px;
}

.schedule-table {
  font-size: 12px;
}
}

/* ====== スマホ用 横スクロール追加部分 ====== */

/* ラッパーを用意（HTMLで table を .schedule-scroll で囲む） */
.schedule-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOS対応 */
}

/* スクロールバーの見た目調整（任意） */
.schedule-scroll::-webkit-scrollbar {
  height: 6px;
}
.schedule-scroll::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 5px;
}

/* スマホ専用：テーブル幅を固定してスクロールを有効化 */
@media (max-width: 768px) {
  .schedule-table {
    min-width: 700px; /* 横スクロールを発生させるための固定幅 */
  }

  /* スクロール下余白を少し確保 */
  .schedule-scroll {
    margin-bottom: 10px;
  }
}

/* プログレスバーの位置を下に移動 */
.doctorSwiper.swiper-horizontal > .swiper-pagination-progressbar,
.doctorSwiper .swiper-pagination-progressbar.swiper-pagination-horizontal {
  bottom: 0 !important;
  top: auto !important;
}
.doctorSwiper .swiper-pagination-progressbar {
  background: #ECEDF4 !important; /* 背景色 */
  height: 4px !important;  /* ← 太さをここで変更 */
}

.doctorSwiper .swiper-pagination-progressbar-fill {
  background: #002A74 !important; /* 進行バーの色 */
}
/* ビューポート全幅 */
.doctorSwiperWrap {
  width: 100vw;                        /* ビューポートいっぱい */
  margin-left: calc(-50vw + 50%);      /* 中央基準から左にずらす */
}


/* ===== Doctor Card (dc81) ===== */
.doctorCard_dc81{
  width: 100%;
  overflow: hidden;
  background: #fff;
  text-align: left;
  margin: 0 0 30px 0;
}

/* 写真 */
.doctorCard_dc81__img{
  margin: 0;
  overflow: hidden;
}
.doctorCard_dc81__img img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* 本文部分 */
.doctorCard_dc81__body{
  padding: 12px 0px 20px;
}

/* 名前 */
.doctorCard_dc81__name{
  margin: 0 0 8px;
  font-size: 20px;
  color: #002A74;
  font-weight: 600;
}
.doctorCard_dc81__name .role{
  margin-left: 6px;
  font-size: 16px;
  font-weight: normal;
  color: #000;
}

/* タグ */
.doctorCard_dc81__tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.doctorCard_dc81__tags .tag{
  background: #ECEDF4;
  border-radius: 20px;
  padding: 3px 20px;
  font-size: 14px;
  color: #A6B5D0;
}
@media (max-width: 768px) {
  /* 名前 */
.doctorCard_dc81__name{
  margin: 0 0 8px;
  font-size: 18px;
  color: #002A74;
  font-weight: 600;
}
.doctorCard_dc81__name .role{
  margin-left: 6px;
  font-size: 12px;
  font-weight: normal;
  color: #000;
}
.doctorCard_dc81__tags .tag{
  background: #ECEDF4;
  border-radius: 20px;
  padding: 0px 15px;
  font-size: 12px;
  color: #A6B5D0;
}
}
/* ====== 外来受診の方へ ed ====== */

/* ====== 再生医療 st ====== */
 .regenerative-container {
  display: flex;
  justify-content: center;
  gap: 30px;
  width: 100%;
  margin: 50px 0;
  padding: 0;
}

.regenerative-card {
  flex: 1;
  background: #ECEDF4;
  border-radius: 10px;
  padding: 30px 0px;
}

.regenerative-number {
  width: 110px;
  height: 110px;
  margin: 0 auto 20px;
  border-radius: 50%;
  border: 1px solid #002A74;
  color: #002A74;
  padding-top: 20px;
  font-size: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.regenerative-number::before {
  content: "Merit";
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
  position: absolute;
  top: 15px;
  letter-spacing: 0.05rem;
  font-size: 12px;
  color: #BAB1A0;
  font-weight: lighter;
}

.regenerative-card h3 {
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
  color: #002a74;
  margin-bottom: 0;
}

.regenerative-card p {
  font-size: 14px;
  text-align: left;
  color: #000;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .regenerative-container {
    flex-direction: column;
    gap: 20px;
  }

  .regenerative-card {
    padding: 20px 0px;
  }

  .regenerative-number {
    width: 100px;
    height: 100px;
    font-size: 40px;
  }

  .regenerative-card h3 {
    font-size: 18px;
  }

  .regenerative-card p {
    font-size: 13px;
  }
}
 /* 2カラムの間に縦線を入れる */
.prpRow_aa01 {
  position: relative;
}
.prpRow_aa01 .p-right{
  padding-right: 40px;
}
.prpRow_aa01 .p-left{
  padding-left: 40px;
}
@media (max-width: 768px) {
.prpRow_aa01 .p-right{
  padding-right: 0px;
  margin-bottom: 30px;
}
.prpRow_aa01 .p-left{
  padding-left: 0px;
}
}
.prpRow_aa01 > [class*="col-"] {
  padding: 0 50px; /* 各カラムに内側余白を追加 */
}

.prpRow_aa01 h3 {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.prpRow_aa01::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 0.5px !important;
  background-color: #C0C9D9; /* 線の色（薄いグレー） */
  transform: translateX(-50%);
}

/* スマホでは線を消す */
@media (max-width: 990px) {
  .prpRow_aa01 {
}
  .prpRow_aa01::before {
    display: none;
  }
  .prpRow_aa01 h3 {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 15px;
}
}

.flow-steps {
  background: #F9F9FC;
  border-radius: 10px;
  padding: 30px 50px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.flow-step {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  border-bottom: 1px solid #ECEDF4;
  padding: 15px 0 35px !important;
}

.flow-step:last-child {
  border-bottom: none;
}

/* Flow + 数字 横並び */
.flow-number {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 100px;
  font-size: 16px;
  color: #BAB1A0;
}

.flow-number .label {
  font-size: 14px;
  margin:5px 0 0 0 !important;
  color: #BAB1A0;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

.flow-number .num {
  font-size: 52px;
  line-height: 1.5;
  font-weight: normal;
  color: #002A74;
  line-height: 1;
}

.flow-content h3 {
  font-size: 20px;
  margin:7px 0 10px 0;
  line-height: 1.5;
  color: #002A74;
}

.flow-content p {
  font-size: 16px;
  color: #000;
  margin: 0;
  line-height: 1.8;
}

/* スマホ対応 */
@media (max-width: 768px) {
.flow-number {
  gap: 10px;
}
  .flow-steps {
  background: #F9F9FC;
  border-radius: 10px;
  padding: 30px 30px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
  .flow-step {
    flex-direction: column;
    gap: 8px;
  position: relative;
  }

  .flow-number {
    min-width: auto;
    justify-content: flex-start;
  }

  .flow-number .num {
    font-size: 50px;
  }

  .flow-content h3 {
    position: absolute;
    top: 24px;
    left: 85px;
    font-size: 20px;
    line-height: 1.3;
  }
  .flow-content .line_break {
    position: absolute;
    top: 15px;
    left: 85px;
    font-size: 18px;
  }

  .flow-content .first_h3 {
    position: static;
    top: 0;
    left: 0;
    font-size: 20px;
    line-height: 1.3;
  }

  .flow-content p {
    font-size: 14px;
  }
}

 .notes-container {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap; /* 画面が狭いときは縦並び */
  max-width: 1100px;
  margin: 40px auto;
}

.notes-card {
  flex: 1;
}

.notes-card h3 {
  font-size: 24px;
  color: #002A74;
  margin-bottom: 15px;
  padding-bottom: 8px;
  border-bottom: 1px solid #002A74;
}

.notes-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.notes-card ul li {
  position: relative;
  padding-left: 14px;
  margin-bottom: 10px;
  font-size: 16px;
  color: #000;
}

.notes-card ul li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 4px;
  height: 4px;
  background: #002a74;
  border-radius: 50%;
}


/* スマホ対応 */
@media (max-width: 1024px) {
  .notes-container {
    flex-direction: column;
    gap: 20px;
  }
  .notes-card {
    padding: 0px 40px;
  }
  .notes-card h3 {
    font-size: 16px;
  }
  .notes-card ul li {
    font-size: 14px;
  }
}


 .info-box {
  background: #fff;
  border-radius: 10px;
  border: 1px solid #dcdfe6;
  padding: 20px 25px;
  max-width: 100%;
}

.info-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}

.info-label {
  display: inline-block;
  background: #ECEDF4;
  color: #002A74;
  font-size: 14px;
  font-weight: bold;
  padding: 2px 5px;
  border-radius: 15px;
  width: 100px;
  text-align: center;
  margin-right: 15px;
  flex-shrink: 0;
}

.info-text {
  font-size: 16px;
  color: #000 !important;
  line-height: 2;
}



.info-text.tel,
.info-text.tel a {
  font-size: 30px;
  color: #000 !important;
  line-height: 1;
  text-decoration: none;
}

.info-text.tel .clinic {
  font-size: 16px;
  font-weight: normal;
  color: #000 !important;
}

/* スマホ対応 */
@media (max-width: 600px) {
  .info-box {
    padding: 15px;
    text-align: center; /* ★ 全体中央寄せ */
    margin-top: 10px;
  }

  .info-row {
    display: flex;
    flex-direction: column; /* ★ ラベルとテキストを縦並び */
    align-items: center;     /* ★ 横方向も中央寄せ */
    margin-bottom: 20px;
  }

  .info-label {
    font-size: 12px;
    padding: 5px 10px;
    min-width: auto; /* ★ 横幅固定を解除 */
    display: inline-block;
    margin-bottom: 8px;
  }

  .info-text {
    font-size: 14px;
    text-align: center; /* ★ 念のため中央寄せ */
  }

  .info-text.tel {
    font-size: 30px;
  }

  .info-text.tel .clinic {
    font-size: 14px;
    display: block; /* ★ 行として独立させる */
    margin-top: 10px;
    line-height: 2;
  }
}
/* ====== 再生医療 ed ====== */

/* ====== ドクター st ====== */
 .doctor-profile {
  max-width: 100%;
}

.doctor-name {
  font-size: 30px;
  font-weight: normal;
  color: #002A74;
  margin-top: 50px;
  margin-bottom: 10px;
}

.doctor-name span {
  font-size: 16px;
  color: #000;
  margin-left: 8px;
}
.doctor-label{
  display:inline-block;
  margin-bottom:20px;
  padding:3px 26px;
  background:#ECEDF4;
  color:#A6B5D0;
  font-size:14px;
  border-radius:999px;
  letter-spacing:0.05em;
  margin-right: 10px;
}
/* アコーディオン全体 */
.accordion_d {
  border-top: 1px solid #002A74;
}

.accordion-item {
  border-bottom: 1px solid #C0C9D9;
}

/* ヘッダー */
.accordion-header {
  width: 100%;
  padding: 12px 0;
  background: none;
  border: none;
  text-align: left;
  font-size: 20px;
  color: #000;
  position: relative;
  cursor: pointer;
}

/* ＋／－アイコンを線で作成 */
.accordion-header::before,
.accordion-header::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;          /* 右端から少し内側に */
  width: 16px;
  height: 1px;
  background-color: #002A74;
  transition: transform 0.3s ease;
}

/* 縦線（初期は表示 → プラス） */
.accordion-header::after {
  transform: translateY(-50%) rotate(90deg);
}

/* active時（－にする → 縦線を消す） */
.accordion-header.active::after {
  transform: scaleX(0); /* 縦線を消す */
}
/* コンテンツ */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0;
}

.accordion-content ul {
  list-style: none;  /* デフォルトのドットを消す */
  margin: 0;
  padding: 15px 0 15px 5px;
}

.accordion-content li {
  position: relative;
  padding-left: 12px; /* ドットの余白を調整 */
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 6px;
}

/* 小さいカスタムドット */
.accordion-content li::before {
  content: "";
  position: absolute;
  top: 0.9em;    /* テキスト高さに揃える */
  left: 0;
  width: 2px;     /* ドットの大きさ */
  height: 2px;
  background-color: #002A74; /* ドット色 */
  border-radius: 50%;        /* 丸にする */
}

.accordion-content li a {
  color: #002A74;
  text-decoration: none;
}
.accordion-content li a:hover {
  text-decoration: underline;
}
@media (max-width: 768px) {
  .doctor-name {
  font-size: 24px;
  font-weight: normal;
  color: #002A74;
  margin-top: 50px;
  margin-bottom: 10px;
}

.doctor-name span {
  font-size: 14px;
  color: #000;
  margin-left: 8px;
}
/* ヘッダー */
.accordion-header {
  font-size: 18px;
  color: #000;
  position: relative;
  cursor: pointer;
}
.accordion-content li {
  font-size: 14px;
}




}
/* ====== ドクター ed ====== */

/* ====== 初診の方（時間・流れ） st ====== */

.notice-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0px 0;
}

.notice-card {
  border-top: 1px solid #C0C9D9;
  padding-top: 20px;
}
.notice-card-bottom {
  border-bottom: 1px solid #C0C9D9;
  padding-bottom: 20px;
}

.notice-card h3 {
  font-size: 20px;
  line-height: 1.5;
  color: #002A74;
  margin: 0 0 0 0 !important;
}

.notice-card p {
  font-size: 16px;
  line-height: 28px;
  margin-top: 10px;
  margin-bottom: 0px;
  color: #000;
}


.notice-card ul {
  margin: 10px 0 0 0;  /* 左余白は li で調整 */
  padding: 0;
  list-style: none;    /* デフォルトのドットを消す */
}

.notice-card ul li {
  position: relative;
  padding-left: 14px;   /* 左に余白をつけてドットの位置を確保 */
  font-size: 16px;
  line-height: 1.8;
  color: #000;
}

.notice-card ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.8em;
  width: 2px;   /* 小さいドットのサイズ */
  height: 2px;
  background-color: #000; /* ドットの色（青系） */
  border-radius: 50%;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .notice-card-bottom-sp {
  border-bottom: 1px solid #C0C9D9;
  padding-bottom: 20px;
}
  .notice-card h3 {
  font-size: 18px;
  line-height: 1.5;
  color: #002A74;
  margin: 0 0 0 0 !important;
}
  .notice-card p {
    font-size: 14px;
  }
  .notice-card ul li {
    font-size: 14px;
  }
}
.contact-card {
  background-color: #BAB1A0; /* ベージュ系 */
  border-radius: 10px;
  padding: 30px 90px;
  text-align: center;
  color: #fff;
  max-width: 100%;
  margin: 20px auto;
}

/* 上の白いラベル */
.contact-title {
  display: inline-block;
  background: #fff;
  color: #000;
  padding: 6px 20px;
  border-radius: 5px;
  width: 100%;
  font-size: 17px;
  margin-bottom: 0px;
}

/* 電話番号部分 */
.contact-tel {
  margin:  0;
  border-bottom: 1px solid #FFF;
  padding-bottom: 10px;
}

.contact-tel .label {
  font-size: 24px !important;
  margin-right: 0px;
}

.contact-tel .number {
  font-size: 40px;
  letter-spacing: 1px;
}


/* 電話受付時間 */
.contact-info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 15px;
  font-size: 16px;
}

.contact-info .time-label {
  display: inline-block;
  border: 1px solid #FFF;
  color: #FFF;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 16px;
}

.contact-info .days {
  margin-right: 1em;
}

.contact-info .hours {
}

/* スマホ対応 */
@media (max-width: 768px) {
  /* 上の白いラベル */
.contact-title {
  padding: 3px 20px;
  width: 100%;
  font-size: 16px;
  margin-bottom: 10px;
}
  .contact-card {
    padding: 20px 15px;
  }
  
.contact-tel {
  padding-bottom: 5px;
}
  .contact-tel .number {
    font-size: 26px;
  letter-spacing: 1px;
  }
  .contact-tel .number {
  text-decoration: none !important;
  -webkit-text-decoration: none !important; /* iPhone対策 */
  color: inherit !important; /* Safari自動リンク青字防止 */
}
.contact-tel .number a {
  color: inherit;           /* 親と同じ色 */
  text-decoration: none;    /* 下線なし */
}

.contact-tel .number a:hover,
.contact-tel .number a:focus {
  color: inherit;           /* 色変えない */
  text-decoration: none;    /* ホバー時も下線なし */
}
.contact-tel .label {
  font-size: 15px !important;
  margin-right: 0px;
}
.contact-info {
  display: block;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 15px;
  position: relative;
  margin-top: 15px;
}
.contact-info .time-label {
  display: block;
  padding: 1px 3px;
  width: 100%;
  font-size: 14px;
  margin-right: 0.7em;
  margin-bottom: 5px;
}

.contact-info .days {
  margin-right: 0em;
  display: block;
  font-size: 14px;
  left:0;
  text-align: left;
  width: 100%;
}
.contact-info .hours {
  font-size: 14px;
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: right;
}
  .contact-info {
    gap: 0px;
  font-size: 12px;
  }
}

 .access-link {
  display: inline-block;
  position: relative;
  padding-right: 40px; /* 矢印分の余白 */
  font-size: 16px;
  color: #000;
  text-decoration: none;
  width: 100%;
  border-top: 1px solid #C0C9D9;
  border-bottom: 1px solid #C0C9D9;
  padding: 12px 40px 12px 0; /* 上下余白 + 右余白 */
}

@media (max-width: 768px) {

.access-link-sp-border-none {
  margin-bottom: 20px;
}
}
/* 矢印（背景画像で追加） */
.access-link::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;   /* 矢印画像サイズ */
  height: 14px;
  background-image: url("../../assets/images/nav-arrow-hover.svg"); /* ← 矢印画像パス */
  background-repeat: no-repeat;
  background-size: contain;
  transition: transform 0.3s ease;
}
/* hoverで矢印だけ右に動く */
.access-link:hover {
  color: #000;
}
/* hoverで矢印だけ右に動く */
.access-link:hover::after {
  transform: translateY(-50%) translateX(5px);
}
/* ====== 初診の方（時間・流れ） ed ====== */

/* ======再診の方（時間・流れ） st ====== */


 .process-steps {
  position: relative;
  background: #F9F9FC;
  border-radius: 10px;
  padding: 40px 40px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

 .process-steps h2 {
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
    border-bottom: 1px solid #002A74;
    color: #002A74;
    padding-bottom: 5px ;
    font-weight: normal;
    margin-bottom: 10px;
}


.process-step {
  display: flex;
  align-items: center;  /* ← 縦中央に変更 */
  gap: 5px;
  border-bottom: 1px solid #ECEDF4;
  padding: 20px 0 20px !important;
}

.process-step:last-child {
  margin-bottom: 40px;
}

/* Flow + 数字 横並び */
.process-number {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 100px;
  font-size: 16px;
  color: #BAB1A0;
}

.process-number .label {
  font-size: 14px;
  margin: 5px 0 0 0 !important;
  color: #BAB1A0;
  font-family: "Libre Baskerville", "Playfair Display", "Times New Roman", serif;
  font-weight: 400;
}

.process-number .num {
  font-size: 52px;
  font-weight: normal;
  color: #002A74;
  line-height: 1;
}

.process-content h3 {
  font-size: 20px;
  line-height: 1.5;
  margin: 0px 0 0 0 !important;
  color: #002A74;
}

.process-content p {
  font-size: 16px;
  color: #000;
  margin: 0;
  line-height: 1.8;
}
/* 注意書きスタイル */
.process-steps .note {
  font-size: 14px;
  color: #333;
  text-align: center;
  margin-top: 20px; /* ↑全体との間隔 */
}

/* スマホ対応 */
@media (max-width: 768px) {
   .process-steps {
  padding: 40px 20px 0;
  height: auto !important;
}



}
/* ======再診の方（時間・流れ） ed ====== */

/* ======交通事故・労務災害・公務災害による受診について st ====== */

.visiting-section {
  display: flex;
  flex-direction: column;
  margin: 0 0;
}

.visiting-card {
  padding-top: 0px;
}
.visiting-card-bottom {
}

.visiting-card h3 {
  font-size: 24px;
  line-height: 1.5;
  color: #002A74 ;
  font-weight: normal;
  padding-bottom: 10px;
  border-bottom: 1px solid #002A74;
  margin: 0 0 25px 0 !important;
}

.visiting-card h4 {
  font-size: 20px;
  line-height: 1.5;
  font-weight: normal;
  color: #000;
  padding-bottom: 0px;
  margin: 0 0 0 0 !important;
}

.visiting-card p {
  font-size: 16px;
  line-height: 28px;
  margin-top: 10px;
  margin-bottom: 20px;
  color: #000;
}

.visiting-card .border-bottom {border-bottom: 1px solid #C0C9D9;padding-bottom: 20px;
}


.visiting-card ul {
  margin: 10px 0 0 0;  /* 左余白は li で調整 */
  padding: 0;
  list-style: none;    /* デフォルトのドットを消す */
}

.visiting-card ul li {
  position: relative;
  padding-left: 14px;   /* 左に余白をつけてドットの位置を確保 */
  font-size: 15px;
  line-height: 1.8;
  color: #000;
}

.visiting-card ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.8em;
  width: 2px;   /* 小さいドットのサイズ */
  height: 2px;
  background-color: #000; /* ドットの色（青系） */
  border-radius: 50%;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .visiting-card h3 {
  font-size: 20px;
}

.visiting-card h4 {
  font-size: 18px;
}
  .visiting-card p {
    font-size: 14px;
  }
  .visiting-card ul li {
    font-size: 13px;
  }
}
/* ======交通事故・労務災害・公務災害による受診について ed ====== */


/* ======お問い合わせ st ====== */

 /* ===== 上部電話番号サイズ変更 ===== */
#contactform .contactCardTelNumber_d435{font-size:46px}
#contactform .contactCardTelLabel_d435{font-size:28px}
#contactform .contactCardFaxLabel_d435{font-size:24px}
#contactform .contactCardHoursLabel_d435{font-size:16px}
#contactform .contactCardHours_d435{font-size:16px}
#contactform .contactCardHours_d435 p{font-size:16px}
#contactform .contactCardHours_d435 span{font-size:16px}
@media screen and (max-width: 768px) {
#contactform .contactCardTelLabel_d435 {
  font-size: 15px;
}
#contactform .contactCardFaxLabel_d435{
  font-size: 15px;
}
#contactform  .contactCardTelNumber_d435 {
  font-size: 26px;
} 

#contactform .contactCardHoursLabel_d435{font-size:14px}
#contactform .contactCardHours_d435{font-size:14px}
#contactform .contactCardHours_d435 p{font-size:14px}
#contactform .contactCardHours_d435 span{font-size:14px}
}

 /* ===== デザイン変数（色） ===== */
.cfBlock_hosp{
  --clr-navy: #0b2f66;   /* 濃紺：強調・ボタン */
  --clr-gray: #868E9A;   /* 薄いグレー：未了 */
  --bg-panel: #ECEDF4;   /* パネルの薄いグレー */
  --bd: #e6e8eb;         /* 枠線色 */
  --field-bg:#ffffff;    /* 入力欄の背景 */
  --danger: #d92d20;     /* エラー色/必須印 */
}

/* ===== パネル ===== */
.cfBlock_hosp{
  background: var(--bg-panel);
  border-radius: 10px;
  padding: 60px;
}

/* ===== ステップ（01→02→03） ===== */



/* ===== Step Flow (01→02→03) ===== */
.stepFlow_hosp{
  /* 色・矢印画像（必要なら差し替え） */
  --clr-active:#002A74;   /* 現在ステップ（濃紺） */
  --clr-muted:#868E9A;    /* 未到達ステップ */
  --sep-url:url("../../assets/images/contact-arrow.svg");
  counter-reset: step;
  display:flex; gap:10px;
  align-items:center; justify-content:flex-start;
  list-style:none; margin:0 0 18px; padding:0;
}
.stepFlow_hosp>li{
  position:relative; display:inline-flex; align-items:baseline; gap:15px;
  color:var(--clr-muted); font-weight:500; white-space:nowrap;
}
.stepFlow_hosp>li::before{
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  font-size:clamp(40px,5vw,70px);
  line-height:1; letter-spacing:.06em; font-weight:500; color:var(--clr-muted);
}
.stepFlow_hosp>li>span{
  font-size:20px; letter-spacing:.08em;
}
/* 区切りは“画像”で表示 */
.stepFlow_hosp>li:not(:last-child)::after{
  content:""; display:inline-block;
  background-image:var(--sep-url); background-repeat:no-repeat;
  background-position:center; background-size:contain;
  width:clamp(32px,7vw,50px); height:8px;
  margin:0 clamp(10px,2vw,16px); position:relative; top:-2px;
}

/* 現在ステップ（手動） */
.stepFlow_hosp>li.is-current,
.stepFlow_hosp>li.is-current::before{ color:var(--clr-active); }

/* ── MW WP Form 自動ハイライト（ステップ直上に置く場合）──
   親に .cfBlock_hosp を使っている想定。不要なら削除可。 */
.cfBlock_hosp:has(form.mw_wp_form_input)   .stepFlow_hosp>li:nth-child(1),
.cfBlock_hosp:has(form.mw_wp_form_confirm) .stepFlow_hosp>li:nth-child(2),
.cfBlock_hosp:has(form.mw_wp_form_complete).stepFlow_hosp>li:nth-child(3),
.cfBlock_hosp:has(form.mw_wp_form_input)   .stepFlow_hosp>li:nth-child(1)::before,
.cfBlock_hosp:has(form.mw_wp_form_confirm) .stepFlow_hosp>li:nth-child(2)::before,
.cfBlock_hosp:has(form.mw_wp_form_complete).stepFlow_hosp>li:nth-child(3)::before{
  color:var(--clr-active);
}

/* :has()未対応ブラウザ向けの代替（任意）：
   <ol class="stepFlow_hosp" data-step="confirm"> のように属性で切替 */
.stepFlow_hosp[data-step="input"]   >li:nth-child(1),
.stepFlow_hosp[data-step="confirm"] >li:nth-child(2),
.stepFlow_hosp[data-step="complete"]>li:nth-child(3),
.stepFlow_hosp[data-step="input"]   >li:nth-child(1)::before,
.stepFlow_hosp[data-step="confirm"] >li:nth-child(2)::before,
.stepFlow_hosp[data-step="complete"]>li:nth-child(3)::before{
  color:var(--clr-active);
}



/* ステップ全体を横中央に */
.stepFlow_hosp{
  justify-content: center;     /* 子要素（各li）を中央寄せ */
  margin-left: auto;
  margin-right: auto;          /* 親の中でブロック自体も中央に */
  margin-bottom: 50px;
}

/* 数字とラベルも中央に揃える（縦位置＆テキスト） */
.stepFlow_hosp > li{
  align-items: center;         /* 縦中央（数字と文字） */
  text-align: center;          /* ラベルの文字揃え */
}
.stepFlow_hosp > li::before{
  line-height: 1;              /* 数字の上下余白を詰めて中央に見せる */
}

/* ラベル側も行高を揃える */
.stepFlow_hosp > li > span{
  display: block;
  line-height: 1.2;         /* 好みで 1.0〜1.3 あたり */
}

/* 区切り画像（→）の上下位置をフラットに */
.stepFlow_hosp > li:not(:last-child)::after{
  top: 0;                    /* 以前 -2px にしていたら 0 に */
}

@media (max-width: 900px) {

  /* ===== パネル ===== */
.cfBlock_hosp{
  padding: 30px 15px;
}

  .stepFlow_hosp {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 30px;
    max-width: 100%;
    margin: 0 auto 30px;
    text-align: center;
  }

  .stepFlow_hosp > li {
    width: 33.333%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
  }
.stepFlow_hosp > li {
  margin-right: 0px; /* ステップ間にスペース追加 */
}
.stepFlow_hosp > li:last-child {
  margin-right: 0; /* 最後は余白なし */
}
  /* 数字 */
  .stepFlow_hosp > li::before {
    font-size: 33px;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 0px;
    color: var(--clr-muted);
  }

  /* テキスト */
  .stepFlow_hosp > li > span {
    font-size: 13px;
    line-height: 1.3;
    color: var(--clr-muted);
    display: block;
  }

  /* 矢印 */
  .stepFlow_hosp > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 38%;
    right: -60%;
    width: 22px;
    height: 6px;
    background-image: var(--sep-url);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateY(-50%);
    opacity: 0.8;
  }

  /* ✅ アクティブ：数字と文字の両方 */
  .stepFlow_hosp > li.is-current::before,
  .stepFlow_hosp > li.is-current > span,
  .stepFlow_hosp[data-step="input"]   > li:nth-child(1)::before,
  .stepFlow_hosp[data-step="input"]   > li:nth-child(1) > span,
  .stepFlow_hosp[data-step="confirm"] > li:nth-child(2)::before,
  .stepFlow_hosp[data-step="confirm"] > li:nth-child(2) > span,
  .stepFlow_hosp[data-step="complete"]> li:nth-child(3)::before,
  .stepFlow_hosp[data-step="complete"]> li:nth-child(3) > span {
    color: var(--clr-active);
  }
}

/* 旧）.cfBlock_hosp .mw_wp_form dl など → 新）.cfBlock_hosp を起点に */
.cfBlock_hosp dl{ display:grid; grid-template-columns:220px 1fr; row-gap:10px;align-items: start;}
.cfBlock_hosp dt{ color:#000;font-size: 16px;font-weight: normal;margin:0px 0 12px; }
.cfBlock_hosp dd{ margin:0 0 12px; }

@media (max-width:768px){
  .cfBlock_hosp dl{ grid-template-columns:1fr; column-gap:24px;   }
  .cfBlock_hosp dt{ margin:0px 0 0; }
}


.cfBlock_hosp input[type="text"],
.cfBlock_hosp input[type="tel"],
.cfBlock_hosp input[type="email"],
.cfBlock_hosp input[type="url"],
.cfBlock_hosp select,
.cfBlock_hosp textarea{
  width:100%; background:var(--field-bg);
  border:1px solid var(--bd); border-radius:5px;
  padding:10px 12px; font-size:16px; line-height:1.5; color:#111827;
  transition: box-shadow .2s, border-color .2s; box-sizing:border-box;
}
.cfBlock_hosp textarea{ min-height:160px; resize:vertical; }

.cfBlock_hosp input:focus,
.cfBlock_hosp select:focus,
.cfBlock_hosp textarea:focus{
  outline:none; border-color:var(--clr-navy);
  box-shadow:0 0 0 3px rgba(11,47,102,.12);
}

.cfBlock_hosp input[type="radio"],
.cfBlock_hosp input[type="checkbox"]{ accent-color:var(--clr-navy); }
.cfBlock_hosp .horizontal-item{ margin-right:18px; }

/* 確認画面だけ読み取り専用風に（formではなく外側のdivにクラスが付く） */
.mw_wp_form_confirm .cfBlock_hosp input[type="text"],
.mw_wp_form_confirm .cfBlock_hosp input[type="tel"],
.mw_wp_form_confirm .cfBlock_hosp input[type="email"],
.mw_wp_form_confirm .cfBlock_hosp textarea,
.mw_wp_form_confirm .cfBlock_hosp select{ background:#f7f8fa; }

/* ラジオ横のラベルに入る予期せぬ余白をリセット */
.cfBlock_hosp .horizontal-item{ display:inline-flex; align-items:center; gap:6px; margin-right:20px;margin-left: 0 !important;padding-left: 0 !important; }
.cfBlock_hosp label{ margin:0; padding:0; text-indent:0; }
.cfBlock_hosp input[type="radio"]{ margin-right:6px; }
@media (max-width: 768px) {
  .cfBlock_hosp dt{ color:#000;font-size: 14px; }
  .mwform-radio-field-text{ color:#000;font-size: 14px;}
  .mwform-checkbox-field-text{ color:#000;font-size: 14px;}
  .cfBlock_hosp textarea{
  width:100%; background:var(--field-bg);
  border:1px solid var(--bd); border-radius:5px;
  padding:10px 12px; font-size:14px; line-height:1.5; color:#111827;
  transition: box-shadow .2s, border-color .2s; box-sizing:border-box;
}
}
/* ====== 送信 ====== */
.btn-main {
  display: inline-block;
  background-color: #002A74; /* 濃紺 */
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.08em;
  width: 250px;
  padding: 12px 100px 12px 20px; /* 右を広くして矢印の余白確保 */
  border: none;
  border-radius: 5px;
  text-align: left; /* 左寄せ */
  cursor: pointer;
  background-image: url("../../assets/images/nav-arrow-hover.svg"); /* 矢印画像パス */
  background-repeat: no-repeat;
  background-size: 25px auto; /* 矢印サイズ */
  background-position: right 18px center; /* 右側に配置 */
  transition: background-position 0.3s ease, opacity 0.3s ease;
}

/* hover時に矢印を少し動かす */
.btn-main:hover {
  background-position: right 12px center;
  opacity: 0.9;
}


/* 確認画面：入力画面に戻る（リンク風） */
.btn-backLink{
  appearance: none;
  -webkit-appearance: none;
  background: url("../../assets/images/nav-arrow-hover_back.svg") no-repeat left center / 22px auto;
  border: none;
  background-position: 6px center;  /* ← 最初から少し内側 */
  padding: 0 0 0 38px;              /* ← 余白も少し増やす */
  width: 150px;
margin-top: 50px;
  color: #002A74;
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #000;
  cursor: pointer;

  display: inline-block; /* inputに合わせて */
  line-height: 1.2;
  transition: background-position 0.3s ease, opacity 0.3s ease;
}

.btn-backLink:hover{
  opacity: .8;
  background-position: 0 center;   /* ← 少しだけ左へ動く */
}


/* ====== 戻るボタン（btn-mainと並べる） ====== */
.btn-sub {
  display: inline-block;
  background-color: #fff;
  color: #002A74;
  font-size: 14px;
  letter-spacing: 0.08em;
  padding: 12px 40px;
  border: 1px solid #002A74;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-right: 15px; /* 「送信」ボタンとの間隔 */
  vertical-align: middle;
}

/* hover時の反転アニメーション */
.btn-sub:hover {
  background-color: #002A74;
  color: #fff;
}

/* ボタンを中央に並べる */
.btn-center {
  text-align: center; /* 横方向中央寄せ */
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px; /* ボタン間の余白 */
  flex-wrap: wrap; /* 小さい画面で折り返す */
  margin-top: 30px;
}
/* ✅ 確認画面だけ：縦並びにする */
.mw_wp_form_confirm .btn-center{
  flex-direction: column;
  gap: 12px;
}


.topBackLink{
  display: inline-flex;
  align-items: center;
  gap: 12px;
font-size: 14px;
  letter-spacing: 0.08em;
  color: #000;
  text-decoration: none;
  margin-top: 50px;

  padding-right: 42px; /* 矢印スペース */
  background: url("../../assets/images/nav-arrow-hover.svg") no-repeat right center;
  background-size: 22px auto;

  background-position: right 6px center;
  transition: background-position .3s ease, opacity .3s ease;
}

/* hover */
.topBackLink{
}

.topBackLink:hover{
  background-position: right 0 center;
  opacity: .8;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
  .btn-center {
  display: block;
    flex-direction: column;
    align-items: center; /* 中央寄せ */
    gap: 12px;
  }

  .btn-main,
  .btn-sub {
    width: 80%;
    max-width: 320px;
    text-align: left; /* スマホ時のみ中央寄せ */
    padding: 12px 20px; /* 右の余白をリセットして中央に */
    background-position: right 18px center; /* 矢印位置を戻す */
    margin: 5px 0;
  }
}

/* ===== placeholder（入力前のヒント文字） ===== */
.cfBlock_hosp input::placeholder,
.cfBlock_hosp textarea::placeholder {
  color: #C6C6C6;          /* ← 文字色（薄いグレー） */
  opacity: 1;           /* ← Safari対策：デフォルト0.6を無効にする */
  line-height: 1.6;     /* ← 行間 */
}

/* スマホ時 */
@media (max-width: 768px) {
  .cfBlock_hosp input::placeholder,
  .cfBlock_hosp textarea::placeholder {
    font-size: 13px;
  }
}
/* ======お問い合わせ ed ====== */

/* ======治療・施術について一覧 st ====== */

 /* ===== フィルタ全体 ===== */
.filterBox_x91 {
  border-top: 1px solid #002A74;
  padding-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px; /* 各項目の間隔 */
  margin-bottom: 20px;
}

/* ===== 各ラベル ===== */
.filter-item {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 16px;
  color: #000; /* 青系テキスト */
  position: relative;
}

/* デフォルトチェックボックスを非表示 */
.filter-item input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #C0C9D9;
  border-radius: 2px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}

/* チェック時 */
.filter-item input[type="checkbox"]:checked {
  background-color: #fff;
  border-color: #C0C9D9;
}

/* チェックマーク */
.filter-item input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border-right: 2px solid #002A74;
  border-bottom: 2px solid #002A74;
  transform: rotate(45deg);
}

/* ===== スマホ対応 ===== */
@media (max-width: 768px) {
  .filterBox_x91 {
    max-width: 100%;
    gap: 12px;
  }
  .filter-item {
    font-size: 14px;
  }
}


  /* ====== 手術リスト全体 ====== */
.surgeryList_aa10 {
  list-style: none;
  border-top: 1px solid #C0C9D9;
  margin: 0;
  padding: 0;
}

.surgeryList_aa10 li {
  border-bottom: 1px solid #C0C9D9;
  padding: 16px 0;
}

/* ====== 見出しリンク部分 ====== */
.surgeryList_aa10 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  color: #002A74; /* 青 */
  font-size: 20px;
  font-weight: normal;
  transition: color 0.3s ease;
  position: relative;
}

/* hover時：少しトーンを変える */
.surgeryList_aa10 a:hover {
  color: #0b3b95;
}

/* 矢印（画像） */
.surgery-arrow {
  display: inline-block;
  width: 30px;
  height: 10px;
  background-image: url("../../assets/images/nav-arrow-hover.svg"); /* 矢印画像 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s ease;
}

/* hover時に右に少し動かす */
.surgeryList_aa10 a:hover .surgery-arrow {
  transform: translateX(4px);
}

/* ====== タグエリア ====== */
.surgery-tags {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.surgery-tags span {
  font-size: 12px;
  color: #868E9A;
  border: 1px solid #ECECEF;
  border-radius: 5px;
  padding: 4px 10px;
  background-color: #FFF;
}

/* ====== スマホ対応 ====== */
@media (max-width: 768px) {
  .surgeryList_aa10 a {
    font-size: 16px;
  }

  .surgery-arrow {
    width: 16px;
    height: 8px;
  }

  .surgery-tags span {
    font-size: 12px;
    padding: 3px 8px;
  }
}

/* ======治療・施術について一覧 ed ====== */

/* ======治療・施術についてsingle st ====== */
/* ===== タグ部分 ===== */
.category-tags_bx10 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.category-tags_bx10 span {
  font-size: 12px;
  color: #868E9A;
  border: 1px solid #ECECEF;
  border-radius: 5px;
  padding: 4px 15px;
  background-color: #fff;
}

/* ===== タイトル（見出し） ===== */
.surgery-title_bx10 {
  font-size: 30px;
  color: #002A74; /* 濃紺 */
  font-weight: 600;
  margin-bottom: 30px;
  padding-bottom: 8px;
}

/* ===== 背景ボックス部分 ===== */
.feature-box_bx10 {
  background-color: #f2f3fa;
  border-radius: 10px;
  padding: 25px 30px;
  max-width: 800px;
  margin-bottom: 30px;
}

/* ===== リスト（赤丸付き） ===== */
.feature-box_bx10 ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.feature-box_bx10 li {
  position: relative;
  color: #002A74;
  font-size: 14px;
  line-height: 1.5;
  padding-left: 22px;
  margin-bottom: 10px;
}

/* 赤丸 */
.feature-box_bx10 li::before {
  content: "●";
  color: #DC000C; /* 赤 */
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 12px;
  line-height: 1.5;
}
.treatments-procedure-img img{width: 100% !important;height: auto;}
/* ===== スマホ対応 ===== */
@media (max-width: 768px) {
  .surgery-title_bx10 {
    font-size: 22px;
  }

  .feature-box_bx10 {
    padding: 20px;
  }

  .feature-box_bx10 li {
    font-size: 15px;
  }
}



/* === Swiper本体 === */
.swiper_diagram {
  width: 100%;
  padding: 40px 5% !important;
  background: #f0f2f8;
  box-sizing: border-box;
  position: relative;
   overflow: hidden; /* ← これを追加 */
}

/* === スライド === */
.swiper_diagram .swiper-slide {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  transition: all 0.4s ease;
  opacity: 0.6;
  transform: scale(0.9);
  border: 1px solid transparent;
}
/* swiper_diagram 内だけ高さを上書き */
.swiper_diagram .swiper-slide {
  height: auto !important; /* ← 強制的に固定高さを無効化 */
}

/* アクティブ時だけ強調 */
.swiper_diagram .swiper-slide-active {
  opacity: 1;
  transform: scale(1);
}

/* === 画像をスライドいっぱいに === */
.swiper_diagram .swiper-slide figure {
  width: 100%;
  height: 100%;
  margin: 0;
}

.swiper_diagram .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ← 画像を領域いっぱいに表示 */
  display: block;
}

/* === 矢印画像を中央画像の左右に配置 === */
.swiper_diagram .swiper-button-prev,
.swiper_diagram .swiper-button-next {
  position: absolute;
  top: 55%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  z-index: 10;
}

/* 左右の位置を中央画像のサイドに調整 */
.swiper_diagram .swiper-button-prev {
  left: 30%;
}
.swiper_diagram .swiper-button-next {
  right: 30%;
}

/* 画像指定 */
.swiper_diagram .swiper-button-prev img,
.swiper_diagram .swiper-button-next img {
  width: 100%;
  height: auto;
  display: block;
}

/* Swiperデフォルト矢印を非表示 */
.swiper_diagram .swiper-button-prev::after,
.swiper_diagram .swiper-button-next::after {
  display: none !important;
}

@media (max-width: 768px) {

  /* スマホ時：画像の高さを少し抑える */
  .swiper_diagram .swiper-slide img {
    height: 230px; /* 少し低めに */
    object-fit: contain;
  }

  /* スライド間の余白を調整（下の余白を減らす） */
  .swiper.swiper_diagram {
    padding: 10px 0 20px; /* 上下の余白を縮小 */
  }

  /* 矢印のサイズを小さく */
.swiper_diagram .swiper-button-prev,
.swiper_diagram .swiper-button-next {
  top: 55% !important;
  width: 40px;
  height: 40px;
  z-index: 10;
}
  /* 矢印を画像の“左右中央”に配置（下に落ちないように） */
  .swiper_diagram .swiper-button-prev,
  .swiper_diagram .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
  }

  /* 内側に寄せる */
  .swiper_diagram .swiper-button-prev {
    left: 3%;
  }
  .swiper_diagram .swiper-button-next {
    right: 3%;
  }

  /* スマホでは両サイド少し見せる */
  .swiper_diagram .swiper-slide {
    transform: scale(0.9);
    opacity: 0.6;
  }

  .swiper_diagram .swiper-slide-active {
    transform: scale(1);
    opacity: 1;
  }
}


/* ======治療・施術についてsingle ed ====== */

/* ======臨床研究 st ====== */

  .section-ortho {
  margin: 0 auto;
  max-width: 100%;
}

.section-title {
  font-size: 24px;
  font-weight: normal;
  color: #002A74;
  border-bottom: 1px solid #002A74;
  padding-bottom: 6px;
  margin-bottom: 25px;
}
.clinic-table i.fa-file {
  margin-left: 6px;
  color: #000;
  font-size: 16px;
  vertical-align: baseline;
}



.clinic-table{
  width:800px;
  max-width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:16px;
  color:#000;
}

.clinic-table thead th{
  background:#ECEDF4;
  color: #002A74;
  padding:13px;
  text-align:center;
  border-bottom:1px solid #ECECEF;
}

.clinic-table thead th:first-child{ border-top-left-radius:12px; }
.clinic-table thead th:last-child{  border-top-right-radius:12px; }
/* 最後の行の左下・右下を角丸に */
.clinic-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 12px;
}

.clinic-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 12px;
}

.clinic-table tbody td{
  padding:10px 10px;
  background:#F9F9FC;
  border-bottom:1px solid #ECECEF;
  vertical-align:middle;
}

/* 縦線（最後の列以外） */
.clinic-table th:not(:last-child),
.clinic-table td:not(:last-child){
  border-right:1px solid #ECECEF;
}

/* 1列目番号 */
.clinic-table tbody td:first-child{
  width:10%;
  text-align:center;
  background:#F9F9FC;
}

/* 2列目：当院担当医師 → 左寄せ・折り返し対応 */
.clinic-table th:nth-child(2),
.clinic-table td:nth-child(2) {
  width: 70%;   /* 研究名を広く */
}

/* 3列目：当院担当医師 → 左寄せ・折り返し対応 */
/* 1列目：番号 */
.clinic-table tbody td:first-child{
  width:10%;
  text-align:center;
  background:#F9F9FC;
}

/* 2列目：臨床研究名（広く） */
.clinic-table th:nth-child(2),
.clinic-table td:nth-child(2) {
  width: 65%;
}

/* 3列目：当院担当医師（狭く） */
.clinic-table th:nth-child(3),  /* ← これが追加 */
.clinic-table td:nth-child(3) {
  width: 25%;
  text-align: left;
  padding-left: 20px;
  white-space: normal;
  word-break: break-word;
}
/* 最後の行だけ下線を消す */
.clinic-table tbody tr:last-child td {
  border-bottom: none;
}
.table-wrapper{
  overflow-x:auto;
}

.clinic-table a{
    text-decoration: none !important;
  }

.clinic-table a i {
  color: #999; /* 通常時のアイコン色 */
  transition: color 0.3s ease; /* なめらかに色が変化 */
}

.clinic-table a:hover {
  color: #002A74; /* hover時のリンク文字色 */
}

.clinic-table a:hover i {
  color: #002A74; /* hover時のアイコン色も一緒に変化 */
}
/* --- スマホ用調整 --- */
@media (max-width: 768px) {

  .section-title {
    font-size: 20px;
  }

  .section-ortho {
    padding: 0 10px;
  }

  /* スクロールは wrapper で発生させる */
  .table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* テーブルは幅固定 */
  .clinic-table {
    font-size: 14px;
    min-width: 600px;
    margin-bottom: 20px;
  }

  /* Firefox */
  .table-wrapper {
    scrollbar-width: thin;
    scrollbar-color: #002A74 #ECEDF4;
  }

  /* Webkit（Chrome / Safari） */
  .table-wrapper::-webkit-scrollbar {
    height: 6px;
  }

  .table-wrapper::-webkit-scrollbar-thumb {
    background-color: #002A74;
    border-radius: 4px;
  }

  .table-wrapper::-webkit-scrollbar-track {
    background-color: #ECEDF4;
  }
}

/* ======臨床研究 ed ====== */

