@charset "UTF-8";
/* ブレイクポイント */
.section {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .section {
    margin-bottom: 160px;
  }
}

.main-bg {
  background-color: #F7F7F4;
  border-radius: 24px 24px 0 0;
  padding-top: 40px;
}
@media (min-width: 768px) {
  .main-bg {
    padding-top: 100px;
  }
}
@media (min-width: 992px) {
  .main-bg {
    border-radius: 40px 40px 0 0;
  }
}

.section01 {
  margin-bottom: 70px;
}
@media (min-width: 768px) {
  .section01 {
    margin-bottom: 160px;
  }
}

.page-sec {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .page-sec {
    margin-bottom: 160px;
  }
}

.section-titleBox01 {
  position: relative;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .section-titleBox01 {
    margin-bottom: 32px;
  }
}
.section-titleBox01 .section-title01 {
  color: #E3E2D2;
  font-size: 3.5rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.04em;
}
@media (max-width: 374px) {
  .section-titleBox01 .section-title01 {
    font-size: 3.25rem;
  }
}
@media (min-width: 992px) {
  .section-titleBox01 .section-title01 {
    font-size: 6rem;
  }
}
.section-titleBox01 .section-title01 .title-en {
  position: relative;
  color: #6B856D;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: initial;
  margin-bottom: 2px;
  padding-left: 16px;
}
@media (max-width: 374px) {
  .section-titleBox01 .section-title01 .title-en {
    font-size: 0.75rem;
  }
}
@media (min-width: 992px) {
  .section-titleBox01 .section-title01 .title-en {
    margin-bottom: 8px;
  }
}
.section-titleBox01 .section-title01 .title-en::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}

.section-titleBox02 {
  position: relative;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .section-titleBox02 {
    margin-bottom: 40px;
  }
}
.section-titleBox02 .title-en {
  position: relative;
  color: #6B856D;
  display: block;
  font-size: 1.25rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  font-style: italic;
  line-height: 1.4;
  margin-bottom: 4px;
  padding-left: 14px;
}
@media (min-width: 992px) {
  .section-titleBox02 .title-en {
    margin-bottom: 6px;
  }
}
.section-titleBox02 .title-en::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 56%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media (min-width: 768px) {
  .section-titleBox02 .title-en::before {
    width: 8px;
    height: 8px;
  }
}
.section-titleBox02 .section-title02 {
  color: #525452;
  font-size: 1.5625rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (max-width: 374px) {
  .section-titleBox02 .section-title02 {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) {
  .section-titleBox02 .section-title02 {
    font-size: 2rem;
  }
}

.textBox .text:not(:last-child) {
  margin-bottom: 16px;
}

.lead-box {
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  .lead-box {
    margin-bottom: 40px;
  }
}
.lead-box .lead-box__text:not(:last-child) {
  margin-bottom: 16px;
}

.button01 {
  position: relative;
  background-color: #fff;
  border: 1px solid #B6D5CB;
  -webkit-box-shadow: 0 3px 6px rgba(11, 98, 69, 0.13);
          box-shadow: 0 3px 6px rgba(11, 98, 69, 0.13);
  border-radius: 20px;
  color: #6B856D;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 9px 14px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .button01 {
    padding: 9px 24px;
  }
}
.button01:hover {
  background-color: #1E7A6E;
  border-color: #1E7A6E;
  color: #fff;
}

.util-link02 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
@media (min-width: 768px) {
  .util-link02 {
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
  }
}

.button02 {
  position: relative;
  background-color: #fff;
  border: 1px solid #1E7A6E;
  border-radius: 30px;
  -webkit-filter: drop-shadow(0 6px 10px rgba(51, 51, 51, 0.15));
          filter: drop-shadow(0 6px 10px rgba(51, 51, 51, 0.15));
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10.5px 30px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 992px) {
  .button02 {
    padding: 15px 33px;
  }
}
.button02:hover {
  background-color: #1E7A6E;
}
.button02:hover .button02__text {
  color: #fff;
}
.button02:hover .button02__arrow::before {
  border: solid #fff;
  border-width: 0px 3px 3px 0;
}

.button02__text {
  color: #1E7A6E;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-right: 13px;
}
@media (max-width: 374px) {
  .button02__text {
    font-size: 3.93vw;
  }
}

.button02__arrow {
  position: relative;
  width: 10px;
  height: 10px;
}
.button02__arrow::before {
  position: absolute;
  content: "";
  top: 52%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  right: 0;
  width: inherit;
  height: inherit;
  border: solid #1E7A6E;
  border-width: 0px 3px 3px 0;
}

.button03 {
  background-color: #F7F7F4;
  border: 2px solid #6BA2CB;
  border-radius: 30px;
  -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
          filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
  color: #1E7A6E;
  display: block;
  padding: 10.5px 8px;
  text-align: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 992px) {
  .button03 {
    padding: 15px 30px;
  }
}
.button03:hover {
  background-color: #6BA2CB;
  color: #fff;
}
.button03 span {
  position: relative;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 500;
}
@media (max-width: 374px) {
  .button03 span {
    font-size: 4vw;
  }
}
@media (min-width: 992px) {
  .button03 span {
    font-size: 1rem;
  }
}
.button03 span::after {
  position: relative;
  top: -1px;
  margin-left: 10px;
  font-family: "Font Awesome 6 Free";
  font-size: 12px;
  content: "\f08e";
  font: var(--fa-font-solid);
}

@media (min-width: 768px) {
  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.circle-textBox .circle-text:not(:last-child) {
  margin-bottom: 6px;
}

.circle-textBox {
  margin-bottom: 18px;
}
.circle-textBox .circle-text {
  position: relative;
  padding-left: 18px;
}
.circle-textBox .circle-text::before {
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 8px;
  height: 8px;
  top: 10.5px;
  left: 0;
}

.notes {
  background-color: #F7F7F4;
  padding: 24px;
}
@media (min-width: 768px) {
  .notes {
    padding: 30px;
  }
}

.no-margin-top {
  margin-top: 0 !important;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}

.top-visual {
  margin-bottom: 70px;
}
@media (min-width: 768px) {
  .top-visual {
    margin-bottom: 100px;
  }
}

.p-lead-mb {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .p-lead-mb {
    margin-bottom: 30px;
  }
}

.box-small {
  padding: 30px 20px;
}
@media (min-width: 768px) {
  .box-small {
    padding: 30px;
  }
}

.box-large {
  padding: 40px 20px;
}
@media (min-width: 992px) {
  .box-large {
    padding: 80px;
  }
}

.text-note span {
  color: #1E7A6E;
  font-weight: 600;
}

.text-check {
  position: relative;
  font-size: 1rem;
  line-height: 1.5;
  padding: 16px 0 16px 32px;
}
@media (min-width: 768px) {
  .text-check {
    line-height: 1.4;
    padding: 20px 0 20px 40px;
  }
}
@media (min-width: 992px) {
  .text-check {
    font-size: 1.125rem;
  }
}
.text-check::before {
  position: absolute;
  content: "";
  background: url(../img/common/check-blue.png) no-repeat center center/contain;
  width: 20px;
  height: 20px;
  top: 18px;
  left: 0;
}
@media (min-width: 768px) {
  .text-check::before {
    top: 23px;
    width: 24px;
    height: 24px;
  }
}

.text-check:not(:last-child) {
  border-bottom: 1px dashed #AAAAAA;
}

.text-check:first-child {
  padding-top: 0;
}
.text-check:first-child::before {
  top: 2px;
}

.text-check:last-child {
  padding-bottom: 0;
}

.text-excl {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 16px 0 16px 32px;
}
@media (min-width: 768px) {
  .text-excl {
    padding: 20px 0 20px 40px;
  }
}
@media (min-width: 992px) {
  .text-excl {
    font-size: 1.125rem;
  }
}
.text-excl::before {
  position: absolute;
  content: "";
  background: url(../img/common/excl.png) no-repeat center center/contain;
  width: 20px;
  height: 20px;
  top: 23px;
  left: 0;
}
@media (min-width: 768px) {
  .text-excl::before {
    width: 24px;
    height: 24px;
  }
}

.text-excl:not(:last-child) {
  border-bottom: 1px dashed #AAAAAA;
}

.text-excl:first-child {
  padding-top: 0;
}
.text-excl:first-child::before {
  top: 2px;
}

.text-excl:last-child {
  padding-bottom: 0;
}

.text-circle {
  position: relative;
  font-size: 1rem;
  line-height: 1.4;
  padding-left: 18px;
}
@media (min-width: 768px) {
  .text-circle {
    padding-left: 28px;
  }
}
@media (min-width: 992px) {
  .text-circle {
    font-size: 1.125rem;
  }
}
.text-circle::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  top: 8px;
  left: 0;
}
@media (min-width: 768px) {
  .text-circle::before {
    width: 12px;
    height: 12px;
  }
}

/* ログインユーザーのみに適用される管理バー（#wpadminbar）のスタイル */
html {
  margin-top: 0 !important;
}

#wpadminbar {
  top: auto !important;
  /* 上部固定を解除 */
  bottom: 0 !important;
  /* 下部に固定 */
  position: fixed;
  /* 念のため固定を明示 */
  /* z-indexが他の要素と競合する場合は調整してください */
}

/* 管理バーを下に移動した場合、body要素の下部に余白が必要になります */
/* SP表示のときに管理バーとフッターが重ならないように注意 */
body.logged-in {
  padding-top: 0 !important;
  padding-bottom: 32px !important;
  /* 管理バーの高さ(32px)分、ページ最下部に余白を追加 */
}

/* SP表示（管理バーが小さくなる 600px以下）の調整 */
@media screen and (max-width: 600px) {
  body.logged-in {
    padding-bottom: 46px !important;
    /* SP時の管理バーの高さ(46px)分に調整 */
  }
}
body.logged-in .footer {
  padding-bottom: 40px;
}
@media (min-width: 992px) {
  body.logged-in .footer {
    padding-bottom: 0px;
  }
}

/* ===== header ===== */
.header {
  position: fixed;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  z-index: 100;
}
@media (min-width: 1200px) {
  .header {
    height: 80px;
  }
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}

@media (min-width: 1600px) {
  .inner.header__inner {
    max-width: 1480px;
  }
}

/* ロゴ */
.header__logo {
  max-width: 216px;
  width: 100%;
}
@media (max-width: 374px) {
  .header__logo {
    max-width: 180px;
  }
}
@media (min-width: 992px) {
  .header__logo {
    width: 200px;
  }
}
.header__logo h1 {
  margin: 0;
}

/* 右側エリア */
.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}

/* 電話エリア（PC表示） */
.header__contact {
  display: none;
}
@media (min-width: 992px) {
  .header__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.header__contact-label {
  color: #525452;
  font-size: 0.625rem;
  font-weight: 500;
  margin-bottom: 2px;
}

.header__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-size: 1.625rem;
  font-family: "Times New Roman", serif;
  font-weight: 400;
  color: #525452;
  line-height: 1;
}

.header__tel-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__tel-icon img {
  width: 14px;
  height: auto;
}

/* ボタンエリア */
.header__btnBox {
  display: none;
}
@media (min-width: 992px) {
  .header__btnBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
  }
}

.header__btn {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100px;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 10px 10px;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  white-space: nowrap;
  min-width: 134px;
}
.header__btn:hover {
  opacity: 0.75;
}
.header__btn--web {
  background-color: #C09030;
  color: #fff;
}
.header__btn--line {
  background-color: #1E7A6E;
  color: #fff;
}

/* ===== ハンバーガーボタン ===== */
.drawer-icon {
  background-color: #fff;
  border: 1px solid #1E7A6E;
  border-radius: 50%;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  width: 38px;
  height: 38px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
@media (min-width: 1200px) {
  .drawer-icon {
    border-width: 2px;
  }
}
@media (min-width: 1200px) {
  .drawer-icon {
    width: 48px;
    height: 48px;
  }
}
.drawer-icon:hover {
  opacity: 0.8;
}
.drawer-icon.is-active .drawer-icon__bar:nth-child(1) {
  -webkit-transform: translateY(6px) rotate(45deg);
          transform: translateY(6px) rotate(45deg);
}
.drawer-icon.is-active .drawer-icon__bar:nth-child(2) {
  opacity: 0;
}
.drawer-icon.is-active .drawer-icon__bar:nth-child(3) {
  -webkit-transform: translateY(-6px) rotate(-45deg);
          transform: translateY(-6px) rotate(-45deg);
}
@media (min-width: 1200px) {
  .drawer-icon.is-active .drawer-icon__bar:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(45deg);
            transform: translateY(8px) rotate(45deg);
  }
  .drawer-icon.is-active .drawer-icon__bar:nth-child(2) {
    opacity: 0;
  }
  .drawer-icon.is-active .drawer-icon__bar:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(-45deg);
            transform: translateY(-10px) rotate(-45deg);
  }
}

.drawer-icon__bar {
  display: block;
  width: 16px;
  height: 1px;
  background-color: #1E7A6E;
  border-radius: 2px;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.3s ease;
  transition: opacity 0.2s, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.2s;
  transition: transform 0.3s ease, opacity 0.2s, -webkit-transform 0.3s ease;
}
@media (min-width: 1200px) {
  .drawer-icon__bar {
    margin-top: 2px;
    width: 20px;
    height: 2px;
  }
}

/* ===== ドロワー共通ラッパー ===== */
.drawer-content {
  position: fixed;
  top: 60px;
  right: 0;
  width: 100%;
  height: calc(100vh - 60px);
  overflow-y: auto;
  -webkit-transform: translateX(105%);
          transform: translateX(105%);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  z-index: 99;
}
@media (min-width: 1200px) {
  .drawer-content {
    top: 80px;
    height: calc(100vh - 80px);
    width: 65%;
  }
}
.drawer-content.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* ===== PC用メガメニュー ===== */
.drawer-mega {
  display: none;
  background-color: #F8F8F0;
  padding: 64px 0 100px;
}
@media (min-width: 992px) {
  .drawer-mega {
    display: block;
  }
}

.drawer-mega__inner {
  max-width: 100%;
  padding: 0 48px;
}

/* グリッド共通：3カラム */
.drawer-mega__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 40px;
}
@media (min-width: 1200px) {
  .drawer-mega__grid {
    gap: 0 60px;
  }
}

.drawer-mega__grid--top {
  margin-bottom: 40px;
}

.drawer-mega__grid--mid {
  margin-bottom: 40px;
}

.drawer-mega__grid--bottom {
  margin-bottom: 0;
}

/* カラム */
.drawer-mega__col {
  list-style: none;
}

.drawer-mega__item + .drawer-mega__item {
  margin-top: 36px;
}

/* 大項目ヘッド */
.drawer-mega__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #525452;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding-bottom: 6px;
  border-bottom: 1px solid #B6D5CB;
}
@media (min-width: 1200px) {
  .drawer-mega__head {
    font-size: 1rem;
  }
}
.drawer-mega__head:not(.drawer-mega__head--nolink) {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.drawer-mega__head:not(.drawer-mega__head--nolink):hover {
  opacity: 0.7;
}
.drawer-mega__head--nolink {
  cursor: default;
}

.drawer-mega__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 12px;
  color: #E3E2D2;
}

/* 子リンク */
.drawer-mega__child {
  list-style: none;
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.drawer-mega__child a {
  color: #525452;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.drawer-mega__child a:hover {
  opacity: 0.7;
}
@media (min-width: 1200px) {
  .drawer-mega__child a {
    font-size: 0.875rem;
  }
}

/* ===== SP用ドロワー ===== */
.drawer-sp {
  display: block;
  background-color: #F8F8F0;
  min-height: 100%;
  padding-top: 20px;
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .drawer-sp {
    display: none;
  }
}

.drawer-content__items {
  list-style: none;
  margin: 0;
  padding: 0 24px;
}

/* 通常行（リンクのみ・子なし） */
.drawer-content__item:not(.drawer-content__item--accordion) .drawer-content__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 16px 0 6px;
  border-bottom: 1px solid #B6D5CB;
}
.drawer-content__item:not(.drawer-content__item--accordion) .drawer-content__link {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.drawer-content__item:not(.drawer-content__item--accordion) .drawer-content__arrow {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #fff;
  margin-left: 12px;
  top: 4px;
}

/* アコーディオン行 */
/* アコーディオンのヘッド部分に線 */
.drawer-content__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 16px 0 6px;
  border-bottom: 1px solid #B6D5CB;
  margin-bottom: 8px;
}

.drawer-content__link {
  color: #525452;
  font-size: 1rem;
  font-weight: 500;
}
.drawer-content__link--nolink {
  cursor: default;
}

.drawer-content__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #fff;
}

/* ===== アコーディオンボタン（擬似要素で三角） ===== */
.drawer-accordion {
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  width: 28px;
  height: 28px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  top: 4px;
}
.drawer-accordion::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #1E7A6E;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.drawer-accordion[aria-expanded=true]::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* サブナビ */
.drawer-nav {
  display: none;
  list-style: none;
}

.drawer-nav__link {
  position: relative;
  display: block;
  color: #525452;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  padding: 4px 0 4px 0;
}

/* ===== SP CTA ===== */
.drawer-cta {
  padding: 32px 24px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.drawer-cta__tel-box {
  text-align: center;
}

.drawer-cta__tel-label,
.drawer-cta__web-label,
.drawer-cta__line-label {
  font-size: 1rem;
  font-weight: 500;
  color: #525452;
  margin-bottom: 10px;
}

.drawer-cta__tel {
  -webkit-box-shadow: 0px 4px 6px rgba(111, 98, 69, 0.4);
          box-shadow: 0px 4px 6px rgba(111, 98, 69, 0.4);
  display: block;
  font-size: 1rem;
  font-weight: 500;
  color: #525452;
  background-color: #fff;
  border: 1px solid #B6D5CB;
  border-radius: 100px;
  padding: 10.5px 16px;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

.drawer-cta__time {
  display: inline-block;
  text-align: center;
}

.drawer-cta__time-row {
  font-size: 0.875rem;
  color: #525452;
}
.drawer-cta__time-row span {
  font-weight: 700;
  margin-right: 8px;
}

.drawer-cta__web-box,
.drawer-cta__line-box {
  text-align: center;
}

.drawer-cta__btn {
  -webkit-box-shadow: 0px 4px 6px rgba(111, 98, 69, 0.6);
          box-shadow: 0px 4px 6px rgba(111, 98, 69, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 10.5px 16px;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  width: 100%;
}
.drawer-cta__btn:hover {
  opacity: 0.75;
}
.drawer-cta__btn--web {
  background-color: #C09030;
  border: 1px soli #C09030;
  color: #fff;
}
.drawer-cta__btn--line {
  background-color: #1E7A6E;
  border: 1px solid #1E7A6E;
  color: #fff;
}

.drawer-cta__note {
  color: #525452;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

/* ===== オーバーレイ ===== */
.drawer-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 98;
  display: none;
}
.drawer-background.is-active {
  display: block;
}

/* ===== footer ===== */
.footer {
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .footer {
    background-color: #F8F8F0;
    padding-bottom: 0;
  }
}

/* lg未満は非表示 */
.footer-nav {
  display: none;
}
@media (min-width: 992px) {
  .footer-nav {
    display: block;
    background-color: #F8F8F0;
    padding-top: 80px;
    padding-bottom: 40px;
  }
}

/* ===== グリッド共通（4カラム） ===== */
.footer-grid {
  display: grid;
  grid-template-columns: 180px 1fr 1fr 1fr;
  gap: 0 40px;
}
@media (min-width: 1200px) {
  .footer-grid {
    gap: 0 85px;
  }
}

.footer-grid--top {
  margin-bottom: 48px;
}

.footer-grid--bottom {
  margin-bottom: 28px;
}

/* ===== カラム共通（ul） ===== */
.footer-col {
  list-style: none;
}

/* ===== 各アイテム（li） ===== */
.footer-col__item + .footer-col__item {
  margin-top: 46px;
}

/* ===== 大項目ヘッド ===== */
.footer-col__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #525452;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding-bottom: 6px;
  border-bottom: 1px solid #B6D5CB;
}
@media (min-width: 1200px) {
  .footer-col__head {
    font-size: 1rem;
  }
}
.footer-col__head span {
  font-weight: 500;
}
.footer-col__head:not(.footer-col__head--nolink) {
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.footer-col__head:not(.footer-col__head--nolink):hover {
  opacity: 0.7;
}
.footer-col__head--nolink {
  cursor: default;
}

/* SVG矢印 */
.footer-col__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 12px;
  color: #E3E2D2;
  display: block;
  margin-bottom: 6px;
}

/* ===== 子リンクリスト ===== */
.footer-col__child {
  list-style: none;
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.footer-col__child a {
  color: #525452;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.5;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.footer-col__child a:hover {
  opacity: 0.7;
}

/* ===== copyright ===== */
.footer-copyright {
  text-align: center;
}
@media (min-width: 1200px) {
  .footer-copyright {
    text-align: right;
  }
}

.copyright__text {
  color: #525452;
  font-size: 0.75rem;
}
.copyright__text small {
  font-weight: 400;
}

/* SP用copyright（lg未満のみ表示） */
@media (min-width: 992px) {
  .copyright-sp {
    display: none;
  }
}

.copyright__sp-text {
  font-size: 0.75rem;
  text-align: center;
}
@media (max-width: 374px) {
  .copyright__sp-text {
    font-size: 0.625rem;
  }
}
.copyright__sp-text small {
  font-weight: 500;
}

/* bottom-contact */
.bottom-contact-pc {
  display: none;
}
@media (min-width: 992px) {
  .bottom-contact-pc {
    position: fixed;
    bottom: 24px;
    right: 40px;
    z-index: 30;
  }
}
@media (min-width: 768px) {
  .bottom-contact-pc .bottom-contact-pc__img {
    display: block;
    -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
    width: 130px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .bottom-contact-pc .bottom-contact-pc__img:hover {
    opacity: 0.8;
  }
}
@media (min-width: 768px) {
  .bottom-contact-pc .bottom-contact-pc__img-web {
    margin-bottom: 16px;
  }
}

.bottom-contact-sp {
  position: fixed;
  background-color: #DEDDCE;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 30;
  padding: 10px 8px;
}
@media (min-width: 992px) {
  .bottom-contact-sp {
    display: none;
  }
}
.bottom-contact-sp .tel,
.bottom-contact-sp .web,
.bottom-contact-sp .line {
  width: 33.3%;
  height: 40px;
}
.bottom-contact-sp .tel,
.bottom-contact-sp .web {
  margin-right: 4px;
}
.bottom-contact-sp .bottom-contact__link {
  border-radius: 35px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: inherit;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 3px;
  padding-left: 3px;
}
.bottom-contact-sp .bottom-contact__link span {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (max-width: 374px) {
  .bottom-contact-sp .bottom-contact__link span {
    font-size: 3.4vw;
  }
}
.bottom-contact-sp .bottom-contact__link--tel {
  border: 1px solid #1E7A6E;
  background-color: #fff;
  color: #1E7A6E;
}
.bottom-contact-sp .bottom-contact__link--web {
  background-color: #C09030;
  border: 1px solid #C09030;
  color: #fff;
}
.bottom-contact-sp .bottom-contact__link--line {
  background-color: #1E7A6E;
  border: 1px solid #1E7A6E;
  color: #fff;
}

/*---------------------------------
  CTA – ご予約・ご相談はこちら
---------------------------------*/
.cv {
  background-color: #E3E2D2;
  border-radius: 16px;
}
@media (min-width: 992px) {
  .cv {
    border-radius: 40px;
  }
}
.cv .section-titleBox02 {
  margin-bottom: 32px;
  text-align: center;
}
.cv .title-en {
  padding-left: 0;
}
.cv .title-en::before {
  display: none;
}
.cv .cv-note {
  margin-bottom: 40px;
  text-align: left;
}
@media (min-width: 768px) {
  .cv .cv-note {
    margin-bottom: 80px;
    text-align: center;
  }
}

.cv01 {
  padding: 32px 0 20px;
}
@media (min-width: 768px) {
  .cv01 {
    padding: 80px 0;
  }
}

/* ── カード外枠 ── */
/* overflow:hidden を使わない → アイコンのはみ出しを許可 */
.cv01__card {
  background-color: #fff;
  border-radius: 16px;
}
@media (min-width: 992px) {
  .cv01__card {
    border-radius: 20px;
  }
}

/* ── 3カラムグリッド ── */
.cv-items {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 992px) {
  .cv-items {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* ── 各アイテム共通 ── */
.cv-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* アイコン円(72px)の半分 + 余白 を padding-top で確保 */
  padding: 40px 18.5px 32px;
  text-align: center;
}
@media (min-width: 768px) {
  .cv-item {
    padding: 60px 32px 40px;
  }
}
.cv-item.cv-tel {
  padding-top: 72px;
}
@media (min-width: 992px) {
  .cv-item.cv-tel {
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
    text-align: initial;
    padding-top: 60px;
  }
}
@media (min-width: 992px) {
  .cv-item.cv-tel .cv-item__icon {
    margin: -105px auto 18px;
  }
}
@media (min-width: 992px) {
  .cv-item.cv-tel .cv-item__icon,
  .cv-item.cv-tel .cv-item__head {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .cv-item.cv-tel .cv-item__bottom {
    padding-left: 24px;
  }
}

@media (min-width: 992px) {
  .cv-item:nth-child(2),
  .cv-item:nth-child(3) {
    position: relative;
  }
  .cv-item:nth-child(2)::before,
  .cv-item:nth-child(3)::before {
    position: absolute;
    background-color: #E3E2D2;
    content: "";
    width: 1px;
    height: 68.131%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
  }
}

/* ── アイコン円（カード上端にオーバーラップ） ── */
.cv-item__icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  border-radius: 50%;
  -webkit-box-shadow: 0 4px 12px rgba(111, 98, 69, 0.22);
          box-shadow: 0 4px 12px rgba(111, 98, 69, 0.22);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 55px;
  height: 55px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* カード上端から半分はみ出す */
  margin-top: -36px;
  margin-bottom: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 992px) {
  .cv-item__icon {
    height: 88px;
    width: 88px;
    margin-top: -105px;
    margin-bottom: 18px;
  }
}
.cv-item__icon img {
  max-height: 30px;
  max-width: 30px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 992px) {
  .cv-item__icon img {
    max-height: 40px;
    max-width: 40px;
  }
}

/* ── 見出しテキスト ── */
.cv-item__head {
  color: #525452;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .cv-item__head {
    margin-bottom: 16px;
  }
}
@media (min-width: 992px) {
  .cv-item__head {
    font-size: 1.125rem;
  }
}

/* ── ボタン共通 ── */
.cv-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
  padding: 12px 24px;
  text-align: center;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  width: 100%;
}
@media (min-width: 768px) {
  .cv-button {
    padding: 15px 28px;
    margin-bottom: 16px;
  }
}
@media (min-width: 1200px) {
  .cv-button {
    max-width: 260px;
  }
}
.cv-button:hover {
  opacity: 0.75;
}
.cv-button {
  /* 電話番号 */
}
.cv-button--tel {
  background-color: #fff;
  border: 1px solid #6B856D;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  color: #525452;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.1;
  max-width: none;
  padding: 14.5px 24px;
}
@media (min-width: 768px) {
  .cv-button--tel {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) {
  .cv-button--tel {
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: none;
    font-family: "Times New Roman", "Noto Serif JP", serif;
    font-size: 3.611vw;
    margin-top: 8px;
    margin-bottom: 0;
    padding: 0;
  }
}
@media (min-width: 1400px) {
  .cv-button--tel {
    font-size: 3.25rem;
  }
}
.cv-button {
  /* WEB予約 */
}
.cv-button--web {
  background-color: #C09030;
  color: #fff;
  font-size: 0.9375rem;
}
@media (max-width: 374px) {
  .cv-button--web {
    font-size: 4vw;
  }
}
@media (min-width: 768px) {
  .cv-button--web {
    font-size: 1rem;
  }
}
.cv-button {
  /* LINE */
}
.cv-button--line {
  background-color: #1E7A6E;
  color: #fff;
  font-size: 0.9375rem;
}
@media (max-width: 374px) {
  .cv-button--line {
    font-size: 4vw;
  }
}
@media (min-width: 768px) {
  .cv-button--line {
    font-size: 1rem;
  }
}

/* ── ボトム情報エリア ── */
.cv-item__bottom {
  margin-top: 4px;
}

.cv-item__note {
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  color: #525452;
}
@media (min-width: 768px) {
  .cv-item__note {
    font-size: 0.875rem;
  }
}

/* ── 受付時間ボックス ── */
.time-box {
  text-align: left;
}

.time-box__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-size: 0.8125rem;
  line-height: 1.7;
  color: #666;
}
@media (min-width: 768px) {
  .time-box__row {
    font-size: 0.875rem;
  }
}

.time-box__row-title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: 700;
}
/* cv */
/* info */
.info {
  padding-top: 60px;
  margin-bottom: 28px;
}
@media (min-width: 992px) {
  .info {
    padding-top: 120px;
    margin-bottom: 80px;
  }
}
.info .section-titleBox01 {
  margin-bottom: 26px;
}
@media (min-width: 992px) {
  .info .section-titleBox01 {
    margin-bottom: 56px;
  }
}

.info-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 992px) {
  .info-contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.info-content {
  display: contents;
}
@media (min-width: 992px) {
  .info-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 4.16%;
    width: 41.7%;
  }
}

.info-content__clinic {
  font-size: 1.125rem;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .info-content__clinic {
    margin-bottom: 24px;
  }
}
@media (min-width: 992px) {
  .info-content__clinic {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5;
  }
}

.info-content__addressBox {
  margin-bottom: 14px;
}
@media (min-width: 992px) {
  .info-content__addressBox {
    margin-bottom: 16px;
  }
}

.info-content__address {
  font-size: 1rem;
  line-height: 1.45;
}
.info-content__address:not(:last-child) {
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  .info-content__address:not(:last-child) {
    margin-bottom: 16px;
  }
}

.info-content__rowBox {
  margin-bottom: 32px;
}

.info-content__row:not(:last-child) {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .info-content__row:not(:last-child) {
    margin-bottom: 18px;
  }
}

.info-content__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.info-content__row-img {
  margin-right: 10px;
  text-align: center;
  width: 30px;
}
.info-content__row-img img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-self: center;
}

.info-content__row-img.info-tel img {
  width: 12px;
  height: 19px;
}

.info-content__row-img.info-card img {
  width: 18px;
  height: 14px;
}

.info-content__row-text {
  font-family: "Noto Serif JP", serif;
}

.info-content__address,
.info-content__text,
.info-content__pay {
  font-family: "Noto Serif JP", serif;
}

.info-content__text:not(:last-child) {
  margin-bottom: 10px;
}

.info-content__text {
  position: relative;
  padding-left: 16px;
  line-height: 1.4;
}
@media (min-width: 992px) {
  .info-content__text {
    padding-left: 24px;
  }
}
.info-content__text::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 9px;
  left: 0;
}

.info-content__schedule {
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  .info-content__schedule {
    margin-bottom: initial;
  }
}

.info-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 1200px) {
  .info-cta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
  }
}
.info-cta .cv-button {
  margin-bottom: 0;
  max-width: initial;
  -webkit-box-ordinal-group: initial;
      -ms-flex-order: initial;
          order: initial;
  width: 78.2%;
  margin: 0 auto;
}

.access-content {
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  .access-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 54.17%;
    margin-bottom: initial;
  }
}

.access-map {
  width: 100%;
}
@media (min-width: 992px) {
  .access-map {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.iframe-wrap {
  width: 100%;
  position: relative;
  aspect-ratio: 335/300;
}
.iframe-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 992px) {
  .iframe-wrap {
    aspect-ratio: unset;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.schedule {
  margin-bottom: 24px;
  max-width: 100%;
  overflow-x: auto;
}
.schedule .info-row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.schedule__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: center;
  font-size: 0.625rem;
}
.schedule__table thead tr {
  background-color: #1E7A6E;
}
.schedule__table thead th {
  background-color: #1E7A6E;
}
.schedule__table th,
.schedule__table td {
  padding: 1.2em 0.2em 1.2em;
}
@media (min-width: 768px) {
  .schedule__table th,
  .schedule__table td {
    padding: 1em 0.6em 1em;
  }
}
.schedule__table th {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.428;
}
@media (max-width: 374px) {
  .schedule__table th {
    font-size: 3.25vw;
  }
}
@media (min-width: 992px) {
  .schedule__table th {
    font-size: 1rem;
  }
}
.schedule__table td {
  border-bottom: 1px solid #E3E2D2;
  font-size: 0.875rem;
  padding: 0.9em 0.5em;
  vertical-align: middle;
}
@media (max-width: 374px) {
  .schedule__table td {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  .schedule__table td {
    font-size: 1rem;
    padding: 1em 0.5em;
  }
}
.schedule__table .border {
  background-color: #B6D5CB;
  width: 14px;
  height: 2px;
  margin-bottom: 4.5px;
  display: inline-block;
  position: relative;
}
.schedule__table .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #B6D5CB;
  border-radius: 50%;
}
@media (min-width: 1200px) {
  .schedule__table .dot {
    width: 12px;
    height: 12px;
  }
}
.schedule__table .time-title {
  color: #fff;
  font-weight: 500;
  font-size: 0.875rem;
  text-align: left;
}
@media (min-width: 1200px) {
  .schedule__table .time-title {
    font-size: 1rem;
  }
}
.schedule__table .time {
  color: #525452;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.428;
  text-align: left;
}
@media (max-width: 374px) {
  .schedule__table .time {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  .schedule__table .time {
    font-size: 0.875rem;
  }
}
@media (min-width: 1200px) {
  .schedule__table .time {
    font-size: 1rem;
  }
}
.schedule__table .time span {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
}
.schedule__table .padding01 {
  padding-right: 0;
  padding-left: 0.8em;
}
@media (max-width: 374px) {
  .schedule__table .padding01 {
    padding-left: 4px;
  }
}
@media (min-width: 768px) {
  .schedule__table .padding01 {
    padding-left: 1.1em;
  }
}
.schedule__table .padding02 {
  padding-right: 0.5em;
}
@media (min-width: 768px) {
  .schedule__table .padding02 {
    padding-right: 0.8em;
  }
}

.time-row__item {
  font-size: 0.9375rem;
  font-weight: 500;
}
.time-row__item span {
  font-size: 0.875rem;
  font-weight: 600;
}

.time-row__item:not(:last-child) {
  margin-right: 16px;
}
@media (max-width: 374px) {
  .time-row__item:not(:last-child) {
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .time-row__item:not(:last-child) {
    margin-bottom: 0;
    margin-right: 16px;
  }
}

.schedule-note {
  font-size: 0.8125rem;
  font-family: "Open Sans", sans-serif;
}
@media (max-width: 374px) {
  .schedule-note {
    font-size: 3.25vw;
  }
}
@media (min-width: 768px) {
  .schedule-note {
    font-size: 0.875rem;
  }
}

/*---------------------------------
  パンくずリスト
---------------------------------*/
/* breadcrumb */
@media (min-width: 768px) {
  .breadcrumb-box {
    bottom: 24px;
  }
}

.breadcrumb-content {
  font-weight: 400;
  line-height: 1.2;
}
.breadcrumb-content a {
  padding-right: 6px;
  padding-left: 6px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 992px) {
  .breadcrumb-content a {
    padding-right: 10px;
    padding-left: 10px;
  }
}
.breadcrumb-content a:hover {
  opacity: 0.7;
}
.breadcrumb-content .home {
  padding-left: 0;
}
.breadcrumb-content .current-item {
  padding-left: 6px;
}
@media (min-width: 992px) {
  .breadcrumb-content .current-item {
    padding-left: 10px;
  }
}

.breadcrumb-content span {
  position: relative;
  font-size: 0.75rem;
  font-family: "Noto Serif JP", serif;
  top: -1px;
}
@media (min-width: 992px) {
  .breadcrumb-content span {
    top: -0.5px;
  }
}
.breadcrumb-content span #text {
  font-size: 0.625rem;
}

/*---------------------------------
  一覧ページ ページネーション
---------------------------------*/
/* pagination */
.pagination {
  text-align: center;
}

.pagination a {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.pagination a:hover {
  opacity: 0.6;
}

.pagination a.next,
.pagination a.prev {
  position: relative;
  background-color: initial;
  color: #1E7A6E;
  font-size: 1rem;
  top: 3px;
}
@media (min-width: 768px) {
  .pagination a.next,
  .pagination a.prev {
    position: initial;
    top: initial;
  }
}

.pagination a.next:hover,
.pagination a.prev:hover {
  opacity: 0.6;
}

.page-numbers {
  background-color: #fff;
  border: 1px solid #1E7A6E;
  border-radius: 50%;
  color: #1E7A6E;
  display: inline-block;
  font-size: 1.125rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin-right: 16px;
  text-align: center;
  text-decoration: none;
}
@media (min-width: 768px) {
  .page-numbers {
    font-size: 1.125rem;
  }
}

.page-numbers:last-child {
  margin-right: 0;
}

.page-numbers.current {
  background-color: #1E7A6E;
  color: #fff;
}

.page-numbers.dots,
.page-numbers.next,
.page-numbers.prev {
  border: none;
  line-height: 40px;
  min-width: initial;
  width: auto;
}

.dots {
  background-color: initial;
}

/* -------------------------------
 著者情報
------------------------------- */
@media (min-width: 768px) {
  .author-content__row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 8px;
  }
}

.blog article .author-title {
  position: relative;
  border-bottom: 1px solid #fff;
  color: #6B856D;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .blog article .author-title {
    font-size: 0.875rem;
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
}

.author {
  background-color: #F3F6F0;
  border-radius: 4px;
  padding: 16px;
}

.author-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .author-box {
    margin-bottom: initial;
  }
}

.author-content {
  width: calc(100% - 100px);
}
@media (min-width: 768px) {
  .author-content {
    border-bottom: none;
    width: initial;
  }
}

.author-image {
  position: relative;
  max-width: 80px;
  width: 100%;
  margin-right: 10px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .author-image {
    position: relative;
    margin-left: 0;
    margin-right: 16px;
    margin-bottom: initial;
    max-width: 146px;
    width: 100%;
  }
}

.author-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.author-content__name,
.author-content__company {
  color: #555;
}

.author-content__name {
  color: #525452;
  font-size: 1rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .author-content__name {
    font-size: 1.125rem;
    margin-right: 16px;
  }
}

.author-content__company {
  color: #525452;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.428;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .author-content__company {
    font-size: 1.0625rem;
    margin-right: 20px;
    margin-bottom: initial;
    line-height: initial;
  }
}

.author-content__bio {
  color: #525452;
  font-size: 0.8125rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .author-content__bio {
    font-size: 0.875rem;
  }
}

/*---------------------------------
  404
---------------------------------*/
.page-404 {
  margin-top: 60px;
  margin-bottom: 100px;
  padding-top: 80px;
  text-align: center;
}
@media (min-width: 992px) {
  .page-404 {
    margin-top: 100px;
  }
}

.page-404__title {
  color: #1E7A6E;
  font-size: 1.25rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .page-404__title {
    font-size: 1.875rem;
  }
}

.page-404__link {
  text-decoration: underline;
  display: block;
  font-size: 1rem;
  margin-top: 40px;
  font-weight: 500;
}

.vk_tableOfContents ul li {
  list-style-type: none !important;
}

.page-template-page .blog {
  margin-bottom: 0;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .page-template-page .blog {
    padding-bottom: 100px;
  }
}
.page-template-page .main-bg .inner {
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .page-template-page .main-bg .inner {
    padding-bottom: 88px;
  }
}

/*---------------------------------
  下層ページFV テンプレートページ
---------------------------------*/
.fv-visual {
  margin-top: 60px;
}
@media (min-width: 1200px) {
  .fv-visual {
    margin-top: 80px;
  }
}

.fv {
  background-color: #fff;
  padding-top: 48px;
  padding-bottom: 48px;
}
@media (min-width: 992px) {
  .fv {
    padding-top: 88px;
    padding-bottom: 146px;
  }
}

.fv__content {
  position: relative;
}

.fv__title {
  color: #555;
  font-size: 1.5rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
}
@media (max-width: 374px) {
  .fv__title {
    font-size: 5.866vw;
  }
}
@media (min-width: 992px) {
  .fv__title {
    font-size: 2.5vw;
  }
}
@media (min-width: 1400px) {
  .fv__title {
    font-size: 2.5rem;
  }
}
.fv__title span {
  position: relative;
  color: #1E7A6E;
  display: block;
  font-size: 1.125rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  font-style: italic;
  line-height: 1.3;
  margin-bottom: 8px;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .fv__title span {
    margin-bottom: 20px;
  }
}
@media (min-width: 992px) {
  .fv__title span {
    font-size: re(20);
  }
}
.fv__title span::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 56%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media (min-width: 768px) {
  .fv__title span::before {
    width: 8px;
    height: 8px;
  }
}

/*---------------------------------
  お知らせ、医療コラム 一覧/詳細ページ ファーストビュー
---------------------------------*/
.post-type-archive .fv,
.single-post .fv,
.single-news .fv,
.archive.category .fv,
.archive.tax-news_cat .fv {
  padding-top: 48px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .post-type-archive .fv,
  .single-post .fv,
  .single-news .fv,
  .archive.category .fv,
  .archive.tax-news_cat .fv {
    padding-top: 88px;
    padding-bottom: 24px;
  }
}
.post-type-archive .fv__title,
.single-post .fv__title,
.single-news .fv__title,
.archive.category .fv__title,
.archive.tax-news_cat .fv__title {
  margin-bottom: 48px;
}
@media (min-width: 768px) {
  .post-type-archive .fv__title,
  .single-post .fv__title,
  .single-news .fv__title,
  .archive.category .fv__title,
  .archive.tax-news_cat .fv__title {
    margin-bottom: 96px;
  }
}
.post-type-archive .fv__content,
.single-post .fv__content,
.single-news .fv__content,
.archive.category .fv__content,
.archive.tax-news_cat .fv__content {
  padding-top: 0;
  padding-bottom: 0;
}

/*---------------------------------
  目次
---------------------------------*/
.toc-wrapper {
  counter-reset: number 0;
  margin-bottom: 56px;
}
@media (min-width: 768px) {
  .toc-wrapper {
    margin-bottom: 80px;
  }
}

.toc-boxes {
  border: 5px solid #EAEFE4;
  border-radius: 8px;
  padding: 20px;
}
@media (min-width: 768px) {
  .toc-boxes {
    padding: 48px 50px;
  }
}

.toc-box-lead {
  border-bottom: 2px solid #F3F6F0;
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 14px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  .toc-box-lead {
    font-size: 1.375rem;
    margin-bottom: 18px;
  }
}
.toc-box-lead span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #B6D5CB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  font-size: 1.25rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  padding-left: 12px;
}
@media (min-width: 768px) {
  .toc-box-lead span {
    padding-left: 16px;
  }
}
@media (min-width: 992px) {
  .toc-box-lead span {
    font-size: 1.875rem;
  }
}

.toc-items {
  padding-left: 24px;
}

@media (min-width: 992px) {
  .toc-item:first-child {
    padding-top: 0;
  }
}

.toc-item:not(:last-child) {
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .toc-item:not(:last-child) {
    margin-bottom: 16px;
  }
}

.toc-item {
  position: relative;
}
.toc-item::before {
  position: absolute;
  color: #6B856D;
  font-size: 1rem;
  counter-increment: number 1;
  content: counter(number) " ";
  top: 6px;
  left: -24px;
  line-height: 1;
  display: inline-block;
}
.toc-item::after {
  position: absolute;
  content: "";
  background-color: #908C82;
  width: 1px;
  height: 14px;
  top: 8px;
  left: 0;
}

.toc-item__link {
  position: relative;
  display: inline-block;
  font-size: 0.875rem;
  line-height: 1.4;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .toc-item__link {
    font-size: 1rem;
    line-height: 1.75;
  }
}
.toc-item__link:hover {
  color: #1E7A6E;
}

.mark-text {
  position: relative;
}
.mark-text::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}

.page-note-box {
  background-color: #F4F7FC;
  padding: 32px 20px 22px;
}
@media (min-width: 768px) {
  .page-note-box {
    padding: 40px 50px 40px;
  }
}
.page-note-box p {
  font-family: "Noto Sans JP", serif;
}

.other-box {
  background-color: #F8F8F8;
  padding: 20px;
}
.other-box p {
  font-family: "Noto Sans JP", serif;
  font-size: 0.8125rem;
}
@media (min-width: 768px) {
  .other-box p {
    font-size: 0.875rem;
  }
}

/*---------------------------------
  固定ページテンプレート
---------------------------------*/
.blog__content > :first-child h2,
.blog__content div > :first-child h2 {
  margin-top: 0;
}

.page-child .blog__content > h2:first-child {
  margin-top: 0;
}

.blog__content > h2:first-child,
.blog__content div > h2:first-child {
  margin-top: 0;
}

.blog.page-child article p {
  font-size: 1rem;
}
.blog.page-child article h2 {
  margin: 56px 0 16px;
}
@media (min-width: 768px) {
  .blog.page-child article h2 {
    margin: 72px 0 32px;
  }
}
@media (min-width: 768px) {
  .blog.page-child article li {
    font-size: 1rem;
  }
}
.blog.page-child .p-access-map {
  width: 100%;
}
.blog.page-child .p-iframe-wrap {
  aspect-ratio: 16/9;
  width: 100%;
  position: relative;
}
.blog.page-child .p-iframe-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.wp-block-button__link {
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: none !important;
}

/*---------------------------------
  トップページ
---------------------------------*/
/* main-visual */
.mv-note {
  font-size: 1.375rem;
  font-family: "Noto Serif JP", serif;
}
@media (min-width: 768px) {
  .mv-note {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) {
  .mv-note {
    font-size: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .mv-note {
    font-size: 1.75rem;
    margin-bottom: 8px;
  }
}

.main-visual {
  margin-top: 60px;
}
@media (min-width: 1200px) {
  .main-visual {
    margin-top: 80px;
  }
}

.mv {
  position: relative;
}
@media (min-width: 768px) {
  .mv {
    padding-bottom: 56px;
  }
}
@media (min-width: 1400px) {
  .mv {
    padding-bottom: 80px;
  }
}
.mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F8F8F0;
  z-index: -1;
  clip-path: polygon(100% 17%, 100% 100%, 0 100%, 0 55.5%);
}
@media (min-width: 768px) {
  .mv::before {
    clip-path: polygon(100% 19%, 100% 100%, 0 100%, 0 85.5%);
  }
}

@media (min-width: 768px) {
  .inner.mv-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 1600px) {
  .inner.mv-inner {
    max-width: 1480px;
  }
}

.mv-content {
  padding-top: 24px;
}
@media (min-width: 768px) {
  .mv-content {
    margin-top: 32px;
    padding-top: 0;
  }
}
@media (min-width: 1400px) {
  .mv-content {
    margin-top: 80px;
  }
}

.mv-top {
  margin-bottom: 16px;
}
@media (min-width: 1200px) {
  .mv-top {
    margin-bottom: 32px;
  }
}

.mv-top__head,
.mv-top__lead,
.mv-top__title {
  font-family: "Noto Serif JP", serif;
}

.mv-top__head {
  color: #525452;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.25rem;
  font-weight: 500;
  margin-bottom: 8px;
}
@media (max-width: 374px) {
  .mv-top__head {
    font-size: 5.33vw;
  }
}
@media (min-width: 768px) {
  .mv-top__head {
    font-size: 1.125rem;
  }
}
@media (min-width: 992px) {
  .mv-top__head {
    font-size: 1.25rem;
  }
}
@media (min-width: 992px) {
  .mv-top__head {
    margin-bottom: 24px;
  }
}
.mv-top__head::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background: #B6D5CB;
  margin-left: 6px;
}
@media (min-width: 768px) {
  .mv-top__head::after {
    margin-left: 16px;
  }
}

.mv-top__lead {
  font-size: 0.875rem;
  margin-bottom: 20px;
}
@media (max-width: 374px) {
  .mv-top__lead {
    font-size: 3.73vw;
  }
}
@media (min-width: 992px) {
  .mv-top__lead {
    font-size: 1.388vw;
  }
}
@media (min-width: 1200px) {
  .mv-top__lead {
    font-size: 1.25rem;
    margin-bottom: 32px;
  }
}
.mv-top__lead span {
  background-color: #1E7A6E;
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  font-size: 0.9375rem;
  margin-right: 4px;
  padding: 1px 6.5px;
}
@media (max-width: 374px) {
  .mv-top__lead span {
    font-size: 3.73vw;
  }
}
@media (min-width: 768px) {
  .mv-top__lead span {
    border-radius: 10px;
    padding: 0 16px;
  }
}
@media (min-width: 992px) {
  .mv-top__lead span {
    font-size: 1.666vw;
  }
}
@media (min-width: 1200px) {
  .mv-top__lead span {
    font-size: 1.5rem;
    margin-right: 10px;
  }
}

@media (min-width: 768px) {
  .mv-top__titleBox {
    line-height: 1.5;
  }
}

.mv-top__title:first-child {
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .mv-top__title:first-child {
    margin-bottom: initial;
  }
}

.mv-top__title {
  color: #525452;
  font-size: 1.5rem;
  line-height: 1.3;
  text-align: center;
}
@media (min-width: 768px) {
  .mv-top__title {
    font-size: 1.625rem;
    line-height: 1.5;
    text-align: left;
  }
}
@media (min-width: 992px) {
  .mv-top__title {
    font-size: 2.777vw;
  }
}
@media (min-width: 1600px) {
  .mv-top__title {
    font-size: 2.625rem;
  }
}
.mv-top__title span {
  color: #1E7A6E;
}

.mv-content__bottom {
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .mv-content__bottom {
    margin-bottom: 0;
  }
}

.clinic-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  max-width: 236px;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .clinic-features {
    margin: initial;
  }
}
@media (min-width: 1200px) {
  .clinic-features {
    max-width: 276px;
  }
}

.clinic-feature {
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid #B6D5CB;
  border-radius: 50%;
  -webkit-box-shadow: 4px 4px 10px 0 rgba(111, 98, 69, 0.1);
          box-shadow: 4px 4px 10px 0 rgba(111, 98, 69, 0.1);
  color: #5F5134;
  font-size: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.4;
  max-width: 110px;
  width: 100%;
  min-height: 110px;
}
@media (min-width: 1200px) {
  .clinic-feature {
    max-width: initial;
    min-height: initial;
    font-size: 1rem;
    max-width: 130px;
    min-height: 130px;
  }
}
.mv__img {
  margin: 0 auto;
  width: 73.33%;
}
@media (min-width: 768px) {
  .mv__img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 41.58%;
  }
}
@media (min-width: 1400px) {
  .mv__img {
    width: 39.58%;
  }
}
@media (min-width: 1600px) {
  .mv__img {
    position: relative;
    bottom: -80px;
    right: 32px;
    max-width: 600px;
    width: 100%;
  }
}

.name-box {
  position: absolute;
  border-radius: 4px;
  background: rgba(248, 248, 240, 0.8);
  bottom: 16px;
  right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 6.5px 8.5px 4px;
}
@media (min-width: 768px) {
  .name-box {
    bottom: 24px;
  }
}
@media (min-width: 992px) {
  .name-box {
    right: 50px;
  }
}

.name-box__position,
.name-box__name {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

.name-box__position {
  font-size: 0.75rem;
  margin-right: 4px;
  margin-bottom: 2px;
}

.name-box__name {
  font-size: 1rem;
}
.name-box__name span {
  display: block;
  font-size: 0.625rem;
  line-height: 1;
}

/* top-news */
.top-news {
  padding-top: 60px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .top-news {
    padding-top: 80px;
    padding-bottom: 120px;
  }
}
.top-news .section-titleBox01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 30px;
}
@media (min-width: 1200px) {
  .top-news .section-titleBox01 {
    display: block;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
    margin-bottom: 0;
  }
}
.top-news .new-info {
  padding-bottom: 0;
}
.top-news .new-info__contents {
  margin-bottom: 0;
}
.top-news .new-info__item:first-child {
  border-top: none;
  padding-top: 0;
}
@media (min-width: 768px) {
  .top-news .new-info__time {
    margin-right: 16px;
  }
}
.top-news .new-info__category {
  margin-bottom: 0;
}
.top-news .util-link01 {
  display: inline-block;
  margin-top: 32px;
}
@media (min-width: 992px) {
  .top-news .util-link01 {
    margin-top: 56px;
  }
}
@media (min-width: 1200px) {
  .top-news .util-link01 {
    margin-top: 32px;
  }
}

@media (min-width: 1200px) {
  .contents-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 1200px) {
  .contents-boxes .section-titleBox01 {
    width: 28.67%;
  }
}
@media (min-width: 1200px) {
  .contents-boxes .section-titleBox01 {
    width: 25.17%;
  }
}
.contents-boxes .section-title01 {
  line-height: 0.7;
}

.contents-box {
  width: 100%;
}
@media (min-width: 1200px) {
  .contents-box {
    margin-left: 11.5%;
    width: 63.33%;
  }
}

/* 最短手術日 */
.latest-info-box {
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .latest-info-box {
    padding-bottom: 120px;
  }
}
.latest-info-box .section-titleBox01 {
  margin-bottom: 32px;
}
@media (min-width: 1200px) {
  .latest-info-box .section-titleBox01 {
    margin-bottom: initial;
  }
}

.latest-box {
  background-color: #F3F6F0;
  border-radius: 8px;
  padding: 30px 16px;
}
@media (min-width: 992px) {
  .latest-box {
    padding: 24px 40px 20px;
  }
}

.latest-box__title {
  font-size: 1rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin-bottom: 14px;
}
@media (min-width: 992px) {
  .latest-box__title {
    font-size: 1.125rem;
    text-align: left;
  }
}

.latest-box__text {
  color: #525452;
  font-size: 1.75rem;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1;
}
@media (min-width: 992px) {
  .latest-box__text {
    font-size: 2rem;
    text-align: left;
    margin-bottom: 0;
  }
}

.latest-box__note {
  font-size: 0.875rem;
  text-align: center;
  line-height: 1;
}
@media (min-width: 992px) {
  .latest-box__note {
    text-align: right;
  }
}

/* primary */
.top-primary {
  background-color: #F8F8F0;
  border-radius: 24px 24px 0 0;
  padding-top: 40px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .top-primary {
    border-radius: 40px 40px 0 0;
    padding-top: 80px;
  }
}
@media (min-width: 1200px) {
  .top-primary {
    padding-bottom: 120px;
  }
}

.primary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .primary {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-bottom: 78px;
  }
}

.primary-content {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .primary-content {
    margin-bottom: 0;
    width: 51.083%;
  }
}
.primary-content .text-row {
  background-color: #fff;
  -webkit-box-shadow: 4px 4px 10px 0 rgba(111, 98, 69, 0.1);
          box-shadow: 4px 4px 10px 0 rgba(111, 98, 69, 0.1);
  padding: 11px 16px;
}
@media (min-width: 992px) {
  .primary-content .text-row {
    padding: 20px 20px;
  }
}
.primary-content .text-row:not(:last-child) {
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .primary-content .text-row:not(:last-child) {
    margin-bottom: 24px;
  }
}
.primary-content .text {
  position: relative;
  font-size: 1rem;
  padding-left: 36px;
  line-height: 1.5;
}
@media (min-width: 992px) {
  .primary-content .text {
    font-size: 1.125rem;
    padding-left: 48px;
  }
}
.primary-content .text span {
  font-weight: 600;
}
.primary-content .text::before {
  position: absolute;
  content: "";
  background: url(../img/index/check.png) no-repeat center center/contain;
  width: 24px;
  height: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media (min-width: 768px) {
  .primary-content .text::before {
    width: 28px;
    height: 28px;
  }
}

@media (min-width: 768px) {
  .primary-img {
    width: 46.333%;
    margin-right: 2.416%;
  }
}

.primary .section-titleBox {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 768px) {
  .primary .section-titleBox {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

/* consul */
.consul-contents {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .consul-contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media (min-width: 768px) {
  .consul-content {
    margin-right: 3.8333333333%;
    margin-right: 3.83%;
    width: 58.66%;
  }
}

.consul-content__title {
  color: #525452;
  font-size: 1.1875rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .consul-content__title {
    font-size: 1.25rem;
    margin-bottom: 32px;
  }
}
@media (min-width: 1200px) {
  .consul-content__title {
    font-size: 1.75rem;
  }
}
@media (min-width: 768px) {
  .consul-content__title span {
    font-size: 1.75rem;
  }
}
@media (min-width: 1200px) {
  .consul-content__title span {
    font-size: 2.1875rem;
  }
}

.consul-content__text:not(:last-child) {
  margin-bottom: 16px;
}

.consul-img {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .consul-img {
    margin-bottom: initial;
    width: 37.5%;
  }
}
.consul-img img {
  border-radius: 4px;
}

/* top-reason */
.top-reason {
  background-color: #F8F8F0;
  padding-top: 72px;
  padding-bottom: 24px;
}
@media (min-width: 768px) {
  .top-reason {
    padding-top: 120px;
    padding-bottom: 80px;
  }
}
.top-reason .inner {
  position: relative;
}

.reason-head {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .reason-head {
    margin-bottom: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 15%;
  }
}
@media (min-width: 768px) {
  .reason-head .section-titleBox01 {
    margin-bottom: 0;
    width: 100%;
  }
}
.reason-head .section-title01 {
  line-height: 0.7;
}

/* ===== スライドエリア ===== */
.reason-slide {
  position: relative;
}

/* swiper本体：両サイドはみ出し用 */
@media (min-width: 992px) {
  .reason-swiper {
    /* 左右のはみ出しをinnerの外まで伸ばす */
    margin-left: calc(50% - 50vw + 20px);
    margin-right: calc(50% - 50vw + 20px);
  }
}

/* ===== スライドカード ===== */
.swiper-slide {
  /* PC: 非アクティブは少し縮小・薄く */
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  opacity: 0.5;
  -webkit-transform: scale(0.92);
          transform: scale(0.92);
}
@media (min-width: 1400px) {
  .swiper-slide {
    width: min(1200px, 100vw - 40px) !important;
  }
}
.swiper-slide.swiper-slide-active {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.swiper-slide {
  /* SP: 全部等倍・不透明 */
}
@media (max-width: 991px) {
  .swiper-slide {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.slide-content {
  border-radius: 16px;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), color-stop(40.38%, #FFF), color-stop(80%, rgba(255, 255, 255, 0.9)), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(180deg, #FFF 0%, #FFF 40.38%, rgba(255, 255, 255, 0.9) 80%, rgba(255, 255, 255, 0.8) 100%);
  overflow: hidden;
  padding: 32px 20px;
  margin-right: 20px;
  margin-left: 20px;
  height: 100%;
}
@media (min-width: 768px) {
  .slide-content {
    gap: 24px;
    padding: 32px 28px;
    min-height: 508px;
  }
}
@media (min-width: 992px) {
  .slide-content {
    padding: 32px 48px;
  }
}
@media (min-width: 1200px) {
  .slide-content {
    margin-right: 0;
    margin-left: 0;
  }
}

.slide-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 992px) {
  .slide-item {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}

/* ── テキスト側 ── */
.slide-item__text {
  display: contents;
}
@media (min-width: 992px) {
  .slide-item__text {
    display: initial;
    width: 63.4%;
  }
}

.slide-item__chapter {
  position: relative;
  color: #1E7A6E;
  font-size: 1.25rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  font-style: italic;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
  padding-left: 12px;
}
@media (min-width: 768px) {
  .slide-item__chapter {
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .slide-item__chapter {
    margin-bottom: 32px;
  }
}
.slide-item__chapter::before {
  position: absolute;
  content: "";
  background-color: #B6D5CB;
  width: 20px;
  height: 2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -20px;
}
@media (min-width: 768px) {
  .slide-item__chapter::before {
    width: 32px;
    left: -48px;
  }
}

.slide-item__title {
  color: #525452;
  font-size: 1.125rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .slide-item__title {
    font-size: 1.375rem;
    margin-bottom: 24px;
  }
}

.slide-item__body {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 992px) {
  .slide-item__body {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

/* ── 画像（SP：タイトルとbodyの間に入る） ── */
.slide-item__img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin: 0 auto 16px;
  width: 72.881%;
}
@media (min-width: 768px) {
  .slide-item__img {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .slide-item__img {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin: initial;
    margin-bottom: 0;
    width: 33%;
  }
}
.slide-item__img {
  border-radius: 4px;
}

.slide-item__desc {
  font-size: 0.9375rem;
  color: #555;
}

.slide-item__desc:not(:last-child) {
  margin-bottom: 16px;
}

.nav-inner {
  position: relative;
}

/* ===== ナビゲーション ===== */
.reason-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  margin-top: 20px;
}
@media (min-width: 992px) {
  .reason-nav {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    margin-top: 28px;
  }
}
.reason-nav .reason-nav__prev,
.reason-nav .reason-nav__next {
  position: static;
  border: 2px solid #1E7A6E;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0;
  width: 48px;
  height: 48px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.reason-nav .reason-nav__prev:hover,
.reason-nav .reason-nav__next:hover {
  opacity: 0.7;
}
.reason-nav .reason-nav__prev.swiper-button-disabled,
.reason-nav .reason-nav__next.swiper-button-disabled {
  opacity: 0.3;
}
.reason-nav .reason-nav__prev::after,
.reason-nav .reason-nav__next::after {
  content: "";
  border-radius: 1px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #1E7A6E;
  border-right: 3px solid #1E7A6E;
}
.reason-nav .reason-nav__prev::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-right: -3px;
}
.reason-nav .reason-nav__next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: -3px;
}

/* ===== ページネーション ===== */
.reason-pagination {
  position: initial !important;
  text-align: center !important;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .reason-pagination {
    text-align: left !important;
  }
}
.reason-pagination .swiper-pagination-bullet {
  background-color: #d3d3d3;
  outline: none;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  opacity: 1;
}
.reason-pagination .swiper-pagination-bullet-active {
  background-color: #1E7A6E;
}

/* greeting */
.greeting {
  position: relative;
  padding-top: 60px;
  z-index: 0;
}
@media (min-width: 768px) {
  .greeting {
    padding-top: 120px;
  }
}
.greeting::before {
  position: absolute;
  content: "";
  background: url(../img/index/greeting-bg-left_sp.webp) no-repeat center center/contain;
  aspect-ratio: 375/1194;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: -1;
}
@media (min-width: 768px) {
  .greeting::before {
    background: url(../img/index/greeting-bg-left_pc.webp) no-repeat center center/contain;
    aspect-ratio: 1440/460;
    opacity: 0.7;
    height: initial;
  }
}
.greeting::after {
  position: absolute;
  content: "";
  background: url(../img/index/greeting-bg-right_sp.webp) no-repeat center center/contain;
  aspect-ratio: 375/1005;
  bottom: 0;
  right: 0;
  width: 100%;
  height: auto;
  z-index: -2;
}
@media (min-width: 768px) {
  .greeting::after {
    background: url(../img/index/greeting-bg-right_pc.webp) no-repeat center center/contain;
    aspect-ratio: 1440/341;
    height: initial;
  }
}
.greeting .section-titleBox01 {
  margin-bottom: 36px;
}
@media (min-width: 768px) {
  .greeting .section-titleBox01 {
    margin-bottom: 58px;
  }
}
.greeting .section-title01 {
  line-height: 0.8;
}
.greeting .section-title01 .title-en {
  margin-bottom: 0;
}

.greeting-contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 0;
}
@media (min-width: 768px) {
  .greeting-contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}
@media (min-width: 1400px) {
  .greeting-contents {
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
  }
}

.greeting-contents__img {
  margin: 0 auto;
  max-width: 282px;
  width: 100%;
}
@media (min-width: 768px) {
  .greeting-contents__img {
    position: absolute;
    bottom: 0;
    right: -34px;
    margin: initial;
    max-width: initial;
    width: 35.5%;
  }
}

@media (min-width: 768px) {
  .greeting-contents__content {
    margin-right: 5%;
    width: 62.5%;
    margin-bottom: 80px;
  }
}

.greeting-contents__textBox {
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .greeting-contents__textBox {
    margin-bottom: 20px;
  }
}

.greeting-contents__text {
  font-size: 0.875rem;
}

.greeting-contents__text span {
  display: block;
}

.greeting-contents__text:not(:last-child) {
  margin-bottom: 14px;
}

.greeting-contents__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .greeting-contents__bottom {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
  }
}
.greeting-contents__bottom .util-link01 {
  margin-left: auto;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .greeting-contents__bottom .util-link01 {
    margin: initial;
  }
}
.greeting-contents__bottom .button01 {
  display: table-cell;
}

.greeting-content__bottom-item {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .greeting-content__bottom-item {
    margin-bottom: initial;
  }
}

.greeting-contents__clinic,
.greeting-contents__position,
.greeting-contents__name {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

.greeting-contents__clinic {
  font-size: 1rem;
  margin-bottom: 6px;
  text-align: right;
}
@media (max-width: 374px) {
  .greeting-contents__clinic {
    font-size: 3.73vw;
  }
}
@media (min-width: 768px) {
  .greeting-contents__clinic {
    margin-bottom: 4px;
  }
}
@media (min-width: 992px) {
  .greeting-contents__clinic {
    font-size: 1.125rem;
  }
}

.greeting-contents__row {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

.greeting-contents__position {
  font-size: 0.875rem;
  line-height: 1.2;
  margin-right: 16px;
}

.greeting-contents__name {
  font-size: 1.125rem;
  line-height: 1.2;
}
@media (min-width: 992px) {
  .greeting-contents__name {
    font-size: 1.25rem;
  }
}

/* cv-other */
.cv-other {
  padding: 20px;
}
.cv-other .cv {
  border-radius: initial;
}

/* top-feature */
.top-feature {
  padding-top: 80px;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .top-feature {
    padding-bottom: 120px;
  }
}
.top-feature .feature-contents:not(:last-child) {
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .top-feature .feature-contents:not(:last-child) {
    margin-bottom: 120px;
  }
}
.top-feature .feature-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .top-feature .feature-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.top-feature .feature-content__img {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .top-feature .feature-content__img {
    margin-bottom: initial;
    width: 27.5%;
  }
}
@media (min-width: 768px) {
  .top-feature .feature-content__box {
    margin-right: 5.83%;
    width: 66.66%;
  }
}
.top-feature .util-link01 {
  display: inline-block;
}
.top-feature .feature-content__bottom {
  margin-top: 20px;
}
@media (min-width: 992px) {
  .top-feature .feature-content__bottom {
    margin-top: 34px;
  }
}

.feature-contents.feature-contents01 .feature-content__bottom {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
@media (max-width: 374px) {
  .feature-contents.feature-contents01 .feature-content__bottom {
    display: block;
  }
}
@media (max-width: 374px) {
  .feature-contents.feature-contents01 .util-link01:nth-child(3) {
    margin-top: 6px;
  }
}
.feature-contents.feature-contents01 .util-link01:not(:last-child) {
  margin-right: 3px;
}
@media (min-width: 768px) {
  .feature-contents.feature-contents01 .util-link01:not(:last-child) {
    margin-right: 8px;
  }
}

/* flow */
.top-flow {
  background-color: #F8F8F0;
  padding-top: 56px;
  border-radius: 24px 24px 0 0;
}
@media (min-width: 768px) {
  .top-flow {
    padding-top: 80px;
  }
}
@media (min-width: 992px) {
  .top-flow {
    border-radius: 40px 40px 0 0;
  }
}

.flow-boxes {
  background-color: #fff;
  border-radius: 16px;
  padding: 24px 16px 50px;
}
@media (min-width: 768px) {
  .flow-boxes {
    padding: 40px;
  }
}

.flow-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 50px;
}
@media (min-width: 992px) {
  .flow-item {
    padding-left: 88px;
  }
}
.flow-item:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 19.5px;
  width: 1px;
  height: 100%;
  background-color: #E3E2D2;
}
@media (min-width: 992px) {
  .flow-item:not(:last-child)::before {
    left: 31.5px;
  }
}
.flow-item:not(:last-child) {
  padding-bottom: 40px;
}

.flow-item__num {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  background-color: #1E7A6E;
  border-radius: 50%;
  color: #fff;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  font-style: italic;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
}
@media (min-width: 992px) {
  .flow-item__num {
    width: 64px;
    height: 64px;
    font-size: 1.625rem;
  }
}

.flow-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .flow-item__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.flow-item__content .textBox {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media (min-width: 768px) {
  .flow-item__content .textBox {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

.flow-item__title {
  color: #525452;
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.43;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  margin-bottom: 20px;
  padding-top: 4px;
}
@media (min-width: 768px) {
  .flow-item__title {
    padding-top: 14px;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
@media (min-width: 992px) {
  .flow-item__title {
    font-size: 1.375rem;
    margin-bottom: 24px;
  }
}

.flow-item__body {
  display: contents;
}
@media (min-width: 768px) {
  .flow-item__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.flow-item__details {
  display: contents;
}
@media (min-width: 768px) {
  .flow-item__details {
    display: initial;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 7%;
  }
}
.flow-item__details .text {
  font-size: 0.875rem;
  line-height: 1.6;
}
@media (min-width: 992px) {
  .flow-item__details .text {
    font-size: 1rem;
  }
}

.flow-item__img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-bottom: 16px;
  width: 80.37%;
}
@media (min-width: 768px) {
  .flow-item__img {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin-bottom: initial;
    width: 27%;
  }
}
.flow-item__img img {
  border-radius: 4px;
}

.top-flow .util-link02 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* top-cost */
.top-cost {
  background-color: #F8F8F0;
  padding-top: 64px;
}
@media (min-width: 768px) {
  .top-cost {
    padding-top: 120px;
  }
}
.top-cost .section-title01 {
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .top-cost .section-title01 {
    letter-spacing: 0.04em;
  }
}

/* ===== 料金リスト ===== */
.cost-list {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .cost-list {
    margin-bottom: 28px;
  }
}

.cost-item {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 10px 20px;
}
@media (min-width: 768px) {
  .cost-item {
    padding: 18px 16px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 26px;
  }
}
@media (min-width: 992px) {
  .cost-item {
    padding-left: 56px;
  }
}

.cost-item:not(:last-child) {
  margin-bottom: 10px;
}

/* ● ドット */
.cost-item__dot {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6px;
  height: 6px;
  background-color: #1E7A6E;
  border-radius: 50%;
  margin-top: 11px;
}
@media (max-width: 374px) {
  .cost-item__dot {
    margin-top: 8px;
  }
}
@media (min-width: 768px) {
  .cost-item__dot {
    margin-top: 0;
  }
}
@media (min-width: 992px) {
  .cost-item__dot {
    width: 12px;
    height: 12px;
  }
}

/* ラベル＋点線＋金額のラッパー */
.cost-item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  row-gap: 4px;
}
@media (min-width: 768px) {
  .cost-item__body {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
  }
}

/* ラベル（年齢 + 年収のコンテナ） */
.cost-item__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .cost-item__label {
    width: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 32px;
  }
}

/* 年齢テキスト（70歳未満 など） */
.cost-item__age {
  font-size: 1rem;
  font-weight: 500;
  white-space: nowrap;
  margin-right: 16px;
  margin-left: 4px;
}
@media (max-width: 374px) {
  .cost-item__age {
    font-size: 3.733vw;
  }
}
@media (min-width: 768px) {
  .cost-item__age {
    font-size: 1.25rem;
    margin-right: 48px;
    margin-left: initial;
  }
}

/* 年収・所得テキスト */
.cost-item__income {
  font-size: 1rem;
  font-weight: 500;
  white-space: nowrap;
}
@media (max-width: 374px) {
  .cost-item__income {
    font-size: 3.733vw;
  }
}
@media (min-width: 768px) {
  .cost-item__income {
    font-size: 1.25rem;
  }
}

/* 4行目（年齢なし・フルテキスト）用 */
.cost-item__label--full .cost-item__income {
  white-space: normal;
  margin-left: 4px;
}
@media (min-width: 768px) {
  .cost-item__label--full .cost-item__income {
    margin-left: initial;
  }
}

/* 点線（PC のみ表示） */
.cost-item__rule {
  display: block;
  width: 95px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 0;
  border: none;
  border-bottom: 1px dashed #6B856D;
  -ms-flex-item-align: center;
      align-self: center;
}
@media (min-width: 768px) {
  .cost-item__rule {
    width: 124px;
  }
}

@media (min-width: 768px) {
  .cost-item:nth-child(2) .cost-item__rule {
    width: 70px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

/* 金額 */
.cost-item__price {
  font-size: 1rem;
  font-weight: 500;
  white-space: nowrap;
  margin-left: 20px;
}
@media (max-width: 374px) {
  .cost-item__price {
    font-size: 3.733vw;
  }
}
@media (min-width: 768px) {
  .cost-item__price {
    font-size: 1.25rem;
    padding-left: 32px;
    text-align: right;
    margin-left: initial;
  }
}

/* ===== 注記 ===== */
.cost-notes {
  margin-bottom: 14px;
}
@media (min-width: 768px) {
  .cost-notes {
    margin-bottom: 18px;
  }
}

.cost-notes__note {
  font-size: 0.875rem;
}

/* ===== 締めテキスト ===== */
.cost-closing {
  font-size: 0.9375rem;
  line-height: 1.9;
  color: #555;
}
@media (min-width: 768px) {
  .cost-closing {
    font-size: 1rem;
  }
}

/* top-faq */
.top-faq {
  background-color: #F8F8F0;
  padding-top: 80px;
  padding-bottom: 80px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .top-faq {
    padding-top: 120px;
  }
}

@media (min-width: 768px) {
  .top-faq-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 11.7%;
  }
}
@media (min-width: 768px) {
  .top-faq-wrapper .section-titleBox01 {
    width: 210px;
  }
}

@media (min-width: 768px) {
  .top-faq-items {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

/* top-feature */
.top-feature .reason-bg {
  padding: 30px 34px;
}
@media (max-width: 374px) {
  .top-feature .reason-bg {
    padding: 30px 10px;
  }
}
@media (min-width: 768px) {
  .top-feature .reason-bg {
    padding: 50px 40px;
  }
}
@media (min-width: 1200px) {
  .top-feature .reason-bg {
    padding: 50px 80px 80px;
  }
}
.top-feature .items {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
  row-gap: 10px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .top-feature .items {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    row-gap: 24px;
    margin-bottom: 48px;
  }
}
@media (min-width: 992px) {
  .top-feature .items {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.top-feature .item {
  position: relative;
}
.top-feature .item__box {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9);
  width: 84.3%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 8px;
}
@media (min-width: 768px) {
  .top-feature .item__box {
    padding: 10px;
  }
}
.top-feature .item__img {
  aspect-ratio: 266/133;
  width: 100%;
}
@media (min-width: 768px) {
  .top-feature .item__img {
    aspect-ratio: initial;
  }
}
.top-feature .item__content {
  border: 1px solid #1E7A6E;
  padding: 14.5px 12px;
}
@media (min-width: 768px) {
  .top-feature .item__content {
    padding: 26px 16px;
  }
}
.top-feature .item__content-text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 374px) {
  .top-feature .item__content-text {
    font-size: 0.8125rem;
  }
}
@media (min-width: 768px) {
  .top-feature .item__content-text {
    font-size: 1.25vw;
  }
}
@media (min-width: 1400px) {
  .top-feature .item__content-text {
    font-size: 1.125rem;
  }
}
.top-feature .util-link01 {
  margin: 0 auto;
}

/* top-flow */
.top-flow .flow-lists {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .top-flow .flow-lists {
    margin-bottom: 50px;
  }
}
.top-flow .util-link01 {
  margin: 0 auto;
}

.single .util-link02 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.article-inner {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.post-type-archive .main-bg,
.single-post .main-bg,
.single-news .main-bg {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .post-type-archive .main-bg,
  .single-post .main-bg,
  .single-news .main-bg {
    padding-top: 100px;
  }
}
.post-type-archive .fv__title,
.single-post .fv__title,
.single-news .fv__title {
  margin-bottom: 48px;
}
@media (min-width: 768px) {
  .post-type-archive .fv__title,
  .single-post .fv__title,
  .single-news .fv__title {
    margin-bottom: 96px;
  }
}

/*---------------------------------
  お知らせ 一覧ページ
---------------------------------*/
.new-info {
  padding-bottom: 80px;
}
@media (min-width: 992px) {
  .new-info {
    padding-bottom: 120px;
  }
}

.new-info__contents {
  margin-bottom: 56px;
}
@media (min-width: 992px) {
  .new-info__contents {
    margin-bottom: 60px;
  }
}

.new-info__item:first-child {
  border-top: 1px solid #E3E2D2;
}

.new-info__item {
  position: relative;
  border-bottom: 1px solid #E3E2D2;
  display: block;
  font-size: 1rem;
  padding: 20px 16px 20px 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (max-width: 374px) {
  .new-info__item {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .new-info__item {
    padding: 24px 20px 24px 0;
  }
}
.new-info__item:hover .new-info__time,
.new-info__item:hover .new-info__text {
  color: #1E7A6E;
}

.new-info__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8px;
}
@media (max-width: 374px) {
  .new-info__meta {
    display: block;
    margin-bottom: 6px;
  }
}
@media (min-width: 768px) {
  .new-info__meta {
    margin-bottom: 12px;
  }
}

.new-info__time {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #908C82;
  font-size: 0.875rem;
  font-family: "Noto Serif JP", serif;
  margin-right: 14px;
}
@media (min-width: 768px) {
  .new-info__time {
    margin-right: 24px;
    font-size: 1rem;
  }
}

.new-info__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.new-info__tag:not(:last-child) {
  margin-right: 14px;
}
@media (min-width: 768px) {
  .new-info__tag:not(:last-child) {
    margin-right: 28px;
  }
}

.new-info__category:not(:last-child) {
  margin-right: 4px;
}

.new-info__category {
  margin-bottom: 3px;
}

.new-info__text {
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #555;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  width: 100%;
  line-height: 1.46;
}
@media (min-width: 992px) {
  .new-info__text {
    font-size: 1rem;
    line-height: initial;
  }
}

.new-info__time,
.new-info__text {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

/*---------------------------------
  お知らせ 医療ブログ 詳細ページ
---------------------------------*/
/* news */
.news {
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .news {
    padding-bottom: 120px;
  }
}

.blog__row {
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .blog__row {
    margin-bottom: 28px;
  }
}

.news__row {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .news__row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 32px;
  }
}

.news__meta-row,
.blog__meta-row {
  margin-bottom: 5px;
}
@media (min-width: 768px) {
  .news__meta-row,
  .blog__meta-row {
    margin-bottom: 0;
  }
}

.news__meta,
.blog__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.blog__category,
.news__category,
.new-info__category {
  background-color: #fff;
  border: 1px solid #B6D5CB;
  border-radius: 12px;
  color: #6B856D;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 5.5px 18.5px;
  white-space: nowrap;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.blog__category:hover,
.news__category:hover,
.new-info__category:hover {
  opacity: 0.7;
}
.blog__category--blog,
.news__category--blog,
.new-info__category--blog {
  background-color: #1E7A6E;
  color: #fff;
  font-size: 0.625rem;
  padding: 4px 8px;
}
@media (min-width: 768px) {
  .blog__category--blog,
  .news__category--blog,
  .new-info__category--blog {
    font-size: 0.75rem;
    padding: 6px 16px;
  }
}

.new-info__category {
  border-color: #B6D5CB;
  border-radius: 15px;
  color: #6B856D;
  padding: 5.5px 12px;
}

.news__category:not(:last-child),
.blog__category:not(:last-child) {
  margin-right: 4px;
}
@media (min-width: 768px) {
  .news__category:not(:last-child),
  .blog__category:not(:last-child) {
    margin-right: 8px;
  }
}

.news__row-time {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .news__row-time {
    margin-bottom: initial;
  }
}

.blog__row-time {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .blog__row-time {
    margin-bottom: 28px;
  }
}

.news__date,
.blog__date {
  font-size: 0.875rem;
}

.news__date:first-child,
.blog__date:first-child {
  margin-right: 8px;
}
@media (min-width: 992px) {
  .news__date:first-child,
  .blog__date:first-child {
    margin-right: 24px;
  }
}

@media (min-width: 992px) {
  .news__date-icon,
  .blog__date-icon {
    padding-right: 4px;
  }
}
.news__date-icon .fa-clock,
.news__date-icon .fa-arrows-rotate,
.blog__date-icon .fa-clock,
.blog__date-icon .fa-arrows-rotate {
  color: #908C82;
}

.news__date-time,
.blog__date-time {
  color: #908C82;
  font-size: 0.75rem;
  font-family: "Times New Roman", "Noto Serif JP", serif;
}
@media (min-width: 768px) {
  .news__date-time,
  .blog__date-time {
    font-size: 0.875rem;
  }
}

.news__title,
.blog__title {
  color: #525452;
  position: relative;
  border-bottom: 1px solid #E3E2D2;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
  margin-bottom: 24px;
  padding-bottom: 16px;
}
@media (max-width: 374px) {
  .news__title,
  .blog__title {
    font-size: 6.2vw;
  }
}
@media (min-width: 992px) {
  .news__title,
  .blog__title {
    font-size: 1.875rem;
    margin-bottom: 40px;
    padding-bottom: 32px;
  }
}
.news__title--blog,
.blog__title--blog {
  color: #555;
}

.news-thumbnail img,
.blog-thumbnail img {
  margin-bottom: 20px !important;
}
@media (min-width: 992px) {
  .news-thumbnail img,
  .blog-thumbnail img {
    margin-bottom: 30px !important;
  }
}

.news article h2,
.news article h3,
.news article h4,
.news article h5,
.news article h6,
.blog article h2,
.blog article h3,
.blog article h4,
.blog article h5,
.blog article h6 {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
  margin: 2.5rem 0 1rem;
}
@media (min-width: 768px) {
  .news article h2,
  .news article h3,
  .news article h4,
  .news article h5,
  .news article h6,
  .blog article h2,
  .blog article h3,
  .blog article h4,
  .blog article h5,
  .blog article h6 {
    margin: 3.5rem 0 1.25rem;
  }
}

.news article h2,
.blog article h2 {
  position: relative;
  color: #525452;
  font-size: 1.375rem;
  font-weight: 500;
  margin-bottom: 20px;
  padding-bottom: 16px;
}
@media (min-width: 992px) {
  .news article h2,
  .blog article h2 {
    font-size: 1.5rem;
    margin-bottom: 32px;
    padding-bottom: 24px;
  }
}
.news article h2:before,
.blog article h2:before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  width: 80px;
  height: 3px;
  bottom: 0;
  left: 0;
}

.news article h3,
.blog article h3 {
  position: relative;
  color: #525452;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 1rem;
  padding-left: 32px;
}
@media (min-width: 768px) {
  .news article h3,
  .blog article h3 {
    margin-bottom: 1.125rem;
    padding-left: 32px;
  }
}
.news article h3::before,
.blog article h3::before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  width: 16px;
  height: 3px;
  top: 12px;
  left: 0;
}

.news article h4,
.blog article h4 {
  position: relative;
  color: #525452;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.625rem;
  padding-left: 24px;
}
@media (min-width: 768px) {
  .news article h4,
  .blog article h4 {
    margin-top: 40px;
    margin-bottom: 1rem;
  }
}
@media (min-width: 992px) {
  .news article h4,
  .blog article h4 {
    font-size: 1rem;
  }
}
.news article h4::after,
.blog article h4::after {
  position: absolute;
  content: "";
  background-color: #B6D5CB;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  top: 6px;
  left: 0;
}

.news article h5,
.blog article h5 {
  color: #1E7A6E;
  font-size: 0.9375rem;
  font-weight: 600;
  margin-bottom: 0.625rem;
}
@media (min-width: 768px) {
  .news article h5,
  .blog article h5 {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .news article h5,
  .blog article h5 {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
  }
}

.news article p,
.blog article p {
  font-size: 0.9375rem;
  line-height: 1.625;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .news article p,
  .blog article p {
    font-size: 1rem;
  }
}

blockquote {
  position: relative;
  border-top: 3px solid #B6D5CB;
  border-bottom: 3px solid #B6D5CB;
  padding: 24px 0 24px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  margin: 40px 28px 40px;
}
@media (min-width: 992px) {
  blockquote {
    margin: 56px 48px;
    padding: 32px 0;
  }
}
blockquote::before, blockquote::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 24px;
}
@media (min-width: 768px) {
  blockquote::before, blockquote::after {
    width: 32px;
    height: 32px;
  }
}
blockquote::before {
  background: url(../img/common/blockquote-left.png) no-repeat center center/contain;
  top: -20px;
  left: -26px;
}
@media (min-width: 768px) {
  blockquote::before {
    top: -20px;
    left: -48px;
  }
}
blockquote::after {
  background: url(../img/common/blockquote-right.png) no-repeat center center/contain;
  bottom: -20px;
  right: -26px;
}
@media (min-width: 768px) {
  blockquote::after {
    bottom: -20px;
    right: -48px;
  }
}

.news article blockquote p,
.blog article blockquote p {
  position: relative;
  font-size: 0.8125rem;
  margin-bottom: 12px !important;
  line-height: 1.7;
  letter-spacing: 0 !important;
}
@media (min-width: 768px) {
  .news article blockquote p,
  .blog article blockquote p {
    font-size: 0.9375rem;
  }
}

blockquote cite {
  display: block;
  color: #1E7A6E;
  font-size: 0.9em;
  font-style: initial;
  margin-top: 16px;
  margin-bottom: 0;
}

blockquote cite a {
  position: relative;
  color: #908C82 !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  text-decoration: none !important;
  padding-left: 22px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 768px) {
  blockquote cite a {
    font-size: 1rem !important;
  }
}
blockquote cite a::before {
  position: absolute;
  content: "";
  background-color: #B6D5CB;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  top: 6px;
  left: 0;
}
@media (min-width: 768px) {
  blockquote cite a::before {
    top: 7px;
  }
}
blockquote cite a:hover {
  opacity: 0.7;
}

.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
@media (min-width: 768px) {
  .wp-block-media-text .wp-block-media-text__content {
    padding: 0 5%;
  }
}

@media (min-width: 768px) {
  .wp-block-media-text img {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.wp-block-table {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

/*---------------------------------
  医療コラム 一覧ページ
---------------------------------*/
.blog-archive {
  padding-bottom: 64px;
}
@media (min-width: 992px) {
  .blog-archive {
    padding-bottom: 120px;
  }
}

.blog-cards {
  margin-bottom: 56px;
}
@media (min-width: 992px) {
  .blog-cards {
    margin-bottom: 100px;
  }
}

.blog-card {
  background-color: #F7F7F4;
  border-bottom: 1px solid #DBDBDB;
}

.blog-card:first-child {
  border-top: 1px solid #DBDBDB;
}

.blog-card__date {
  line-height: 1;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .blog-card__date {
    margin-bottom: 8px;
  }
}

.blog-card__time {
  color: #908C82;
  font-size: 0.875rem;
  display: block;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .blog-card__time {
    font-size: 1rem;
  }
}

.blog-card__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .blog-card__tag {
    margin-bottom: 16px;
  }
}

.blog-card__tag .blog__category:not(:last-child) {
  margin-right: 6px;
}

.blog .blog__content a {
  color: #0074D9;
}

.blog-link {
  padding-top: 20px;
  padding-bottom: 20px;
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .blog-link {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}
.blog-link:hover .blog-contents__title {
  color: #1E7A6E;
}
.blog-link:hover .blog-contents__img img {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}

.blog-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.blog-link:not(:last-child) {
  margin-bottom: 32px;
}

.blog-contents__img {
  position: relative;
  aspect-ratio: 120/63;
  overflow: hidden;
  height: auto;
  width: 35.82%;
  margin-right: 4.17%;
}
@media (min-width: 768px) {
  .blog-contents__img {
    aspect-ratio: 260/137;
    width: 26%;
  }
}
.blog-contents__img img {
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  top: 0;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.blog-contents__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 62%;
}
@media (min-width: 768px) {
  .blog-contents__content {
    width: 71%;
  }
}

.blog-contents__title {
  font-size: 0.875rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (min-width: 768px) {
  .blog-contents__title {
    font-size: 1.375rem;
    line-height: initial;
  }
}

/*---------------------------------
  医療コラム 詳細ページ
---------------------------------*/
.single-post .blog__contents {
  border-bottom: 1px solid #E3E2D2;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .single-post .blog__contents {
    padding-bottom: 80px;
  }
}

.blog {
  background-color: #fff;
  margin-bottom: 50px;
  padding: 20px 20px 40px;
}
@media (min-width: 768px) {
  .blog {
    margin-bottom: 100px;
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .blog {
    padding: 60px 100px 100px;
  }
}

.blog article p {
  letter-spacing: 0.02em;
}

.news article ol,
.blog article ol {
  -webkit-padding-start: 2em;
          padding-inline-start: 2em;
  margin-bottom: 1rem;
}

.news article ol li,
.blog article ol li {
  font-weight: 400;
  list-style-type: decimal;
}

.news article ul,
.blog article ul {
  margin-bottom: 1rem;
  -webkit-padding-start: 2em;
          padding-inline-start: 2em;
}

.news article ul li,
.blog article ul li {
  font-weight: 400;
  list-style-type: disc;
  line-height: 1.5;
}

.news article ol li:not(:last-child),
.blog article ol li:not(:last-child),
.news article ul li:not(:last-child),
.blog article ul li:not(:last-child) {
  margin-bottom: 8px;
}

.news .news__content a,
.blog .blog__content a {
  color: #0000ff;
  font-style: initial;
}

.blog article a,
.news article a {
  text-decoration: underline;
}

.wp-block-image figcaption {
  font-size: calc(0.625rem * 1.4) !important;
}

.wp-block-image {
  margin: 0 0 0.875rem 0;
}
@media (min-width: 992px) {
  .wp-block-image {
    margin: 0 0 2rem 0;
  }
}

.wp-block-image :where(figcaption) {
  margin-bottom: initial;
  margin-top: 0.8em;
}

.wp-block-list li::marker {
  color: #1E7A6E;
}

.wp-block-list.is-style-default li {
  list-style-type: disc !important;
}

.wp-block-list[class*=is-style-sme-list] li,
.wp-block-list[class*=is-style-vk-] li {
  list-style-type: none !important;
}

.blog__content ol.is-style-default li {
  list-style-type: decimal !important;
}

/*---------------------------------
  関連記事
---------------------------------*/
.related-box {
  background-color: #fff;
  padding: 40px 16px;
}
@media (min-width: 768px) {
  .related-box {
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .related-box {
    padding: 60px;
  }
}

.related-posts__title {
  position: relative;
  font-size: 1.375rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  margin-bottom: 24px;
  padding-bottom: 16px;
}
@media (min-width: 992px) {
  .related-posts__title {
    font-size: 1.5rem;
    margin-bottom: 32px;
    padding-bottom: 24px;
  }
}
.related-posts__title:before {
  position: absolute;
  content: "";
  background-color: #1E7A6E;
  width: 53px;
  height: 2px;
  bottom: 0;
  left: 0;
}
@media (min-width: 768px) {
  .related-posts__title:before {
    width: 80px;
    height: 3px;
  }
}

.related-posts {
  padding-bottom: 40px;
}
@media (min-width: 992px) {
  .related-posts {
    padding-bottom: 100px;
  }
}
.related-posts .blog-cards {
  margin-bottom: 0;
}
.related-posts .blog-card {
  background-color: #F7F7F4;
  border-bottom: 1px solid #DBDBDB;
}
.related-posts .blog-card:first-child {
  border-top: 1px solid #DBDBDB;
}
.related-posts .blog-card__date {
  line-height: 1;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .related-posts .blog-card__date {
    margin-bottom: 8px;
  }
}
.related-posts .blog-card__time {
  color: #908C82;
  font-size: 0.875rem;
  display: block;
  font-family: "Times New Roman", "Noto Serif JP", serif;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .related-posts .blog-card__time {
    font-size: 1rem;
  }
}
.related-posts .blog-card__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .related-posts .blog-card__tag {
    margin-bottom: 16px;
  }
}
.related-posts .blog-card__tag .blog__category:not(:last-child) {
  margin-right: 6px;
}
.related-posts .blog .blog__content a {
  color: #0074D9;
}
.related-posts .blog-link {
  padding-top: 20px;
  padding-bottom: 20px;
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .related-posts .blog-link {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}
.related-posts .blog-link:hover .blog-contents__title {
  color: #1E7A6E;
}
.related-posts .blog-link:hover .blog-contents__img img {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}
.related-posts .blog-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.related-posts .blog-link:not(:last-child) {
  margin-bottom: 32px;
}
.related-posts .blog-contents__img {
  position: relative;
  aspect-ratio: 120/63;
  overflow: hidden;
  height: auto;
  width: 35.82%;
  margin-right: 4.17%;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__img {
    aspect-ratio: 260/137;
    width: 26%;
  }
}
.related-posts .blog-contents__img img {
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  top: 0;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.related-posts .blog-contents__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 62%;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__content {
    width: 71%;
  }
}
.related-posts .blog-contents__title {
  font-size: 0.875rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__title {
    font-size: 1.375rem;
    line-height: initial;
  }
}

.news__meta a,
.blog__meta a {
  text-decoration: initial !important;
}

/*---------------------------------
  投稿ページ youtube
---------------------------------*/
.wp-block-embed.wp-block-embed-youtube {
  margin-top: 32px;
  margin-bottom: 32px;
}

.wp-has-aspect-ratio {
  position: relative;
}

.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  margin: auto;
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.wp-block-embed > figcaption {
  color: inherit;
  display: block !important;
  font-size: 1em;
  line-height: 1.4;
  margin-bottom: 0;
  margin-top: 0.75em;
  opacity: 0.8;
  text-align: center;
}

.single .column-archive {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .single .column-archive {
    margin-top: 60px;
  }
}

.column-archive {
  text-align: center;
}
.column-archive .util-link01 {
  display: inline-block;
  margin: auto;
}

.single-news .column-archive {
  margin-bottom: 0;
}
.single-news .news__contents {
  border-bottom: 1px solid #E3E2D2;
  margin-bottom: 40px;
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .single-news .news__contents {
    margin-bottom: 60px;
    padding-bottom: 80px;
  }
}

.single .blog__content > :first-child h2,
.single .blog__content div > :first-child h2 {
  margin: 2.5rem 0 1rem !important;
}
@media (min-width: 768px) {
  .single .blog__content > :first-child h2,
  .single .blog__content div > :first-child h2 {
    margin: 4.5rem 0 1.25rem !important;
  }
}

/*---------------------------------
  お知らせ、医療コラム一覧ページ ページトップのカテゴリ
---------------------------------*/
.category-box {
  margin-bottom: 48px;
}
@media (min-width: 992px) {
  .category-box {
    margin-bottom: 64px;
  }
}

.category-box-wrapper {
  margin: auto;
  max-width: 1040px;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
}

.category__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.category__item {
  background-color: transparent;
  border-bottom: 1px solid #D9D5C8;
  border-radius: 0;
  margin-bottom: 14px;
}
.category__item:not(:last-child) {
  margin-right: 0;
}

.category__item a {
  position: relative;
  color: #908C82;
  font-size: 0.875rem;
  font-weight: 500;
  display: block;
  text-align: center;
  padding: 10px 16px 12px;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
@media (min-width: 992px) {
  .category__item a {
    font-size: 1rem;
    padding: 0 24px 16px;
  }
}
.category__item a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #1E7A6E;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.category__item a:hover {
  color: #1E7A6E;
}
.category__item a:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.category__item a.is-active {
  color: #1E7A6E;
  font-weight: 700;
}
.category__item a.is-active::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

/* faq */
.faq-items__box {
  position: relative;
  border-bottom: 1px solid #E3E2D2;
}

.faq-items__box:first-child {
  border-top: 1px solid #E3E2D2;
}

.faq-items__question {
  position: relative;
  cursor: pointer;
  color: #525452;
  font-size: 1rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1.4;
  padding: 20px 35px 20px 0;
}
@media (min-width: 576px) {
  .faq-items__question {
    padding-right: 38px;
  }
}
@media (min-width: 768px) {
  .faq-items__question {
    padding: 32px 64px 32px 0;
    line-height: 1.2;
  }
}
@media (min-width: 992px) {
  .faq-items__question {
    font-size: 1.125rem;
    padding: 29.5px 40px 29.5px 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

.faq-items__question-icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 12px;
  height: 12px;
}
@media (min-width: 768px) {
  .faq-items__question-icon {
    right: 8px;
  }
}
.faq-items__question-icon.is-open .faq-items__question-bar2 {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

.faq-items__question-bar1 {
  position: absolute;
  width: 12px;
  height: 1px;
  background-color: #6B856D;
  border: 20px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.faq-items__question-bar2 {
  position: absolute;
  width: 1px;
  height: 12px;
  background-color: #6B856D;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}

.faq-items__answer {
  position: relative;
  background-color: #fff;
  border-radius: 0 0 8px 8px;
  display: none;
  margin-bottom: 20px;
}

.faq-items__answer-text:not(:last-child) {
  margin-bottom: 16px;
}

.faq-items__answer-content {
  position: relative;
  padding: 16px 20px;
}

.faq-items__answer-text {
  font-size: 0.9375rem;
  line-height: 1.5;
}
.faq-items__answer-text a {
  color: #3D8EDF;
  text-decoration: underline;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.faq-items__answer-text a:hover {
  opacity: 0.7;
}

html {
  font-size: 100%;
}

body {
  color: #555;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
}
@media (max-width: 374px) {
  body {
    font-size: 0.875rem;
  }
}
@media (min-width: 992px) {
  body {
    font-size: 1rem;
  }
}
body p {
  font-weight: 400;
}

body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

img {
  max-width: 100%;
  height: auto;
}

.inner {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.inner01 {
  max-width: 1160px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.inner02 {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.only-pc {
  display: none;
}
@media (min-width: 768px) {
  .only-pc {
    display: block;
  }
}

@media (min-width: 768px) {
  .only-sp {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */