.elementor-11542 .elementor-element.elementor-element-2d541377{--display:flex;--min-height:250px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11542 .elementor-element.elementor-element-551eca43.elementor-element{--align-self:center;}.elementor-11542 .elementor-element.elementor-element-229533{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11542 .elementor-element.elementor-element-696c0ccc{--spacer-size:50px;}.elementor-11542 .elementor-element.elementor-element-5cc8a023{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--margin-top:0%;--margin-bottom:0%;--margin-left:-1%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11542 .elementor-element.elementor-element-35792f37{column-gap:0px;text-align:left;font-size:15px;}.elementor-11542 .elementor-element.elementor-element-35792f37 p{margin-bottom:0px;}.elementor-11542 .elementor-element.elementor-element-74ea80f > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-23481fee .elementor-heading-title{font-size:1.5rem;}.elementor-11542 .elementor-element.elementor-element-562fb4da > .elementor-widget-container{margin:-1px 0px 0px 5px;}.elementor-11542 .elementor-element.elementor-element-562fb4da{column-gap:0px;text-align:left;}.elementor-11542 .elementor-element.elementor-element-2952b55b{--display:flex;}.elementor-11542 .elementor-element.elementor-element-194a110b{--spacer-size:10px;}.elementor-11542 .elementor-element.elementor-element-19461666{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0rem;--margin-bottom:0rem;--margin-left:8rem;--margin-right:0rem;}.elementor-11542 .elementor-element.elementor-element-19461666:not(.elementor-motion-effects-element-type-background), .elementor-11542 .elementor-element.elementor-element-19461666 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-11542 .elementor-element.elementor-element-25d7ae0c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11542 .elementor-element.elementor-element-3d7af0ee > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-3d7af0ee .elementor-heading-title{font-size:20px;}.elementor-11542 .elementor-element.elementor-element-28fe3203{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;}.elementor-11542 .elementor-element.elementor-element-28fe3203.e-con{--align-self:flex-start;}.elementor-11542 .elementor-element.elementor-element-7a076a42{--display:flex;--margin-top:0%;--margin-bottom:0%;--margin-left:-2%;--margin-right:0%;}.elementor-11542 .elementor-element.elementor-element-2fafd540{font-weight:800;}.elementor-11542 .elementor-element.elementor-element-29350990 p{margin-bottom:0px;}.elementor-11542 .elementor-element.elementor-element-4ad8ea52 > .elementor-widget-container{margin:0vw 0vw 0vw 0vw;}.elementor-11542 .elementor-element.elementor-element-6743888b{--display:flex;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:05rem;}.elementor-11542 .elementor-element.elementor-element-7a95b013{width:100%;max-width:100%;}.elementor-11542 .elementor-element.elementor-element-43029d48 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-43029d48 .elementor-heading-title{font-size:20px;}.elementor-11542 .elementor-element.elementor-element-26867e88{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;}.elementor-11542 .elementor-element.elementor-element-18b6043e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-11542 .elementor-element.elementor-element-4a55565b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-4a55565b .elementor-heading-title{font-size:20px;}.elementor-11542 .elementor-element.elementor-element-67a02ab6{--display:flex;}.elementor-11542 .elementor-element.elementor-element-21f7efa3{--display:flex;}.elementor-11542 .elementor-element.elementor-element-67729c67 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-67729c67 .elementor-heading-title{font-size:20px;}.elementor-11542 .elementor-element.elementor-element-43265fc4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11542 .elementor-element.elementor-element-11949e0f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-11949e0f .elementor-heading-title{font-size:20px;}.elementor-11542 .elementor-element.elementor-element-58d4d1b4{--display:flex;}.elementor-11542 .elementor-element.elementor-element-6d3d0126 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-6d3d0126 .elementor-heading-title{font-size:20px;}.elementor-11542 .elementor-element.elementor-element-3af3b4fb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11542 .elementor-element.elementor-element-46349e22{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-gap:0px;--n-tabs-title-font-size:1rem;--n-tabs-title-color:#070614;}.elementor-11542 .elementor-element.elementor-element-46349e22.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#7C8081;}.elementor-11542 .elementor-element.elementor-element-46349e22.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-11542 .elementor-element.elementor-element-46349e22.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#7C8081;}.elementor-11542 .elementor-element.elementor-element-199dd52{--display:flex;}.elementor-11542 .elementor-element.elementor-element-2b8457d2 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11542 .elementor-element.elementor-element-2b8457d2.elementor-element{--align-self:center;}.elementor-11542 .elementor-element.elementor-element-2b8457d2{column-gap:0px;text-align:left;}.elementor-11542 .elementor-element.elementor-element-2b8457d2 p{margin-bottom:0px;}.elementor-11542 .elementor-element.elementor-element-26938859.elementor-element{--align-self:center;}.elementor-11542 .elementor-element.elementor-element-15d2c90f{--spacer-size:100px;}.elementor-11542 .elementor-element.elementor-element-18693305{--display:flex;}@media(max-width:1024px){.elementor-11542 .elementor-element.elementor-element-35792f37 p{margin-bottom:0px;}.elementor-11542 .elementor-element.elementor-element-19461666{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-11542 .elementor-element.elementor-element-26867e88{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;}.elementor-11542 .elementor-element.elementor-element-46349e22{--n-tabs-title-padding-top:15px;--n-tabs-title-padding-right:15px;--n-tabs-title-padding-bottom:15px;--n-tabs-title-padding-left:15px;--n-tabs-title-font-size:1rem;}}@media(min-width:768px){.elementor-11542 .elementor-element.elementor-element-2d541377{--width:1140px;}.elementor-11542 .elementor-element.elementor-element-19461666{--content-width:1600px;}.elementor-11542 .elementor-element.elementor-element-7a076a42{--width:65%;}.elementor-11542 .elementor-element.elementor-element-6743888b{--width:33%;}.elementor-11542 .elementor-element.elementor-element-21f7efa3{--width:1140px;}.elementor-11542 .elementor-element.elementor-element-3af3b4fb{--width:1040px;}}@media(max-width:767px){.elementor-11542 .elementor-element.elementor-element-2d541377{--min-height:300px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-11542 .elementor-element.elementor-element-5cc8a023{--margin-top:0px;--margin-bottom:0px;--margin-left:4px;--margin-right:0px;}.elementor-11542 .elementor-element.elementor-element-74ea80f > .elementor-widget-container{margin:0px 0px 0px 05px;}.elementor-11542 .elementor-element.elementor-element-74ea80f{font-size:10px;}.elementor-11542 .elementor-element.elementor-element-562fb4da{font-size:16px;}.elementor-11542 .elementor-element.elementor-element-19461666{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-11542 .elementor-element.elementor-element-25d7ae0c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11542 .elementor-element.elementor-element-28fe3203{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11542 .elementor-element.elementor-element-7a076a42{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-11542 .elementor-element.elementor-element-6743888b{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-11542 .elementor-element.elementor-element-46349e22{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-gap:0px;--n-tabs-gap:0px;--n-tabs-title-font-size:10px;}.elementor-11542 .elementor-element.elementor-element-2b8457d2{font-size:16px;}}/* Start custom CSS for container, class: .elementor-element-2d541377 *//* ページ全体の横スクロール防止 */
body, html {
  overflow-x: hidden;  /* 横スクロール禁止 */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-74ea80f */.badge-wrapper {
  display: flex;
  flex-wrap: wrap; /* 折り返し可能にする */
  gap: 8px;        /* バッジ同士の間隔 */
}

.badge-wrapper a {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.5;   /* ← 被らないように余裕を持たせる */
  white-space: normal; /* ← 長文は折り返す */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-26867e88 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.clinic-info-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #000; /* 外枠を太めに */
  font-size: 16px !important;
}

.clinic-info-table th,
.clinic-info-table td {
  padding: 6px;
  border: 2px solid #000; /* 枠線の太さを統一 */
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
  background-color: #fff; /* td の背景色は白に統一 */
}

/* ヘッダー行 */
.clinic-info-table th {
  background-color: #e8f2f9;
}

.clinic-info-table th h3 {
  font-size: 16px !important; /* h3の文字サイズを上書き */
  margin: 0; /* h3の上下マージンをリセット */
}

/* URLリンク */
.clinic-info-table td a {
  color: #0073aa;
  text-decoration: none;
}

.clinic-info-table td a:hover {
  text-decoration: underline;
}

/* ------------------------------
   営業時間テーブル（ネスト用）
------------------------------ */
.clinic-info-table .clinic-hours {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.clinic-info-table .clinic-hours th,
.clinic-info-table .clinic-hours td {
  border: 1px solid #ccc;
  padding: 2px 4px;
  text-align: center;
}

.clinic-info-table .clinic-hours th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.clinic-info-table .clinic-hours td {
  background-color: #fff;
}

/* 営業時間の注釈 */
.clinic-info-table .clinic-hours-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

/* ------------------------------
   スマホ表示（768px以下）
------------------------------ */
@media screen and (max-width: 768px) {
  .clinic-info-table {
    font-size: 11px;
    overflow-x: hidden; /* 横スクロール禁止 */
  }

  .clinic-info-table th,
  .clinic-info-table td {
    padding: 4px 6px;
  }

  .clinic-info-table .clinic-hours th,
  .clinic-info-table .clinic-hours td {
    padding: 2px 4px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-49718223 */.doctor-list {
  display: flex;
  flex-direction: column;
  max-width: 900px; /* 横幅制限 */
  width: 100%; /* レスポンシブ対応 */
}

.doctor-item {
  display: flex;
  align-items: flex-start;
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  gap: 1.5rem;
}

.doctor-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
  flex-shrink: 0;
}

.doctor-photo img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.doctor-name {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.doctor-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.doctor-qualification-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-qualification {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
}

.doctor-career-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-career {
  font-size: 0.95rem;
  color: #555;
}

@media (max-width: 768px) {
  .doctor-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .doctor-photo {
    width: auto;
  }

  .doctor-info {
    align-items: center;
  }

  .doctor-career {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ef8f212 *//* 全体（PC 基準） */
.price-table {
  width: 80%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 16px; /* PCでも小さめ */
}

.price-table th,
.price-table td {
  padding: 8px 12px; /* パディングも少し小さめに */
  border: 2px solid #000000;
  text-align: left;
  line-height: 1.4; /* 行間をやや詰める */
}

.price-table th {
  background-color: #e6f0fa;
  font-weight: bold;
}

.price-table td.price {
  text-align: right;
}

.price-item-name {
  background-color: #e8f2f9;
}

.price-item-name h3 {
  font-size: 16px;
}

.price-item-price {
  background-color: #ffffff;
  text-align: right;
  color: #444;
  font-size: 16px;
}

/* スマホ表示用（768px以下） */
@media screen and (max-width: 768px) {
  .price-table {
    font-size: 16px; /* フォントを小さく */
    display: table;   /* 横スクロールさせない */
    width: 100%;      /* 幅を100%に固定 */
    table-layout: fixed; /* セル幅固定で折り返し */
    overflow-x: hidden;  /* 横スクロール禁止 */
    white-space: normal; /* 折り返し可能に */
  }

  .price-table th,
  .price-table td {
    padding: 4px 6px; /* パディング縮小 */
    word-break: break-word; /* 長い文字は折り返す */
  }

  .price-item-name,
  .price-item-price {
    font-size: 16px; /* 小さめフォント */
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-26867e88 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.clinic-info-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #000; /* 外枠を太めに */
  font-size: 16px !important;
}

.clinic-info-table th,
.clinic-info-table td {
  padding: 6px;
  border: 2px solid #000; /* 枠線の太さを統一 */
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
  background-color: #fff; /* td の背景色は白に統一 */
}

/* ヘッダー行 */
.clinic-info-table th {
  background-color: #e8f2f9;
}

.clinic-info-table th h3 {
  font-size: 16px !important; /* h3の文字サイズを上書き */
  margin: 0; /* h3の上下マージンをリセット */
}

/* URLリンク */
.clinic-info-table td a {
  color: #0073aa;
  text-decoration: none;
}

.clinic-info-table td a:hover {
  text-decoration: underline;
}

/* ------------------------------
   営業時間テーブル（ネスト用）
------------------------------ */
.clinic-info-table .clinic-hours {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.clinic-info-table .clinic-hours th,
.clinic-info-table .clinic-hours td {
  border: 1px solid #ccc;
  padding: 2px 4px;
  text-align: center;
}

.clinic-info-table .clinic-hours th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.clinic-info-table .clinic-hours td {
  background-color: #fff;
}

/* 営業時間の注釈 */
.clinic-info-table .clinic-hours-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

/* ------------------------------
   スマホ表示（768px以下）
------------------------------ */
@media screen and (max-width: 768px) {
  .clinic-info-table {
    font-size: 11px;
    overflow-x: hidden; /* 横スクロール禁止 */
  }

  .clinic-info-table th,
  .clinic-info-table td {
    padding: 4px 6px;
  }

  .clinic-info-table .clinic-hours th,
  .clinic-info-table .clinic-hours td {
    padding: 2px 4px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-49718223 */.doctor-list {
  display: flex;
  flex-direction: column;
  max-width: 900px; /* 横幅制限 */
  width: 100%; /* レスポンシブ対応 */
}

.doctor-item {
  display: flex;
  align-items: flex-start;
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  gap: 1.5rem;
}

.doctor-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
  flex-shrink: 0;
}

.doctor-photo img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.doctor-name {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.doctor-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.doctor-qualification-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-qualification {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
}

.doctor-career-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-career {
  font-size: 0.95rem;
  color: #555;
}

@media (max-width: 768px) {
  .doctor-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .doctor-photo {
    width: auto;
  }

  .doctor-info {
    align-items: center;
  }

  .doctor-career {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ef8f212 *//* 全体（PC 基準） */
.price-table {
  width: 80%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 16px; /* PCでも小さめ */
}

.price-table th,
.price-table td {
  padding: 8px 12px; /* パディングも少し小さめに */
  border: 2px solid #000000;
  text-align: left;
  line-height: 1.4; /* 行間をやや詰める */
}

.price-table th {
  background-color: #e6f0fa;
  font-weight: bold;
}

.price-table td.price {
  text-align: right;
}

.price-item-name {
  background-color: #e8f2f9;
}

.price-item-name h3 {
  font-size: 16px;
}

.price-item-price {
  background-color: #ffffff;
  text-align: right;
  color: #444;
  font-size: 16px;
}

/* スマホ表示用（768px以下） */
@media screen and (max-width: 768px) {
  .price-table {
    font-size: 16px; /* フォントを小さく */
    display: table;   /* 横スクロールさせない */
    width: 100%;      /* 幅を100%に固定 */
    table-layout: fixed; /* セル幅固定で折り返し */
    overflow-x: hidden;  /* 横スクロール禁止 */
    white-space: normal; /* 折り返し可能に */
  }

  .price-table th,
  .price-table td {
    padding: 4px 6px; /* パディング縮小 */
    word-break: break-word; /* 長い文字は折り返す */
  }

  .price-item-name,
  .price-item-price {
    font-size: 16px; /* 小さめフォント */
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-26867e88 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.clinic-info-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #000; /* 外枠を太めに */
  font-size: 16px !important;
}

.clinic-info-table th,
.clinic-info-table td {
  padding: 6px;
  border: 2px solid #000; /* 枠線の太さを統一 */
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
  background-color: #fff; /* td の背景色は白に統一 */
}

/* ヘッダー行 */
.clinic-info-table th {
  background-color: #e8f2f9;
}

.clinic-info-table th h3 {
  font-size: 16px !important; /* h3の文字サイズを上書き */
  margin: 0; /* h3の上下マージンをリセット */
}

/* URLリンク */
.clinic-info-table td a {
  color: #0073aa;
  text-decoration: none;
}

.clinic-info-table td a:hover {
  text-decoration: underline;
}

/* ------------------------------
   営業時間テーブル（ネスト用）
------------------------------ */
.clinic-info-table .clinic-hours {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.clinic-info-table .clinic-hours th,
.clinic-info-table .clinic-hours td {
  border: 1px solid #ccc;
  padding: 2px 4px;
  text-align: center;
}

.clinic-info-table .clinic-hours th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.clinic-info-table .clinic-hours td {
  background-color: #fff;
}

/* 営業時間の注釈 */
.clinic-info-table .clinic-hours-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

/* ------------------------------
   スマホ表示（768px以下）
------------------------------ */
@media screen and (max-width: 768px) {
  .clinic-info-table {
    font-size: 11px;
    overflow-x: hidden; /* 横スクロール禁止 */
  }

  .clinic-info-table th,
  .clinic-info-table td {
    padding: 4px 6px;
  }

  .clinic-info-table .clinic-hours th,
  .clinic-info-table .clinic-hours td {
    padding: 2px 4px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-49718223 */.doctor-list {
  display: flex;
  flex-direction: column;
  max-width: 900px; /* 横幅制限 */
  width: 100%; /* レスポンシブ対応 */
}

.doctor-item {
  display: flex;
  align-items: flex-start;
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  gap: 1.5rem;
}

.doctor-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
  flex-shrink: 0;
}

.doctor-photo img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.doctor-name {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.doctor-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.doctor-qualification-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-qualification {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
}

.doctor-career-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-career {
  font-size: 0.95rem;
  color: #555;
}

@media (max-width: 768px) {
  .doctor-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .doctor-photo {
    width: auto;
  }

  .doctor-info {
    align-items: center;
  }

  .doctor-career {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ef8f212 *//* 全体（PC 基準） */
.price-table {
  width: 80%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 16px; /* PCでも小さめ */
}

.price-table th,
.price-table td {
  padding: 8px 12px; /* パディングも少し小さめに */
  border: 2px solid #000000;
  text-align: left;
  line-height: 1.4; /* 行間をやや詰める */
}

.price-table th {
  background-color: #e6f0fa;
  font-weight: bold;
}

.price-table td.price {
  text-align: right;
}

.price-item-name {
  background-color: #e8f2f9;
}

.price-item-name h3 {
  font-size: 16px;
}

.price-item-price {
  background-color: #ffffff;
  text-align: right;
  color: #444;
  font-size: 16px;
}

/* スマホ表示用（768px以下） */
@media screen and (max-width: 768px) {
  .price-table {
    font-size: 16px; /* フォントを小さく */
    display: table;   /* 横スクロールさせない */
    width: 100%;      /* 幅を100%に固定 */
    table-layout: fixed; /* セル幅固定で折り返し */
    overflow-x: hidden;  /* 横スクロール禁止 */
    white-space: normal; /* 折り返し可能に */
  }

  .price-table th,
  .price-table td {
    padding: 4px 6px; /* パディング縮小 */
    word-break: break-word; /* 長い文字は折り返す */
  }

  .price-item-name,
  .price-item-price {
    font-size: 16px; /* 小さめフォント */
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-26867e88 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.clinic-info-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #000; /* 外枠を太めに */
  font-size: 16px !important;
}

.clinic-info-table th,
.clinic-info-table td {
  padding: 6px;
  border: 2px solid #000; /* 枠線の太さを統一 */
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
  background-color: #fff; /* td の背景色は白に統一 */
}

/* ヘッダー行 */
.clinic-info-table th {
  background-color: #e8f2f9;
}

.clinic-info-table th h3 {
  font-size: 16px !important; /* h3の文字サイズを上書き */
  margin: 0; /* h3の上下マージンをリセット */
}

/* URLリンク */
.clinic-info-table td a {
  color: #0073aa;
  text-decoration: none;
}

.clinic-info-table td a:hover {
  text-decoration: underline;
}

/* ------------------------------
   営業時間テーブル（ネスト用）
------------------------------ */
.clinic-info-table .clinic-hours {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.clinic-info-table .clinic-hours th,
.clinic-info-table .clinic-hours td {
  border: 1px solid #ccc;
  padding: 2px 4px;
  text-align: center;
}

.clinic-info-table .clinic-hours th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.clinic-info-table .clinic-hours td {
  background-color: #fff;
}

/* 営業時間の注釈 */
.clinic-info-table .clinic-hours-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

/* ------------------------------
   スマホ表示（768px以下）
------------------------------ */
@media screen and (max-width: 768px) {
  .clinic-info-table {
    font-size: 11px;
    overflow-x: hidden; /* 横スクロール禁止 */
  }

  .clinic-info-table th,
  .clinic-info-table td {
    padding: 4px 6px;
  }

  .clinic-info-table .clinic-hours th,
  .clinic-info-table .clinic-hours td {
    padding: 2px 4px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-49718223 */.doctor-list {
  display: flex;
  flex-direction: column;
  max-width: 900px; /* 横幅制限 */
  width: 100%; /* レスポンシブ対応 */
}

.doctor-item {
  display: flex;
  align-items: flex-start;
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  gap: 1.5rem;
}

.doctor-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
  flex-shrink: 0;
}

.doctor-photo img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.doctor-name {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.doctor-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.doctor-qualification-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-qualification {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
}

.doctor-career-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-career {
  font-size: 0.95rem;
  color: #555;
}

@media (max-width: 768px) {
  .doctor-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .doctor-photo {
    width: auto;
  }

  .doctor-info {
    align-items: center;
  }

  .doctor-career {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ef8f212 *//* 全体（PC 基準） */
.price-table {
  width: 80%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 16px; /* PCでも小さめ */
}

.price-table th,
.price-table td {
  padding: 8px 12px; /* パディングも少し小さめに */
  border: 2px solid #000000;
  text-align: left;
  line-height: 1.4; /* 行間をやや詰める */
}

.price-table th {
  background-color: #e6f0fa;
  font-weight: bold;
}

.price-table td.price {
  text-align: right;
}

.price-item-name {
  background-color: #e8f2f9;
}

.price-item-name h3 {
  font-size: 16px;
}

.price-item-price {
  background-color: #ffffff;
  text-align: right;
  color: #444;
  font-size: 16px;
}

/* スマホ表示用（768px以下） */
@media screen and (max-width: 768px) {
  .price-table {
    font-size: 16px; /* フォントを小さく */
    display: table;   /* 横スクロールさせない */
    width: 100%;      /* 幅を100%に固定 */
    table-layout: fixed; /* セル幅固定で折り返し */
    overflow-x: hidden;  /* 横スクロール禁止 */
    white-space: normal; /* 折り返し可能に */
  }

  .price-table th,
  .price-table td {
    padding: 4px 6px; /* パディング縮小 */
    word-break: break-word; /* 長い文字は折り返す */
  }

  .price-item-name,
  .price-item-price {
    font-size: 16px; /* 小さめフォント */
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-26867e88 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.clinic-info-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #000; /* 外枠を太めに */
  font-size: 16px !important;
}

.clinic-info-table th,
.clinic-info-table td {
  padding: 6px;
  border: 2px solid #000; /* 枠線の太さを統一 */
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
  background-color: #fff; /* td の背景色は白に統一 */
}

/* ヘッダー行 */
.clinic-info-table th {
  background-color: #e8f2f9;
}

.clinic-info-table th h3 {
  font-size: 16px !important; /* h3の文字サイズを上書き */
  margin: 0; /* h3の上下マージンをリセット */
}

/* URLリンク */
.clinic-info-table td a {
  color: #0073aa;
  text-decoration: none;
}

.clinic-info-table td a:hover {
  text-decoration: underline;
}

/* ------------------------------
   営業時間テーブル（ネスト用）
------------------------------ */
.clinic-info-table .clinic-hours {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.clinic-info-table .clinic-hours th,
.clinic-info-table .clinic-hours td {
  border: 1px solid #ccc;
  padding: 2px 4px;
  text-align: center;
}

.clinic-info-table .clinic-hours th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.clinic-info-table .clinic-hours td {
  background-color: #fff;
}

/* 営業時間の注釈 */
.clinic-info-table .clinic-hours-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

/* ------------------------------
   スマホ表示（768px以下）
------------------------------ */
@media screen and (max-width: 768px) {
  .clinic-info-table {
    font-size: 11px;
    overflow-x: hidden; /* 横スクロール禁止 */
  }

  .clinic-info-table th,
  .clinic-info-table td {
    padding: 4px 6px;
  }

  .clinic-info-table .clinic-hours th,
  .clinic-info-table .clinic-hours td {
    padding: 2px 4px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-49718223 */.doctor-list {
  display: flex;
  flex-direction: column;
  max-width: 900px; /* 横幅制限 */
  width: 100%; /* レスポンシブ対応 */
}

.doctor-item {
  display: flex;
  align-items: flex-start;
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  gap: 1.5rem;
}

.doctor-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
  flex-shrink: 0;
}

.doctor-photo img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.doctor-name {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.doctor-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.doctor-qualification-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-qualification {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
}

.doctor-career-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-career {
  font-size: 0.95rem;
  color: #555;
}

@media (max-width: 768px) {
  .doctor-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .doctor-photo {
    width: auto;
  }

  .doctor-info {
    align-items: center;
  }

  .doctor-career {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ef8f212 *//* 全体（PC 基準） */
.price-table {
  width: 80%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 16px; /* PCでも小さめ */
}

.price-table th,
.price-table td {
  padding: 8px 12px; /* パディングも少し小さめに */
  border: 2px solid #000000;
  text-align: left;
  line-height: 1.4; /* 行間をやや詰める */
}

.price-table th {
  background-color: #e6f0fa;
  font-weight: bold;
}

.price-table td.price {
  text-align: right;
}

.price-item-name {
  background-color: #e8f2f9;
}

.price-item-name h3 {
  font-size: 16px;
}

.price-item-price {
  background-color: #ffffff;
  text-align: right;
  color: #444;
  font-size: 16px;
}

/* スマホ表示用（768px以下） */
@media screen and (max-width: 768px) {
  .price-table {
    font-size: 16px; /* フォントを小さく */
    display: table;   /* 横スクロールさせない */
    width: 100%;      /* 幅を100%に固定 */
    table-layout: fixed; /* セル幅固定で折り返し */
    overflow-x: hidden;  /* 横スクロール禁止 */
    white-space: normal; /* 折り返し可能に */
  }

  .price-table th,
  .price-table td {
    padding: 4px 6px; /* パディング縮小 */
    word-break: break-word; /* 長い文字は折り返す */
  }

  .price-item-name,
  .price-item-price {
    font-size: 16px; /* 小さめフォント */
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-26867e88 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.clinic-info-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #000; /* 外枠を太めに */
  font-size: 16px !important;
}

.clinic-info-table th,
.clinic-info-table td {
  padding: 6px;
  border: 2px solid #000; /* 枠線の太さを統一 */
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
  background-color: #fff; /* td の背景色は白に統一 */
}

/* ヘッダー行 */
.clinic-info-table th {
  background-color: #e8f2f9;
}

.clinic-info-table th h3 {
  font-size: 16px !important; /* h3の文字サイズを上書き */
  margin: 0; /* h3の上下マージンをリセット */
}

/* URLリンク */
.clinic-info-table td a {
  color: #0073aa;
  text-decoration: none;
}

.clinic-info-table td a:hover {
  text-decoration: underline;
}

/* ------------------------------
   営業時間テーブル（ネスト用）
------------------------------ */
.clinic-info-table .clinic-hours {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.clinic-info-table .clinic-hours th,
.clinic-info-table .clinic-hours td {
  border: 1px solid #ccc;
  padding: 2px 4px;
  text-align: center;
}

.clinic-info-table .clinic-hours th {
  background-color: #f0f0f0;
  font-weight: bold;
}

.clinic-info-table .clinic-hours td {
  background-color: #fff;
}

/* 営業時間の注釈 */
.clinic-info-table .clinic-hours-note {
  font-size: 13px;
  color: #555;
  margin: 0;
}

/* ------------------------------
   スマホ表示（768px以下）
------------------------------ */
@media screen and (max-width: 768px) {
  .clinic-info-table {
    font-size: 11px;
    overflow-x: hidden; /* 横スクロール禁止 */
  }

  .clinic-info-table th,
  .clinic-info-table td {
    padding: 4px 6px;
  }

  .clinic-info-table .clinic-hours th,
  .clinic-info-table .clinic-hours td {
    padding: 2px 4px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-49718223 */.doctor-list {
  display: flex;
  flex-direction: column;
  max-width: 900px; /* 横幅制限 */
  width: 100%; /* レスポンシブ対応 */
}

.doctor-item {
  display: flex;
  align-items: flex-start;
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  gap: 1.5rem;
}

.doctor-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 150px;
  flex-shrink: 0;
}

.doctor-photo img {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 0.8rem;
}

.doctor-name {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.doctor-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.doctor-qualification-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-qualification {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
}

.doctor-career-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.4rem;
}

.doctor-career {
  font-size: 0.95rem;
  color: #555;
}

@media (max-width: 768px) {
  .doctor-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .doctor-photo {
    width: auto;
  }

  .doctor-info {
    align-items: center;
  }

  .doctor-career {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ef8f212 *//* 全体（PC 基準） */
.price-table {
  width: 80%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  font-size: 16px; /* PCでも小さめ */
}

.price-table th,
.price-table td {
  padding: 8px 12px; /* パディングも少し小さめに */
  border: 2px solid #000000;
  text-align: left;
  line-height: 1.4; /* 行間をやや詰める */
}

.price-table th {
  background-color: #e6f0fa;
  font-weight: bold;
}

.price-table td.price {
  text-align: right;
}

.price-item-name {
  background-color: #e8f2f9;
}

.price-item-name h3 {
  font-size: 16px;
}

.price-item-price {
  background-color: #ffffff;
  text-align: right;
  color: #444;
  font-size: 16px;
}

/* スマホ表示用（768px以下） */
@media screen and (max-width: 768px) {
  .price-table {
    font-size: 16px; /* フォントを小さく */
    display: table;   /* 横スクロールさせない */
    width: 100%;      /* 幅を100%に固定 */
    table-layout: fixed; /* セル幅固定で折り返し */
    overflow-x: hidden;  /* 横スクロール禁止 */
    white-space: normal; /* 折り返し可能に */
  }

  .price-table th,
  .price-table td {
    padding: 4px 6px; /* パディング縮小 */
    word-break: break-word; /* 長い文字は折り返す */
  }

  .price-item-name,
  .price-item-price {
    font-size: 16px; /* 小さめフォント */
  }
}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-46349e22 */@media screen and (max-width: 767px) {
  .e-n-tabs-heading {
    display: flex !important;
  }

  .e-n-tabs-heading > * {
    flex: 1 1 auto !important;  /* 自動で均等に伸ばす */
    max-width: 33% !important;  /* 3分割より少し大きくする場合は33%などに変更 */
    padding: 12px 0 !important; /* パディングを広くして見やすく */
    box-sizing: border-box;
  }
}/* End custom CSS */