@charset "UTF-8";
/*
Theme Name: iwahashi dental clinic
*/
body {
  font-size: 16px;
  color: #000;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  background: #fff;
  overflow-x: visible !important;
}
body.is-checked {
  overflow: hidden;
  -ms-scroll-chaining: none;
      overscroll-behavior: none; /* スクロールチェーン無効化 */
  -webkit-overflow-scrolling: auto; /* iOSの慣性スクロールを止める */
}
body.no-scroll {
  overflow: hidden;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .sm {
    display: inline;
  }
}
@media screen and (min-width: 768px) {
  .sm {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .md {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .md {
    display: inline;
  }
}

.lg {
  display: none;
}
@media screen and (min-width: 900px) {
  .lg {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .hidden-sm {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .hidden-md {
    display: none;
  }
}

@media screen and (min-width: 900px) {
  .hidden-lg {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .hidden-xl {
    display: none;
  }
}

.tab__br {
  display: none;
}
@media screen and (min-width: 768px) {
  .tab__br {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .tab__br {
    display: none;
  }
}

.xl__br {
  display: none;
}
@media screen and (min-width: 1200px) {
  .xl__br {
    display: block;
  }
}

/*
Theme Name: iwahashi dental clinic
*/
.medical__lists {
  margin-top: 67px;
  display: grid;
  gap: 20px; /* 列間の余白 */
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 1200px) {
  .medical__lists {
    grid-template-columns: repeat(3, 1fr); /* デフォルトは3列 */
  }
}
@media screen and (max-width: 767px) {
  .medical__lists {
    margin-top: 22px;
    gap: 14px;
  }
}

.medical__list {
  border-radius: 20px;
  border: 1px solid #cebe86;
  background: #f8f3e9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 5px 16px 30px;
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
@media screen and (max-width: 767px) {
  .medical__list {
    padding: 1.86vw 2px 8px 1.5vw;
    gap: 8px;
  }
}
.medical__list.is-visible {
  -webkit-animation: fadeUp 0.5s ease-out forwards;
          animation: fadeUp 0.5s ease-out forwards;
}
.medical__list:hover {
  -webkit-filter: opacity(70%);
          filter: opacity(70%);
}

.medical__list.is-visible:nth-child(1) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.medical__list.is-visible:nth-child(2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.medical__list.is-visible:nth-child(3) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.medical__list.is-visible:nth-child(4) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.medical__list.is-visible:nth-child(5) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.medical__list.is-visible:nth-child(6) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.medical__list.is-visible:nth-child(7) {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

.medical__list.is-visible:nth-child(8) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.medical__list.is-visible:nth-child(9) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}

.medical__list.is-visible:nth-child(10) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.medical__list.is-visible:nth-child(11) {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}

.medical__list.is-visible:nth-child(12) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

.medical__list.is-visible:nth-child(13) {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}

.medical__list.is-visible:nth-child(14) {
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
}

@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.medical__list-img img {
  width: 91px;
  height: 91px;
}
@media screen and (max-width: 767px) {
  .medical__list-img img {
    width: 10.6vw;
    height: 10.6vw;
  }
}

.medical__list-text {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 767px) {
  .medical__list-text {
    font-size: min(9px, 2.09vw);
    display: none;
  }
}

.medical__list-lead {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .medical__list-lead {
    font-size: 17px;
    font-size: min(17px, 4.35vw);
  }
}

@media screen and (max-width: 767px) {
  .medical__list-lead-sm {
    font-size: min(13px, 3.02vw);
  }
}

.table-of-contents .medical__lists {
  border-radius: 20px;
  width: 100%; /* 親(page__lists)いっぱい */
  max-width: 1400px; /* デザイン幅 */
  margin: 0 auto;
  right: 0; /* 両端そろえ */
  padding: 40px 20px;
  background: #fff;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 900px) {
  .table-of-contents .medical__lists {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .table-of-contents .medical__lists {
    grid-template-columns: repeat(4, 1fr); /* 横4列にする */
  }
}
.table-of-contents .medical__lists .medical__list {
  border-radius: 20px;
  border: 1px solid #cebe86;
  background: #f8f3e9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 1px 10px 22px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.table-of-contents .medical__lists .medical__list:hover {
  opacity: 0.7;
}
.table-of-contents .medical__list-img img {
  width: 46px;
  height: 46px;
}
@media screen and (max-width: 767px) {
  .table-of-contents .medical__list-img img {
    width: 10.69vw;
    height: 10.69vw;
  }
}
.table-of-contents .medical__list-text {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .table-of-contents .medical__list-text {
    font-size: 9px;
  }
}
.table-of-contents .medical__list-lead {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .table-of-contents .medical__list-lead {
    font-size: min(18px, 4.18vw);
  }
}
.table-of-contents .medical__list-lead__small {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .table-of-contents .medical__list-lead__small {
    font-size: min(10px, 3.25vw);
  }
}

.drawer-content .medical__lists,
.l-medical .medical__lists {
  gap: 20px; /* 列間・行間の余白 */
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__lists,
  .l-medical .medical__lists {
    gap: 14px;
  }
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__lists,
  .l-medical .medical__lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 900px) {
  .drawer-content .medical__lists,
  .l-medical .medical__lists {
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .drawer-content .medical__lists,
  .l-medical .medical__lists {
    margin-top: 67px;
    grid-template-columns: repeat(4, 1fr); /* 横4列にする */
  }
}
.drawer-content .medical__list,
.l-medical .medical__list {
  border-radius: 20px;
  border: 1px solid #cebe86;
  background: #f8f3e9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 1px 10px 22px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__list,
  .l-medical .medical__list {
    padding: 8px 2px 8px 12px;
  }
}
.drawer-content .medical__list:hover,
.l-medical .medical__list:hover {
  opacity: 0.7;
}
.drawer-content .medical__list-img img,
.l-medical .medical__list-img img {
  width: 46px;
  height: 46px;
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__list-img img,
  .l-medical .medical__list-img img {
    width: 10.69vw;
    height: 10.69vw;
  }
}
.drawer-content .medical__list-text,
.l-medical .medical__list-text {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__list-text,
  .l-medical .medical__list-text {
    font-size: 9px;
  }
}
.drawer-content .medical__list-lead,
.l-medical .medical__list-lead {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__list-lead,
  .l-medical .medical__list-lead {
    font-size: min(18px, 4.18vw);
  }
}
.drawer-content .medical__list-lead__small,
.l-medical .medical__list-lead__small {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .drawer-content .medical__list-lead__small,
  .l-medical .medical__list-lead__small {
    font-size: min(10px, 3.25vw);
  }
}

.l-medical {
  padding-top: 52px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .l-medical {
    padding-top: 36px;
    padding-bottom: 108px;
  }
}

/*
Theme Name: iwahashi dental clinic
*/
.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20;
  color: #fff;
  height: 92px;
  background: #fff;
  padding-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .header {
    height: 64px;
  }
}

.header__inner {
  padding-left: 24px;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header__inner {
    height: 64px;
    padding-left: 8px;
  }
}
@media screen and (min-width: 900px) {
  .header__inner {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.header__logo {
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .header__logo {
    padding-top: 8px;
  }
}

.header__logo-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .header__logo-link {
    gap: 6px;
  }
}
.header__logo-link:hover {
  opacity: 0.7;
}

.header__logo-img svg {
  height: 60px;
}
@media screen and (max-width: 767px) {
  .header__logo-img svg {
    width: 51px;
    height: 26px;
  }
}

@media screen and (max-width: 767px) {
  .header__logo-text svg {
    width: 148px;
  }
}

.header__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  padding-right: 12px;
}
@media screen and (max-width: 767px) {
  .header__links {
    padding-right: 6px;
    gap: 8px;
  }
}
@media screen and (min-width: 768px) {
  .header__links {
    padding-top: 6px;
  }
}

.contact__link {
  color: #eba063;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  display: none;
}
@media screen and (min-width: 900px) {
  .contact__link {
    display: block;
  }
}

.tel__link {
  display: none;
}
@media screen and (min-width: 1200px) {
  .tel__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .tel__link img {
    width: 32.958px;
    height: 42px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .tel__link span {
    color: #666a75;
    font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 0.96px;
  }
}

@media screen and (max-width: 767px) {
  .tel__link-sm {
    padding-right: 16px;
  }
  .tel__link-sm img {
    width: 48px;
    height: 48px;
  }
}
@media screen and (min-width: 768px) {
  .tel__link-sm img {
    width: 68px;
  }
}

.drawer-icon {
  width: 77px;
  height: 71px;
  border-radius: 10px;
  background: #e7b88f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 8px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .drawer-icon {
    width: 48px;
    height: 48px;
    border-radius: 7px;
  }
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(1) {
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
  top: 22px;
}
@media screen and (max-width: 767px) {
  .drawer-icon.is-checked .drawer-icon__bar:nth-child(1) {
    top: 12px;
  }
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(2) {
  opacity: 0;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-child(3) {
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
  top: 22px;
}
@media screen and (max-width: 767px) {
  .drawer-icon.is-checked .drawer-icon__bar:nth-child(3) {
    top: 12px;
  }
}

.drawer-icon__bar {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 34px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  -webkit-transition: top 0.1s linear, -webkit-transform 0.3s linear;
  transition: top 0.1s linear, -webkit-transform 0.3s linear;
  transition: transform 0.3s linear, top 0.1s linear;
  transition: transform 0.3s linear, top 0.1s linear, -webkit-transform 0.3s linear;
}
@media screen and (max-width: 767px) {
  .drawer-icon__bar {
    width: 18px;
    height: 1px;
  }
}
.drawer-icon__bar:nth-child(1) {
  top: 16px;
}
@media screen and (max-width: 767px) {
  .drawer-icon__bar:nth-child(1) {
    top: 11px;
  }
}
.drawer-icon__bar:nth-child(2) {
  top: 27px;
}
@media screen and (max-width: 767px) {
  .drawer-icon__bar:nth-child(2) {
    top: 16px;
  }
}
.drawer-icon__bar:nth-child(3) {
  top: 38px;
}
@media screen and (max-width: 767px) {
  .drawer-icon__bar:nth-child(3) {
    top: 21px;
  }
}

.drawer-icon__text {
  position: absolute;
  bottom: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 12px;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .drawer-icon__text {
    font-size: 8px;
  }
}

.drawer-content {
  background: #fff;
  padding: 56px 30px;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 92px;
  height: calc(100% - 92px);
  right: 0;
  opacity: 0;
  -webkit-transform: translateY(-150%);
          transform: translateY(-150%);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  overflow-y: auto; /* ← 縦スクロールを許可 */
  -ms-scroll-chaining: none;
      overscroll-behavior: none; /* 下に引っ張っても背景に伝播しない */
  -webkit-overflow-scrolling: touch; /* ← autoではなくtouchが自然 */
  z-index: 500;
}
@media screen and (max-width: 767px) {
  .drawer-content {
    padding: 20px 18px 36px;
    top: 64px;
    height: calc(100% - 64px);
  }
}
.drawer-content.is-checked {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.drawer-content__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 40px;
  padding-inline: 42px;
}
@media screen and (max-width: 767px) {
  .drawer-content__menu {
    padding-inline: 0;
    gap: 18px;
  }
}
@media screen and (min-width: 1200px) {
  .drawer-content__menu {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.drawer-content__list {
  display: grid; /* flex → grid に切り替え */
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 16px 24px; /* 縦16px・横24pxの余白 */
  justify-items: center; /* 中央寄せ */
}
@media screen and (max-width: 767px) {
  .drawer-content__list {
    font-size: 10px;
  }
}
@media screen and (min-width: 1200px) {
  .drawer-content__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 38px; /* 各メニューの間隔 */
  }
}

.drawer-content__list li {
  width: 109px;
}
.drawer-content__list li a {
  position: relative;
  display: inline-block;
  font-size: 14px;
  color: #333;
  text-decoration: none;
  padding-bottom: 4px;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.drawer-content__list li a:hover {
  opacity: 0.7;
}
.drawer-content__list li a:hover::after {
  right: -2px;
}
.drawer-content__list li a:hover::before {
  background: #333;
}

.drawer-content__list li a::after {
  position: absolute;
  content: "→";
  right: 0;
  font-size: 12px;
  color: #999;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.drawer-content__list li a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #ddd;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.drawer-content__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 34px;
}
@media screen and (max-width: 767px) {
  .drawer-content__icons {
    gap: 20px;
  }
}
.drawer-content__icons img {
  width: 28px;
}
.drawer-content__icons a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.drawer-content__icons a:hover {
  opacity: 0.7;
}

.drawer-content__footer {
  display: none;
}
@media screen and (min-width: 1200px) {
  .drawer-content__footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-inline: 55px;
    margin: 22px auto 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.drawer-content__footer-text {
  color: #272727;
  font-size: 21px;
  font-weight: 400;
  line-height: 26px; /* 123.81% */
  letter-spacing: 1.05px;
}

.drawer-content__footer-link {
  margin-left: 16px;
}

.drawer-content__footer-button {
  margin-left: 66px;
}

/*
Theme Name: iwahashi dental clinic
*/
.fv__content-hours {
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  right: 22px;
  bottom: 35px;
  padding: 10px 16px;
  max-width: 720px;
  margin: 0 auto;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: none;
}
@media screen and (min-width: 900px) {
  .fv__content-hours {
    display: block;
  }
}

.hours-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  margin-bottom: 16px;
}
.hours-table tr {
  border-bottom: 1px solid #ccc;
}
.hours-table th,
.hours-table td {
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.24px;
}
@media screen and (max-width: 767px) {
  .hours-table th,
  .hours-table td {
    padding: 2px;
  }
}
.hours-table td:first-child {
  text-align: right;
  padding-right: 14px !important;
}
.hours-table th {
  font-weight: 500;
}
.hours-table td {
  font-weight: 400;
}
.hours-table td.holiday {
  color: #e53935;
  font-weight: bold;
}
.hours-table .table__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px; /* 200% */
  letter-spacing: 7.2px;
  gap: 2px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 900px) {
  .hours-table .table__head {
    gap: 12px;
    padding-bottom: 2px;
    padding-right: 3px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
@media screen and (min-width: 900px) {
  .hours-table .table__head .table__head-svg {
    width: 16px;
    height: 14px;
    position: relative;
    top: 2px;
  }
}
.hours-table .table__head svg {
  width: 12.537px;
  height: 12.537px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 900px) {
  .hours-table .table__head svg {
    width: 16px;
    height: 14px;
  }
}

.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 900px) {
  .center {
    display: block;
  }
}

.table__orange {
  color: #ef8f41;
}

.hours-note {
  font-size: 12px;
  color: #4a4a4a;
  font-size: 9px;
  font-weight: 350;
  letter-spacing: 0.45px;
  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; /* 右寄せにしたい場合 */
  gap: 2px;
}

.hours-note__saturday,
.hours-note__text {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* paddingがある場合も含めて幅を固定 */
}
.hours-note__saturday {
  font-size: 12px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .hours-note__saturday {
    font-size: 10px;
  }
}

.hours-note__text {
  font-size: 12px;
  font-weight: 350;
  letter-spacing: 0.4px;
  width: 100%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .hours-note__text {
    font-size: 10px;
  }
}

.table__time {
  color: #3a3a3a;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.24px;
}

.table__mark {
  color: #ef8f41;
  font-size: 10px;
  letter-spacing: 0.2px;
}

.table__border {
  color: #3a3a3a;
  font-size: 11px;
  letter-spacing: 0.22px;
}

.table__red {
  color: #ff6461;
}

.holiday {
  font-size: 10px;
}
@media screen and (max-width: 767px) {
  .holiday {
    font-size: 8px;
    text-align: right;
  }
}

.hours__table-content {
  padding: min(36px, 6vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  .hours__table-content {
    padding-top: 32px;
  }
}
.hours__table-content::after {
  content: "";
  position: absolute;
  background: -webkit-gradient(linear, left top, right top, color-stop(75.71%, rgba(0, 0, 0, 0.2)), color-stop(97.14%, rgba(0, 0, 0, 0))), rgba(25, 230, 93, 0.3);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 75.71%, rgba(0, 0, 0, 0) 97.14%), rgba(25, 230, 93, 0.3);
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
}
.hours__table-content .hours-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  margin-bottom: 16px;
}
.hours__table-content .hours-table .table__head {
  gap: 12px;
  font-size: 14px;
  padding-bottom: 2px;
  padding-right: 3px;
}
.hours__table-content .hours-table .table__head-svg {
  width: 16px;
  height: 14px;
  position: relative;
  top: 2px;
}
.hours__table-content .hours-table tr {
  border-bottom: 1px solid #ccc;
}
.hours__table-content .hours-table th,
.hours__table-content .hours-table td {
  padding: 8px;
}
@media screen and (max-width: 767px) {
  .hours__table-content .hours-table th,
  .hours__table-content .hours-table td {
    padding: 4px;
  }
}

.company__content-table {
  background: rgba(255, 255, 255, 0.9);
  right: 22px;
  bottom: 20px;
  padding: 10px 16px;
  max-width: 420px;
  width: 100%;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .company__content-table {
    padding: min(6px, 1.39vw);
  }
}
.company__content-table .table__head {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 12px;
  font-size: 14px;
  padding-bottom: 2px;
  padding-right: 3px;
  -webkit-box-align: normal;
      -ms-flex-align: normal;
          align-items: normal;
}
@media screen and (max-width: 767px) {
  .company__content-table .table__head {
    gap: 8px;
  }
}
.company__content-table .table__head .table__head-svg {
  width: 16px;
  height: 14px;
  position: relative;
  top: 2px;
}
.company__content-table .hours-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  margin-bottom: 16px;
}
.company__content-table .hours-table tr {
  border-bottom: 1px solid #ccc;
}
.company__content-table .hours-table th,
.company__content-table .hours-table td {
  padding: 8px;
}

/*
Theme Name: iwahashi dental clinic
*/
.qa {
  padding-top: 158px;
  padding-bottom: 136px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .qa {
    padding-bottom: 34px;
  }
}
.qa::after {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  top: 0;
  right: 0;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .qa::after {
    width: 112.701px;
    height: 112.701px;
    top: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.qa__boxes {
  margin: 78px auto 0;
  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;
  gap: 12px;
}

.qa-box {
  max-width: 896px;
  width: 100%;
  border-bottom: 1px solid hsla(0, 0%, 54%, 0.3);
}
.qa-box.is-open .qa-box__plus::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.qa-box__head {
  padding: 11px 14px 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .qa-box__head {
    padding-inline: 0px;
    padding-bottom: 18px;
    gap: 12px;
  }
}

.qa-box__icon {
  color: #eba063;
  font-family: "Noto Serif Myanmar", serif;
  font-size: 24px;
  letter-spacing: 2.88px;
  height: 20px;
}
@media screen and (max-width: 767px) {
  .qa-box__icon {
    font-size: min(24px, 5.58vw);
  }
}

.qa-box__text {
  color: #3a3a3a;
  line-height: 24px; /* 150% */
  letter-spacing: 0.48px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .qa-box__text {
    font-size: 13px;
    letter-spacing: -0.39px;
    padding-right: 10px;
  }
}

.qa-box__plus {
  position: relative;
  margin-left: auto;
}
.qa-box__plus::after {
  content: "";
  position: absolute;
  background: url(../img/qa-icon.png) no-repeat center center/contain;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.qa-box__body {
  display: none;
}

.qa-box__a {
  padding: 0px 14px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .qa-box__a {
    padding-inline: 0;
    gap: 12px;
  }
}

.qa-box__a-icon {
  color: #6392eb;
  font-family: "Noto Serif Myanmar", serif;
  font-size: 24px;
  letter-spacing: 3.36px;
  height: 20px;
  padding-top: 5px;
}
@media screen and (max-width: 767px) {
  .qa-box__a-icon {
    font-size: min(24px, 5.58vw);
  }
}

.qa-box__a-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .qa-box__a-text {
    font-size: 13px;
  }
}

.qa__footer {
  margin-top: 125px;
}
@media screen and (max-width: 767px) {
  .qa__footer {
    margin-top: 42px;
  }
}

.qa__footer-text {
  text-align: center;
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .qa__footer-text {
    font-size: 11px;
    letter-spacing: -0.22px;
  }
}

/*
Theme Name: iwahashi dental clinic
*/
/* ===== テーブル部分 ===== */
.info-table {
  margin: 24px auto 0;
  max-width: 970px;
  width: 100%;
  border-collapse: collapse;
  background-color: #fffaf2;
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .info-table {
    margin-top: 32px;
  }
}

.info-table__th,
.info-table__td {
  border-bottom: 1px solid #fff;
  padding: 16px 20px;
  text-align: left;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .info-table__th,
  .info-table__td {
    padding: 10px;
    font-size: 13px;
  }
}

.info-table__th {
  width: 20%;
  background: #f2e9dc;
  color: #4b4b4b;
  min-width: 78px;
}

.info-table__td {
  color: #2e2323;
  font-weight: 350;
  background: #f8f7f6;
}

.info-table__th--top,
.info-table__td--top {
  vertical-align: top;
}

.info-table__td a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.info-table__td a:hover {
  color: #1a73e8;
}

.info__lists {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

.info__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .info__list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.info__list-lead {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}

.info__list-text {
  font-size: 15px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.24px;
}

/* ===== method table ===== */
.method__table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .method__table .method-table {
    min-width: 400px;
  }
}

.method-table {
  margin: 58px auto 0;
  max-width: 1050px;
  width: 100%;
  border-collapse: collapse;
  background-color: #f9fbf5; /* 全体背景を少し柔らかく */
  border-radius: 12px;
  overflow: hidden;
  font-size: 15px;
}

/* ヘッダー */
.method-table__th {
  background: #f2e9dc;
  color: #4a4a4a;
  font-weight: 500;
  letter-spacing: 0.32px;
  padding: 16px;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 900px) {
  .method-table__th {
    padding: 16px 20px;
  }
}

.method-table__head th:nth-child(1) {
  width: 36%;
}

.method-table__head th:nth-child(2) {
  width: 37%;
}

.method-table__head th:nth-child(3) {
  width: 27%;
  text-align: center;
}

/* ボディ */
.method-table__td {
  background: #f8f7f6;
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.24px;
  padding: 16px;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 900px) {
  .method-table__td {
    padding: 26px 56px;
  }
}

.method-table__th,
.method-table__td {
  border-right: 1px solid #fff; /* 縦線を追加 */
  vertical-align: middle; /*上下中央寄せ */
}

.method-table__th:last-child,
.method-table__td:last-child {
  border-right: none; /* 最後の列だけ消す */
}

/* 価格部分（赤文字など） */
.method-table__td--price {
  color: #d24343;
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.28px;
  padding: 12px;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .method-table__td--price {
    padding: 12px 50px;
  }
}

.method-table__td--price span {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 400;
}

/* テーブルの角丸表現 */
.method-table tr:last-child td:first-child {
  border-bottom-left-radius: 12px;
}

.method-table tr:last-child td:last-child {
  border-bottom-right-radius: 12px;
}

/* ===== guide table ===== */
/* 上の説明文 */
.guide__table-lead {
  font-size: 14px;
  text-align: center;
  color: #4a4a4a;
  margin-bottom: 24px;
  letter-spacing: 0.3px;
}

.guide__table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .guide__table .guide-table {
    min-width: 646px;
  }
}

.guide-table {
  margin: 86px auto 0;
  max-width: 1050px;
  width: 100%;
  border-collapse: collapse;
  background-color: #f9fbf5;
  border-radius: 10px;
  overflow: hidden;
  font-size: 14px;
}

/* ヘッダー */
.guide-table__th {
  background: #f2e9dc;
  color: #4a4a4a;
  font-weight: 500;
  letter-spacing: 0.32px;
  padding: 12px;
  border-bottom: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
}
@media screen and (min-width: 900px) {
  .guide-table__th {
    padding: 14px 20px;
  }
}

.guide-table__head th:nth-child(1) {
  width: 15%;
}

.guide-table__head th:nth-child(2) {
  width: 28%;
}
@media screen and (max-width: 767px) {
  .guide-table__head th:nth-child(2) {
    width: 25%;
  }
}

.guide-table__head th:nth-child(3) {
  width: 14px;
}

.guide-table__head th:nth-child(4) {
  width: 16%;
}

.guide-table__head th:nth-child(5) {
  width: 26%;
}

/* ボディ */
.guide-table__td {
  background: #f8f7f6;
  padding: 12px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.28px;
}
@media screen and (min-width: 900px) {
  .guide-table__td {
    padding: 18px 20px;
  }
}

.guide-table__td:nth-child(2) {
  text-align: left;
}

.guide-table__td--score {
  color: #e08b60;
}

/* 価格部分 */
.guide-table__td--price {
  color: #d24343;
}

.guide-table__th,
.guide-table__td {
  border-right: 1px solid #fff; /* ← ベージュ系の柔らかい縦線 */
}

.guide-table__th:last-child,
.guide-table__td:last-child {
  border-right: none; /* 最後の列だけ消す */
}

/* 角丸処理 */
.guide-table tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.guide-table tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

/* ===== cost table ===== */
.cost__table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .cost__table .cost-table {
    min-width: 646px;
  }
}

.cost-table {
  margin: 40px auto 0;
  max-width: 1050px;
  width: 100%;
  border-collapse: collapse;
  background-color: #f9fbf5;
  border-radius: 10px;
  overflow: hidden;
  font-size: 14px;
}

/* ヘッダー */
.cost-table__th {
  background: #f2e9dc;
  color: #4a4a4a;
  font-weight: 500;
  letter-spacing: 0.32px;
  padding: 12px;
  border-bottom: 1px solid #fff;
  text-align: center;
  vertical-align: middle;
}
@media screen and (min-width: 900px) {
  .cost-table__th {
    padding: 14px 20px;
  }
}

.cost-table__head th:nth-child(1) {
  width: 22%;
}

.cost-table__head th:nth-child(2) {
  width: 32%;
}

.cost-table__head th:nth-child(3),
.cost-table__head th:nth-child(4) {
  width: 14%;
}

.cost-table__head th:nth-child(5) {
  width: 18%;
}

/* ボディ */
.cost-table__td {
  background: #f8f7f6;
  padding: 12px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  vertical-align: middle;
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.28px;
}
@media screen and (min-width: 900px) {
  .cost-table__td {
    padding: 18px 20px;
  }
}

.cost-table__td:nth-child(2) {
  text-align: left;
}

.cost-table__td--small {
  font-size: 12px;
}

.cost-table__td--score {
  color: #e08b60;
  text-align: center;
}

.cost-table__td--price {
  color: #d24343;
  font-weight: 500;
  text-align: center;
}

/* 角丸 */
.cost-table tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.cost-table tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

.cost-table__th,
.cost-table__td {
  border-right: 1px solid #fff; /* ← ベージュ系の柔らかい縦線 */
}

.cost-table__th:last-child,
.cost-table__td:last-child {
  border-right: none; /* 最後の列だけ消す */
}

.th--small {
  color: #4a4a4a;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24px;
}

/* ===== example table ===== */
.example__table {
  width: 100%;
  max-width: 1050px;
  margin: 60px auto 0;
  background: #f9fbf5;
  overflow: hidden;
}

.example-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  letter-spacing: 0.28px;
  color: #4a4a4a;
}

.example-table__th {
  width: 20%;
  background: #f2e9dc;
  color: #4b4b4b;
  font-weight: 500;
  vertical-align: middle;
  padding: 14px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .example-table__th {
    width: 30%;
    padding: 12px;
  }
}

.example-table__td {
  width: 80%;
  background: #f8f7f6;
  font-size: 12px;
  padding: 14px 18px;
  vertical-align: middle;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .example-table__td {
    padding: 12px 14px;
  }
}

.example-table tr:last-child th,
.example-table tr:last-child td {
  border-bottom: none;
}

/* スマホ横スクロール対応（必要なら） */
.example__table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .example__table .example-table {
    min-width: 480px;
  }
}

.denture-table {
  margin-top: 130px;
}
@media screen and (max-width: 767px) {
  .denture-table {
    margin-top: 70px;
  }
}

.denture-table__td--small {
  font-size: 10px;
  padding: 18px 16px;
}

/* ===== implant table ===== */
.implant__table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .implant__table .implant-table {
    min-width: 640px;
  }
}

.implant-table {
  margin: 40px auto 0;
  max-width: 1050px;
  width: 100%;
  border-collapse: collapse;
  background-color: #f9fbf5;
  border-radius: 10px;
  overflow: hidden;
  font-size: 14px;
}

/* ヘッダー */
.implant-table .cost-table__th {
  background: #f2e9dc;
  padding: 12px;
  border-bottom: 1px solid #fff;
  text-align: left;
  vertical-align: middle;
  color: #4b4b4b;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 900px) {
  .implant-table .cost-table__th {
    padding: 14px 20px;
  }
}

/* 右3列だけ背景を変更 */
.implant-table .cost-table__head th:nth-child(2),
.implant-table .cost-table__head th:nth-child(3),
.implant-table .cost-table__head th:nth-child(4) {
  background: #f8f7f6;
  color: #2e2323;
  text-align: center;
  font-size: 16px;
  font-weight: 350;
  text-align: center;
}

.implant-table .cost-table__head th:nth-child(1) {
  width: 16%;
}

.implant-table .cost-table__head th:nth-child(2),
.implant-table .cost-table__head th:nth-child(3),
.implant-table .cost-table__head th:nth-child(4) {
  width: 24%;
}

/* ボディ */
.implant-table .cost-table__td {
  background: #f8f7f6;
  padding: 12px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  vertical-align: middle;
  color: #2e2323;
  text-align: center;
  font-size: 12px;
  font-weight: 350;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .implant-table .cost-table__td {
    padding: 16px 18px;
  }
}
.implant-table .cost-table__td:first-child {
  color: #4b4b4b;
  font-size: 16px;
  font-weight: 500;
  background: #f2e9dc;
  text-align: left;
}

/* 角丸 */
.implant-table tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

.implant-table tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

/* 縦線処理 */
.implant-table .cost-table__th,
.implant-table .cost-table__td {
  border-right: 1px solid #fff;
}

.implant-table .cost-table__th:last-child,
.implant-table .cost-table__td:last-child {
  border-right: none;
}

.aesthetic-table {
  margin-top: 104px;
}
@media screen and (max-width: 767px) {
  .aesthetic-table {
    margin-top: 60px;
  }
}

/* ===== aesthetic-table（審美歯科 比較表） ===== */
/* 各セルの余白 */
.aesthetic-table .cost-table__th,
.aesthetic-table .cost-table__td {
  padding: 16px 20px;
  line-height: 1.7;
  font-size: 14px;
}

.aesthetic-table .cost-table__th {
  color: #4a4a4a;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.32px;
}

/* 左列の項目見出し */
.aesthetic-table .cost-table__td--head {
  text-align: center;
  padding: 18px 10px;
  white-space: nowrap;
  color: #000;
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.28px;
}

/* データ列の整列 */
.aesthetic-table .cost-table__td {
  vertical-align: middle;
  text-align: left;
  color: #000;
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 0.28px;
  padding-inline: 30px;
}

/* 列幅のバランス */
.aesthetic-table .cost-table__head th:nth-child(1) {
  width: 28%;
}

.aesthetic-table .cost-table__head th:nth-child(2) {
  width: 36%;
}

.aesthetic-table .cost-table__head th:nth-child(3) {
  width: 36%;
}

.cosmetic__table {
  margin-top: 148px;
}
@media screen and (max-width: 767px) {
  .cosmetic__table {
    margin-top: 80px;
  }
}

.cosmetic__table-title {
  font-size: 18px;
  font-weight: 350;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}

.cosmetic-table__td--small {
  font-size: 13px;
  line-height: 1.6;
}

/* ===== aesthetic-table（審美歯科 比較表） ===== */
/* 各セルの余白 */
.canal-table .cost-table__th,
.canal-table .cost-table__td {
  padding: 24px 18px;
  line-height: 1.7;
  font-size: 14px;
}

.canal-table .cost-table__th {
  color: #4a4a4a;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.32px;
}

/* データ列の整列 */
/* 列幅のバランス */
.canal-table .cost-table__head th:nth-child(1) {
  width: 18%;
}

.canal-table .cost-table__head th:nth-child(2) {
  width: 28%;
}

.canal-table .cost-table__head th:nth-child(3) {
  width: 14%;
}

.canal-table .cost-table__head th:nth-child(4) {
  width: 14%;
}

.canal-table .cost-table__head th:nth-child(5) {
  width: 26%;
}

.canal-table__th--center {
  text-align: center;
}

.canal-table .cost-table__td--small {
  font-size: 11px;
  font-weight: 350;
  letter-spacing: 0.2px;
}

.recruit__info.info {
  padding-bottom: 148px;
}
@media screen and (max-width: 767px) {
  .recruit__info.info {
    padding-bottom: 70px;
  }
}
.recruit__info.info::after {
  display: none;
}

.recruit__info-head {
  text-align: center;
}

.recruit__info-title {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.48px;
  padding-bottom: 3px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit__info-title {
    font-size: 20px;
  }
}
.recruit__info-title::after {
  content: "";
  position: absolute;
  background: hsl(27, 84%, 60%);
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
}

.recruit__tables {
  margin-top: 54px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 90px;
}

.recruit-table {
  margin-top: 46px;
}
@media screen and (max-width: 767px) {
  .recruit-table {
    margin-top: 24px;
  }
}

/*
Theme Name: iwahashi dental clinic
*/
.first__flow {
  padding-bottom: 192px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .first__flow {
    padding-bottom: 100px;
  }
}
.first__flow::after {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  bottom: -22px;
  right: 0;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .first__flow::after {
    width: 97.994px;
    height: 97.994px;
    top: 30px;
  }
}

.flow {
  padding-top: 58px;
}

@media screen and (max-width: 767px) {
  .flow-section__title {
    text-align: center;
  }
}

.flow__items {
  margin-top: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 140px;
}
@media screen and (max-width: 767px) {
  .flow__items {
    gap: 108px;
    margin-top: 48px;
  }
}

.flow__item {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  border-radius: 15px;
  border: 1px solid #e08b60;
  padding: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  background: url(../img/flow-arrow.png) no-repeat center center/contain;
  bottom: -90px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 40px;
  height: 40px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .flow__item:not(:last-child)::after {
    bottom: -76px;
  }
}
@media screen and (max-width: 767px) {
  .flow__item {
    padding: 40px;
  }
}
@media screen and (min-width: 900px) {
  .flow__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.flow__item.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.flow__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.flow__img img {
  max-width: 500px;
  width: 100%;
  border-radius: 20px;
}
@media screen and (min-width: 900px) {
  .flow__img img {
    max-width: 300px;
  }
}

.flow__step {
  color: #ef8f41;
  font-size: 24px;
  line-height: 26px; /* 108.333% */
  letter-spacing: 0.48px;
}

.flow__title {
  margin-top: 30px;
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .flow__title {
    margin-top: 16px;
  }
}

.flow__text {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

/*
Theme Name: iwahashi dental clinic
*/
.l-news {
  padding-top: 100px;
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .l-news {
    padding-bottom: 60px;
  }
}

.l-news__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 100px;
}

.news__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #e7b88f;
}
@media screen and (max-width: 767px) {
  .news__item-head {
    gap: 8px;
  }
}

.news__item-category {
  background: #e7b88f;
  color: #fff;
  border-radius: 10px;
  font-size: 18px;
  padding: 5px 16px;
}
@media screen and (max-width: 767px) {
  .news__item-category {
    font-size: 14px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.news__item-title {
  font-size: 20px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .news__item-title {
    font-size: 16px;
  }
}

.news__item-date {
  font-size: 14px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .news__item-date {
    font-size: 13px;
  }
}

.news__item-content {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.news__item-content:hover {
  opacity: 0.7;
}
.news__item-content:hover .news__item-img img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}
@media screen and (max-width: 767px) {
  .news__item-content {
    margin-top: 20px;
    -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;
    gap: 16px;
  }
}

.news__item-img {
  max-width: 250px;
  width: 100%;
  overflow: hidden;
}
.news__item-img img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.news__item-text {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .news__item-text {
    font-size: 14px;
    margin-top: 0;
  }
}

.news-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .news-pagination {
    margin-top: 56px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.news-pagination .page-numbers {
  display: inline-block;
  min-width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  border-radius: 4px;
  margin: 0 4px;
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.news-pagination .page-numbers:hover {
  background-color: #a8d5a2;
}

.news-pagination .page-numbers.current {
  background-color: #a8d5a2;
}

.news__single {
  padding-top: 160px;
  padding-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .news__single {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.news__single-date {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .news__single-date {
    font-size: 16px;
  }
}

.news__single-title {
  margin-top: 32px;
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .news__single-title {
    font-size: 20px;
    margin-top: 24px;
  }
}

.single__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-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news__single-img {
  margin-top: 32px;
}
.news__single-img img {
  width: 100%;
}

.news__single-text {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .news__single-text {
    margin-top: 16px;
    font-size: 14px;
  }
}

.single-pagination {
  text-align: center;
  margin-top: 80px;
}

.single-pagination__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}

.single-pagination a {
  display: inline-block;
  padding: 10px 40px;
  background-color: #a8d5a2; /* 緑の背景 */
  color: #fff;
  border-radius: 6px;
  font-size: 16px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.single-pagination a:hover {
  opacity: 0.7;
  color: #a8d5a2;
  background: #fff;
  outline: 1px solid #a8d5a2;
}

.single-pagination__prev a,
.single-pagination__next a {
  padding: 10px 16px;
}

.inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 30px;
}
@media screen and (max-width: 767px) {
  .inner {
    padding-inline: 20px;
  }
}

.button {
  display: inline-block;
  text-align: center;
  font-size: 14px;
  border-radius: 5px;
  background: -webkit-gradient(linear, left bottom, left top, from(#9fd6a2), to(#9fd6a2));
  background: linear-gradient(0deg, #9fd6a2 0%, #9fd6a2 100%);
  padding: 12px 56px 12px 40px;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  letter-spacing: 0.7px;
  position: relative;
}
.button::before {
  content: "";
  position: absolute;
  background: url(../img/button-arrow.png) no-repeat center center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 17px;
  width: 19px;
  height: 4.957px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.button:hover {
  opacity: 0.7;
}
.button:hover::before {
  right: 10px;
}

.fv {
  height: calc(100vh - 97px);
  margin-top: 97px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .fv {
    height: 450px;
    margin-top: 64px;
  }
}

.fv__slider-container {
  position: relative;
  height: 100%;
  width: 100%;
}

.fv__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.fv-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-top-left-radius: 100px;
}
@media screen and (min-width: 768px) {
  .fv-slide img {
    border-top-left-radius: 200px;
  }
}
@media screen and (min-width: 900px) {
  .fv-slide img {
    border-top-left-radius: 500px;
  }
}

/* 通常のドット */
.swiper-pagination-bullet {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #cccccc; /* 未選択時の色 */
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 15px; /* 左右合計で38px間隔になるように半分ずつ指定 */
}
@media screen and (max-width: 767px) {
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 6px;
  }
}

/* 表示中のドット */
.swiper-pagination-bullet-active {
  background: #ef8f41; /* 選択中の色 */
}

@media screen and (max-width: 767px) {
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: -32px;
  }
}

.fv__content {
  position: relative;
  z-index: 10;
}
.fv__content::after {
  content: "";
  position: absolute;
  bottom: 40px;
  left: 0;
  background: url(../img/brush.png) no-repeat center center/contain;
  width: 169px;
  height: 256px;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .fv__content::after {
    width: 120px;
    height: 180px;
    bottom: 8.9vw;
  }
}

.fv__content-lead {
  background: -webkit-gradient(linear, left top, right top, color-stop(75.71%, rgba(0, 0, 0, 0.2)), color-stop(97.14%, rgba(0, 0, 0, 0))), rgba(211, 121, 37, 0.15);
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.2) 75.71%, rgba(0, 0, 0, 0) 97.14%), rgba(211, 121, 37, 0.15);
  position: absolute;
  bottom: 56px;
  padding: 22px 30px 22px 45px;
  z-index: 15;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fv__content-lead {
    max-width: 432px;
  }
}
@media screen and (max-width: 767px) {
  .fv__content-lead {
    bottom: 0;
  }
}

/* 透明・非表示状態 */
.fv__img,
.header__links,
.drawer-icon,
.swiper-wrapper__fv,
.swiper-pagination__fv,
.fv__content {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

/* 出てくるとき */
.fade-in-up {
  -webkit-animation: fadeInUp 0.8s ease forwards;
          animation: fadeInUp 0.8s ease forwards;
}

.fade-in-right {
  -webkit-animation: fadeInRight 0.8s ease forwards;
          animation: fadeInRight 0.8s ease forwards;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.table-of-contents {
  display: none;
}
@media screen and (min-width: 900px) {
  .table-of-contents {
    display: block;
    background: #f8f3e9;
    padding-top: 32px;
    padding-bottom: 28px;
  }
}

.page__lists {
  border-radius: 10px;
  background: #fff;
  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;
  gap: 24px;
  padding: 18px;
  max-width: 854px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.page__img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page__img img {
  width: 28px;
}
.page__img:hover {
  opacity: 0.7;
}

.page__link,
.page__link-menu {
  color: #3a3a3a;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.28px;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page__link::after,
.page__link-menu::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  height: 1px;
  width: 0;
  background: #999;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page__link:hover,
.page__link-menu:hover {
  opacity: 0.7;
}
.page__link:hover::after,
.page__link-menu:hover::after {
  width: 100%;
}

.js-has-sub {
  position: relative;
}

.page__sub-list {
  display: none;
  position: absolute;
  top: 50px;
  left: 50%;
  color: #3a3a3a;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.28px;
  text-align: center;
  width: auto;
  min-width: 140px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 10px 16px;
  z-index: 10;
}

.page__sub-link {
  display: block;
  font-size: 14px;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page__sub-link:hover {
  opacity: 0.7;
}

/* 開いている状態 */
.page__list.active .page__sub-list {
  display: block;
}

.page__link-icon {
  position: relative;
  padding-right: 16px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.page__link-icon::before, .page__link-icon::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 0;
  width: 8px;
  height: 1px;
  background: #3a3a3a;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
.page__link-icon::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.page__list.open .page__link-icon::after {
  opacity: 0;
  -webkit-transform: rotate(-90deg) scaleX(0);
          transform: rotate(-90deg) scaleX(0);
}

.table-of-contents {
  position: relative; /* ドロップダウンの基準 */
}
.table-of-contents .medical-modal {
  position: absolute;
  top: 100%;
  left: 50%; /* 中央基準 */
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); /* 中央揃え */
  width: 99vw; /* 画面幅いっぱいに */
  padding: 40px 0;
  display: none;
  z-index: 100;
  border-radius: 0 0 12px 12px;
}
.table-of-contents .medical-modal.is-open {
  display: block;
}
.new__post {
  background: #fffcf7;
  padding: 20px;
}

.new__post-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  max-width: 854px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .new__post-inner {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: relative;
    padding-right: 12px;
  }
  .new__post-inner::before {
    content: "";
    position: absolute;
    background: #9a9a9a;
    opacity: 0.6;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.2px;
  }
  .new__post-inner::after {
    content: "";
    position: absolute;
    background: url(../img/new__post-icon.png) no-repeat center center/contain;
    bottom: 12px;
    right: 0;
    width: 12px;
    height: 12px;
  }
}

.new__post-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .new__post-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.new__post-lead {
  color: #2f800f;
  font-size: 14px;
  font-weight: 400;
  line-height: 30px; /* 214.286% */
  letter-spacing: 1.12px;
}

.new__post-date {
  padding-left: 42px;
  font-size: 12px;
  font-weight: 350;
  line-height: 30px; /* 250% */
  letter-spacing: 0.96px;
}
@media screen and (max-width: 767px) {
  .new__post-date {
    padding-left: 0;
    font-size: 9px;
  }
}

.new__post-title {
  color: #04f;
  font-size: 14px;
  font-weight: 350;
  line-height: 30px; /* 214.286% */
  letter-spacing: 1.12px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .new__post-title {
    font-size: 12px;
  }
}
.new__post-title:hover {
  opacity: 0.7;
}

.about {
  padding-top: 122px;
  padding-bottom: 104px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about {
    padding-top: 14px;
    padding-bottom: 90px;
  }
}
.about::before {
  content: "";
  position: absolute;
  background: url(../img/maruru\ 3.png) no-repeat center center/contain;
  top: 0;
  right: 0;
  width: 264px;
  height: 340px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about::before {
    width: 154px;
    height: 154px;
  }
}
.about::after {
  content: "";
  position: absolute;
  background: url(../img/maruru\ 4.png) no-repeat center center/contain;
  top: 300px;
  right: 249px;
  width: 180px;
  height: 180px;
  -webkit-animation: blinkEffect 2.5s ease-in-out infinite alternate;
          animation: blinkEffect 2.5s ease-in-out infinite alternate;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about::after {
    width: 63px;
    height: 63px;
    top: 140px;
    right: 100px;
  }
}

@-webkit-keyframes blinkEffect {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes blinkEffect {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.about__inner {
  margin: 0 auto;
}

.about__head-img img {
  width: 711px;
  height: 367px;
  border-radius: 0 20px 20px 0;
}
@media screen and (min-width: 1200px) {
  .about__head-img img {
    width: 763px;
    height: 438px;
  }
}
@media screen and (max-width: 767px) {
  .about__head-img img {
    width: 275px;
    height: 174px;
  }
}

.about__head {
  margin-top: 70px;
  color: #a7a550;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 55px;
  font-weight: 300;
  letter-spacing: 6.6px;
  position: relative;
  padding-inline: 20px;
  display: inline-block;
}
.about__head::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: #999; /* 線の色 */
}
.about__head::after {
  content: "";
  position: absolute;
  right: 0px;
  bottom: 5px;
  width: 20px;
  height: 1px;
  background: #999;
  -webkit-transform: rotate(28deg);
          transform: rotate(28deg);
}
@media screen and (max-width: 767px) {
  .about__head {
    font-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .about__head {
    font-size: 4.58vw;
  }
}
@media screen and (min-width: 1200px) {
  .about__head {
    font-size: 55px;
  }
}
.about__head span {
  font-family: "futura-pt", sans-serif;
}
.about__content {
  margin-top: 45px;
  max-width: 1200px;
  padding-inline: 36px;
}
@media screen and (max-width: 767px) {
  .about__content {
    padding-inline: 20px;
  }
}

.about__content-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .about__content-lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.about__content-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .about__content-list:first-child {
    padding-inline: 15px;
  }
}

.about__content-text {
  padding-left: 18px;
  font-size: 14px;
  font-weight: 350;
  line-height: 30px; /* 214.286% */
  letter-spacing: 1.12px;
}
@media screen and (max-width: 767px) {
  .about__content-text {
    padding-left: 0;
  }
}

.about__footer {
  margin-top: 88px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .about__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 48px;
  }
}

.about__footer-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  padding-inline: 20px;
}
@media screen and (max-width: 767px) {
  .about__footer-body {
    gap: 27px;
  }
}
@media screen and (min-width: 768px) {
  .about__footer-body {
    padding-right: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.about__footer-lead {
  color: #3a3a3a;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.2px;
}

.about__footer-text {
  font-size: 16px;
  font-weight: 350;
  line-height: 30px; /* 214.286% */
  letter-spacing: 1.12px;
}

@media screen and (max-width: 767px) {
  .about__footer-button {
    margin-top: 15px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .about__footer-img {
    margin-left: auto;
  }
}
.about__footer-img img {
  max-width: 620px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .about__footer-img img {
    max-width: 320px;
  }
}

.feature {
  padding-top: 110px;
  padding-bottom: 273px;
  border-top-left-radius: 50% 200px;
  border-top-right-radius: 50% 200px;
  border-bottom-left-radius: 50% 200px;
  border-bottom-right-radius: 50% 200px;
  background: #fffcf7;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature {
    border-top-left-radius: 50% 120px;
    border-top-right-radius: 50% 120px;
    border-bottom-left-radius: 50% 120px;
    border-bottom-right-radius: 50% 120px;
  }
}
@media screen and (max-width: 767px) {
  .feature {
    padding-top: 37px;
  }
}
.feature::after {
  content: "";
  position: absolute;
  background: url(../img/maruru\ 4.png) no-repeat center center/contain;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 180px;
  height: 180px;
  -webkit-animation: blinkEffect 2.5s ease-in-out infinite alternate;
          animation: blinkEffect 2.5s ease-in-out infinite alternate;
}
.feature__inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.feature__inner::before {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  top: 0;
  right: 0;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .feature__inner::before {
    width: 97.994px;
    height: 97.994px;
    top: 30px;
  }
}

@-webkit-keyframes revealFromRight {
  0% {
    opacity: 0;
    clip-path: inset(0 0 0 100%); /* 完全に隠す */
  }
  50% {
    /* ここまでかけてじわじわ表示 */
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0); /* その場で消える */
  }
}

@keyframes revealFromRight {
  0% {
    opacity: 0;
    clip-path: inset(0 0 0 100%); /* 完全に隠す */
  }
  50% {
    /* ここまでかけてじわじわ表示 */
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0); /* その場で消える */
  }
}
.feature__title {
  text-align: center;
}

.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .title {
    gap: 0;
  }
}

.title-en {
  color: #cecc86;
  font-family: "Quicksand", sans-serif;
  font-size: 70px;
  font-weight: 400;
  letter-spacing: 8.4px;
}
@media screen and (max-width: 767px) {
  .title-en {
    font-size: 55px;
  }
}

.title-jp {
  color: #3a3a3a;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.92px;
}
@media screen and (max-width: 767px) {
  .title-jp {
    font-size: 14px;
  }
}

.feature__lists {
  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;
}

.feature__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
}
.feature__list:nth-child(odd) {
  padding-left: 125px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-child(odd) {
    padding-inline: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.feature__list:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding-right: 48px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-child(even) {
    padding-inline: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.feature__list:nth-of-type(3)::after {
  content: "";
  position: absolute;
  background: url(../img/maruru\ 4.png) no-repeat center center/contain;
  bottom: -65px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 180px;
  height: 180px;
  -webkit-animation: blinkEffect 2.5s ease-in-out infinite alternate;
          animation: blinkEffect 2.5s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-of-type(3)::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .feature__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 768px) {
  .feature__list {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.feature__list:nth-of-type(1) .feature__list-img img {
  width: 640px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-of-type(1) .feature__list-img img {
    width: 350px;
    padding-right: 20px;
  }
}
.feature__list:nth-of-type(2) .feature__list-img img {
  width: 700px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-of-type(2) .feature__list-img img {
    width: 350px;
  }
}
.feature__list:nth-of-type(3) .feature__list-img img {
  width: 470px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-of-type(3) .feature__list-img img {
    width: 350px;
  }
}
.feature__list:nth-of-type(4) .feature__list-img img {
  width: 700px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-of-type(4) .feature__list-img img {
    width: 350px;
  }
}
.feature__list:nth-of-type(5) .feature__list-img img {
  width: 700px;
}
@media screen and (max-width: 767px) {
  .feature__list:nth-of-type(5) .feature__list-img img {
    width: 350px;
  }
}

.feature__list-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .feature__list-body {
    gap: 0;
  }
}

.feature__list-number {
  color: #fea43c;
  font-family: "futura-pt", sans-serif;
  font-size: 90px;
  font-weight: 300;
  letter-spacing: 2.7px;
}
@media screen and (max-width: 767px) {
  .feature__list-number {
    font-size: 70px;
    line-height: 1;
  }
}

.feature__list-lead {
  color: #3a3a3a;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.2px;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .feature__list-lead {
    font-size: 21px;
  }
}

.feature__list-text {
  font-size: 16px;
  font-weight: 350;
  line-height: 30px; /* 214.286% */
  letter-spacing: 1.12px;
}
@media screen and (max-width: 767px) {
  .feature__list-text {
    margin-top: 12px;
  }
}

@media screen and (max-width: 767px) {
  .feature__list-button {
    text-align: center;
    margin-top: 42px;
  }
}

.feature__list-img {
  opacity: 0;
  -webkit-transform: translateX(50px);
          transform: translateX(50px); /* デフォルトは右から */
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
@media screen and (max-width: 767px) {
  .feature__list-img {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .feature__list-img img {
    max-width: 320px;
    width: 100%;
  }
}

/* 奇数：右から左に */
.feature__list:nth-child(odd) .feature__list-img {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
}

/* 偶数：左から右に */
.feature__list:nth-child(even) .feature__list-img {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}

/* 表示されたときに発火するクラス */
.feature__list.is-visible .feature__list-img {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.feature__footer {
  position: relative;
}
.feature__footer::before {
  content: "";
  position: absolute;
  background: url(../img/logo-animal.png) no-repeat center center/contain;
  top: 0;
  left: 0;
  width: 69.596px;
  height: 51.163px;
}
@media screen and (max-width: 767px) {
  .feature__footer::before {
    top: 142px;
  }
}
.feature__footer::after {
  content: "";
  position: absolute;
  background: url(../img/footprint.png) no-repeat center center/contain;
  top: 0;
  right: 0;
  width: 109.65px;
  height: 256.65px;
  -webkit-animation: revealFromRight 6s ease-in-out infinite;
          animation: revealFromRight 6s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .feature__footer::after {
    top: 130px;
  }
}

.medical {
  padding-top: 74px;
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .medical {
    padding-bottom: 38px;
  }
}

.medical__title {
  position: relative;
}
.medical__title::after {
  content: "";
  position: absolute;
  background: url(../img/niji\ 1.png) no-repeat center center/contain;
  bottom: 0;
  right: 0;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 4s ease-in-out infinite;
          animation: revealFromRight 4s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .medical__title::after {
    width: 110px;
    height: 110px;
    bottom: -30px;
  }
}
@media screen and (max-width: 767px) {
  .medical__title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@keyframes revealFromRight {
  0% {
    opacity: 0;
    clip-path: inset(0 0 0 100%); /* 完全に隠す */
  }
  50% {
    opacity: 1; /* しばらく見せる */
    clip-path: inset(0 0 0 0);
  }
  100% {
    opacity: 0; /* ゆっくり消える */
    clip-path: inset(0 0 0 0);
  }
}
.medical__title-en {
  font-family: "Quicksand", sans-serif;
  color: #cebe86;
}

.medical__content {
  padding-block: 30px;
  background: url(../img/bg_smedical.jpg) no-repeat center center/cover;
  padding-inline: 13px;
  margin-top: 32px;
}
@media screen and (min-width: 1200px) {
  .medical__content {
    padding-inline: 0;
  }
}

.medical__content-head {
  text-align: center;
  margin: 0 auto;
  display: inline-block;
  left: 50%; /* 左端を中央へ */
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); /* 自分の幅の半分だけ戻す */
  position: relative;
}
.medical__content-head::before, .medical__content-head::after {
  content: "";
  position: absolute;
  top: 58%;
  width: 120px; /* 線の長さ */
  height: 2px; /* 線の太さ */
  background: #fff; /* 線の色 */
}
@media screen and (max-width: 767px) {
  .medical__content-head::before, .medical__content-head::after {
    width: 76px;
  }
}
.medical__content-head::before {
  left: 10px;
  -webkit-transform: translate(-100%, -50%) rotate(60deg);
          transform: translate(-100%, -50%) rotate(60deg); /* 左に配置＆斜め */
}
.medical__content-head::after {
  right: 10px;
  -webkit-transform: translate(100%, -50%) rotate(-60deg);
          transform: translate(100%, -50%) rotate(-60deg); /* 右に配置＆斜め */
}

.medical__content-title {
  color: #fff;
  font-family: "Quicksand", sans-serif;
  font-size: 70px;
  font-weight: 400;
  letter-spacing: 8.4px;
}
@media screen and (max-width: 767px) {
  .medical__content-title {
    font-size: 40px;
  }
}

.medical__content-text {
  color: #3a3a3a;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.92px;
}
@media screen and (max-width: 767px) {
  .medical__content-text {
    font-size: 14px;
  }
}

.medical__items {
  margin: 24px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 80px;
  max-width: 1084px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .medical__items {
    gap: 16px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.medical__item {
  border-radius: 10px;
  background: #fdf3e0;
  padding: 24px 30px 32px 30px;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
@media screen and (max-width: 767px) {
  .medical__item {
    padding: 10px 6px 6px 6px;
  }
}

.medical__item.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.medical__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .medical__item-head {
    gap: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.medical__item-img img {
  width: 150px;
}
@media screen and (max-width: 767px) {
  .medical__item-img img {
    width: 64px;
  }
}

.medical__item-name {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .medical__item-name {
    font-size: 16px;
  }
}

.medical__item-text {
  font-size: 14px;
  font-weight: 350;
  letter-spacing: 1.12px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .medical__item-text {
    line-height: 30px; /* 214.286% */
  }
}
@media screen and (max-width: 767px) {
  .medical__item-text {
    font-size: 12px;
    margin-top: 10px;
  }
}

.medical__swiper {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .medical__swiper {
    margin-top: 50px;
  }
}

.swiper-wrapper1 {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.medical-slide {
  width: 25%;
  aspect-ratio: 304/203;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .medical-slide {
    min-width: 140px;
  }
}
.medical-slide img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.news {
  padding-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .news {
    padding-bottom: 84px;
  }
}

.news__title {
  text-align: center;
}

.news__lists {
  margin-top: 82px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .news__lists {
    -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;
    gap: 53px;
    margin-top: 48px;
  }
}
@media screen and (min-width: 768px) {
  .news__lists {
    gap: 32px;
  }
}
@media screen and (min-width: 900px) {
  .news__lists {
    gap: 100px;
  }
}
@media screen and (min-width: 1200px) {
  .news__lists {
    gap: 170px;
  }
}

.news__list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 54px;
}
.news__list-link:hover .news__list-title::after {
  right: 0;
}

.news__list-img {
  padding-inline: 14px;
}
.news__list-img img {
  width: 183px;
  height: 183px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.news__list-date {
  font-size: 12px;
  font-weight: 350;
  line-height: 30px; /* 250% */
  letter-spacing: 0.96px;
}

.news__list-title {
  font-size: 14px;
  font-weight: 400;
  line-height: 30px; /* 214.286% */
  letter-spacing: 1.12px;
  position: relative;
}
.news__list-title::after {
  content: "";
  position: absolute;
  background: url(../img/news__list-arrow.png) no-repeat center center/contain;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 900px) {
  .news__list-title::after {
    right: 10px;
  }
}

.reservation {
  background: #fffcf7;
  padding-top: 34px;
  padding-bottom: 62px;
}
@media screen and (max-width: 767px) {
  .reservation {
    padding-bottom: 34px;
  }
}

.reservation__title {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .reservation__title-en {
    font-size: min(55px, 10.79vw);
  }
}

.counseling__title-en {
  color: #9ecb7b;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .counseling__title-en {
    color: #9ecb7b;
    font-size: 50px;
    font-weight: 400;
    line-height: 50px; /* 100% */
    letter-spacing: 6px;
  }
}

.reservation__text,
.counseling__text {
  margin-top: 27px;
  color: #3a3a3a;
  text-align: center;
  font-size: 14px;
  font-weight: 350;
  line-height: 24px; /* 171.429% */
  letter-spacing: 0.28px;
}

@media screen and (max-width: 767px) {
  .reservation__text {
    text-align: left;
  }
}

.reservation__footer,
.counseling__footer {
  margin-top: 40px;
  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: 57px;
}
@media screen and (max-width: 767px) {
  .reservation__footer,
  .counseling__footer {
    gap: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .reservation__footer,
  .counseling__footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (min-width: 1200px) {
  .counseling__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.reservation__footer-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .reservation__footer-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.reservation__footer-text {
  color: #272727;
  font-size: 21px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 123.81% */
  letter-spacing: 1.05px;
}

.reservation__footer-tel__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.reservation__footer-tel__link img {
  width: 32.958px;
  height: 42px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.reservation__footer-tel__link span {
  color: #666a75;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  letter-spacing: 0.96px;
}

.reservation__footer-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 900px) {
  .reservation__footer-buttons {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 86px;
  }
}

.reservation__button {
  display: inline-block;
  width: 402px;
  height: 75px;
  line-height: 75px;
  text-align: center;
  border-radius: 3px;
  background: #e78b7a;
  color: #fff;
  font-weight: 500;
  letter-spacing: 1.28px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .reservation__button {
    width: 320px;
  }
}
.reservation__button::before {
  content: "";
  position: absolute;
  background: url(../img/reservation__button-icon.png) no-repeat center center/contain;
  top: 50%;
  left: 50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 39px;
  height: 39px;
}
.reservation__button::after {
  content: "";
  position: absolute;
  background: url(../img/button-arrow.png) no-repeat center center/contain;
  top: 50%;
  right: 50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 23px;
  height: 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .reservation__button::after {
    right: 14px;
  }
}
.reservation__button:hover {
  opacity: 0.7;
}
.reservation__button:hover::after {
  right: 40px;
}
@media screen and (max-width: 767px) {
  .reservation__button:hover::after {
    right: 16px;
  }
}
@media screen and (min-width: 1200px) {
  .reservation__button {
    width: 402px;
  }
}

.counseling__button {
  display: inline-block;
  width: 402px;
  height: 75px;
  line-height: 75px;
  text-align: center;
  border-radius: 3px;
  background: #7096b8;
  color: #fff;
  font-weight: 500;
  letter-spacing: 1.28px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .counseling__button {
    width: 320px;
    font-size: 14px;
  }
}
.counseling__button::before {
  content: "";
  position: absolute;
  background: url(../img/consultation-img.png) no-repeat center center/contain;
  top: 50%;
  left: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 39px;
  height: 39px;
}
@media screen and (max-width: 767px) {
  .counseling__button::before {
    left: 0;
  }
}
.counseling__button::after {
  content: "";
  position: absolute;
  background: url(../img/button-arrow.png) no-repeat center center/contain;
  top: 50%;
  right: 50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 23px;
  height: 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .counseling__button::after {
    right: 14px;
  }
}
.counseling__button:hover {
  opacity: 0.7;
}
.counseling__button:hover::after {
  right: 40px;
}
@media screen and (max-width: 767px) {
  .counseling__button:hover::after {
    right: 16px;
  }
}
@media screen and (min-width: 1200px) {
  .counseling__button {
    width: 402px;
  }
}

.company {
  padding-top: 62px;
  padding-bottom: 96px;
  background: #f4f4f2;
}

.company__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -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;
  gap: 16px;
}
@media screen and (min-width: 900px) {
  .company__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 767px) {
  .company__title svg {
    width: 260px;
  }
}

.company__address {
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .company__address {
    margin-top: 16px;
  }
}

.company__address-number,
.company__address-place {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.7px;
}
@media screen and (max-width: 767px) {
  .company__address-number,
  .company__address-place {
    font-size: 10px;
  }
}

@media screen and (max-width: 767px) {
  .company__address-number {
    font-size: 10px;
  }
}

@media screen and (max-width: 767px) {
  .company__address-place {
    font-size: 12px;
  }
}

.company__address-access {
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 260% */
  letter-spacing: 0.5px;
}
@media screen and (max-width: 767px) {
  .company__address-access {
    font-size: 11px;
  }
}

.company__address-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .company__address-footer {
    gap: 0;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
}
@media screen and (min-width: 900px) {
  .company__address-footer {
    gap: 2px;
  }
}
@media screen and (min-width: 1200px) {
  .company__address-footer {
    gap: 40px;
  }
}

.address-img__parking {
  width: 52.626px;
  height: 36px;
}

.address-img__hours {
  width: 35px;
  height: 35px;
}

.company__address-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .company__address-detail {
    gap: 6px;
  }
}

.company__address-text {
  color: #272727;
  font-size: 21px;
  font-weight: 400;
  line-height: 26px; /* 123.81% */
  letter-spacing: 1.05px;
}
@media screen and (max-width: 767px) {
  .company__address-text {
    font-size: 16px;
  }
}
.company__address-text span {
  color: #ef8f41;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  vertical-align: -2px; /* 数字を少し持ち上げる */
  letter-spacing: 1.5px;
}
@media screen and (max-width: 767px) {
  .company__address-text span {
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .company__address-img img {
    width: 40px;
  }
}

@media screen and (max-width: 767px) {
  .address-img__hours img {
    width: 26px;
    height: 26px;
  }
}

.fixed__reserve {
  position: fixed;
  right: 0;
  top: 126px;
  z-index: 401;
}
@media screen and (max-width: 767px) {
  .fixed__reserve {
    display: none;
  }
}

.fixed__reserve-link {
  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;
  background: #e78b7a;
  color: #fff;
  text-decoration: none;
  padding: 12px 10px;
  border-radius: 10px 0 0 10px;
  font-size: 14px;
  line-height: 1.2;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.fixed__reserve-link:hover {
  opacity: 0.7;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.fixed__reserve-text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
  text-align: center;
  font-size: 21px;
  font-weight: 500;
  line-height: 32px; /* 152.381% */
  letter-spacing: 6.3px;
}

.fixed__reserve-img img {
  width: 39px;
  height: 39px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.page__top {
  position: fixed;
  right: 0px;
  bottom: 0px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 400;
}
.page__top.is-show {
  opacity: 1;
  visibility: visible;
}

.page__top-link {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.page__top-link svg {
  width: 60px;
}
@media screen and (min-width: 768px) {
  .page__top-link svg {
    width: 66px;
    height: 66px;
  }
}
.page__top-link:hover {
  opacity: 0.7;
}

.footer {
  padding-top: 44px;
  padding-bottom: 25px;
  background: url(../img/footer-bg.jpg) no-repeat center center/cover;
}

.footer__logo svg {
  max-width: 120px;
}
/* ナビゲーション全体 */
.footer__nav {
  color: #3a3a3a;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 34px;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 1200px) {
  .footer__nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}

/* メニュー1階層目（診療案内、初めての方へ、採用情報…） */
.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .footer__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 1200px) {
  .footer__menu {
    gap: 60px;
  }
}

/* 診療案内 */
/* 診療案内の子リスト */
.footer__menu > li > ul {
  margin-top: 8px;
  /* ← 子リストを3カラムに */
  display: grid;
  grid-auto-flow: column; /* ← これがポイント！縦に流す */
  grid-template-rows: repeat(6, auto); /* 6行ベースで3列に分かれる */
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  row-gap: 12px;
}
@media screen and (max-width: 767px) {
  .footer__menu > li > ul {
    grid-auto-flow: row; /* 行方向に変更 */
    grid-template-columns: repeat(2, 1fr); /* 2列レイアウト */
    grid-template-rows: auto; /* 行は自動 */
  }
}
@media screen and (min-width: 1200px) {
  .footer__menu > li > ul {
    -webkit-column-gap: 45px;
       -moz-column-gap: 45px;
            column-gap: 45px;
  }
}

.footer__menu > li > ul li {
  font-size: 13px;
  padding-left: 22px;
  position: relative;
}
.footer__menu > li > ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/footer__menu-icon.png) no-repeat center center/contain;
  width: 13px;
  height: 13px;
}
.footer__menu > li > ul li a {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer__menu > li > ul li a::after {
  content: "";
  position: absolute;
  background: #3a3a3a;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer__menu > li > ul li a:hover {
  opacity: 0.7;
}
.footer__menu > li > ul li a:hover::after {
  width: 100%;
}

.footer__menu--other {
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content; /* 行の高さは文字に合わせる */
  gap: 14px 24px; /* 縦4px・横24pxくらいで調整 */
  font-weight: normal;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .footer__menu--other {
    grid-template-columns: repeat(3, auto);
  }
}
@media screen and (min-width: 1200px) {
  .footer__menu--other {
    grid-template-columns: repeat(3, auto); /* 3列 */
  }
}
.footer__menu--other a {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer__menu--other a::after {
  content: "";
  position: absolute;
  background: #3a3a3a;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer__menu--other a:hover {
  opacity: 0.7;
}
.footer__menu--other a:hover::after {
  width: 100%;
}

.footer__sns {
  margin-top: 36px;
}
@media screen and (min-width: 1200px) {
  .footer__sns {
    margin-top: 0;
  }
}
.footer__sns img {
  width: 28px;
  height: 28px;
}
.footer__sns a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer__sns a:hover {
  opacity: 0.7;
}

.footer__copyright {
  text-align: center;
  margin: 30px auto;
  font-size: 12px;
  color: #666;
  display: block;
}

.l-inner {
  max-width: 1200px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-inline: 16px;
  }
}
@media screen and (min-width: 768px) {
  .l-inner {
    padding-inline: 40px;
  }
}
@media screen and (min-width: 900px) {
  .l-inner {
    padding-inline: 112px;
  }
}

.l-fv {
  margin-top: 140px;
  background: url(../img/l-fv_bg.jpg) no-repeat center center/cover;
  padding-block: 16px;
}
@media screen and (max-width: 767px) {
  .l-fv {
    margin-top: 64px;
    padding-top: 32px;
    padding-bottom: 24px;
  }
}

.l-fv__title {
  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;
}

.l-fv__title-en {
  color: #c0a58a;
  font-family: "Quicksand", sans-serif;
  font-size: 70px;
  letter-spacing: 8.4px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-fv__title-en {
    font-size: 52px;
    line-height: 1.2;
  }
}

.l-fv__title-en--big {
  font-size: min(52px, 11.09vw);
}

.l-fv__title-ja {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}
@media screen and (max-width: 767px) {
  .l-fv__title-ja {
    font-size: 24px;
  }
}

.breadcrumb {
  background: #fffcf7;
  padding-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; /* 全体は折り返さない */
  white-space: nowrap;
  overflow: hidden;
}
.breadcrumb.breadcrumb--white {
  background: #fff;
}

.breadcrumb__inner.l-inner {
  margin-left: 0;
  margin-right: auto;
}

.breadcrumb__text span,
.breadcrumb__text a {
  display: inline;
}

.breadcrumb__text .current-item {
  white-space: normal;
  word-break: break-word;
}

.breadcrumb__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 23px;
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.6px;
}
.breadcrumb__text a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.breadcrumb__text a:hover {
  opacity: 0.7;
}

.breadcrumb__border {
  position: relative;
}
.breadcrumb__border::after {
  content: "";
  background: url("../img/breadcrumb-arrow.png") no-repeat center center/contain;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.current-item {
  position: relative;
}
.current-item::after {
  content: "";
  position: absolute;
  background: #ef8f41;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 1px;
}

.toc {
  background: #fffcf7;
  padding-top: 54px;
}
@media screen and (max-width: 767px) {
  .toc {
    padding-top: 24px;
  }
}

@-webkit-keyframes revealFromLeft {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0); /* 右を100%カット → 全隠し */
  }
  70% {
    opacity: 1;
    clip-path: inset(0 0 0 0); /* 全面表示 */
  }
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0); /* その場でフェードアウト */
  }
}

@keyframes revealFromLeft {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0); /* 右を100%カット → 全隠し */
  }
  70% {
    opacity: 1;
    clip-path: inset(0 0 0 0); /* 全面表示 */
  }
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0); /* その場でフェードアウト */
  }
}
.toc__list {
  padding-left: 20px;
  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;
}
@media screen and (min-width: 768px) {
  .toc__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
  }
}

.toc__link {
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
.toc__link::before {
  content: "";
  position: absolute;
  background: url(../img/toc__list-arrow.png) no-repeat center center/contain;
  top: 50%;
  left: -14px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
}
.toc__link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #ef8f41;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.toc__link:hover {
  opacity: 0.7;
}
.toc__link:hover::after {
  width: 100%;
}

.l-section__title {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}
@media screen and (max-width: 767px) {
  .l-section__title {
    font-size: 24px;
    letter-spacing: 0.48px;
  }
}

.footer__light {
  position: relative;
}
.footer__light::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
.l-top__message {
  background: #fffcf7;
  padding-top: 92px;
  position: relative;
}
.l-top__message::after {
  content: "";
  position: absolute;
  right: 0;
  background: url(../img/l-top-foot.png) no-repeat center center/contain;
  width: 420px;
  height: 420px;
  -webkit-animation: revealFromLeft 5s ease-in-out infinite;
          animation: revealFromLeft 5s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .l-top__message::after {
    width: 150px;
    height: 150px;
    top: -37px;
  }
}
@media screen and (min-width: 768px) {
  .l-top__message::after {
    top: -186px;
  }
}
@media screen and (max-width: 767px) {
  .l-top__message {
    padding-top: 48px;
  }
}

.top__message-lead {
  margin-top: 16px;
  margin-bottom: 28px;
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.8px;
}
@media screen and (max-width: 767px) {
  .top__message-lead {
    font-size: min(16px, 3.92vw);
  }
}

.top__message-title span {
  color: #ef8f41;
  font-size: 28px;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .top__message-title span {
    font-size: 24px;
  }
}

.top__message-text {
  margin-top: 16px;
  font-size: 15px;
  font-weight: 350;
  line-height: 28px; /* 200% */
  letter-spacing: 0.28px;
}

.top__message-img {
  margin-top: 46px;
}
.map {
  background: #fffcf7;
  height: 365px;
}
.map iframe {
  width: 100%;
  height: 100%;
}

.l-reservation {
  background: #fffcf7;
  padding-top: 130px;
  padding-bottom: 82px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-reservation {
    padding-top: 60px;
  }
}
.l-reservation::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
.l-reservation__head {
  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;
}

.l-reservation__head-icon img {
  width: 88px;
  height: 88px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.l-reservation__content {
  margin: 18px auto 0;
  border-radius: 20px;
  background: #fff;
  max-width: 976px;
  width: 100%;
  padding: 45px 32px 27px 80px;
}
@media screen and (max-width: 767px) {
  .l-reservation__content {
    padding: 4px;
  }
}

.l-reservation__text {
  font-weight: 350;
  line-height: 28px; /* 175% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .l-reservation__text {
    padding: 32px 32px 0;
  }
}

.l-reservation__items {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 26px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-reservation__items {
    gap: 64px;
  }
}

.l-reservation__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;
  position: relative;
}
@media screen and (min-width: 1200px) {
  .l-reservation__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 1200px) {
  .l-reservation__item::before {
    content: "";
    position: absolute;
    background: url(../img/dotline_01.png) no-repeat center center/contain;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
    width: 126px;
    height: 8px;
  }
}
.l-reservation__item .tel__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 420px;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.l-reservation__item .tel__link img {
  width: 32.958px;
  height: 42px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-reservation__item .tel__link span {
  color: #666a75;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  letter-spacing: 0.96px;
}

.l-reservation__title {
  color: #ef8f41;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.48px;
  text-align: center;
}
@media screen and (min-width: 1200px) {
  .l-reservation__title {
    text-align: left;
  }
}

.l-reservation__lead {
  font-size: 12px;
  font-weight: 350;
  line-height: 28px; /* 233.333% */
  letter-spacing: 0.24px;
}
@media screen and (max-width: 767px) {
  .l-reservation__lead {
    text-align: center;
    margin-bottom: 20px;
  }
}

.l-reservation__table .company__content-table {
  margin: 32px auto 0;
  max-width: 586px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (max-width: 767px) {
  .l-reservation__table .company__content-table {
    margin-top: 48px;
  }
}
.l-reservation__table .company__content-table .table__head {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-reservation__table .company__content-table .hours-table td:first-child {
  text-align: center;
}
.l-reservation__table .company__content-table .hours-table th,
.l-reservation__table .company__content-table .hours-table td {
  font-size: 14px;
  padding: 14px;
}
@media screen and (max-width: 767px) {
  .l-reservation__table .company__content-table .hours-table th,
  .l-reservation__table .company__content-table .hours-table td {
    font-size: 12px;
    padding: 8px;
  }
}

.l-reservation__footer-text {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 350;
  line-height: 28px; /* 233.333% */
  letter-spacing: 0.24px;
}
@media screen and (max-width: 767px) {
  .l-reservation__footer-text {
    padding: 0 32px 32px;
    margin-top: 24px;
  }
}

.bring {
  padding-top: 66px;
  padding-bottom: 58px;
}
.bring__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .bring__head {
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.bring__head-icon img {
  width: 35px;
  height: 48.387px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.bring__lists {
  margin-top: 28px;
  padding-left: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .bring__lists {
    padding-left: 0;
    gap: 12px;
  }
}

.bring__list {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  padding-left: 24px;
  position: relative;
}
.bring__list::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  background: #ef8f41;
  width: 10px;
  height: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
}
.bring__list span {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.bring__note {
  margin-top: 28px;
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.6px;
  padding-left: 28px;
}
@media screen and (max-width: 767px) {
  .bring__note {
    padding-left: 0;
  }
}

.concept__footer {
  padding-block: 75px;
  background: #fffcf7;
}

.concept__footer-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 85px;
}

.concept__footer-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.concept__footer-title {
  line-height: 28px; /* 175% */
  letter-spacing: 0.32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.concept__footer-title span {
  color: rgba(255, 167, 3, 0.8);
  line-height: 28px; /* 175% */
  letter-spacing: 0.32px;
}

.concept__footer-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 28px; /* 200% */
  letter-spacing: 0.28px;
  text-align: center;
}

.l-company__content-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 38px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.policy {
  background: #fffcf7;
  padding-top: 140px;
  padding-bottom: 170px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .policy {
    padding-top: 70px;
    padding-bottom: 100px;
  }
}
.policy::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}

.policy__head {
  text-align: center;
}

.policy__head-title {
  position: relative;
}
.policy__head-title::after, .policy__head-title::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 54px;
  height: 1px;
  background-color: #eba063;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.policy__head-title::before {
  left: -56px;
  -webkit-transform: rotate(54deg);
          transform: rotate(54deg);
}
.policy__head-title::after {
  right: -56px;
  -webkit-transform: rotate(-54deg);
          transform: rotate(-54deg);
}

.policy__content {
  margin-top: 36px;
  border-radius: 20px;
  background: #fff;
  padding: 56px 28px;
  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;
}
@media screen and (max-width: 767px) {
  .policy__content {
    padding: 24px 16px;
  }
}

.policy__text {
  text-align: center;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 32px; /* 228.571% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .policy__text {
    text-align: left;
  }
}

.equipment {
  padding-top: 64px;
}
@media screen and (max-width: 767px) {
  .equipment {
    padding-top: 32px;
  }
}

@media screen and (max-width: 767px) {
  .equipment__title {
    text-align: center;
  }
}

.equipment__items {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .equipment__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 48px;
  }
}

.equipment__item {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  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;
  gap: 24px;
}

.equipment__item.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.equipment__img img {
  width: 224px;
  height: 224px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.equipment__lead {
  text-align: center;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.equipment__caution {
  margin-top: 18px;
  color: #ef8f41;
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.24px;
}
@media screen and (max-width: 767px) {
  .equipment__caution {
    text-align: center;
  }
}

.info {
  padding-top: 86px;
  padding-bottom: 240px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .info {
    padding-top: 36px;
    padding-bottom: 100px;
  }
}
.info::after {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  bottom: 0;
  right: 0;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .info::after {
    width: 97.994px;
    height: 97.994px;
    top: 0px;
  }
}

@media screen and (max-width: 767px) {
  .info__title {
    text-align: center;
  }
}

.greeting {
  background: #fffcf7;
  padding-top: 80px;
  padding-bottom: 70px;
  position: relative;
}
.greeting::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
.greeting__inner {
  max-width: 1070px;
  width: 100%;
  margin: 0 auto;
}

.greeting__head {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  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;
}

.greeting__head-sub {
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}

.greeting__head-title {
  font-size: 58px;
  letter-spacing: 8.7px;
}
@media screen and (max-width: 767px) {
  .greeting__head-title {
    font-size: 36px;
  }
}

.greeting__head-en {
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 8.4px;
}
@media screen and (max-width: 767px) {
  .greeting__head-en {
    font-size: 20px;
  }
}

.greeting__content {
  margin-top: 80px;
  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;
  gap: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .greeting__content {
    margin-top: 48px;
  }
}
@media screen and (min-width: 900px) {
  .greeting__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 100px;
  }
}
.greeting__content::after {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  bottom: -207px;
  right: 0px;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .greeting__content::after {
    width: 97.994px;
    height: 97.994px;
    bottom: -40px;
  }
}
@media screen and (min-width: 1200px) {
  .greeting__content::after {
    right: -20px;
  }
}

.greeting__content-img {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  max-width: 396px;
  width: 100%;
  aspect-ratio: 44/49;
  position: relative;
}
@media screen and (min-width: 900px) {
  .greeting__content-img::before {
    content: "";
    position: absolute;
    background: url(../img/doctor-small-img1.jpg) no-repeat center center/contain;
    bottom: -370px;
    left: -63px;
    width: 302px;
    height: 249px;
  }
  .greeting__content-img::after {
    content: "";
    position: absolute;
    background: url(../img/doctor-small-img2.jpg) no-repeat center center/contain;
    bottom: -253px;
    right: -60px;
    width: 190px;
    height: 170px;
  }
}

.greeting__content-img.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.greeting__content-body {
  padding-inline: 20px;
}
@media screen and (min-width: 900px) {
  .greeting__content-body {
    padding-right: 20px;
    padding-left: 0;
  }
}

.greeting__content-lead {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}
@media screen and (max-width: 767px) {
  .greeting__content-lead {
    text-align: center;
  }
}

.greeting__content-texts {
  margin-top: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}

.greeting__content-text {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 47px; /* 293.75% */
  letter-spacing: 0.32px;
}

.greeting__footer {
  margin-top: 246px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 45px 42px;
  border-radius: 12px;
  background: #fff;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .greeting__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 80px;
    padding: 20px;
  }
}
@media screen and (min-width: 768px) {
  .greeting__footer {
    gap: 48px;
  }
}

.greeting__footer-lead {
  color: #ef8f41;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.8px;
}

.greeting__footer-lists {
  margin-top: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}

.greeting__footer-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .greeting__footer-list {
    gap: 16px;
  }
}

.greeting__footer-year {
  width: 108px;
  font-size: 14px;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .greeting__footer-year {
    width: 80px;
  }
}

.greeting__footer-background {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.7px;
}

.greeting__footer-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}

.greeting__footer-qualification .greeting__footer-list {
  padding-left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .greeting__footer-qualification .greeting__footer-list {
    padding-left: 0;
  }
}

.greeting__footer-circle {
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 1/1;
}
.greeting__footer-academic .greeting__footer-list {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .greeting__footer-academic .greeting__footer-list {
    padding-left: 0;
  }
}

.map__head {
  padding-top: 52px;
  background: #fffcf7;
  height: 365px;
}
.map__head iframe {
  width: 100%;
  height: 100%;
}

.access {
  padding-top: 90px;
  background: #fffcf7;
}
@media screen and (max-width: 767px) {
  .access {
    padding-top: 48px;
  }
}

@media screen and (max-width: 767px) {
  .access__head {
    text-align: center;
  }
}

.access__head-title {
  display: inline-block;
  position: relative;
}
.access__head-title::after {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -200px;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .access__head-title::after {
    width: 97.994px;
    height: 97.994px;
    top: -11px;
    right: 0;
  }
}

.access__items {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .access__items {
    -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;
    gap: 48px;
    margin-top: 48px;
  }
}

.access__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;
  gap: 36px;
  max-width: 256px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .access__item {
    gap: 16px;
    max-width: 340px;
  }
}

.access__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}

.access__item-icon-car {
  height: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* ← Flexbox化 */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* ← 縦方向の中央揃え */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* ← 横方向の中央揃え（必要なら） */
}
.access__item-icon-car img {
  width: 51px;
  height: 36px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.access__item-icon img {
  width: 51px;
  height: 51px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 1/1;
}

.access__item-lead {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}

.access__item-text {
  font-size: 16px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.24px;
}

.access__info {
  background: #fffcf7;
  position: relative;
}
@media screen and (min-width: 768px) {
  .access__info::before {
    content: "";
    position: absolute;
    top: -156px;
    right: 0;
    background: url(../img/l-top-foot.png) no-repeat center center/contain;
    width: 420px;
    height: 420px;
    -webkit-animation: revealFromLeft 5s ease-in-out infinite;
            animation: revealFromLeft 5s ease-in-out infinite;
  }
}

.access__info.info::after {
  content: "";
  position: absolute;
  bottom: 100px;
  left: 0;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}

.facility {
  padding-top: 116px;
  padding-bottom: 136px;
}
@media screen and (max-width: 767px) {
  .facility {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.facility__text {
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}

.facility__items {
  margin-top: 90px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
}
@media screen and (min-width: 768px) {
  .facility__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 58px 78px;
  }
}
@media screen and (min-width: 1200px) {
  .facility__items {
    gap: 78px 106px;
  }
}

.facility__item,
.facility__item-big,
.facility__footer {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

.facility__item.is-visible,
.facility__item-big.is-visible,
.facility__footer.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (max-width: 767px) {
  .facility__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;
  }
}

@media screen and (max-width: 767px) {
  .facility__item-img {
    max-width: 400px;
  }
}
.facility__item-body {
  margin-top: 34px;
}

.facility__item-lead {
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .facility__item-lead {
    text-align: center;
  }
}

.facility__item-text {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.facility__item-big {
  margin-top: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 42px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .facility__item-big {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 56px;
  }
}

.facility__item-big__img {
  max-width: 660px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .facility__item-big__img {
    max-width: 400px;
  }
}
@media screen and (min-width: 1200px) {
  .facility__item-big__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.facility__footer {
  margin-top: 104px;
}
@media screen and (max-width: 767px) {
  .facility__footer {
    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;
    margin-top: 56px;
  }
}

@media screen and (max-width: 767px) {
  .facility__footer-img {
    max-width: 400px;
  }
}
.facility__footer-body {
  margin-top: 40px;
}

.intro {
  margin-top: 177px;
}
@media screen and (max-width: 767px) {
  .intro {
    margin-top: 46px;
  }
}

.intro__text {
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .intro__text {
    font-size: 13px;
    font-weight: 350;
    line-height: 26px; /* 200% */
    letter-spacing: 0.26px;
  }
}

.intro__text-center {
  text-align: center;
}

.intro__text-whitening {
  max-width: 690px;
  width: 100%;
  margin-inline: auto;
}

.index {
  max-width: 720px;
  margin: 48px auto 0;
}

.index__head {
  border-radius: 10px;
  background: #f2e9dc;
  max-width: 722px;
  width: 100%;
  padding-block: 20px;
  text-align: center;
  color: #4a4a4a;
  font-size: 26px;
  line-height: 26px; /* 100% */
  letter-spacing: 0.52px;
}

.index__lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 40px; /* 上下・左右の余白 */
  padding: 45px 60px 36px;
  border-radius: 0 0 8px 8px;
  background: #f9f9f9;
  max-width: 650px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .index__lists {
    grid-template-columns: 1fr;
    width: 76.2vw;
    padding: 25px 48px;
  }
}

.index__list {
  position: relative;
  padding-left: 24px;
}
.index__list::before {
  content: "";
  position: absolute;
  background: url(../img/index__link-icon.svg) no-repeat center center/contain;
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
}

.index__link {
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index__link {
    text-align: center;
    font-size: 14px;
    line-height: 26px; /* 185.714% */
    letter-spacing: 0.28px;
  }
}
.index__link::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #e8bf85;
  width: 0;
  height: 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.index__link:hover {
  opacity: 0.7;
}
.index__link:hover::after {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .index__link-wrap {
    white-space: nowrap;
  }
}

.care__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 75px;
}
@media screen and (max-width: 767px) {
  .care__inner {
    padding-inline: 20px;
  }
}

.care {
  padding-top: 48px;
  padding-bottom: 116px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .care {
    padding-top: 66px;
    padding-bottom: 34px;
  }
}
.care::after {
  content: "";
  position: absolute;
  top: 347px;
  right: 0;
  width: 239px;
  height: 161px;
  background: url(../img/l-top-foot.png) no-repeat center center/contain;
  -webkit-animation: revealFromLeft 5s ease-in-out infinite;
          animation: revealFromLeft 5s ease-in-out infinite;
}
@media screen and (min-width: 768px) {
  .care::after {
    top: -130px;
    width: 420px;
    height: 420px;
  }
}

.care__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 18px;
}
@media screen and (max-width: 767px) {
  .care__head {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.care__head-title {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.48px;
}
@media screen and (max-width: 767px) {
  .care__head-title {
    text-align: center;
  }
}

.care__head-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.care__head-icon img {
  width: 35px;
  height: 48.387px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.care__content {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 52px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .care__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 90px;
  }
}

.care__img {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
.care__img img {
  width: 425px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 20px;
}

.care__img.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.care__body-lead {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}

.care__body-lists {
  margin-top: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.care__body-list {
  padding-left: 34px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
  position: relative;
}
.care__body-list::before {
  content: "";
  position: absolute;
  background: url(../img/care__body-icon.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.care__footer {
  border-radius: 12px;
  background: #fcf0d6;
  padding: 34px 58px;
  margin: 56px auto 0;
  max-width: 758px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .care__footer {
    padding: 20px 28px;
  }
}

.care__footer-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .care__footer-text {
    font-size: 12px;
  }
}

.detail {
  padding-top: 95px;
  padding-bottom: 120px;
  background: #fffcf7;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail {
    padding-top: 40px;
    padding-bottom: 55px;
  }
}

.l-detail {
  padding-top: 40px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .l-detail {
    padding-top: 40px;
    padding-bottom: 55px;
  }
}

@media screen and (min-width: 768px) {
  .detail__head-caries {
    position: absolute;
    top: -26px;
  }
}

.detail__content {
  margin-top: 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 58px;
}
@media screen and (min-width: 900px) {
  .detail__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.detail__items {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 110px;
}
@media screen and (max-width: 767px) {
  .detail__items {
    gap: 77px;
  }
}

.detail__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;
  gap: 34px;
}
@media screen and (min-width: 900px) {
  .detail__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 58px;
  }
  .detail__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.detail__img {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  max-width: 425px;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .detail__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (min-width: 900px) {
  .detail__img {
    min-width: 360px;
  }
}
.detail__img img {
  border-radius: 20px;
}
@media screen and (min-width: 900px) {
  .detail__img img {
    width: 380px;
  }
}
@media screen and (min-width: 1200px) {
  .detail__img img {
    width: 425px;
  }
}

.detail__img.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.detail__img-caries {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 430px;
  width: 100%;
}
.detail__img-caries img {
  width: 430px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 20px;
}
.detail__img-caries::after {
  content: "";
  position: absolute;
  background: url(../img/caries-img3.png) no-repeat center center/contain;
  bottom: -20px;
  right: -19px;
  width: 123px;
  height: 123px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .detail__img-caries::after {
    right: 0;
  }
}
@media screen and (min-width: 900px) {
  .detail__img-caries::after {
    top: 150px;
    right: -19px;
  }
}
.detail__img-caries img {
  width: 425px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 250px;
}

@media screen and (min-width: 900px) {
  .detail__body {
    padding-top: 30px;
  }
}

@media screen and (min-width: 1200px) {
  .detail__body-caries {
    padding-top: 30px;
  }
}

.detail__body-lead {
  font-weight: 500;
  letter-spacing: 0.32px;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .detail__body-lead {
    text-align: left;
  }
}

.detail__body-texts {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .detail__body-texts {
    margin-top: 30px;
  }
}

.detail__body-text {
  font-size: 15px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .detail__body-text {
    font-size: 14px;
  }
}

.method {
  padding-top: 32px;
  padding-bottom: 48px;
  background: #fcfff4;
}

.method__head {
  text-align: center;
}
@media screen and (min-width: 900px) {
  .method__head {
    text-align: left;
  }
}

.method__head-title {
  font-size: 18px;
  font-weight: 350;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}

.method__items {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 80px;
  max-width: 846px;
  width: 100%;
  margin: 32px auto 0;
}
@media screen and (min-width: 900px) {
  .method__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .method__items {
    gap: 155px;
  }
}

.method__item {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  max-width: 345px;
  width: 100%;
}

.method__item.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.method__img {
  max-width: 343px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 900px) {
  .method__img {
    width: 343px;
    height: 230px;
  }
}
.method__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 枠に合わせてトリミング */
  -o-object-position: bottom;
     object-position: bottom; /* ← これで「下寄せ」！ */
  display: block;
}

.method__title {
  text-align: center;
  margin-top: 48px;
  color: #e08b60;
  font-size: 21px;
  line-height: 26px; /* 123.81% */
  letter-spacing: 1.05px;
}

.method__info {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}

.method__body dt {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}
.method__body dd {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.gallery {
  padding-top: 50px;
  padding-bottom: 60px;
  background: #fffcf7;
}

.gallery__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 70px;
}

.gallery__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 58px;
  -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;
}
@media screen and (min-width: 900px) {
  .gallery__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .gallery__item:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.caries-care {
  padding-top: 158px;
  position: relative;
}
.caries-care::after {
  content: "";
  position: absolute;
  top: 23px;
  left: 14px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}

.caries-care__text {
  margin-top: 34px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.care__items {
  margin-top: 80px;
  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;
  gap: 66px;
}

.care__item {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  width: 100%;
  border-radius: 15px;
  border: 1px solid #e08b60;
  padding: 32px 25px;
}
@media screen and (max-width: 767px) {
  .care__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.care__item.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.care__item-img {
  border-radius: 20px;
  background: #fff5f5;
  width: 269px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 水平方向の中央寄せ */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; /* 垂直方向の中央寄せ */
}
@media screen and (min-width: 1200px) {
  .care__item-img {
    width: 369px;
    height: 318px;
  }
}
.care__item-img img {
  width: 187.32px;
  height: 260px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 187.32/260;
}

.care__item-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.care__item-title {
  color: #e08b60;
  font-size: 21px;
  line-height: 26px; /* 123.81% */
  letter-spacing: 0.42px;
}

.care__item-info {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
.care__item-info dt {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
.care__item-info dd {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.guide {
  padding-top: 90px;
  padding-bottom: 95px;
}

.guide__text {
  margin-top: 26px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.guide__items {
  margin-top: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 158px;
}

.guide__item-lead {
  font-size: 18px;
  font-weight: 350;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
  text-align: center;
}
@media screen and (min-width: 900px) {
  .guide__item-lead {
    text-align: left;
  }
}

.item-insurances {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  max-width: 832px;
  width: 100%;
  margin: 64px auto 0;
  gap: 100px;
}
@media screen and (min-width: 900px) {
  .item-insurances {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .item-insurances {
    gap: 146px;
  }
}

.item-insurance {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  max-width: 345px;
  width: 100%;
}

.item-insurance.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.item-insurance__img {
  max-width: 343.5px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 343.5/229;
}
@media screen and (min-width: 900px) {
  .item-insurance__img {
    width: 343.5px;
  }
}
.item-insurance__img img {
  border-radius: 20px;
}

.item-insurance__name {
  margin-top: 28px;
  text-align: center;
  font-size: 18px;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}

.item-insurance__info {
  margin-top: 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.item-insurance__block dt {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}
.item-insurance__block dd {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

@media screen and (min-width: 900px) {
  .item-insurance__box {
    height: 120px;
  }
}

.item-frees {
  margin-top: 54px;
  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;
  gap: 100px;
}
@media screen and (min-width: 900px) {
  .item-frees {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 12px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1200px) {
  .item-frees {
    gap: 0;
  }
}

.item-free {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  max-width: 345px;
  width: 100%;
}
@media screen and (min-width: 900px) {
  .item-free {
    max-width: 276px;
    width: 100%;
  }
}

.item-free.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.item-free__img img {
  border-radius: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.guide__footer {
  margin-top: 132px;
}

.important {
  padding-top: 24px;
  padding-bottom: 64px;
  background: #fffcf7;
}

.important__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 46px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .important__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.important__img img {
  border-radius: 20px;
  width: 425px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.important__body-lead {
  font-size: 14px;
  font-weight: 350;
  line-height: 24px; /* 171.429% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .important__body-lead {
    text-align: center;
  }
}

.important__body-lists {
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .important__body-lists {
    margin-top: 24px;
  }
}

.important__body-list {
  font-size: 14px;
  line-height: 24px; /* 171.429% */
  letter-spacing: 0.28px;
}

.smile {
  padding-top: 83px;
}

.smile__content {
  padding: 48px 20px 36px;
  background: #fdf2a8;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .smile__content {
    padding-inline: 10px;
  }
}
@media screen and (min-width: 1200px) {
  .smile__content::after {
    content: "";
    position: absolute;
    bottom: 260px;
    right: -38px;
    background: url(../img/smile-bg.png) no-repeat center center/contain;
    width: 243.707px;
    height: 243.707px;
    z-index: -1;
  }
}

.smile__head {
  text-align: center;
}

.smile__head-title {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  line-height: 26px; /* 92.857% */
  letter-spacing: 8.4px;
}
@media screen and (max-width: 767px) {
  .smile__head-title {
    font-size: min(16px, 3.72vw);
    letter-spacing: 4.8px;
  }
}

.smile__item {
  margin-top: 86px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 52px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 900px) {
  .smile__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 34px;
  }
}
@media screen and (min-width: 1200px) {
  .smile__item {
    gap: 110px;
  }
}

.smile__item-img {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.smile__item-img::before {
  content: "";
  position: absolute;
  background: url(../img/smile-sound1.png) no-repeat center center/contain;
  top: -58px;
  left: 30px;
  width: 49px;
  height: 67px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .smile__item-img::before {
    width: 31px;
    height: 42px;
  }
}
.smile__item-img::after {
  content: "";
  position: absolute;
  background: url(../img/smile-sound2.png) no-repeat center center/contain;
  top: -40px;
  right: 0;
  width: 60px;
  height: 59px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .smile__item-img::after {
    width: 38px;
    height: 37px;
  }
}
.smile__item-img img {
  width: 361px;
  height: 380px;
}
@media screen and (max-width: 767px) {
  .smile__item-img img {
    width: 203.415px;
    height: 214.121px;
  }
}
@media screen and (min-width: 900px) {
  .smile__item-img img {
    width: 300px;
    height: 300px;
  }
}
@media screen and (min-width: 1200px) {
  .smile__item-img img {
    width: 361px;
    height: 380px;
  }
}

.smile__sound {
  position: relative;
}
.smile__sound::after {
  content: "";
  position: absolute;
  background: url(../img/smile-sound3.png) no-repeat center center/contain;
  top: 146px;
  right: -10px;
  width: 37px;
  height: 42px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .smile__sound::after {
    width: 23px;
    height: 26px;
  }
}

.smile__item-text {
  text-align: center;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 47px; /* 293.75% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .smile__item-text {
    font-size: 13px;
    line-height: 40px; /* 307.692% */
  }
}

.smile__family {
  margin-top: 50px;
  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;
  gap: 32px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 900px) {
  .smile__family {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.smile__family-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 70px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .smile__family-items {
    gap: min(70px, 13.28vw);
  }
}
@media screen and (min-width: 900px) {
  .smile__family-items {
    -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;
  }
}
@media screen and (min-width: 1200px) {
  .smile__family-items {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.smile__family-items::after {
  content: "";
  position: absolute;
  background: url(../img/smile__family-border.png) no-repeat center center/contain;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 7px;
  height: 117px;
}
@media screen and (max-width: 767px) {
  .smile__family-items::after {
    height: 74px;
  }
}
@media screen and (min-width: 900px) {
  .smile__family-items::after {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .smile__family-items::after {
    display: block;
  }
}

.family-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .family-item {
    gap: min(16px, 3.12vw);
  }
}
.family-item:nth-of-type(1) .family-item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.family-item:nth-of-type(1) .family-item__img img {
  width: 110px;
  height: 101px;
}
@media screen and (max-width: 767px) {
  .family-item:nth-of-type(1) .family-item__img img {
    width: 59px;
    height: 54px;
  }
}
.family-item:nth-of-type(2) .family-item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.family-item:nth-of-type(2) .family-item__img img {
  width: 85px;
  height: 99px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .family-item:nth-of-type(2) .family-item__img img {
    width: 46px;
    height: 53px;
  }
}

.family-item__text {
  font-family: "MFW-PPuhuSourMin2-B", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .family-item__text {
    font-size: min(14px, 2.8vw);
    line-height: 22px; /* 157.143% */
    letter-spacing: 0.28px;
  }
}

.smile__family-text {
  text-align: center;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 47px; /* 293.75% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .smile__family-text {
    font-size: 13px;
    line-height: 40px; /* 307.692% */
  }
}

.smile__footer-items {
  margin: 70px auto 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: 60px;
  max-width: 700px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .smile__footer-items {
    margin-top: 92px;
    gap: 52px;
  }
}

.smile__footer-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .smile__footer-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}

.footer-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .footer-head {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.smile__footer-lead {
  color: #ef8f41;
  font-size: 24px;
  line-height: 26px; /* 108.333% */
  letter-spacing: 0.48px;
}
@media screen and (max-width: 767px) {
  .smile__footer-lead {
    font-size: 18px;
    letter-spacing: 0.36px;
  }
}

.smile__footer-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .smile__footer-text {
    font-size: 12px;
    letter-spacing: 0.24px;
  }
}

.smile__footer-lists {
  margin-top: 18px;
  border-radius: 10px;
  background: #fff;
  padding: 34px 20px 34px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .smile__footer-lists {
    padding: 15px;
  }
}

.footer-lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .footer-lists {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media screen and (min-width: 768px) {
  .nowrap {
    white-space: nowrap;
  }
}

.smile__footer-list {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .smile__footer-list {
    font-size: 13px;
    line-height: 26px; /* 200% */
    letter-spacing: 0.26px;
  }
}
.smile__footer-list::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  background: #ef8f41;
  width: 10px;
  height: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
}

.smile__text {
  margin-top: 44px;
  text-align: center;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .smile__text {
    font-size: 12px;
    letter-spacing: 0.24px;
  }
}

.trouble {
  padding-top: 167px;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .trouble {
    padding-top: 80px;
    padding-bottom: 30px;
  }
}

.trouble__periodontal {
  padding-top: 0px;
  padding-bottom: 0;
}

.occlusal__trouble {
  position: relative;
}
.occlusal__trouble::after {
  content: "";
  position: absolute;
  top: 23px;
  left: 14px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}

.trouble__content {
  margin-top: 18px;
  background: #f8f3e9;
}

.trouble__content-inner {
  padding: 58px 20px 30px;
  max-width: 870px;
  width: 100%;
  margin: 0 auto;
}

.trouble__content-inner--periodontal {
  padding: 24px 20px 22px;
}

.trouble__content-inner--surgery {
  padding: 42px 20px 22px;
}

.trouble__head {
  padding-top: 24px;
  padding-bottom: 22px;
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.24px;
  text-align: center;
}

.trouble__lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 20px;
  max-width: 765px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .trouble__lists {
    grid-template-columns: 1fr;
    gap: 16px;
    justify-items: center;
    text-align: left;
  }
}
@media screen and (min-width: 900px) {
  .trouble__lists {
    gap: 16px 74px;
  }
}

.trouble__lists-periodontal {
  display: grid;
  grid-template-columns: repeat(2, 180px);
  gap: 16px 20px;
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .trouble__lists-periodontal {
    grid-template-columns: 1fr;
    gap: 16px;
    justify-items: center;
    text-align: left;
  }
}
@media screen and (min-width: 900px) {
  .trouble__lists-periodontal {
    gap: 16px 74px;
  }
}

.trouble__list {
  padding-left: 34px;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  display: block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .trouble__list {
    max-width: 350px;
    width: 100%;
  }
}
.trouble__list::before {
  content: "";
  position: absolute;
  background: url(../img/care__body-icon.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.trouble__note {
  margin-top: 45px;
  color: #d24343;
  font-size: 18px;
  font-weight: 350;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}

.trouble__footer {
  padding-top: 40px;
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.24px;
  text-align: center;
}

.periodontal {
  padding-top: 100px;
  padding-bottom: 90px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .periodontal {
    padding-top: 30px;
    padding-bottom: 50px;
  }
}
.periodontal::after {
  content: "";
  position: absolute;
  top: -23px;
  left: 14px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}

.periodontal__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 900px) {
  .periodontal__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 118px;
  }
}

.periodontal__item-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.periodontal__item-img img {
  width: 333px;
}

.periodontal__item-texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.periodontal__item-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: -0.28px;
}

.flow__surgery {
  padding-top: 170px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow__surgery {
    padding-top: 100px;
  }
}
.flow__surgery::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 14px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}

.cost {
  padding-top: 96px;
}
@media screen and (max-width: 767px) {
  .cost {
    padding-top: 48px;
  }
}

.example {
  padding-top: 106px;
  padding-bottom: 130px;
  position: relative;
}
.example::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .example::before {
    width: 99px;
    height: 76px;
  }
}
@media screen and (max-width: 767px) {
  .example {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

.example__items {
  margin-top: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 100px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .example__items {
    margin-top: 32px;
    -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;
    gap: 48px;
  }
}

.example__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
}

.example__item-img {
  max-width: 250px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .example__item-img {
    max-width: 400px;
  }
}
.example__item-lead {
  color: #3a3a3a;
  font-weight: 500;
  line-height: 24px; /* 200% */
  letter-spacing: 0.6px;
  text-align: center;
}

.denture__type {
  padding-top: 52px;
  padding-bottom: 170px;
  position: relative;
}
.denture__type::before {
  content: "";
  position: absolute;
  bottom: 360px;
  left: 20px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .denture__type::before {
    bottom: 300px;
    left: 0;
    width: 99px;
    height: 76px;
  }
}
@media screen and (max-width: 767px) {
  .denture__type {
    padding-bottom: 80px;
  }
}

.type__items {
  margin-top: 56px;
}

.type__title {
  margin-top: 28px;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
  height: 52px;
}

.type__body-text {
  height: 104px;
}

.index__lists-implant {
  padding: 45px 24px 36px;
  gap: 16px 0;
}

/* 右側の列だけ右寄せ */
.index__lists-implant li:nth-child(even) {
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .index__lists-implant li:nth-child(even) {
    margin-left: 0;
  }
}

.implant__type {
  padding-bottom: 142px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .implant__type {
    padding-bottom: 70px;
  }
}
.implant__type::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 20px;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .implant__type::before {
    bottom: 300px;
    left: 0;
    width: 99px;
    height: 76px;
  }
}

.implant__merit-demerit {
  padding-bottom: 108px;
}

/* ===== merit / demerit block ===== */
.merit-demerit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-inline: 40px;
  border-radius: 10px;
  position: relative;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .merit-demerit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 30px 20px;
    gap: 24px;
  }
}

.merit-demerit__item {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .merit-demerit__item {
    width: 100%;
  }
}

.merit-demerit__title {
  font-weight: 500;
  letter-spacing: 0.32px;
  margin-bottom: 16px;
}

.merit-demerit__lists {
  padding-left: 0;
}

.merit-demerit__list {
  color: #3a3a3a;
  font-size: 12px;
  line-height: 28px; /* 233.333% */
  letter-spacing: 0.6px;
  padding-left: 16px;
  margin-bottom: 8px;
  position: relative;
}
.merit-demerit__list::before {
  content: "●";
  color: #e48f68;
  font-size: 6px;
  position: absolute;
  left: 0;
  top: 1px;
}

.detail__body-text--under {
  margin-bottom: 24px;
}

.detail__body-text--accent {
  font-size: 14px;
  font-weight: 500;
  line-height: 26px;
  letter-spacing: 0.28px;
  display: inline; /* ←これ重要！ */
  -webkit-box-shadow: inset 0 -8px 0 #fff47f;
          box-shadow: inset 0 -8px 0 #fff47f; /* ←黄色の線（高さ調整） */
}

.payment {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .payment {
    padding-bottom: 30px;
  }
}

.payment__content-head {
  background: #f6f3e9;
  padding-top: 33px;
  padding-bottom: 80px;
}

.payment__head {
  border-bottom: 1px solid #9f9f9f;
  text-align: center;
  padding-bottom: 12px;
}

.payment__head-title {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}

.payment__lead {
  text-align: center;
  margin-top: 32px;
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}

.payment__cards {
  margin-top: 42px;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 26px;
}
@media screen and (max-width: 767px) {
  .payment__cards {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
@media screen and (min-width: 768px) {
  .payment__cards {
    grid-template-columns: repeat(2, 1fr);
    max-width: 510px; /* ← ここ重要！ 全体幅を絞る */
    margin-inline: auto; /* 中央寄せ */
  }
}
@media screen and (min-width: 1200px) {
  .payment__cards {
    grid-template-columns: repeat(4, 1fr);
    max-width: 1020px; /* ← ここ重要！ 全体幅を絞る */
  }
}

.payment__card {
  padding: 22px 22px 12px;
  background: #fff;
  max-width: 235px;
  width: 100%;
  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;
}

.payment__card-img {
  background: #f6f3e9;
  width: 120px;
  height: 120px;
  border-radius: 50%;
}
.payment__card-img--small {
  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;
}
.payment__card-img--small img {
  width: 80px;
}

.payment__card-title {
  margin-top: 10px;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 21px;
  font-weight: 300;
  letter-spacing: 0.42px;
  padding-bottom: 12px;
  position: relative;
}
.payment__card-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 190px; /* 線の長さ */
  height: 4px; /* ← ドットサイズ */
  background-image: radial-gradient(circle, #999 2px, transparent 2px);
  background-size: 10px 4px; /* ドット間隔 */
  background-repeat: repeat-x;
}

.payment__card-text {
  margin-top: 10px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
  height: 52px;
  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; /* ← 横中央寄せ */
}

.payment__content-footer {
  padding-top: 30px;
  padding-inline: 25px;
}

.payment__content-deduction {
  max-width: 1150px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #414141;
  padding: 26px 36px 40px;
}
@media screen and (max-width: 767px) {
  .payment__content-deduction {
    padding: 20px;
  }
}

.payment__content-lead {
  text-align: center;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.48px;
}

.payment__content-text {
  margin-top: 12px;
  text-align: center;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.content-request {
  margin-top: 32px;
  background: #f6f3e9;
  padding: 12px 12px 16px;
}

.content-request__lead {
  text-align: center;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.48px;
}

.content-request__lists {
  margin-top: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 22px;
}
@media screen and (max-width: 767px) {
  .content-request__lists {
    margin-top: 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 160px;
    width: 100%;
    margin-inline: auto;
  }
}

.content-request__list {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
  padding-left: 22px;
  position: relative;
}
.content-request__list::before {
  content: "●";
  color: #e48f68;
  font-size: 10px;
  position: absolute;
  left: 0;
  top: 1px;
}

.cosmetic__type {
  padding-top: 52px;
  padding-bottom: 170px;
}
@media screen and (max-width: 767px) {
  .cosmetic__type {
    padding-bottom: 80px;
  }
}

.canal__care {
  padding-top: 95px;
  position: relative;
}
.canal__care::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/l-footer-light.png) no-repeat center center/contain;
  width: 111px;
  height: 111px;
  -webkit-animation: blinkEffect 2s ease-in-out infinite alternate;
          animation: blinkEffect 2s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .canal__care::before {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .canal__care {
    padding-top: 50px;
  }
}

.canal__care-content {
  border-radius: 20px;
  background: #edf0fc;
  max-width: 976px;
  width: 100%;
  margin-inline: auto;
  padding: 38px 32px 50px;
  position: relative;
}
.canal__care-content::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  background: url(../img/canal-scorp.png) no-repeat center center/contain;
  width: 19.77%;
  mix-blend-mode: overlay;
  aspect-ratio: 193/289;
}
@media screen and (max-width: 767px) {
  .canal__care-content::before {
    top: 0;
  }
}

.canal__care-head {
  border-radius: 10px;
  background: #8bc973;
  margin: 0 auto; /* ← block化して中央寄せ */
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; /* 内容に合わせて幅を自動調整 */
  padding: 8px 20px;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .canal__care-head {
    padding: 6px 12px;
  }
}

.canal__care-head-title {
  color: #fff;
  font-size: 24px;
  font-weight: 300;
  letter-spacing: 0.48px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .canal__care-head-title {
    font-size: 20px;
  }
}

.canal__care-lead {
  margin-top: 38px;
  text-align: center;
  font-size: 18px;
  font-weight: 350;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .canal__care-lead {
    font-size: 16px;
  }
}

.canal__care-lists {
  margin-top: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .canal__care-lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.canal__care-list {
  font-size: 18px;
  font-weight: 500;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
  padding-left: 22px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .canal__care-list {
    font-size: 16px;
  }
}
.canal__care-list::before {
  position: absolute;
  content: "";
  background: #ef8f41;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.canal__care-note {
  margin: 48px auto 0;
  border-radius: 20px;
  background: #fffcf7;
  padding: 20px 32px;
  max-width: 676px;
}

.canal__care-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.42px;
}

.canal__about {
  padding-top: 94px;
}
@media screen and (max-width: 767px) {
  .canal__about {
    padding-top: 50px;
  }
}

.canal__trouble {
  padding-top: 105px;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .canal__trouble {
    padding-top: 50px;
  }
}
.canal__trouble .trouble__note {
  text-align: center;
}

/* 全体 */
.preventive-item {
  border-radius: 20px;
  background: #edf0fc;
  padding: 56px 75px 40px;
}
@media screen and (max-width: 767px) {
  .preventive-item {
    padding: 24px;
  }
}

/* 見出し */
.preventive-item__head {
  text-align: center;
}

.preventive-item__head-title {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  .preventive-item__head-title {
    font-size: 20px;
  }
}
.preventive-item__head-title::after, .preventive-item__head-title::before {
  content: "";
  position: absolute;
  background: #eba063;
  top: 50%;
  width: 54.375px;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .preventive-item__head-title::after, .preventive-item__head-title::before {
    width: 40px;
  }
}
.preventive-item__head-title::before {
  left: -60px; /* タイトルとの距離 */
  -webkit-transform: translateY(-50%) rotate(54deg);
          transform: translateY(-50%) rotate(54deg);
}
@media screen and (max-width: 767px) {
  .preventive-item__head-title::before {
    left: -20px;
  }
}
.preventive-item__head-title::after {
  right: -60px;
  -webkit-transform: translateY(-50%) rotate(-54deg);
          transform: translateY(-50%) rotate(-54deg);
}
@media screen and (max-width: 767px) {
  .preventive-item__head-title::after {
    right: -20px;
  }
}

/* コンテンツレイアウト */
.preventive-item__content {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .preventive-item__content {
    margin-top: 32px;
    gap: 24px;
  }
}
@media screen and (min-width: 1200px) {
  .preventive-item__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}

/* 画像部分 */
@media screen and (min-width: 1200px) {
  .preventive-item__img {
    width: 456px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (min-width: 1200px) {
  .preventive-item__img img {
    width: 456px;
  }
}

/* テキスト部分 */
.preventive-item__texts {
  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;
}

.preventive-item__text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

/* メリット部分 */
.preventive-item__merit {
  margin: 72px auto 0;
  max-width: 674px;
  width: 100%;
}

.preventive-item__merit-title {
  color: #ef8f41;
  font-size: 24px;
  line-height: 26px; /* 108.333% */
  letter-spacing: 0.48px;
  padding-left: 44px;
}
@media screen and (max-width: 767px) {
  .preventive-item__merit-title {
    font-size: 20px;
    padding-left: 0;
    text-align: center;
  }
}

.preventive-item__merit-lists {
  margin-top: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  border-radius: 20px;
  background: #fffcf7;
  padding: 16px 54px;
}
@media screen and (max-width: 767px) {
  .preventive-item__merit-lists {
    padding: 16px;
    font-size: 14px;
  }
}

.preventive-item__merit-list {
  padding-left: 24px;
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  position: relative;
}
.preventive-item__merit-list::before {
  content: "●";
  color: #e48f68;
  font-size: 10px;
  position: absolute;
  left: 0;
  top: 1px;
}

.detail__item.detail__item-preventive:nth-of-type(3) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .detail__item.detail__item-preventive:nth-of-type(3) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.detail__item.detail__item-preventive:nth-of-type(4) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media screen and (max-width: 767px) {
  .detail__item.detail__item-preventive:nth-of-type(4) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.mouthpiece {
  padding-top: 42px;
}

@media screen and (min-width: 768px) {
  .mouthpiece__head {
    padding-left: 36px;
  }
}

.mouthpiece__content {
  border-radius: 20px;
  background: #edf0fc;
  padding: 34px 20px 68px 20px;
}
@media screen and (max-width: 767px) {
  .mouthpiece__content {
    padding-inline: 10px;
  }
}

.mouthpiece__items {
  padding-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 145px;
}
@media screen and (max-width: 767px) {
  .mouthpiece__items {
    gap: 48px;
  }
}

.mouthpiece__item:nth-of-type(2) .mouthpiece__item-content {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mouthpiece__item:nth-of-type(2) .mouthpiece__item-img {
  width: 328px;
}
@media screen and (max-width: 767px) {
  .mouthpiece__item:nth-of-type(2) .mouthpiece__item-img {
    width: 252px;
  }
}
.mouthpiece__item:nth-of-type(2) .mouthpiece__item-img img {
  border-radius: 30px;
}

.mouthpiece__item-title {
  font-weight: 350;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .mouthpiece__item-title {
    text-align: center;
    font-size: min(16px, 3.72vw);
  }
}
@media screen and (min-width: 768px) {
  .mouthpiece__item-title {
    padding-left: 36px;
    font-size: 18px;
  }
}

.mouthpiece__item-text {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .mouthpiece__item-text {
    font-size: min(14px, 3.25vw);
  }
}
@media screen and (min-width: 768px) {
  .mouthpiece__item-text {
    padding-left: 36px;
  }
}

.mouthpiece__item-content {
  margin-top: 58px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .mouthpiece__item-content {
    margin-top: 32px;
  }
}
@media screen and (min-width: 1200px) {
  .mouthpiece__item-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.mouthpiece__item-imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .mouthpiece__item-imgs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.mouthpiece__item-img {
  width: 252px;
}
.mouthpiece__item-img img {
  border-radius: 30px;
}

.mouthpiece__item-recommend-head {
  color: #ef8f41;
  font-size: 24px;
  line-height: 26px; /* 108.333% */
  letter-spacing: 0.48px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mouthpiece__item-recommend-head {
    font-size: 20px;
  }
}
@media screen and (min-width: 1200px) {
  .mouthpiece__item-recommend-head {
    text-align: left;
  }
}

.mouthpiece__item-recommend-lists {
  margin-top: 28px;
  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;
}

.mouthpiece__item-recommend-list {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
  padding-left: 34px;
  position: relative;
}
.mouthpiece__item-recommend-list::before {
  content: "";
  position: absolute;
  background: url(../img/care__body-icon.svg) no-repeat center center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.adult-orthodontics__content {
  border-radius: 20px;
  background: #e6e6d1;
  padding-bottom: 130px;
  position: relative;
}
.adult-orthodontics__content::after {
  content: "";
  position: absolute;
  background: url(../img/adult-orthodontics-bg.png) no-repeat center center/contain;
  bottom: -57px;
  right: -56px;
  width: 550.505px;
  height: 277.245px;
}
@media screen and (max-width: 767px) {
  .adult-orthodontics__content::after {
    bottom: -20px;
    right: -20px;
    width: 350.505px;
    height: 177.245px;
  }
}
.adult-orthodontics__head {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics__head {
    -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: flex-end;
  }
}

.adult-orthodontics__head-big {
  color: #fff;
  font-family: "A P-OTF A1 Mincho StdN";
  font-size: 105px;
  letter-spacing: -14.7px;
  line-height: 1;
  font-size: 54px;
  letter-spacing: 0.7px;
}
@media screen and (max-width: 767px) {
  .adult-orthodontics__head-big {
    font-size: 38px;
  }
}
@media screen and (min-width: 900px) {
  .adult-orthodontics__head-big {
    font-size: 80px;
    letter-spacing: -14.7px;
  }
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics__head-big {
    font-size: 105px;
  }
}

.adult-orthodontics__head-small {
  color: #fff;
  font-family: "A P-OTF A1 Mincho StdN";
  font-size: 40px;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 767px) {
  .adult-orthodontics__head-small {
    font-size: 24px;
  }
}

.adult-orthodontics__item {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -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;
  padding-inline: 20px;
}
@media screen and (min-width: 900px) {
  .adult-orthodontics__item {
    padding-inline: 64px;
  }
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics__item {
    padding-inline: 102px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.adult-orthodontics-img {
  width: 317px;
}
@media screen and (max-width: 767px) {
  .adult-orthodontics-img {
    width: 280px;
  }
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics-img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.adult-orthodontics-img img {
  border-radius: 30px;
}

.adult-orthodontics__lead {
  font-weight: 500;
  letter-spacing: 0.32px;
  text-align: center;
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics__lead {
    text-align: left;
  }
}

.adult-orthodontics__texts {
  margin-top: 10px;
}

.adult-orthodontics__text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.adult-orthodontics__footer {
  margin: 50px auto 0;
  max-width: 630px;
  width: 100%;
  padding-inline: 20px;
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics__footer {
    padding-inline: 0;
  }
}

.adult-orthodontics__title {
  color: #ef8f41;
  font-size: 24px;
  line-height: 26px; /* 108.333% */
  letter-spacing: 0.48px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .adult-orthodontics__title {
    font-size: 20px;
  }
}
@media screen and (min-width: 1200px) {
  .adult-orthodontics__title {
    text-align: left;
  }
}

.adult-orthodontics__lists {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.adult-orthodontics__list {
  font-weight: 500;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .adult-orthodontics__list {
    font-size: 14px;
  }
}
.adult-orthodontics__list::before {
  content: "";
  position: absolute;
  background: #ef8f41;
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.recruit__head {
  padding-top: 14px;
  background: #fffcf7;
}

.recruit__head-inner {
  background: url(../img/recruit-bg.jpg) no-repeat center center/cover;
  padding: 32px;
}

.recruit__head-lead {
  text-align: center;
  font-family: "A P-OTF A1 Mincho StdN";
  font-size: 20px;
  line-height: 30px; /* 150% */
  letter-spacing: 0.4px;
}

.l-top__recruit::after {
  content: "";
  position: absolute;
  right: 0;
  background: url(../img/l-top-foot.png) no-repeat center center/contain;
  width: 420px;
  height: 420px;
  -webkit-animation: revealFromLeft 5s ease-in-out infinite;
          animation: revealFromLeft 5s ease-in-out infinite;
}
@media screen and (max-width: 767px) {
  .l-top__recruit::after {
    width: 150px;
    height: 150px;
    top: -37px;
  }
}
@media screen and (min-width: 768px) {
  .l-top__recruit::after {
    top: -142px;
  }
}

.recruit__about {
  padding-top: 74px;
  background: #fffcf7;
}

.recruit__about-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 34px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 900px) {
  .recruit__about-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.recruit__about-img {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
.recruit__about-img img {
  width: 400px;
  aspect-ratio: 400/278;
}

.recruit__about-img.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.recruit__about-texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.recruit__about-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 30px; /* 214.286% */
  letter-spacing: 0.28px;
}

.recruit__equipment {
  background: #fffcf7;
}

.recruit__equipment-footer {
  margin: 80px auto 0;
  border-radius: 10px;
  background: #faa35d;
  padding: 28px 100px;
  max-width: 710px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .recruit__equipment-footer {
    padding-inline: 20px;
  }
}

.recruit__equipment-text {
  color: #fff;
  text-align: center;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .recruit__equipment-text {
    font-size: 14px;
  }
}

.recruit__point {
  padding-top: 76px;
  position: relative;
}
.recruit__point::after {
  content: "";
  position: absolute;
  background: #fffcf7;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  height: 900px;
}
@media screen and (min-width: 768px) {
  .recruit__point::after {
    height: 732px;
  }
}

.recruit__point-title {
  text-align: center;
  padding-bottom: 10px;
  position: relative;
}
.recruit__point-title::after {
  content: "";
  position: absolute;
  background: #000;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
}

.recruit__point-head-title span {
  color: #ef8f41;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}

.recruit__point-content {
  margin-top: 60px;
  padding: 68px 58px 80px;
  background: #f5ece5;
}
@media screen and (max-width: 767px) {
  .recruit__point-content {
    padding: 32px 20px;
  }
}

.recruit__point-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 90px 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .recruit__point-lists {
    gap: 32px 10px;
  }
}

.recruit__point-list {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  width: 250px;
}
.recruit__point-list:nth-of-type(1) .recruit__point-lead {
  background: #85c781;
}
.recruit__point-list:nth-of-type(2) .recruit__point-lead {
  background: #81a7c7;
}
.recruit__point-list:nth-of-type(3) .recruit__point-lead {
  background: #e8d581;
}
.recruit__point-list:nth-of-type(4) .recruit__point-lead {
  background: #8681c7;
}
.recruit__point-list:nth-of-type(5) .recruit__point-lead {
  background: #ee9aa3;
}

.recruit__point-list.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.recruit__point-lead {
  padding-top: 14px;
  padding-bottom: 8px;
  color: #fff;
  text-align: center;
  font-size: 21px;
  font-weight: 500;
  line-height: 26px; /* 123.81% */
  letter-spacing: 0.42px;
}

.recruit__point-text {
  padding: 18px 15px;
  font-size: 12px;
  font-weight: 350;
  line-height: 26px; /* 216.667% */
  letter-spacing: 0.24px;
  height: 146px;
  background: #fff;
}

.online {
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .online {
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 767px) {
  .online__title {
    text-align: center;
  }
}

.online__texts {
  margin-top: 14px;
}

.online__text {
  font-size: 14px;
  font-weight: 350;
  line-height: 30px; /* 214.286% */
  letter-spacing: 0.28px;
}

.online__content {
  max-width: 730px;
  width: 100%;
  margin: 60px auto 0;
}

.online__lead {
  color: #3a3a3a;
  font-size: 14px;
  line-height: 24px; /* 171.429% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .online__lead {
    text-align: center;
  }
}

.online__form {
  margin-top: 8px;
  border-radius: 5px;
  border: 1px solid #ac9977;
  padding: 28px 16px 20px;
}
@media screen and (min-width: 768px) {
  .online__form {
    padding: 38px 50px 28px;
  }
}
@media screen and (min-width: 900px) {
  .online__form {
    padding-inline: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .online__form {
    padding-inline: 50px;
  }
}

.online__form-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .online__form-body {
    -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;
    gap: 32px;
  }
}

.online__form-button {
  display: inline-block;
  width: 282px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border-radius: 3px;
  background: #7096b8;
  color: #fff;
  font-weight: 500;
  letter-spacing: 1.28px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
.online__form-button::after {
  content: "";
  position: absolute;
  background: url(../img/button-arrow.png) no-repeat center center/contain;
  top: 50%;
  right: 50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 23px;
  height: 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .online__form-button::after {
    right: 14px;
  }
}
.online__form-button:hover {
  opacity: 0.7;
}
.online__form-button:hover::after {
  right: 40px;
}
@media screen and (max-width: 767px) {
  .online__form-button:hover::after {
    right: 16px;
  }
}

.online__form-qr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .online__form-qr {
    -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;
  }
}

.online__form-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.online__form-cord img {
  width: 65px;
  height: 65px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.online__form-footer {
  margin-top: 50px;
  color: #ef8f41;
  text-align: center;
  font-size: 14px;
  font-weight: 350;
  line-height: 24px; /* 171.429% */
  letter-spacing: 0.28px;
}

.online__footer {
  margin-top: 54px;
  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;
  gap: 38px;
}
@media screen and (max-width: 767px) {
  .online__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.online__footer-text {
  color: #272727;
  font-size: 21px;
  line-height: 26px; /* 123.81% */
  letter-spacing: 1.05px;
}

.online__footer-tel__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.online__footer-tel__link img {
  width: 32.958px;
  height: 42px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.online__footer-tel__link span {
  color: #666a75;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-weight: 300;
  letter-spacing: 1.2px;
}

.pediatric {
  background: #d7ffc0;
  overflow-x: hidden;
  position: relative;
}
.pediatric::before {
  content: "";
  position: absolute;
  background: url(../img/maruru\ 4.png) no-repeat center center/contain;
  top: 100px;
  right: calc(50% + 340px);
  width: 180px;
  height: 180px;
  -webkit-animation: blinkEffect 2.5s ease-in-out infinite alternate;
          animation: blinkEffect 2.5s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .pediatric::before {
    top: 228px;
    width: 127px;
    height: 127px;
    right: calc(50% + 140px);
  }
}
.pediatric::after {
  content: "";
  position: absolute;
  background: url(../img/maruru\ 4.png) no-repeat center center/contain;
  top: 48%;
  left: calc(50% + 430px);
  width: 139px;
  height: 139px;
  -webkit-animation: blinkEffect 2.5s ease-in-out infinite alternate;
          animation: blinkEffect 2.5s ease-in-out infinite alternate;
}
@media screen and (max-width: 767px) {
  .pediatric::after {
    top: 36%;
    left: calc(50% + 124px);
    width: 110px;
    height: 110px;
  }
}

.pediatric__content {
  padding-top: 54px;
  padding-bottom: 48px;
  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;
}

.pediatric__lead {
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  line-height: 26px; /* 92.857% */
  letter-spacing: 8.4px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pediatric__lead {
    font-size: 16px;
    letter-spacing: 4.8px;
  }
}

.pediatric__head {
  border-radius: 10px;
  background: #3ca6be;
  margin-top: 48px;
}

.pediatric__text {
  margin-top: 32px;
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .pediatric__text {
    text-align: center;
    font-size: 13px;
    font-weight: 350;
    line-height: 26px; /* 200% */
    letter-spacing: 0.26px;
  }
}

.pediatric__lists {
  margin-top: 62px;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* PCで2列 */
  gap: 24px; /* 要素間の余白 */
}
@media screen and (max-width: 767px) {
  .pediatric__lists {
    grid-template-columns: 1fr; /* SPで1列 */
  }
}

.pediatric__list {
  font-size: 22px;
  font-weight: 500;
  line-height: 26px; /* 118.182% */
  letter-spacing: 0.44px;
  padding-left: 64px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pediatric__list {
    font-size: 16px;
    font-weight: 500;
    line-height: 26px; /* 162.5% */
    letter-spacing: 0.32px;
  }
}
.pediatric__list::before {
  content: "";
  position: absolute;
  background: url(../img/pediatric__list-icon.png) no-repeat center center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 46.813px;
  height: 27.01px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.pediatric__lists-footer {
  margin-top: 84px;
  text-align: center;
  font-size: 24px;
  line-height: 46px; /* 191.667% */
  letter-spacing: 0.48px;
}
@media screen and (max-width: 767px) {
  .pediatric__lists-footer {
    text-align: center;
    font-size: 14px;
    line-height: 30px; /* 214.286% */
    letter-spacing: 0.28px;
  }
}
.pediatric__lists-footer span {
  color: #ff6868;
  font-size: 24px;
  line-height: 46px;
  letter-spacing: 0.48px;
}
@media screen and (max-width: 767px) {
  .pediatric__lists-footer span {
    font-size: 14px;
    line-height: 30px; /* 214.286% */
    letter-spacing: 0.28px;
  }
}

.pediatric__footer {
  margin-top: 130px;
  border-radius: 10px;
  background: #fff;
  padding: 25px 36px 34px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pediatric__footer {
    padding: 30px 10px;
    gap: 10px;
  }
}
@media screen and (min-width: 768px) {
  .pediatric__footer {
    max-width: 914px;
    width: 100%;
  }
}
.pediatric__footer::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/pediatric__footer-icon.png) no-repeat center center/contain;
  width: 107px;
  height: 66px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.pediatric__footer::after {
  content: "";
  position: absolute;
  top: -80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #4ad1d5;
  width: 58px;
  height: 61px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.pediatric__footer-img img {
  width: 227.05px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .pediatric__footer-img img {
    width: 94px;
  }
}

.pediatric__footer-lists {
  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;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pediatric__footer-lists {
    gap: 6px;
  }
}
.pediatric__footer-lists::before {
  content: "";
  position: absolute;
  background: url(../img/smile-sound1.png) no-repeat center center/contain;
  top: -20px;
  right: 0;
  width: 19px;
  height: 26px;
}
@media screen and (min-width: 900px) {
  .pediatric__footer-lists::before {
    width: 49px;
    height: 67px;
    top: -64px;
    right: -40px;
  }
}
@media screen and (min-width: 1200px) {
  .pediatric__footer-lists::before {
    right: -60px;
  }
}
.pediatric__footer-lists::after {
  content: "";
  position: absolute;
  background: url(../img/smile-sound3.png) no-repeat center center/contain;
  top: 78px;
  right: 0;
  width: 18px;
  height: 21px;
}
@media screen and (min-width: 768px) {
  .pediatric__footer-lists::after {
    top: 78px;
  }
}
@media screen and (min-width: 900px) {
  .pediatric__footer-lists::after {
    right: -20px;
    width: 37px;
    height: 42px;
  }
}
@media screen and (min-width: 1200px) {
  .pediatric__footer-lists::after {
    right: -109px;
  }
}

.pediatric__footer-list {
  font-size: 20px;
  font-weight: 500;
  line-height: 26px; /* 130% */
  letter-spacing: 0.8px;
  padding-left: 22px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pediatric__footer-list {
    font-size: 12px;
    letter-spacing: 0.44px;
  }
}
.pediatric__footer-list::before {
  content: "";
  position: absolute;
  background: #ef8f41;
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 10px;
}
.pediatric__footer-list:last-child::after {
  content: "";
  position: absolute;
  background: url(../img/smile-sound2.png) no-repeat center center/contain;
  top: 18px;
  right: 65px;
  width: 29px;
  height: 29px;
}
@media screen and (min-width: 900px) {
  .pediatric__footer-list:last-child::after {
    width: 60px;
    height: 59px;
  }
}

.pediatric__footer-text {
  margin-top: 46px;
  color: #856e5e;
  font-size: 22px;
  font-weight: 500;
  line-height: 26px; /* 118.182% */
  letter-spacing: 0.44px;
  padding-bottom: 5px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pediatric__footer-text {
    font-size: 14px;
    letter-spacing: 0.28px;
  }
}
@media screen and (min-width: 1200px) {
  .pediatric__footer-text {
    text-align: left;
  }
}
.pediatric__footer-text span {
  position: relative;
}
.pediatric__footer-text span::after {
  content: "";
  position: absolute;
  border-radius: 2px;
  background: #ddeb43;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 6px;
}
@media screen and (min-width: 1200px) {
  .pediatric__footer-text span::after {
    bottom: -10px;
    height: 8px;
  }
}

.worry {
  padding-top: 44px;
  padding-bottom: 60px;
  background: #fff9f9;
}
@media screen and (max-width: 767px) {
  .worry {
    padding-top: 26px;
    padding-bottom: 18px;
  }
}

.worry__head {
  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;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .worry__head {
    gap: 24px;
  }
}

.worry__head-icon {
  border-radius: 10px;
  background: #e9e7df;
  width: 72px;
  height: 67px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .worry__head-icon {
    width: 46px;
    height: 43px;
  }
}
.worry__head-icon::before {
  content: "";
  position: absolute;
  background: url(../img/worry__head-icon.png) no-repeat center center/contain;
  top: 5px;
  left: 18px;
  width: 79px;
  height: 45.575px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .worry__head-icon::before {
    width: 50px;
    top: -9px;
    left: 8px;
  }
}

.worry__head-title {
  color: #e17224;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.56px;
}
@media screen and (max-width: 767px) {
  .worry__head-title {
    font-size: 24px;
  }
}

.worry__lead {
  margin-top: 28px;
  color: #e17224;
  text-align: center;
  font-weight: 350;
  line-height: 26px; /* 162.5% */
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .worry__lead {
    font-size: 14px;
    letter-spacing: 0.26px;
  }
}

.worry__content {
  margin: 28px auto 0;
  padding-block: 40px;
  border-top: 1px solid #989898;
  border-bottom: 1px solid #989898;
  max-width: 980px;
  width: 100%;
  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;
}
@media screen and (max-width: 767px) {
  .worry__content {
    margin-top: 20px;
    padding-block: 30px;
  }
}

.worry__lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* PCで2列 */
  gap: 10px 40px; /* 要素間の余白 */
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .worry__lists {
    grid-template-columns: 1fr; /* SPで1列 */
  }
}

.worry__list {
  font-size: 14px;
  font-weight: 500;
  line-height: 34px; /* 242.857% */
  letter-spacing: 0.28px;
  padding-left: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .worry__list {
    font-size: 12px;
    letter-spacing: 0.24px;
  }
}
.worry__list::before {
  content: "";
  position: absolute;
  border-radius: 5px;
  background: #e9e7df;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 27px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.worry__text {
  margin-top: 30px;
  text-align: center;
  font-size: 18px;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .worry__text {
    margin-top: 18px;
    font-size: 14px;
    letter-spacing: 0.26px;
  }
}

.reason {
  padding-top: 100px;
  padding-bottom: 240px;
}
@media screen and (max-width: 767px) {
  .reason {
    padding-bottom: 197px;
  }
}

.reason__text {
  margin-top: 28px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .reason__text {
    text-align: center;
  }
}

.reason__content {
  background: #f8f3e9;
  margin-top: 48px;
  padding: 58px 16px 98px;
  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;
  position: relative;
}
@media screen and (max-width: 767px) {
  .reason__content {
    margin-top: 18px;
  }
}

.reason__lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* PCで2列 */
  gap: 24px; /* 要素間の余白 */
}
@media screen and (max-width: 767px) {
  .reason__lists {
    grid-template-columns: 1fr; /* SPで1列 */
  }
}

.reason__list {
  font-size: 22px;
  font-weight: 500;
  line-height: 26px; /* 118.182% */
  letter-spacing: 0.44px;
  padding-left: 64px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .reason__list {
    font-size: 16px;
    font-weight: 500;
    line-height: 26px; /* 162.5% */
    letter-spacing: 0.32px;
  }
}
.reason__list::before {
  content: "";
  position: absolute;
  background: url(../img/pediatric__list-icon.png) no-repeat center center/contain;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 46.813px;
  height: 27.01px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.reason__lists-text {
  margin-top: 68px;
  color: #000;
  text-align: center;
  font-size: 18px;
  line-height: 26px; /* 144.444% */
  letter-spacing: 0.36px;
}
@media screen and (max-width: 767px) {
  .reason__lists-text {
    margin-top: 42px;
    font-size: 14px;
    line-height: 26px; /* 200% */
    letter-spacing: 0.26px;
  }
}

.reason__accent {
  position: absolute;
  max-width: 710px;
  width: 100%;
  bottom: -100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 34px 54px;
  border-radius: 10px;
  background: #faa35d;
  color: #fff;
  text-align: center;
  font-family: "MFW-PA1GothicStdN-Light", "Noto Sans JP", sans-serif;
  font-size: min(28px, 2.33vw);
  line-height: 44px; /* 157.143% */
  letter-spacing: 0.56px;
}
@media screen and (max-width: 767px) {
  .reason__accent {
    max-width: 380px;
    bottom: -55px;
    font-size: min(20px, 4.65vw);
    line-height: 40px; /* 200% */
    letter-spacing: 0.4px;
    padding: 16px;
  }
}

.way {
  position: relative;
}
.way::after {
  content: "";
  position: absolute;
  background: url(../img/star.png) no-repeat center center/contain;
  top: 123px;
  right: 0;
  width: 234px;
  height: 247px;
  -webkit-animation: revealFromRight 3s ease-in-out infinite;
          animation: revealFromRight 3s ease-in-out infinite;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .way::after {
    width: 112.701px;
    height: 112.701px;
    top: 136px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.way__text {
  margin-top: 45px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.way__content {
  margin-top: 68px;
}
@media screen and (max-width: 767px) {
  .way__content {
    margin-top: 106px;
  }
}

.way__lead {
  font-weight: 500;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .way__lead {
    text-align: center;
  }
}

.way__content-item {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .way__content-item {
    margin-top: 60px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 60px;
  }
}

.way__imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .way__imgs {
    gap: 6px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (min-width: 1200px) {
  .way__imgs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.way__img:nth-of-type(1) {
  width: 270px;
}
@media screen and (max-width: 767px) {
  .way__img:nth-of-type(1) {
    width: 180px;
  }
}
.way__img:nth-of-type(2) {
  width: 236px;
}
@media screen and (max-width: 767px) {
  .way__img:nth-of-type(2) {
    width: 136px;
  }
}
.image {
  padding-top: 30px;
  padding-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .image {
    padding-top: 55px;
    padding-bottom: 0;
  }
}

.image__content {
  padding: 30px 16px 50px;
  background: #fffcf7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 36px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .image__content {
    padding-top: 62px;
    padding-bottom: 82px;
    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;
    padding-inline: 20px;
  }
}
@media screen and (min-width: 1200px) {
  .image__content {
    gap: 75px;
  }
}

.image__body-lead {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.28px;
}

.image__body-texts {
  margin-top: 20px;
}

.image__body-text {
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}

.image__img {
  width: 193px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .image__img {
    width: 300px;
  }
}
.image__img img {
  border-radius: 20px;
}

.image__img-name {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -30px;
}
@media screen and (max-width: 767px) {
  .image__img-name {
    font-size: 14px;
    line-height: 26px; /* 185.714% */
    letter-spacing: 0.28px;
  }
}

.pediatric__detail-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 screen and (min-width: 900px) {
  .pediatric__detail-contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.pediatric__detail-content {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  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;
  padding: 54px 20px 20px;
}
@media screen and (min-width: 900px) {
  .pediatric__detail-content {
    width: 50%;
  }
}
.pediatric__detail-content:nth-of-type(1) {
  background: #f7fcfc;
}
.pediatric__detail-content:nth-of-type(2) {
  background: #fcfff3;
}

.pediatric__detail-content.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.pediatric__detail-lead {
  font-weight: 500;
  letter-spacing: 0.48px;
}

.pediatric__detail-img {
  width: 362px;
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .pediatric__detail-img {
    width: 320px;
    margin-top: 38px;
  }
}
.pediatric__detail-lists {
  margin-top: 38px;
}
@media screen and (min-width: 900px) {
  .pediatric__detail-lists {
    height: 170px;
  }
}

.pediatric__detail-info {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .pediatric__detail-info {
    margin-top: 50px;
  }
}

.pediatric__detail-body dt {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.28px;
}
.pediatric__detail-body dd {
  margin-top: 42px;
  font-size: 14px;
  font-weight: 350;
  line-height: 26px; /* 185.714% */
  letter-spacing: 0.28px;
}
@media screen and (max-width: 767px) {
  .pediatric__detail-body dd {
    margin-top: 16px;
  }
}