.elementor-16564 .elementor-element.elementor-element-25acd29f{--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-16564 .elementor-element.elementor-element-32620aa3.elementor-element{--align-self:center;}.elementor-16564 .elementor-element.elementor-element-382e284a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16564 .elementor-element.elementor-element-234c45e1{--spacer-size:50px;}.elementor-16564 .elementor-element.elementor-element-2e5017d1{--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-16564 .elementor-element.elementor-element-23bd1888{column-gap:0px;text-align:left;font-size:15px;}.elementor-16564 .elementor-element.elementor-element-23bd1888 p{margin-block-end:0px;}.elementor-16564 .elementor-element.elementor-element-7d6d9d40 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-b334a58 .elementor-heading-title{font-size:1.5rem;}.elementor-16564 .elementor-element.elementor-element-747b273b > .elementor-widget-container{margin:-1px 0px 0px 5px;}.elementor-16564 .elementor-element.elementor-element-747b273b{column-gap:0px;text-align:left;}.elementor-16564 .elementor-element.elementor-element-8a128c4{--display:flex;}.elementor-16564 .elementor-element.elementor-element-317cf75d{--spacer-size:10px;}.elementor-16564 .elementor-element.elementor-element-7c69cc53{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0rem;--margin-bottom:0rem;--margin-left:8rem;--margin-right:0rem;}.elementor-16564 .elementor-element.elementor-element-7c69cc53:not(.elementor-motion-effects-element-type-background), .elementor-16564 .elementor-element.elementor-element-7c69cc53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-16564 .elementor-element.elementor-element-69434e5f{--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-16564 .elementor-element.elementor-element-4f584743 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-4f584743 .elementor-heading-title{font-size:20px;}.elementor-16564 .elementor-element.elementor-element-40d572cf{--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-16564 .elementor-element.elementor-element-40d572cf.e-con{--align-self:flex-start;}.elementor-16564 .elementor-element.elementor-element-1df33046{--display:flex;--margin-top:0%;--margin-bottom:0%;--margin-left:-2%;--margin-right:0%;}.elementor-16564 .elementor-element.elementor-element-629cba44{font-weight:800;}.elementor-16564 .elementor-element.elementor-element-3b01532e p{margin-block-end:0px;}.elementor-16564 .elementor-element.elementor-element-57325e53 > .elementor-widget-container{margin:0vw 0vw 0vw 0vw;}.elementor-16564 .elementor-element.elementor-element-27ba02fd{--display:flex;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:05rem;}.elementor-16564 .elementor-element.elementor-element-3c925cf{width:100%;max-width:100%;}.elementor-16564 .elementor-element.elementor-element-4a1dabfe > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-4a1dabfe .elementor-heading-title{font-size:20px;}.elementor-16564 .elementor-element.elementor-element-4bfbd924{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;}.elementor-16564 .elementor-element.elementor-element-753ea731{--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-16564 .elementor-element.elementor-element-cd89194 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-cd89194 .elementor-heading-title{font-size:20px;}.elementor-16564 .elementor-element.elementor-element-2daec15{--display:flex;}.elementor-16564 .elementor-element.elementor-element-1622520b{--display:flex;}.elementor-16564 .elementor-element.elementor-element-7afe8f2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-7afe8f2 .elementor-heading-title{font-size:20px;}.elementor-16564 .elementor-element.elementor-element-37f44e52{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16564 .elementor-element.elementor-element-2cad154e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-2cad154e .elementor-heading-title{font-size:20px;}.elementor-16564 .elementor-element.elementor-element-647febe3{--display:flex;}.elementor-16564 .elementor-element.elementor-element-1526f06f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-1526f06f .elementor-heading-title{font-size:20px;}.elementor-16564 .elementor-element.elementor-element-1a63a52f{--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-16564 .elementor-element.elementor-element-4245b8ea{--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-16564 .elementor-element.elementor-element-4245b8ea.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-16564 .elementor-element.elementor-element-4245b8ea.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-16564 .elementor-element.elementor-element-4245b8ea.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-16564 .elementor-element.elementor-element-15fdc396{--display:flex;}.elementor-16564 .elementor-element.elementor-element-366cff30 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-16564 .elementor-element.elementor-element-366cff30.elementor-element{--align-self:center;}.elementor-16564 .elementor-element.elementor-element-366cff30{column-gap:0px;text-align:left;}.elementor-16564 .elementor-element.elementor-element-366cff30 p{margin-block-end:0px;}.elementor-16564 .elementor-element.elementor-element-4eb513ca.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-16564 .elementor-element.elementor-element-23bd1888 p{margin-block-end:0px;}.elementor-16564 .elementor-element.elementor-element-7c69cc53{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-16564 .elementor-element.elementor-element-4bfbd924{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;}.elementor-16564 .elementor-element.elementor-element-4245b8ea{--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-16564 .elementor-element.elementor-element-25acd29f{--width:1140px;}.elementor-16564 .elementor-element.elementor-element-7c69cc53{--content-width:1600px;}.elementor-16564 .elementor-element.elementor-element-1df33046{--width:65%;}.elementor-16564 .elementor-element.elementor-element-27ba02fd{--width:33%;}.elementor-16564 .elementor-element.elementor-element-1622520b{--width:1140px;}.elementor-16564 .elementor-element.elementor-element-1a63a52f{--width:1040px;}}@media(max-width:767px){.elementor-16564 .elementor-element.elementor-element-25acd29f{--min-height:300px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-16564 .elementor-element.elementor-element-2e5017d1{--margin-top:0px;--margin-bottom:0px;--margin-left:4px;--margin-right:0px;}.elementor-16564 .elementor-element.elementor-element-7d6d9d40 > .elementor-widget-container{margin:0px 0px 0px 05px;}.elementor-16564 .elementor-element.elementor-element-7d6d9d40{font-size:10px;}.elementor-16564 .elementor-element.elementor-element-747b273b{font-size:16px;}.elementor-16564 .elementor-element.elementor-element-7c69cc53{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-16564 .elementor-element.elementor-element-69434e5f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16564 .elementor-element.elementor-element-40d572cf{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16564 .elementor-element.elementor-element-1df33046{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-16564 .elementor-element.elementor-element-27ba02fd{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-16564 .elementor-element.elementor-element-4245b8ea{--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-16564 .elementor-element.elementor-element-366cff30{font-size:16px;}}/* Start custom CSS for container, class: .elementor-element-25acd29f *//* ページ全体の横スクロール防止 */
body, html {
  overflow-x: hidden;  /* 横スクロール禁止 */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7d6d9d40 */.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-4bfbd924 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-75b28c0d */.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-12b2e00d *//* 全体（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-4bfbd924 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-75b28c0d */.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-12b2e00d *//* 全体（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-4bfbd924 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-75b28c0d */.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-12b2e00d *//* 全体（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-4bfbd924 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-75b28c0d */.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-12b2e00d *//* 全体（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-4bfbd924 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-75b28c0d */.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-12b2e00d *//* 全体（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-4bfbd924 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-75b28c0d */.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-12b2e00d *//* 全体（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-4245b8ea */@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 */