.elementor-9194 .elementor-element.elementor-element-3bfb05b4{--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-9194 .elementor-element.elementor-element-3e8a426b.elementor-element{--align-self:center;}.elementor-9194 .elementor-element.elementor-element-8e5b52a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9194 .elementor-element.elementor-element-d32879f{--spacer-size:50px;}.elementor-9194 .elementor-element.elementor-element-56f08ed6{--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-9194 .elementor-element.elementor-element-6a4ac6eb{column-gap:0px;text-align:left;font-size:15px;}.elementor-9194 .elementor-element.elementor-element-6a4ac6eb p{margin-block-end:0px;}.elementor-9194 .elementor-element.elementor-element-2e8d4a78 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-c6f5943 .elementor-heading-title{font-size:1.5rem;}.elementor-9194 .elementor-element.elementor-element-1c6c6cf > .elementor-widget-container{margin:-1px 0px 0px 5px;}.elementor-9194 .elementor-element.elementor-element-1c6c6cf{column-gap:0px;text-align:left;}.elementor-9194 .elementor-element.elementor-element-729f2011{--display:flex;}.elementor-9194 .elementor-element.elementor-element-60e4228e{--spacer-size:10px;}.elementor-9194 .elementor-element.elementor-element-3574a382{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0rem;--margin-bottom:0rem;--margin-left:8rem;--margin-right:0rem;}.elementor-9194 .elementor-element.elementor-element-3574a382:not(.elementor-motion-effects-element-type-background), .elementor-9194 .elementor-element.elementor-element-3574a382 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-9194 .elementor-element.elementor-element-20a15854{--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-9194 .elementor-element.elementor-element-111c3082 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-111c3082 .elementor-heading-title{font-size:20px;}.elementor-9194 .elementor-element.elementor-element-68add4bd{--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-9194 .elementor-element.elementor-element-68add4bd.e-con{--align-self:flex-start;}.elementor-9194 .elementor-element.elementor-element-72a6363a{--display:flex;--margin-top:0%;--margin-bottom:0%;--margin-left:-2%;--margin-right:0%;}.elementor-9194 .elementor-element.elementor-element-400c5907{font-weight:800;}.elementor-9194 .elementor-element.elementor-element-4a125d9a p{margin-block-end:0px;}.elementor-9194 .elementor-element.elementor-element-4e6bceb7 > .elementor-widget-container{margin:0vw 0vw 0vw 0vw;}.elementor-9194 .elementor-element.elementor-element-7b81ff82{--display:flex;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:05rem;}.elementor-9194 .elementor-element.elementor-element-65b94376{width:100%;max-width:100%;}.elementor-9194 .elementor-element.elementor-element-75b0a22c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-75b0a22c .elementor-heading-title{font-size:20px;}.elementor-9194 .elementor-element.elementor-element-7bfcb588{width:var( --container-widget-width, 62% );max-width:62%;--container-widget-width:62%;--container-widget-flex-grow:0;}.elementor-9194 .elementor-element.elementor-element-1e2c4236{--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-9194 .elementor-element.elementor-element-5a7e9faf > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-5a7e9faf .elementor-heading-title{font-size:20px;}.elementor-9194 .elementor-element.elementor-element-781718e8{--display:flex;}.elementor-9194 .elementor-element.elementor-element-72831deb{--display:flex;}.elementor-9194 .elementor-element.elementor-element-320a9b04 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-320a9b04 .elementor-heading-title{font-size:20px;}.elementor-9194 .elementor-element.elementor-element-6e4680dc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9194 .elementor-element.elementor-element-4de044c4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-4de044c4 .elementor-heading-title{font-size:20px;}.elementor-9194 .elementor-element.elementor-element-159dc9fa{--display:flex;}.elementor-9194 .elementor-element.elementor-element-260314b1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-260314b1 .elementor-heading-title{font-size:20px;}.elementor-9194 .elementor-element.elementor-element-79dfd86a{--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-9194 .elementor-element.elementor-element-7fa8bf43{--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-9194 .elementor-element.elementor-element-7fa8bf43.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-9194 .elementor-element.elementor-element-7fa8bf43.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-9194 .elementor-element.elementor-element-7fa8bf43.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-9194 .elementor-element.elementor-element-3ccf35aa{--display:flex;}.elementor-9194 .elementor-element.elementor-element-dceeb13 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9194 .elementor-element.elementor-element-dceeb13.elementor-element{--align-self:center;}.elementor-9194 .elementor-element.elementor-element-dceeb13{column-gap:0px;text-align:left;}.elementor-9194 .elementor-element.elementor-element-dceeb13 p{margin-block-end:0px;}.elementor-9194 .elementor-element.elementor-element-1cd093c2.elementor-element{--align-self:center;}@media(max-width:1024px){.elementor-9194 .elementor-element.elementor-element-6a4ac6eb p{margin-block-end:0px;}.elementor-9194 .elementor-element.elementor-element-3574a382{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-9194 .elementor-element.elementor-element-7bfcb588{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;}.elementor-9194 .elementor-element.elementor-element-7fa8bf43{--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-9194 .elementor-element.elementor-element-3bfb05b4{--width:1140px;}.elementor-9194 .elementor-element.elementor-element-3574a382{--content-width:1600px;}.elementor-9194 .elementor-element.elementor-element-72a6363a{--width:65%;}.elementor-9194 .elementor-element.elementor-element-7b81ff82{--width:33%;}.elementor-9194 .elementor-element.elementor-element-72831deb{--width:1140px;}.elementor-9194 .elementor-element.elementor-element-79dfd86a{--width:1040px;}}@media(max-width:767px){.elementor-9194 .elementor-element.elementor-element-3bfb05b4{--min-height:300px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-9194 .elementor-element.elementor-element-56f08ed6{--margin-top:0px;--margin-bottom:0px;--margin-left:4px;--margin-right:0px;}.elementor-9194 .elementor-element.elementor-element-2e8d4a78 > .elementor-widget-container{margin:0px 0px 0px 05px;}.elementor-9194 .elementor-element.elementor-element-2e8d4a78{font-size:10px;}.elementor-9194 .elementor-element.elementor-element-1c6c6cf{font-size:16px;}.elementor-9194 .elementor-element.elementor-element-3574a382{--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-9194 .elementor-element.elementor-element-20a15854{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9194 .elementor-element.elementor-element-68add4bd{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9194 .elementor-element.elementor-element-72a6363a{--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-9194 .elementor-element.elementor-element-7b81ff82{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-9194 .elementor-element.elementor-element-7fa8bf43{--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-9194 .elementor-element.elementor-element-dceeb13{font-size:16px;}}/* Start custom CSS for container, class: .elementor-element-3bfb05b4 *//* ページ全体の横スクロール防止 */
body, html {
  overflow-x: hidden;  /* 横スクロール禁止 */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2e8d4a78 */.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-7bfcb588 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-114806a4 */.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-532cdbb *//* 全体（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-7bfcb588 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-114806a4 */.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-532cdbb *//* 全体（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-7bfcb588 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-114806a4 */.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-532cdbb *//* 全体（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-7bfcb588 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-114806a4 */.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-532cdbb *//* 全体（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-7bfcb588 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-114806a4 */.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-532cdbb *//* 全体（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-7bfcb588 *//* ------------------------------
   基本テーブルスタイル
------------------------------ */
.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-114806a4 */.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-532cdbb *//* 全体（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-7fa8bf43 */@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 */