.elementor-11209 .elementor-element.elementor-element-4f8eb45{--display:flex;--min-height:300px;--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-11209 .elementor-element.elementor-element-0a82659.elementor-element{--align-self:center;}.elementor-11209 .elementor-element.elementor-element-37580502{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11209 .elementor-element.elementor-element-30a81ef{--spacer-size:50px;}.elementor-11209 .elementor-element.elementor-element-33e1a8a4{--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-11209 .elementor-element.elementor-element-6d392d91{column-gap:0px;text-align:left;font-size:15px;}.elementor-11209 .elementor-element.elementor-element-6d392d91 p{margin-bottom:0px;}.elementor-11209 .elementor-element.elementor-element-135561c8 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-42e2e92a .elementor-heading-title{font-size:1.5rem;}.elementor-11209 .elementor-element.elementor-element-74cc49f9{column-gap:0px;text-align:left;}.elementor-11209 .elementor-element.elementor-element-74cc49f9 > .elementor-widget-container{margin:-1px 0px 0px 5px;}.elementor-11209 .elementor-element.elementor-element-550a4f76{--display:flex;}.elementor-11209 .elementor-element.elementor-element-6cdca88f{--spacer-size:10px;}.elementor-11209 .elementor-element.elementor-element-d7bd758{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0rem;--margin-bottom:0rem;--margin-left:8rem;--margin-right:0rem;}.elementor-11209 .elementor-element.elementor-element-d7bd758:not(.elementor-motion-effects-element-type-background), .elementor-11209 .elementor-element.elementor-element-d7bd758 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-11209 .elementor-element.elementor-element-67e3f1be{--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-11209 .elementor-element.elementor-element-3bf694f2 .elementor-heading-title{font-size:20px;}.elementor-11209 .elementor-element.elementor-element-3bf694f2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-9cfd77d{--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-11209 .elementor-element.elementor-element-9cfd77d.e-con{--align-self:flex-start;}.elementor-11209 .elementor-element.elementor-element-31c1d046{--display:flex;--margin-top:0%;--margin-bottom:0%;--margin-left:-2%;--margin-right:0%;}.elementor-11209 .elementor-element.elementor-element-34aec573{font-weight:800;}.elementor-11209 .elementor-element.elementor-element-6b601b6 p{margin-bottom:0px;}.elementor-11209 .elementor-element.elementor-element-57775ce1 > .elementor-widget-container{margin:0vw 0vw 0vw 0vw;}.elementor-11209 .elementor-element.elementor-element-6cda1e06{--display:flex;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:05rem;}.elementor-11209 .elementor-element.elementor-element-596f84f1{width:100%;max-width:100%;}.elementor-11209 .elementor-element.elementor-element-58e0186d .elementor-heading-title{font-size:20px;}.elementor-11209 .elementor-element.elementor-element-58e0186d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-7ddb0f7c{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;}.elementor-11209 .elementor-element.elementor-element-30344e6{--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-11209 .elementor-element.elementor-element-50088458 .elementor-heading-title{font-size:20px;}.elementor-11209 .elementor-element.elementor-element-50088458 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-50f24c46{--display:flex;}.elementor-11209 .elementor-element.elementor-element-2a4dd7a1{--display:flex;}.elementor-11209 .elementor-element.elementor-element-70b37b7 .elementor-heading-title{font-size:20px;}.elementor-11209 .elementor-element.elementor-element-70b37b7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-1a1677cf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11209 .elementor-element.elementor-element-430863e1 .elementor-heading-title{font-size:20px;}.elementor-11209 .elementor-element.elementor-element-430863e1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-4e6fa28f{--display:flex;}.elementor-11209 .elementor-element.elementor-element-3ea32e9b .elementor-heading-title{font-size:20px;}.elementor-11209 .elementor-element.elementor-element-3ea32e9b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-22ef0c49{--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-11209 .elementor-element.elementor-element-1e34a869{--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-11209 .elementor-element.elementor-element-1e34a869.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-11209 .elementor-element.elementor-element-1e34a869.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-11209 .elementor-element.elementor-element-1e34a869.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-11209 .elementor-element.elementor-element-11f777ca{--display:flex;}.elementor-11209 .elementor-element.elementor-element-9a5ef01{column-gap:0px;text-align:left;}.elementor-11209 .elementor-element.elementor-element-9a5ef01 p{margin-bottom:0px;}.elementor-11209 .elementor-element.elementor-element-9a5ef01 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-11209 .elementor-element.elementor-element-9a5ef01.elementor-element{--align-self:center;}.elementor-11209 .elementor-element.elementor-element-985c488.elementor-element{--align-self:center;}.elementor-11209 .elementor-element.elementor-element-69ef8b57{--spacer-size:100px;}.elementor-11209 .elementor-element.elementor-element-49523a48{--display:flex;}@media(max-width:1024px){.elementor-11209 .elementor-element.elementor-element-6d392d91 p{margin-bottom:0px;}.elementor-11209 .elementor-element.elementor-element-d7bd758{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-11209 .elementor-element.elementor-element-7ddb0f7c{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;}.elementor-11209 .elementor-element.elementor-element-1e34a869{--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-11209 .elementor-element.elementor-element-4f8eb45{--width:1140px;}.elementor-11209 .elementor-element.elementor-element-d7bd758{--content-width:1600px;}.elementor-11209 .elementor-element.elementor-element-31c1d046{--width:65%;}.elementor-11209 .elementor-element.elementor-element-6cda1e06{--width:33%;}.elementor-11209 .elementor-element.elementor-element-2a4dd7a1{--width:1140px;}.elementor-11209 .elementor-element.elementor-element-22ef0c49{--width:1040px;}}@media(max-width:767px){.elementor-11209 .elementor-element.elementor-element-4f8eb45{--min-height:300px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-11209 .elementor-element.elementor-element-33e1a8a4{--margin-top:0px;--margin-bottom:0px;--margin-left:4px;--margin-right:0px;}.elementor-11209 .elementor-element.elementor-element-135561c8{font-size:10px;}.elementor-11209 .elementor-element.elementor-element-135561c8 > .elementor-widget-container{margin:0px 0px 0px 05px;}.elementor-11209 .elementor-element.elementor-element-74cc49f9{font-size:16px;}.elementor-11209 .elementor-element.elementor-element-d7bd758{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-11209 .elementor-element.elementor-element-67e3f1be{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11209 .elementor-element.elementor-element-9cfd77d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11209 .elementor-element.elementor-element-31c1d046{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-11209 .elementor-element.elementor-element-6cda1e06{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-11209 .elementor-element.elementor-element-1e34a869{--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-11209 .elementor-element.elementor-element-9a5ef01{font-size:16px;}}/* Start custom CSS for container, class: .elementor-element-4f8eb45 *//* ページ全体の横スクロール防止 */
body, html {
  overflow-x: hidden;  /* 横スクロール禁止 */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-135561c8 */.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-7ddb0f7c *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-5ed24da5 */.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-390ff8ed *//* 全体（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-7ddb0f7c *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-5ed24da5 */.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-390ff8ed *//* 全体（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-7ddb0f7c *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-5ed24da5 */.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-390ff8ed *//* 全体（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-7ddb0f7c *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-5ed24da5 */.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-390ff8ed *//* 全体（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-7ddb0f7c *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-5ed24da5 */.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-390ff8ed *//* 全体（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-7ddb0f7c *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-5ed24da5 */.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-390ff8ed *//* 全体（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-1e34a869 */@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 */