@charset "UTF-8";
/*リセットcss
***************************************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

/* ルートフォント設定(リキッド)
***************************************************************/
html {
  font-size: calc(10 / 1440 * 100vw);
}
@media screen and (max-width: 767px) {
  html {
    font-size: clamp(14px, 16 / 320 * 100vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: calc(10 / 320 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  html {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  html::-webkit-scrollbar {
    display: none;
  }
}

/* スクロール
***************************************************************/
html {
  scroll-behavior: smooth;
}

/* base（基本）設定
***************************************************************/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #595757;
  line-height: 1;
}
body.no-scroll {
  overflow: hidden !important;
}

a {
  text-decoration: none;
  transition: 0.3s;
  color: inherit;
}
@media (any-hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a {
  display: inline-block;
}

video,
img,
picture,
svg {
  width: 100%;
  height: auto;
}

/* PC時は電話番号リンクを無効化
***************************************************************/
@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/* 共通inner
***************************************************************/
.l-inner {
  position: relative;
  width: 100%;
  max-width: 108rem;
  height: inherit;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    padding-inline: 2rem;
  }
}

.l-inner--wide {
  position: relative;
  width: 100%;
  max-width: 144rem;
  height: inherit;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner--wide {
    width: 100%;
    padding-inline: 2rem;
  }
}

.l-inner--narrow {
  position: relative;
  width: 100%;
  max-width: 144rem;
  height: inherit;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner--narrow {
    width: 100%;
    padding-inline: 2rem;
  }
}

/* ヘッダー
***************************************************************/
.l-header {
  background: #FFFFFF;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .l-header {
    position: relative;
  }
}
.lower .l-header {
  position: relative;
}
@media screen and (max-width: 767px) {
  .lower .l-header {
    top: 0;
    left: 0;
    z-index: 10;
    transition: all 0.5s ease;
  }
}

.l-header__head {
  padding: 0.3rem 5.4rem;
  background: #EE86A1;
}
@media screen and (max-width: 767px) {
  .l-header__head {
    padding: 0;
    height: 0.8rem;
  }
}

.l-header__head-text {
  color: #FFFFFF;
  font-size: max(1.2rem, 10px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-header__head-text {
    display: none;
  }
}

.l-header__inner {
  padding-inline: 5.2rem;
  padding-block: 1.5rem 1.2rem;
  max-width: 144rem;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding-inline: 1.2rem;
    padding-block: 1.2rem;
  }
}

.l-header__leftContainer {
  display: flex;
  gap: 4rem;
}

.l-header__logo {
  width: 25.3rem;
  display: flex;
  align-items: center;
}
@media (max-width: 980px) {
  .l-header__logo {
    width: clamp(18rem, 28.8679245283rem + -14.1509433962vw, 15rem);
  }
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    width: 14rem;
  }
}

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

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

.l-header__address {
  text-align: right;
  font-size: max(1.4rem, 9px);
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}

.l-header__cta {
  display: flex;
  gap: 2.4rem;
  align-items: center;
  margin-top: 0.9rem;
}

.l-header__tel-number {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  text-align: right;
  padding-left: 2.8rem;
  position: relative;
  color: #EE86A1;
}
.l-header__tel-number::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 0;
  width: 2.3rem;
  height: 2.8rem;
  background: url(../img/icon_tel.webp) no-repeat center center/contain;
}

.l-header__tel-time {
  font-size: max(1.6rem, 10px);
  line-height: 1;
  text-align: right;
}
.l-header__tel-time span {
  font-size: max(1.4rem, 8px);
}

/* 追従ヘッダー時のCTAの見栄え*/
.header--fixed .l-header__cta {
  gap: 1.8rem;
  margin-top: 0;
}
.header--fixed .l-header__tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.4rem;
}
.header--fixed .l-header__tel-number {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  padding-left: 1.8rem;
  position: relative;
  color: #EE86A1;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .header--fixed .l-header__tel-number {
    font-size: 2.4rem;
  }
}
.header--fixed .l-header__tel-number::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 1.5rem;
  height: 1.9rem;
  background: url(../img/icon_tel.webp) no-repeat center center/contain;
}
.header--fixed .l-header__tel-time {
  font-size: 1.3rem;
  text-align: right;
}
.header--fixed .l-header__tel-time span {
  font-size: 1.2rem;
}

/* SPヘッダードロワー
***************************************************************/
body { /*drawerOPEN時背景を固定*/ }
body.drawer-active {
  height: 100%;
  overflow: hidden;
}

.l-header__drawer-icon {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__drawer-icon {
    position: fixed;
    z-index: 22;
    top: 1.4rem;
    right: 0;
    height: 5.5rem;
    width: 5.5rem;
    padding-inline: 1.15rem;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    background-color: #FFFFFF;
    transition: all 0.1s ease;
  }
  .l-header__drawer-icon.is-fixed {
    position: fixed;
    transform: translateY(-0.7rem);
    opacity: 1;
  }
  .l-header__drawer-icon.is-checked .l-header__drawer-icon-bar {
    opacity: 0;
  }
  .l-header__drawer-icon.is-checked .l-header__drawer-icon-bar:nth-of-type(1) {
    transform: rotate(30deg);
    translate: 0 1rem;
  }
  .l-header__drawer-icon.is-checked .l-header__drawer-icon-bar:nth-of-type(2) {
    display: none;
  }
  .l-header__drawer-icon.is-checked .l-header__drawer-icon-bar:nth-of-type(3) {
    transform: rotate(-30deg);
    translate: 0 0;
  }
  .l-header__drawer-icon.is-checked .l-header__drawer-icon-close {
    opacity: 1;
  }
}

.l-header__drawer-icon-bar {
  display: block;
  width: 100%;
  height: 1px;
  background: #595757;
  transition: all 0.3s ease;
}

.l-header__drawer-icon-close {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__drawer-icon-close {
    width: 2.6rem;
    height: 2.6rem;
    aspect-ratio: 1;
    display: block;
    position: fixed;
    top: 2.4rem;
    right: 1.6rem;
    opacity: 0;
    transition: all 0.3s ease;
  }
}

/* (ドロワー中身）
***************************************************************/
.l-header__drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow-y: scroll;
  background: rgba(255, 255, 255, 0.9);
  z-index: 21;
  transform: translateX(100%);
  transition: transform 0.3s ease-in;
}
.l-header__drawer.is-checked {
  transform: translateX(0);
}

.l-header__drawer-body {
  width: 100%;
  padding-inline: 4rem;
  height: -moz-fit-content;
  height: fit-content;
  padding-block: 5.8rem 9.4rem; /*SP固定CTA追加した分のpaddingを追加*/
}

.l-header__drawer-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.l-header__drawer-list > li {
  position: relative;
}
.l-header__drawer-list > li::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #D0D0D0;
  left: 0;
  top: calc(100% + 0.75rem);
}
.l-header__drawer-list li a {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8571428571;
  letter-spacing: 0.15em;
  display: inline-block;
  padding-inline: 2.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-header__drawer-list li a {
    font-size: 1.4rem;
  }
}
.l-header__drawer-list li a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 1.4rem;
  height: 1.4rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/contain;
}
.l-header__drawer-list li a.l-header__drawer-sub-menu::before {
  rotate: 90deg;
  width: 1.35rem;
}

.l-header__drawer-sub-content {
  margin-top: 1rem;
  padding-left: 2.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.4rem;
}
.l-header__drawer-sub-content > li {
  border-bottom: none;
}
.l-header__drawer-sub-content > li a {
  padding-inline: 1.8rem 0rem;
}
.l-header__drawer-sub-content .l-header__drawer-sub-menu--large {
  width: 17rem;
  height: 4.2rem;
  display: grid;
  place-content: center;
  background: #FAD6D5;
  border-radius: 0.8rem;
}
.l-header__drawer-sub-content .l-header__drawer-sub-menu--large::before {
  display: none;
}
.l-header__drawer-sub-content .l-header__drawer-sub-menu--large span {
  position: relative;
}
.l-header__drawer-sub-content .l-header__drawer-sub-menu--large span::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: calc(100% + 0.4rem);
  width: 1.4rem;
  height: 1.4rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/contain;
}

/* フッター
***************************************************************/
.l-footer__container {
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-footer__container {
    flex-direction: column;
  }
}

.l-footer__map {
  width: 50%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-footer__map {
    width: 100%;
  }
}
.l-footer__map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 720/701;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .l-footer__map iframe {
    aspect-ratio: 320/311;
  }
}

.l-footer__contents {
  width: 50%;
  padding-block: 7.2rem;
  background: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .l-footer__contents {
    width: 100%;
    padding-block: 3.2rem 2.4rem;
    padding-inline: 2rem;
  }
}

.l-footer__info {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.l-footer__logo {
  width: 41.1rem;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    width: 22rem;
  }
}

.l-footer__address {
  font-size: max(1.6rem, 11.2px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.03125em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__address {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__address {
    font-size: 1.3rem;
    text-align: center;
    margin-top: 1.6rem;
  }
}

.l-footer__tel {
  display: flex;
  flex-direction: column;
  align-items: end;
  margin-top: 2.9rem;
}
@media screen and (max-width: 767px) {
  .l-footer__tel {
    margin-top: 1.5rem;
  }
}

.l-footer__tel-number {
  padding-left: max(2.85rem, 23px);
  position: relative;
  font-size: max(3.2rem, 25.6px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0em;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .l-footer__tel-number {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__tel-number {
    font-size: 2.6rem;
    padding-left: 2.2rem;
  }
}
.l-footer__tel-number::before {
  content: "";
  position: absolute;
  background: url(../img/icon_tel--deep-pink.webp) no-repeat center center/contain;
  width: max(2.3rem, 18px);
  height: max(2.8rem, 22px);
  left: 0;
  top: 52%;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .l-footer__tel-number::before {
    width: 1.8rem;
    height: 2.2rem;
  }
}

.l-footer__tel-time {
  font-size: max(1.6rem, 12.8px);
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .l-footer__tel-time {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__tel-time {
    font-size: 1.3rem;
  }
}
.l-footer__tel-time span {
  font-size: max(1.4rem, 11.2px);
  font-weight: 500;
  line-height: 1.2857142857;
  letter-spacing: 0.0571428571em;
}
@media screen and (max-width: 767px) {
  .l-footer__tel-time span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__tel-time span {
    font-size: 1.2rem;
  }
}

.l-footer__link {
  margin-top: 2.4rem;
}

.l-footer__timeTable {
  width: max(66.6666666667%, 340px);
  margin-inline: auto;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .l-footer__timeTable {
    width: 100%;
    margin-top: 2.4rem;
  }
}

.l-footer__copy {
  background: #FFFFFF;
  padding-block: 0.8rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-footer__copy {
    padding-block: 0.1rem;
  }
}

.l-footer__copyright {
  font-size: max(1.4rem, 9.8px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    font-size: 1.2rem;
  }
}

/* フッター固定CTA
***************************************************************/
.l-footer__cta {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-footer__cta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    height: 5rem;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    transform: translateY(100%);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
  }
  .l-footer__cta.is-show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
}

.l-footer__cta-tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  background: #FFEFEE;
  padding-inline: 1rem;
}

.l-footer__cta-number {
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color: #EE86A1;
  padding-left: 1.6rem;
}
@media screen and (max-width: 767px) {
  .l-footer__cta-number {
    font-size: 1.8rem;
  }
}
.l-footer__cta-number::before {
  content: "";
  position: absolute;
  background: url(../img/icon_foot-tel.webp) no-repeat center center/contain;
  width: 1.4rem;
  height: 1.8rem;
  left: 0;
  top: 0.1rem;
}

.l-footer__cta-time {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-left: 0.6rem;
}
@media screen and (max-width: 767px) {
  .l-footer__cta-time {
    font-size: 1rem;
  }
}
.l-footer__cta-time span {
  font-size: 0.9rem;
}

.l-footer__cta-link {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F35F85;
}

/* 基本CTAボタン
***************************************************************/
.c-button {
  display: inline-block;
  padding: 1rem 6.4rem 1rem 4rem;
  border-radius: 0.8rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4444444444;
  color: #FFFFFF;
  background: #F35F85;
  position: relative;
  z-index: 1;
  border: 2px solid #F35F85;
  overflow: hidden;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (max-width: 767px) {
  .c-button {
    font-size: 1.6rem;
    padding: 1.1rem 6.8rem 1.1rem 4.4rem;
  }
}
.p-price-info .c-button {
  line-height: 1;
  padding: 1.5rem 5.5rem 1.5rem 3.1rem;
}
@media screen and (max-width: 767px) {
  .p-price-info .c-button {
    padding: 1.6rem 6.2rem 1.6rem 3.8rem;
  }
}
.c-button::after {
  content: "";
  width: 100%;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #FFFFFF;
  border-radius: 0.7rem;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: -1;
}
.c-button::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow.svg) no-repeat center center/contain;
  top: 50%;
  translate: 0 -50%;
  right: 1.6rem;
}
@media (any-hover: hover) {
  .c-button:hover {
    color: #F35F85;
    border-color: #F35F85;
  }
  .c-button:hover::after {
    transform: scaleX(1);
  }
  .c-button:hover .c-button__icon {
    opacity: 1;
  }
}
.c-button .c-button__icon {
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/contain;
  top: 50%;
  translate: 0 -50%;
  right: 1.6rem;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

/* 予約ボタン（下層ページ追従ヘッダー用）
***************************************************************/
.header--fixed .c-button-reserve {
  display: inline-block;
  padding: 1rem 1rem 1rem 4.2rem;
  border-radius: 0.4rem;
  font-size: 1.7rem;
  z-index: 1;
  border: 0.2rem solid #F35F85;
  overflow: hidden;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.header--fixed .c-button-reserve::before {
  left: 1rem;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/icon_calendar-white.svg) no-repeat center center/cover;
}
.header--fixed .c-button-reserve::after {
  border-radius: 0.3rem;
}
.header--fixed .c-button-reserve .c-button-reserve__icon {
  left: 1rem;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/icon_calendar-pink.svg) no-repeat center center/cover;
}

/* 求人応募ボタン（フォーム）
***************************************************************/
.c-button__apply-form {
  width: 47rem;
  max-width: 100%;
  height: 11rem;
  border-radius: 1.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-left: 4.2rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-button__apply-form {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button__apply-form {
    height: auto;
    font-size: 1.7rem;
    border-radius: 0.8rem;
    padding: 0.8rem 3.3rem 0.8rem 1.1rem;
    letter-spacing: 0;
    line-height: 1.5;
  }
}
.c-button__apply-form::before {
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-button__apply-form::before {
    width: 2rem;
    height: 2rem;
    right: 0.7rem;
  }
}
.c-button__apply-form .c-button__icon {
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-button__apply-form .c-button__icon {
    width: 2rem;
    height: 2rem;
    right: 0.7rem;
  }
}

/* 電話番号ボタン（営業時間付き初診案内）
***************************************************************/
.c-button-tel {
  display: inline-block;
  width: 32.3rem;
  max-width: 100%;
  height: 7.8rem;
  background: #71C0EF;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-radius: 0.8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-button-tel {
    width: 23.6rem;
    height: 5.6rem;
    border-radius: 0.8rem;
  }
}

.c-button-tel__number {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  padding-left: 2.8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-button-tel__number {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-tel__number {
    font-size: 2.3rem;
    padding-left: 2rem;
  }
}
.c-button-tel__number::before {
  content: "";
  position: absolute;
  background: url(../img/icon_tel--white.webp) no-repeat center center/contain;
  left: 0.2rem;
  top: 0.2rem;
  width: 2.24rem;
  height: 2.9rem;
}
@media screen and (max-width: 767px) {
  .c-button-tel__number::before {
    width: 1.6rem;
    height: 2.1rem;
  }
}

.c-button-tel__time {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.125;
  letter-spacing: 0.05em;
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .c-button-tel__time {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-tel__time {
    padding-left: 2.8rem;
    font-size: 1.15rem;
    line-height: 1.5;
  }
}
.c-button-tel__time .small {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-button-tel__time .small {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-tel__time .small {
    font-size: 1rem;
  }
}

/* 電話番号ボタン（求人応募ページ）
***************************************************************/
.c-button-tel--apply {
  width: 47rem;
  max-width: 100%;
  height: 11rem;
  gap: 0.8rem;
  border-radius: 1.6rem;
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .c-button-tel--apply {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-tel--apply {
    height: 5.6rem;
    border-radius: 0.8rem;
  }
}
.c-button-tel--apply .c-button-tel__number {
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  padding-left: 3.9rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-button-tel--apply .c-button-tel__number {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-tel--apply .c-button-tel__number {
    font-size: 2.3rem;
    padding-left: 2rem;
  }
}
.c-button-tel--apply .c-button-tel__number::before {
  content: "";
  position: absolute;
  background: url(../img/icon_tel--white.webp) no-repeat center center/contain;
  left: 0;
  top: -0.4rem;
  width: 3.1rem;
  height: 4rem;
}
@media screen and (max-width: 767px) {
  .c-button-tel--apply .c-button-tel__number::before {
    top: 0.3rem;
    width: 1.6rem;
    height: 2.1rem;
  }
}

/* カレンダー付き予約ボタン
***************************************************************/
.c-button-reserve {
  display: inline-block;
  padding: 1rem 1.5rem 1rem 5.3rem;
  border-radius: 0.8rem;
  font-size: max(2rem, 13px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.03em;
  color: #FFFFFF;
  background: #F35F85;
  position: relative;
  z-index: 1;
  border: 0.2rem solid #F35F85;
  overflow: hidden;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (max-width: 767px) {
  .c-button-reserve {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-reserve {
    padding: 0.9rem 1.25rem 0.9rem 4.6rem;
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) {
  .c-button-reserve:hover {
    color: #F35F85;
    border-color: #F35F85;
  }
  .c-button-reserve:hover::after {
    transform: scaleX(1);
  }
  .c-button-reserve:hover .c-button-reserve__icon {
    opacity: 1;
  }
}
.c-button-reserve::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 1.6rem;
  width: 2.6rem;
  height: 2.6rem;
  background: url(../img/icon_calendar-white.svg) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .c-button-reserve::before {
    width: 2.3rem;
    height: 2.3rem;
  }
}
.c-button-reserve::after {
  content: "";
  width: 100%;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #FFFFFF;
  border-radius: 0.7rem;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: -1;
}
.c-button-reserve .c-button-reserve__icon {
  position: absolute;
  top: 50%;
  left: 1.6rem;
  width: 2.6rem;
  height: 2.6rem;
  background: url(../img/icon_calendar-pink.svg) no-repeat center center/cover;
  translate: 0 -50%;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

/* 予約ボタン（下層ページ追従ヘッダー用）
***************************************************************/
.header--fixed .c-button-reserve {
  display: inline-block;
  padding: 1rem 1rem 1rem 4.2rem;
  border-radius: 0.4rem;
  font-size: 1.7rem;
  z-index: 1;
  border: 0.2rem solid #F35F85;
  overflow: hidden;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.header--fixed .c-button-reserve::before {
  left: 1rem;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/icon_calendar-white.svg) no-repeat center center/cover;
}
.header--fixed .c-button-reserve::after {
  border-radius: 0.3rem;
}
.header--fixed .c-button-reserve .c-button-reserve__icon {
  left: 1rem;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/icon_calendar-pink.svg) no-repeat center center/cover;
}

/* SP用フッター追従予約ボタン
***************************************************************/
.c-button-reserve--fixed {
  display: inline-block;
  padding-inline: 0.8rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  position: relative;
  padding-left: 2.7rem;
}
@media screen and (max-width: 767px) {
  .c-button-reserve--fixed {
    font-size: 1.5rem;
  }
}
.c-button-reserve--fixed::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 2.1rem;
  height: 2.1rem;
  background: url(../img/icon_calendar-white.svg) no-repeat center center/cover;
}

/* 下層ページCTA（初診相談のご案内）
***************************************************************/
.c-button-reserve--lower-cta {
  max-width: 100%;
  padding: 1.9rem 4.6rem 2rem 8.5rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-button-reserve--lower-cta {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-button-reserve--lower-cta {
    font-size: 1.7rem;
    padding: 1.3rem 3.5rem 1.3rem 5.9rem;
  }
}
.c-button-reserve--lower-cta::before {
  left: 4.5rem;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-button-reserve--lower-cta::before {
    left: 3.4rem;
    width: 2.2rem;
    height: 2.2rem;
  }
}
.c-button-reserve--lower-cta .c-button-reserve__icon {
  position: absolute;
  left: 4.5rem;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-button-reserve--lower-cta .c-button-reserve__icon {
    left: 3.4rem;
    width: 2.2rem;
    height: 2.2rem;
  }
}

/* セクション見出し
***************************************************************/
.c-section-head {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.2083333333;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-section-head {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .c-section-head {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4166666667;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-section-head {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reason .c-section-head {
    line-height: 1.2;
  }
}
.c-section-head span {
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 1.203125;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-section-head span {
    font-size: 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-section-head span {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-section-head span {
    font-size: 3.2rem;
  }
}

/* 診察表
***************************************************************/
.c-table {
  width: 100%;
  width: max(41rem, 280px);
  border-collapse: collapse;
  text-align: center;
  table-layout: fixed;
}

.c-table__tr {
  border-bottom: 2px solid #EE86A1;
}
.c-table__tr:first-of-type {
  border-top: 2px solid #EE86A1;
}

.c-table__th {
  text-align: center;
  padding-block: 0.5rem; /*pf*/
  width: 11.4634146341%;
  font-size: max(1.4rem, 10px);
  font-weight: 500;
  line-height: 1;
}
.c-table__th:first-of-type {
  width: 20%;
  color: #EE86A1;
}

.c-table__td {
  text-align: center;
  padding-block: 1rem;
  font-size: max(1.4rem, 10px);
  font-weight: 500;
  line-height: 1;
}
.c-table__td .circle {
  color: #EE86A1;
}

.c-table__attention {
  font-size: max(1.1rem, 7.5px);
  line-height: 1.8;
  margin-top: 0.2rem;
  letter-spacing: 0;
}

/* 診察表
***************************************************************/
.c-table-foot {
  width: 100%;
  text-align: center;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.c-table-foot__th:first-child {
  width: 19.7916666667%;
}
@media screen and (max-width: 767px) {
  .c-table-foot__th:first-child {
    width: 6.3rem;
  }
}

.c-table-foot__th,
.c-table-foot__td {
  text-align: center;
  padding-block: 1.25rem 1.1rem;
  padding-inline: 0.7rem;
  font-size: max(1.4rem, 11.2px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0em;
  border-top: 1px solid #EE86A1; /* セルごとの枠線 */
  border-left: 1px solid #EE86A1;
}
@media screen and (max-width: 767px) {
  .c-table-foot__th,
  .c-table-foot__td {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-table-foot__th,
  .c-table-foot__td {
    font-size: 1.2rem;
    padding-inline: 0.2rem;
    padding-block: 0.3rem 0.2rem;
  }
}

.c-table-foot__td {
  border-bottom: 1px solid #EE86A1;
}
.c-table-foot__td .circle {
  color: #EE86A1;
}

.c-table-foot__td:last-child {
  border-right: 1px solid #EE86A1;
}

.c-table-foot__th:first-child {
  border-radius: 0.8rem 0 0 0; /* 左上の角だけ8px */
}
@media screen and (max-width: 767px) {
  .c-table-foot__th:first-child {
    border-radius: 0.3rem 0 0 0;
  }
}

.c-table-foot__th:last-child {
  border-radius: 0 0.8rem 0 0; /* 右上の角だけ8px */
  border-right: 1px solid #EE86A1;
}
@media screen and (max-width: 767px) {
  .c-table-foot__th:last-child {
    border-radius: 0 0.3rem 0 0;
  }
}

.c-table-foot__tr:last-child .c-table-foot__td:last-child {
  border-radius: 0 0 0.8rem 0; /* 右下の角だけ8px */
}
@media screen and (max-width: 767px) {
  .c-table-foot__tr:last-child .c-table-foot__td:last-child {
    border-radius: 0 0 0.3rem 0;
  }
}

.c-table-foot__tr:last-child .c-table-foot__td:first-child {
  border-radius: 0 0 0 0.8rem; /* 左下の角だけ8px */
}
@media screen and (max-width: 767px) {
  .c-table-foot__tr:last-child .c-table-foot__td:first-child {
    border-radius: 0 0 0 0.3rem;
  }
}

.c-table-foot__attention {
  font-size: max(1.3rem, 10.4px);
  font-weight: 400;
  line-height: 1.8461538462;
  letter-spacing: 0.0307692308em;
  font-feature-settings: "palt" 1;
  margin-top: 1.7rem;
}
@media screen and (max-width: 767px) {
  .c-table-foot__attention {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-table-foot__attention {
    margin-top: 1.3rem;
    font-size: 1.3rem;
  }
}

/* 下層ページ大見出し
***************************************************************/
.c-page-head {
  max-width: 133.5rem;
  margin-inline: auto;
  min-height: 24.7rem;
  display: grid;
  place-content: center;
  text-align: center;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #FFFFFF;
  padding: 1rem;
  /*インプラント用*/
}
@media screen and (max-width: 767px) {
  .c-page-head {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-page-head {
    min-height: 8rem;
    font-size: 1.8rem;
    padding: 1rem 0.7rem;
  }
}
.c-page-head.implant, .c-page-head.cosmetic {
  background: url(../img/bg_head-title-diagonal--pc.webp) no-repeat center center/100% 100%;
}
@media screen and (max-width: 767px) {
  .c-page-head.implant, .c-page-head.cosmetic {
    background: url(../img/bg_head-title-diagonal--sp.webp) no-repeat center center/100% 100%;
  }
}

/* 下層ページセクション見出し（ピンク枠）
***************************************************************/
.c-lower-sec-title {
  font-size: max(3.6rem, 23.4px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  font-family: "Noto Serif JP", sans-serif;
  padding-block: 1.6rem 1.5rem;
  padding-inline: 2rem;
  display: grid;
  place-content: center;
  border-radius: 0.8rem;
  background: #EE86A1;
  max-width: 108rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-lower-sec-title {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-lower-sec-title {
    padding-block: 0.6rem 0.7rem;
    padding-inline: 0.7rem;
    font-size: 2rem;
    max-width: 28rem;
    text-align: center;
  }
}
.c-lower-sec-title.title--diamond {
  padding-block: 1.5rem 1.6rem;
  padding-inline: 2rem;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.c-lower-sec-title.title--diamond::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: url(../img/deco_sec-title-diamond.webp) no-repeat center center/cover;
  translate: -50% -50%;
  width: 33.8rem;
  height: 19.9rem;
  aspect-ratio: 338/199;
  z-index: -1;
}
.p-implant-reason .c-lower-sec-title.title--diamond {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding-block: 2.2rem 2.2rem;
}
@media screen and (max-width: 767px) {
  .p-implant-reason .c-lower-sec-title.title--diamond {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-lower-sec-title.title--diamond {
    padding-block: 0.6rem 0.7rem;
    padding-inline: 0.7rem;
  }
  .p-pediatric-orthodontics-feature .c-lower-sec-title.title--diamond {
    letter-spacing: 0;
    font-feature-settings: "palt" 1;
    white-space: nowrap;
  }
  .p-implant-reason .c-lower-sec-title.title--diamond {
    font-size: 2rem;
    padding-block: 1.1rem 1.1rem;
  }
  .c-lower-sec-title.title--diamond::before {
    background: url(../img/deco_sec-title-diamond.webp) no-repeat center center/cover;
    width: 9.2rem;
    height: 5.4rem;
  }
}

/* 下層ページセクション見出し（花）
***************************************************************/
/* コンテンツ内小見出し
***************************************************************/
.c-list-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding-left: 1.6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-list-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .c-list-title {
    font-size: 1.4rem;
    padding-left: 1.2rem;
  }
}
.c-list-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.6rem;
  height: 3rem;
  background: #EE86A1;
}
@media screen and (max-width: 767px) {
  .c-list-title::before {
    top: 0.2rem;
    width: 0.4rem;
    height: 1.8rem;
  }
}

/* コンテンツ内チェック付きリスト(基本・ブルー)
***************************************************************/
.c-check-item {
  padding-left: 2.8rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-check-item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .c-check-item {
    padding-left: 2.2rem;
    font-size: 1.4rem;
  }
}
.c-check-item::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--bg-white.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .c-check-item::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

/* コンテンツ内チェック付きリスト(ピンク)
***************************************************************/
.c-check-item--pink::before {
  background: url(../img/icon_check--pink.svg) no-repeat center center/contain;
}

/* コンテンツ内チェック付きリスト(濃いピンク)
***************************************************************/
.c-check-item--deep-pink::before {
  background: url(../img/icon_check--deep-pink.svg) no-repeat center center/contain;
}

/* 中央に花を配置したタイトル（基本サイズ　PC：36px、SP：20px）
***************************************************************/
.c-title-flower {
  font-size: max(3.6rem, 23.4px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #F35F85;
  text-align: center;
  font-family: "Noto Serif JP", sans-serif;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-title-flower {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-title-flower {
    font-size: 2rem;
  }
}
.c-title-flower::before {
  content: "";
  position: absolute;
  background: url(../img/deco_flower--pale.webp) no-repeat center center/cover;
  width: 9rem;
  height: 9.35rem;
  top: -1.8rem;
  left: 50%;
  translate: -50%;
}
@media screen and (max-width: 767px) {
  .c-title-flower::before {
    width: 4.8rem;
    height: 5rem;
    top: -0.9rem;
  }
}

/* 中央に花を配置したタイトル（大きいサイズ　PC：40px、SP：20px 花&下線）
***************************************************************/
.c-title-flower--large {
  font-size: max(4rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #F35F85;
  text-align: center;
  font-family: "Noto Serif JP", sans-serif;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-title-flower--large {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-title-flower--large {
    font-size: 2rem;
  }
}
.c-title-flower--large::before {
  content: "";
  position: absolute;
  background: url(../img/deco_flower.webp) no-repeat center center/contain;
  width: 18rem;
  height: 18.7rem;
  bottom: -6.4rem;
  left: 50%;
  translate: -50%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-title-flower--large::before {
    width: 7.4rem;
    height: 7.7rem;
    bottom: -2.2rem;
  }
}
.c-title-flower--large::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.3rem;
  background-color: #F35F85;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-title-flower--large::after {
    height: 0.1rem;
  }
}
.c-title-flower--large.c-title-flower--large-pink::before {
  background: url(../img/deco_flower--pale.webp) no-repeat center center/contain;
  z-index: -1;
}

/* FV
***************************************************************/
.p-fv {
  margin-top: 13.6rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-fv {
    margin-top: 0;
  }
}

.p-fv__swiper-container {
  position: relative;
  z-index: 0;
  overflow: hidden;
  height: calc(100vh - 13.6rem);
  height: calc(100svh - 13.6rem);
}
@media screen and (max-width: 767px) {
  .p-fv__swiper-container {
    width: 100%;
    height: calc(100vh - 7.6rem);
    height: calc(100svh - 7.6rem);
  }
}

.p-fv__swiper {
  position: relative;
  height: 100%;
}

.p-fv__swiper-wrapper {
  position: relative;
  height: 100%;
}

.p-fv__swiper-slide picture,
.p-fv__swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-fv__title {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 8.5rem;
  letter-spacing: 0.15em;
  line-height: 1.45;
  position: absolute;
  left: 4.7rem;
  bottom: 1.7rem;
  color: #FFFFFF;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-fv__title {
    font-size: 2.9rem;
    line-height: 1.3;
    bottom: auto;
    top: 0.7rem;
    left: 2.1rem;
  }
}

.p-fv__item-wrap {
  position: absolute;
  display: flex;
  gap: 1.1rem;
  align-items: center;
  right: 5.2rem;
  bottom: 5rem;
  z-index: 2;
}
.p-fv__item-wrap > li {
  width: 14.5rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .p-fv__item-wrap {
    gap: 1rem;
    right: 50%;
    bottom: 3.9rem;
    transform: translateX(50%);
  }
  .p-fv__item-wrap > li {
    width: 8.1rem;
  }
  .p-fv__item-wrap > li:nth-child(1) {
    order: 1;
  }
  .p-fv__item-wrap > li:nth-child(2) {
    order: 3;
  }
  .p-fv__item-wrap > li:nth-child(3) {
    order: 2;
  }
}

/* Introduction
***************************************************************/
.p-top-introduction {
  padding-block: 6.7rem;
  margin-bottom: 6rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-top-introduction {
    margin-top: 5rem;
    padding-block: 0 1.3rem;
    margin-bottom: 0;
  }
}
.p-top-introduction::before {
  content: "";
  position: absolute;
  width: 87.5%;
  height: 100%;
  background: #FFEFEE;
  right: 0;
  bottom: 0;
  z-index: -1;
  border-radius: 4.2rem 0 0 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-introduction::before {
    width: 100%;
    height: 79.9086757991%;
    border-radius: 0;
  }
}

.p-top-introduction__inner {
  position: relative;
  z-index: 2;
  padding-inline: 5.2rem 4.8rem;
  display: flex;
  align-items: center;
  gap: 3.6rem;
  max-width: 144rem;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__inner {
    flex-direction: column;
    padding-inline: 2rem;
    gap: 1.1rem;
    z-index: 1;
  }
}

.p-top-introduction__img {
  width: 47.1641791045%;
  border-radius: 2.4rem;
  overflow: hidden;
}
.p-top-introduction__img img {
  aspect-ratio: 632/400;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__img {
    border-radius: 1.6rem;
    width: 100%;
  }
}

.p-top-introduction__container {
  width: 50.1492537313%;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__container {
    width: 100%;
  }
}

.p-top-introduction__main {
  font-size: 2.4rem;
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__main {
    font-size: 1.4rem;
  }
}
.p-top-introduction__main .large-pink {
  font-size: 4.4rem;
  line-height: 1.7;
  color: #EE86A1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__main .large-pink {
    font-size: 2.2rem;
    line-height: 1.7;
  }
}

.p-top-introduction__list {
  margin-top: 2.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__list {
    margin-top: 0.4rem;
    gap: 0.4rem;
  }
}

.p-top-introduction__item {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2.0833333333;
  letter-spacing: 0.05em;
  padding-left: 4.3rem;
  position: relative;
}
.p-top-introduction__item:nth-of-type(1) {
  white-space: nowrap;
}
.p-top-introduction__item .narrow {
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__item {
    font-size: 1.4rem;
    line-height: 1.7;
    padding-left: 2.4rem;
  }
}
.p-top-introduction__item::before {
  content: "";
  position: absolute;
  top: 0.9rem;
  left: 0;
  width: 4.3rem;
  height: 3.9rem;
  background: url(../img/icon_check--pink.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-top-introduction__item::before {
    width: 2.2rem;
    height: 2rem;
    top: 0.5rem;
  }
}
.p-top-introduction__item .emphasis {
  font-size: 3.6rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  background-image: linear-gradient(0deg, transparent 0.1em, #fff 0.1em, #fff 0.3em, transparent 0.3em);
}
@media screen and (max-width: 767px) {
  .p-top-introduction__item .emphasis {
    font-size: 1.8rem;
    line-height: 1.7;
  }
}

/*当院の治療について
***************************************************************/
.p-top-about {
  padding-block: 30rem 12rem;
  position: relative;
  z-index: 0;
  background: url(../img/top/bg_about--pc.webp) no-repeat top center/contain;
}
@media screen and (max-width: 767px) {
  .p-top-about {
    padding-block: 15rem 0;
    background: url(../img/top/bg_about--sp.webp) no-repeat top center/contain;
    overflow: hidden;
  }
}
.p-top-about::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20rem;
  background: url(../img/top/bg_about-pink--pc.webp) no-repeat bottom center/cover;
  width: 100%;
  height: 89.7rem;
  aspect-ratio: 1440/897;
}
@media screen and (max-width: 767px) {
  .p-top-about::before {
    display: none;
  }
}

.p-top-about__inner {
  max-width: 144rem;
  margin-inline: auto;
}

.p-top-about__container {
  max-width: 133.6rem;
  margin-inline: auto;
  padding: 6.4rem 12.8rem;
  border-radius: 1.6rem;
  background: rgba(255, 255, 255, 0.95);
  position: relative;
  z-index: 1;
  box-shadow: 0px 0px 2.4rem rgba(238, 134, 161, 0.5);
}
.p-top-about__container::before {
  content: "";
  position: absolute;
  top: -5.3rem;
  left: 50%;
  translate: -50%;
  width: 14.4rem;
  height: 8.2rem;
  background: url(../img/top/deco_about-title.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-top-about__container::before {
    top: -3.6rem;
    width: 9.6rem;
    height: 5.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__container {
    max-width: 100%;
    padding: 2.5rem 0 7.8rem 0;
    box-shadow: none;
  }
  .p-top-about__container::after {
    content: "";
    position: absolute;
    background: #FFEFEE;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 15.7rem;
    left: 0;
    bottom: 0;
    z-index: -1;
  }
}

.p-top-about__contents-wrap {
  margin-top: 7.5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 7.2rem;
       column-gap: 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__contents-wrap {
    margin-top: 2rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 3.2rem;
    position: relative;
  }
}

.p-top-about__contents {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
@media screen and (max-width: 767px) {
  .p-top-about__contents {
    display: block;
  }
}

.p-top-about__subject {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.1875;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #F35F85;
  text-align: center;
  padding-bottom: 4.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-about__subject {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__subject {
    font-size: 2rem;
    padding-bottom: 3.2rem;
  }
}
.p-top-about__subject::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.1rem;
  background: #595757;
  left: 0;
  bottom: 2.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__subject::after {
    bottom: 1.6rem;
  }
}
.p-top-about__subject .small {
  color: #595757;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__subject .small {
    font-size: 1.6rem;
  }
}

.p-top-about__img img {
  width: 100%;
  aspect-ratio: 504/314;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-about__desc {
  padding-block: 2.4rem 0;
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc {
    padding-block: 1.6rem 0;
    flex-direction: column;
    gap: 0;
  }
}

.p-top-about__desc-img {
  width: 28.5714285714%;
  text-align: center;
}
.p-top-about__desc-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-about__desc-img img:not(:first-child) {
  margin-top: 0.8rem;
}
.p-top-about__contents01 .p-top-about__desc-img img {
  width: 63.8888888889%;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-img {
    width: 100%;
    display: none;
  }
}

.p-top-about__desc-body {
  width: 66.6666666667%;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-body {
    width: 100%;
  }
}

.p-top-about__desc-title {
  font-size: max(1.8rem, 13.5px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-title {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 767px) {
  .p-top-about__desc-title--02 {
    line-height: 1.85;
  }
}

.p-top-about__desc-list {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-list {
    margin-top: 0.8rem;
    gap: 0.4rem;
  }
}

.p-top-about__desc-item {
  padding-left: 3.2rem;
  position: relative;
  font-size: max(1.6rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-item {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-item {
    padding-left: 3rem;
    font-size: 1.4rem;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}
.p-top-about__desc-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.4rem;
  height: 2.2rem;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc-item::before {
    top: 0.1em;
  }
}

.p-top-about__case {
  background: #E3EFF7;
  padding: 2.4rem 8.1rem;
  text-align: center;
  position: relative;
  margin-top: 2.4rem;
}
.p-top-about__case::before {
  content: "";
  position: absolute;
  background: url(../img/text_case-example.webp) no-repeat center center/contain;
  width: 4.5rem;
  height: 12.1rem;
  top: 5.54rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-top-about__case::before {
    width: 3rem;
    height: 8.1rem;
    top: 4.16rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__case {
    padding: 1.7rem 4.3rem 1.2rem 4.3rem;
    margin-top: 1.6rem;
  }
}

.p-top-about__case-img {
  width: 29rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-about__case-img {
    width: 15.4rem;
  }
}

.p-top-about__case-text {
  margin-top: 1.6rem;
  font-size: max(1.6rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
  -moz-text-align-last: left;
       text-align-last: left;
}
@media screen and (max-width: 767px) {
  .p-top-about__case-text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__case-text {
    margin-top: 0.6rem;
    font-size: 1.2rem;
  }
}

/*当院の治療について(口腔管理体制強化加算について)
***************************************************************/
.p-top-about__box {
  margin-top: 6.4rem;
  border-radius: 0.8rem;
  border: 0.3rem solid #EE86A1;
  padding: 2.9rem;
  display: flex;
  justify-content: space-between;
  gap: 7rem;
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-top-about__box {
    margin-top: 4rem;
    border: 0.2rem solid #EE86A1;
    flex-direction: column;
    padding: 2.2rem 1.2rem;
    gap: 1.6rem;
  }
}

.p-top-about__box-title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  width: 43.1102362205%;
}
@media screen and (max-width: 767px) {
  .p-top-about__box-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__box-title {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
  }
}
.p-top-about__box-title .large {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-about__box-title .large {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__box-title .large {
    font-size: 2rem;
  }
}

.p-top-about__box-textarea {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-top-about__box-textarea {
    width: 100%;
  }
}

.p-top-about__box-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-about__box-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__box-text {
    font-size: 1.4rem;
    padding-inline: 0.9rem;
  }
}

.p-top-about__box-link {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-about__box-link {
    text-align: center;
    margin-top: 2.4rem;
  }
}

/*３つの理由
***************************************************************/
.p-top-reason {
  position: relative;
  z-index: 0;
  background: #FAD6D5;
  overflow: hidden;
}

.p-top-reason__img {
  z-index: 0;
}
.p-top-reason__img img, .p-top-reason__img picture {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-reason__bg-container {
  padding-block: 4.6rem 12rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-top-reason__bg-container {
    padding-block: 3.8rem 6.4rem;
  }
}
.p-top-reason__bg-container::before {
  content: "";
  position: absolute;
  background: url(../img/top/bg_reason-flower--pc.webp) repeat-y top center/contain;
  width: 96vw;
  height: calc(100% + 13.4rem);
  top: -13.4rem;
  left: 50%;
  translate: -50% 0;
}
@media screen and (max-width: 767px) {
  .p-top-reason__bg-container::before {
    width: 100vw;
    top: -3.2rem;
    height: calc(100% + 3.2rem);
    background: url(../img/top/bg_reason-flower--sp.webp) repeat top center/contain;
  }
}
.p-top-reason__bg-container::after {
  content: "";
  position: absolute;
  top: -5.3rem;
  left: 50%;
  translate: -50%;
  background: url(../img/deco_head-pink.webp) no-repeat center center/contain;
  width: 14.3rem;
  height: 8.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__bg-container::after {
    width: 9.6rem;
    height: 5.1rem;
    top: -3.3rem;
  }
}

.p-top-reason__inner {
  max-width: max(116rem, 740px);
  padding-inline: 4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-reason__inner {
    max-width: 100%;
    padding-inline: 2rem;
  }
}

.p-top-reason__container {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__container {
    margin-top: 1rem;
  }
}

.p-top-reason__box {
  background: #FFFFFF;
  box-shadow: 0px 0px 24px rgba(238, 134, 161, 0.5);
  border-radius: 1.6rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box {
    border-radius: 0.8rem;
    box-shadow: 0px 0px 12px rgba(238, 134, 161, 0.5);
  }
}
.p-top-reason__box::before {
  content: "";
  position: absolute;
  background: url(../img/top/deco_reason-number.webp) no-repeat center center/contain;
  top: -1px;
  left: 50%;
  translate: -50%;
  width: 17.4rem;
  height: 6.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box::before {
    width: 9.02rem;
    height: 3.4rem;
  }
}

.p-top-reason__box01 {
  padding: 8rem 3.6rem 3.6rem 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box01 {
    padding: 5rem 2.4rem 2.4rem 2.4rem;
  }
}

.p-top-reason__box-number {
  position: absolute;
  top: 0.6rem;
  left: 50%;
  translate: -50%;
  font-family: "Montserrat", sans-serif;
  font-size: 4rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-number {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-number {
    top: 0.1rem;
    font-size: 2.4rem;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.2083333333;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top-reason__box-number {
    font-size: 2.4rem;
  }
}

.p-top-reason__box-title {
  font-family: "Noto Serif JP", sans-serif;
  font-size: max(2.4rem, 16.8px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-title {
    font-size: 2.4rem;
  }
}
.p-top-reason__box-title::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #595757;
  left: 0;
}
.p-top-reason__box01 .p-top-reason__box-title::before {
  bottom: -1.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box01 .p-top-reason__box-title::before {
    bottom: -1.2rem;
  }
}
.p-top-reason__box02 .p-top-reason__box-title::before {
  bottom: -1.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box02 .p-top-reason__box-title::before {
    bottom: -0.8rem;
  }
}
.p-top-reason__box03 .p-top-reason__box-title::before {
  bottom: -2.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box03 .p-top-reason__box-title::before {
    bottom: -1.3rem;
  }
}
.p-top-reason__box-title .large {
  font-size: max(3.2rem, 22.4px);
  font-weight: 700;
  line-height: 1.1875;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-title .large {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-title .large {
    font-size: 2rem;
    line-height: 1.5;
  }
}
.p-top-reason__box02 .p-top-reason__box-title .large {
  font-size: max(3.2rem, 22.4px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box02 .p-top-reason__box-title .large {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__box02 .p-top-reason__box-title .large {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-title {
    font-size: 1.6rem;
    white-space: nowrap;
  }
}
.p-top-reason__box01 .p-top-reason__box-title {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box01 .p-top-reason__box-title {
    width: 100%;
  }
}

.p-top-reason__box-contents {
  display: flex;
  gap: 3.9rem;
  margin-top: 5.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-contents {
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 2.1rem;
  }
}

.p-top-reason__intro {
  width: 33.630952381%;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__intro {
    width: 100%;
  }
}

.p-top-reason__intro-title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__intro-title {
    font-size: 2.4rem;
  }
}
.p-top-reason__intro-title .narrow {
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-top-reason__intro-title {
    font-size: 1.6rem;
    line-height: 1.85;
    text-align: center;
  }
}

.p-top-reason__intro-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__intro-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__intro-text {
    width: 69.8275862069%;
    font-size: 1.4rem;
    margin-left: auto;
    margin-right: -1rem;
  }
}

.p-top-reason__card-wrap {
  width: 62.5%;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 2.9rem;
  border-radius: 0.8rem;
  border: 0.3rem solid #EE86A1;
  margin-top: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__card-wrap {
    width: 100%;
    margin-top: 0;
    border: none;
    padding: 0;
    gap: 2.3rem;
  }
}

.p-top-reason__card {
  display: flex;
  gap: 2.4rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-top-reason__card {
    flex-direction: column;
    gap: 0.8rem;
  }
}

.p-top-reason__card-img {
  width: 30.5653710247%;
}
.p-top-reason__card-img img {
  aspect-ratio: 173/126;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-reason__card-img {
    width: 100%;
  }
  .p-top-reason__card-img img {
    aspect-ratio: 232/169;
  }
  .card01 .p-top-reason__card-img img {
    aspect-ratio: 232/152;
  }
}

.p-top-reason__card-body {
  width: 65.1943462898%;
}
@media screen and (max-width: 767px) {
  .p-top-reason__card-body {
    width: 100%;
  }
}

.p-top-reason__card-title {
  font-size: max(1.4rem, 10.5px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-top-reason__card-title {
    font-size: 1.4rem;
  }
}

.p-top-reason__card-text {
  font-size: max(1.4rem, 10.5px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__card-text {
    font-size: 1.4rem;
  }
}

.p-top-reason__deco {
  position: absolute;
  z-index: 2;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

.p-top-reason__deco01 {
  width: 12rem;
  aspect-ratio: 120/131;
  top: 2.4rem;
  left: 3.7rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__deco01 {
    width: 6.8rem;
    top: -4.2rem;
    left: -1.1rem;
  }
}

.p-top-reason__deco02 {
  width: 22rem;
  aspect-ratio: 220/236;
  top: -6rem;
  right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__deco02 {
    width: 7.6rem;
    top: -5rem;
    right: -0.6rem;
  }
}

.p-top-reason__deco03 {
  width: 31rem;
  aspect-ratio: 310/308;
  bottom: 0;
  left: -6.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__deco03 {
    width: 10rem;
    top: 20rem;
    left: -0.5rem;
  }
}

.p-top-reason__deco04 {
  width: 7.9rem;
  aspect-ratio: 79/308;
  bottom: 0;
  left: 29.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__deco04 {
    display: none;
  }
}

.p-top-reason__box-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7.2rem;
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-wrapper {
    margin-top: 2.4rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 2.4rem;
  }
}

.p-top-reason__box-img {
  border-radius: 1.6rem 1.6rem 0 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-img {
    border-radius: 0.8rem 0.8rem 0 0;
  }
}
.p-top-reason__box-img img {
  aspect-ratio: 505/283;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-reason__box-body {
  padding: 2.4rem 3.6rem 3.6rem 3.6rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-body {
    padding: 0.8rem 2.4rem 2.4rem 2.4rem;
  }
}
.p-top-reason__box02 .p-top-reason__box-body {
  gap: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box02 .p-top-reason__box-body {
    gap: 1.6rem;
  }
}
.p-top-reason__box03 .p-top-reason__box-body {
  gap: 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box03 .p-top-reason__box-body {
    gap: 2.1rem;
  }
}

.p-top-reason__box-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-text {
    font-size: 1.4rem;
  }
}

.p-top-reason__box-attention {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-attention {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-reason__box-attention {
    font-size: 1.6rem;
    line-height: 1.85;
  }
}

/*TOPページムービーエリア
***************************************************************/
.p-top-movie {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-top-movie {
    padding-block: 6.4rem;
  }
}

.p-top-movie__container {
  max-width: 108.3rem;
  margin-inline: auto;
}

.p-top-movie__iframe {
  overflow: hidden;
}
.p-top-movie__iframe iframe {
  width: 108rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1083/662;
  vertical-align: top;
}

/*治療のご提案
***************************************************************/
.p-top-offer {
  padding-block: 8.15rem;
  position: relative;
  background: url(../img/top/bg_offer--pc.webp) no-repeat center center/cover;
  overflow: hidden;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-top-offer {
    padding-block: 36.8rem 6.4rem;
    background: url(../img/top/bg_offer--sp.webp) no-repeat top left/contain;
  }
}

.p-top-offer__doctor {
  position: absolute;
  width: 28.5rem;
  aspect-ratio: 285/399;
  left: calc(50% + 36.8rem);
  top: 36.9rem;
  z-index: 2;
}
.p-top-offer__doctor::before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 285/399;
  background: #F3A7A5;
  left: 0.84rem;
  top: 0.75rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-top-offer__doctor {
    width: 15.3rem;
    bottom: auto;
    top: 13.9rem;
    left: auto;
    right: 1.6rem;
  }
}

.p-top-offer__catchphrase {
  position: absolute;
  width: 18.4rem;
  aspect-ratio: 184/642;
  top: 14rem;
  right: calc(50% + 48.5rem);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top-offer__catchphrase {
    width: 9.2rem;
    top: 2.4rem;
    left: 2rem;
    right: auto;
  }
}

.p-top-offer__inner {
  position: relative;
  padding-block: 3.8rem;
  z-index: 1;
}
.p-top-offer__inner::before {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 0 2.4rem 2.4rem 0;
  width: 117rem;
  height: 100%;
  aspect-ratio: 1170/750;
  top: 0;
  left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-top-offer__inner {
    padding-block: 2.4rem 0;
  }
  .p-top-offer__inner::before {
    display: none;
  }
}

.p-top-offer__container {
  width: max(65.7rem, 400px);
  margin-inline: 27.7083333333% 26.6666666667%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-offer__container {
    width: 100%;
    margin-inline: auto;
  }
}

.p-top-offer__head {
  font-family: "Noto Serif JP", sans-serif;
  position: relative;
}
.p-top-offer__head::before {
  content: "";
  position: absolute;
  width: 88%;
  height: 0.1rem;
  background-color: #595757;
  left: 0;
  bottom: -1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-offer__head::before {
    width: 100%;
    bottom: -0.8rem;
  }
}

.p-top-offer__title {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-offer__title {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-offer__title {
    font-size: 2rem;
  }
}
.p-top-offer__title .small {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-top-offer__title .small {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-offer__title .small {
    font-size: 1.6rem;
  }
}

.p-top-offer__list {
  margin-top: 3.7rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-offer__list {
    margin-top: 2.1rem;
    gap: 0;
  }
}

.p-top-offer__item {
  padding-left: 3rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-offer__item {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-offer__item {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
    padding-left: 1.7rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top-offer__item {
    font-size: 1.4rem;
  }
}
.p-top-offer__item::before {
  content: "";
  position: absolute;
  width: 4.3rem;
  height: 3.9rem;
  top: -0.1em;
  left: 0;
  background: url(../img/icon_check.svg) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-top-offer__item::before {
    width: 2.4rem;
    height: 2.2rem;
    top: -0.1em;
  }
}

.p-top-offer__text {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  width: 86.7579908676%;
}
@media screen and (max-width: 767px) {
  .p-top-offer__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-offer__text {
    width: 100%;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top-offer__text {
    font-size: 1.4rem;
  }
}
.p-top-offer__text.p-top-offer__text01 {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-offer__text.p-top-offer__text01 {
    margin-top: 0.8rem;
  }
}
.p-top-offer__text.p-top-offer__text02 {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-offer__text.p-top-offer__text02 {
    margin-top: 1rem;
  }
}

.p-top-offer__box {
  margin-top: 2.4rem;
  background: #FFFFFF;
  position: relative;
  padding: 2.8rem 1.6rem 2.1rem 2.6rem;
  width: 86.4535768645%;
}
.p-top-offer__box::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 14.8rem;
  background: rgba(52, 169, 238, 0.1);
  left: 0.8rem;
  top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-offer__box {
    margin-top: 0.8rem;
    background: #E3EFF7;
    padding: 1.4rem 1.3rem 1.4rem 1.4rem;
    width: 100%;
  }
  .p-top-offer__box::before {
    display: none;
  }
}

.p-top-offer__box-list {
  z-index: 1;
}

.p-top-offer__box-item {
  position: relative;
  padding-left: 2rem;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-offer__box-item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-offer__box-item {
    padding-left: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.86;
  }
}
.p-top-offer__box-item::after {
  content: "";
  position: absolute;
  background-color: #595757;
  width: 0.5rem;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  left: 0;
  top: 0.9em;
}
@media screen and (max-width: 767px) {
  .p-top-offer__box-item::after {
    width: 0.4rem;
  }
}

/*診療案内（TOP）
***************************************************************/
.p-top-medical-info {
  padding-block: 12rem;
  background: url(../img/top/bg_medical-info--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-top-medical-info {
    background: url(../img/top/bg_medical-info--sp.webp) no-repeat center center/cover;
    padding-block: 6.4rem;
    scroll-margin-top: 0;
  }
}

.p-top-medical-info__container {
  max-width: max(64.4rem, 450px);
  margin-inline: auto;
  margin-top: 7.1rem;
}
@media screen and (max-width: 767px) {
  .p-top-medical-info__container {
    margin-top: 2.6rem;
  }
}

.p-top-medical-info__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-medical-info__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem; /*pp調整*/
  }
}

.p-top-medical-info__item {
  border-radius: 1.6rem;
  border: 0.4rem solid #FFFFFF;
  background: #FAD6D5;
  padding: 1.8rem 0.9rem 1.4rem 0.9rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 1;
  position: relative;
  overflow: hidden;
  transition: background 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (max-width: 767px) {
  .p-top-medical-info__item {
    border-radius: 1.1rem;
    border: 0.3rem solid #FFFFFF;
    min-height: 13.2rem;
    padding: 0.8rem;
  }
}
@media (any-hover: hover) {
  .p-top-medical-info__item:hover {
    border: 0.4rem solid #FAD6D5;
    background: #FFFFFF;
  }
  .p-top-medical-info__item:hover .p-top-medical-info__item-title::after {
    background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/cover;
    transform: scale(1.14);
    overflow: visible;
  }
}

.p-top-medical-info__item-img {
  text-align: center;
}
.p-top-medical-info__item-img img {
  aspect-ratio: 170/108;
}

.p-top-medical-info__item-title {
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(1.8rem, 12.6px);
  font-weight: 700;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding-left: 1.8rem; /*pp調整*/
  margin-inline: auto;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-medical-info__item-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-medical-info__item-title {
    padding-left: 0.6rem; /*pp調整*/
    font-size: 1.3rem;
    gap: 0.6rem;
    min-height: 3.6rem;
  }
  .p-top-medical-info__item-title:nth-of-type(5) {
    padding-left: 0;
  }
}
.p-top-medical-info__item-title::after {
  content: "";
  background: url(../img/icon_button-arrow.svg) no-repeat center center/cover;
  width: 2.4rem;
  aspect-ratio: 1;
  transition: all 0.3s ease;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-top-medical-info__item-title::after {
    width: 1.7rem;
  }
}

/*医師紹介（TOP）
***************************************************************/
.p-top-doctors {
  position: relative;
  background-color: #FFEFEE;
  padding-block: 10.2rem 12rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-doctors {
    padding-block: 6.4rem;
  }
}

.p-top-doctors__catchphrase {
  position: absolute;
  width: 18.6rem;
  height: 101.7rem;
  top: 1.67rem;
  left: 5.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__catchphrase {
    position: relative;
    width: 28rem;
    height: 17rem;
    top: 0;
    left: 0;
  }
}

.p-top-doctors__container {
  max-width: max(107rem, 600px);
  margin-inline: 22.6388888889% 8.6111111111%;
  display: flex;
  gap: 9rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__container {
    max-width: 100%;
    margin-inline: auto;
    flex-direction: column;
    gap: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-top-doctors__container .sp-order-1 {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__container .sp-order-2 {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__container .sp-order-3 {
    order: 3;
  }
}

.p-top-doctors__left-box,
.p-top-doctors__right-box {
  width: 45.4545454545%;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__left-box,
  .p-top-doctors__right-box {
    width: 100%;
    display: contents;
  }
}

.medical-director {
  margin-top: 8.6rem;
}
@media screen and (max-width: 767px) {
  .medical-director {
    margin-top: 4rem;
  }
}

.deputy-director {
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .deputy-director {
    margin-top: 4rem;
  }
}

.p-top-doctors__img {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__img {
    margin-inline: 8.5714285714% 11.0714285714%;
  }
}
.p-top-doctors__img::before {
  content: "";
  position: absolute;
  width: 45rem;
  height: 54rem;
  background: #F3A7A5;
  top: 1.9rem;
  left: 1.8rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__img::before {
    width: 22.5rem;
    height: 27rem;
    top: 1rem;
    left: 0.9rem;
  }
}

.p-top-doctors__name-warp {
  margin-top: 4.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__name-warp {
    margin-top: 2.2rem;
  }
}

.p-top-doctors__position {
  font-size: max(1.8rem, 13.5px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__position {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__position {
    font-size: 1.4rem;
  }
}

.p-top-doctors__name {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__name {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__name {
    font-size: 2rem;
    margin-top: 0.5rem;
  }
  .deputy-director .p-top-doctors__name {
    margin-top: 0;
  }
}
.p-top-doctors__name::after {
  content: "";
  position: absolute;
  width: calc(100% + 1.8rem);
  height: 0.2rem;
  background: #FFFFFF;
  left: 0;
  bottom: -0.7rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__name::after {
    width: 100%;
    height: 0.1rem;
    bottom: -0.9rem;
  }
}

.p-top-doctors__name--en {
  text-transform: uppercase;
  font-size: max(1.8rem, 13.5px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-left: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__name--en {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__name--en {
    font-size: 1.4rem;
    margin-left: 1.2rem;
  }
  .deputy-director .p-top-doctors__name--en {
    margin-left: 0.8rem;
  }
}

.p-top-doctors__achievement {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__achievement {
    margin-top: 2.2rem;
  }
}

.p-top-doctors__achievement-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__achievement-list {
    gap: 0.4rem;
  }
}
.p-top-doctors__achievement-list > li {
  font-size: max(1.6rem, 11.2px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__achievement-list > li {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__achievement-list > li {
    font-size: 1.4rem;
  }
}
.deputy-director .p-top-doctors__achievement-list { /*副院長は1px文字小さい、gapが少ない、字詰め*/
  gap: 0.1rem;
}
@media screen and (max-width: 767px) {
  .deputy-director .p-top-doctors__achievement-list {
    gap: 0.1rem;
  }
}
.deputy-director .p-top-doctors__achievement-list > li {
  font-size: max(1.5rem, 10.5px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0em;
  font-feature-settings: "palt" 1;
}
@media screen and (max-width: 767px) {
  .deputy-director .p-top-doctors__achievement-list > li {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .deputy-director .p-top-doctors__achievement-list > li {
    font-size: 1.3rem;
    font-feature-settings: "palt" 0;
  }
}

.p-top-doctors__achievement-imgs {
  margin-top: 2.4rem;
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__achievement-imgs {
    margin-top: 1.6rem;
    gap: 0.5rem;
  }
}
.p-top-doctors__achievement-imgs img {
  box-shadow: 4px 4px 12px rgba(62, 62, 62, 0.25);
  width: 29.7777777778%;
  aspect-ratio: 134/180;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__achievement-imgs img {
    box-shadow: 2px 2px 6px rgba(62, 62, 62, 0.25);
    width: 23.9285714286%;
  }
}

.p-top-doctors__title {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__title {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__title {
    font-size: 2rem;
    text-align: center;
    margin-top: 2.4rem;
  }
}
.p-top-doctors__title .small {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__title .small {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__title .small {
    font-size: 1.6rem;
  }
}

.p-top-doctors__service-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 3.4rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__service-list {
    margin-top: 1rem;
    gap: 0.5rem 1.9rem;
    justify-content: center;
  }
}

.p-top-doctors__service-item {
  width: 40.8888888889%;
  padding-left: 3.9rem;
  white-space: nowrap;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__service-item {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctors__service-item {
    width: 37.8571428571%;
    padding-left: 2.2rem;
    font-size: 1.4rem;
  }
}
.p-top-doctors__service-item::before {
  content: "";
  position: absolute;
  width: 3.6rem;
  height: 3.3rem;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .p-top-doctors__service-item::before {
    width: 1.9rem;
    height: 1.7rem;
  }
}

/*医院情報
***************************************************************/
.p-top-clinic {
  padding-block: 12rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-clinic {
    padding-block: 6.4rem 0;
  }
}

.p-top-clinic__head {
  line-height: 1.4;
}

.p-top-clinic__container {
  margin-top: 6rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__container {
    margin-top: 2.4rem;
    gap: 6.4rem;
  }
}

/*医院情報（上部コンテンツ用）
***************************************************************/
.p-top-clinic__contents01 {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__contents01 {
    flex-direction: column;
  }
}

.p-top-clinic__contents02 {
  display: flex;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__contents02 {
    flex-direction: column;
  }
}

.p-top-clinic__img {
  width: 56.25%;
  overflow: hidden;
}
.p-top-clinic__img img {
  aspect-ratio: 810/591;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__img {
    width: 100%;
  }
  .p-top-clinic__img img {
    aspect-ratio: 280/200;
  }
}

.p-top-clinic__body {
  width: max(43.75%, 400px);
}
@media screen and (max-width: 767px) {
  .p-top-clinic__body {
    width: 100%;
  }
}
.p-top-clinic__contents01 .p-top-clinic__body {
  padding: 8.4rem 5.2rem 3rem 5.2rem;
  background: url(../img/top/bg_clinic-info01.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__contents01 .p-top-clinic__body {
    padding: 0;
    background: none;
  }
}
.p-top-clinic__contents02 .p-top-clinic__body {
  padding: 5.5rem 5.2rem 3rem 5.2rem;
  background: url(../img/top/bg_clinic-info02.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__contents02 .p-top-clinic__body {
    padding: 0;
    background: none;
  }
}

.p-top-clinic__sub-title {
  font-size: max(1.8rem, 12.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__sub-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-clinic__sub-title {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.85;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: 2.4rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top-clinic__sub-title {
    font-size: 1.4rem;
  }
}

.p-top-clinic__title {
  font-family: "Noto Serif JP", sans-serif;
  color: #F35F85;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-clinic__title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: 0.8rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top-clinic__title {
    font-size: 2rem;
  }
}

.p-top-clinic__text {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-clinic__text {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}

.p-top-clinic__list {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__list {
    margin-top: 1.6rem;
    gap: 0rem;
  }
}

.p-top-clinic__item {
  padding-left: 3.3rem;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-clinic__item {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
    padding-left: 2.6rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-top-clinic__item {
    font-size: 1.4rem;
  }
}
.p-top-clinic__item::before {
  content: "";
  position: absolute;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
  width: 3.3rem;
  height: 3rem;
  left: 0;
  top: -0.2em;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__item::before {
    width: 2.2rem;
    height: 2rem;
    top: 0;
  }
}

.p-top-clinic__link {
  margin-top: 4.8rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-clinic__link {
    margin-top: 4rem;
    text-align: center;
  }
}

/*トップページ医院ビュー
***************************************************************/
.p-top-clinic-view {
  padding-block: 13.8rem 12rem;
}
@media screen and (max-width: 767px) {
  .p-top-clinic-view {
    padding-block: 7.5rem 6.4rem;
  }
}

.p-top-clinic-view__head {
  position: relative;
  z-index: 0;
}
.p-top-clinic-view__head::before {
  content: "";
  position: absolute;
  background: url(../img/deco_flower--pale.webp) no-repeat center center/contain;
  width: 9rem;
  height: 9.34rem;
  top: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-top-clinic-view__head::before {
    width: 4.8rem;
    height: 5rem;
    top: -1.1rem;
  }
}

.p-top-clinic-view__container {
  max-width: 108.2rem;
  margin-inline: auto;
  margin-top: 7.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-clinic-view__container {
    margin-top: 3.4rem;
  }
}

.p-top-clinic-view__iframe {
  overflow: hidden;
}
.p-top-clinic-view__iframe iframe {
  width: 108.2rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1082/562;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .p-top-clinic-view__iframe iframe {
    width: 28rem;
    aspect-ratio: 280/276;
  }
}

/*メッセージ(TOP)
***************************************************************/
.p-top-message {
  background: #FAD6D5;
  padding-block: 5rem;
  position: relative;
  margin-bottom: 12rem;
}
.p-top-message::after {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  width: 7.8rem;
  height: 62.4rem;
  background: url(../img/top/text_consultation--pc.webp) no-repeat center center/contain;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-message::after {
    background: url(../img/top/text_consultation--sp.webp) no-repeat center center/contain;
    top: 0.3rem;
    left: 0;
    width: 3rem;
    height: 25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-message {
    padding-block: 6rem 6.4rem;
    margin-bottom: 0;
  }
}

.p-top-message__inner {
  padding-inline: 5rem;
}
@media screen and (max-width: 767px) {
  .p-top-message__inner {
    padding-inline: 2rem;
  }
}

.p-top-message__container {
  border-radius: 1.6rem;
  background: #FFFFFF;
  display: flex;
  gap: 8.8rem;
  width: 91.1940298507%;
  margin-left: auto;
  padding: 4.8rem 5rem 4.8rem 5rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-top-message__container {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100%;
    margin-left: 0;
    padding: 2rem 2rem 2.7rem 2rem;
  }
}

.p-top-message__img {
  margin-left: -16.5rem;
  width: 57%;
  position: relative;
  z-index: 1;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-message__img {
    margin-left: 0;
    width: 98%;
    margin-top: -6rem;
  }
}
.p-top-message__img img {
  aspect-ratio: 615/410;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-message__img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #FAD6D5;
  left: 1.6rem;
  top: 1.7rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-top-message__img::before {
    left: 0.6rem;
    top: 0.6rem;
  }
}

.p-top-message__contents {
  width: 54%;
}
@media screen and (max-width: 767px) {
  .p-top-message__contents {
    width: 100%;
    padding-inline: 0.4rem;
  }
}

.p-top-message__body {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.p-top-message__title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-top-message__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-message__title {
    font-size: 2rem;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .p-top-message__list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
}

.p-top-message__item {
  font-size: max(1.8rem, 12.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-message__item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-message__item {
    font-size: 1.4rem;
  }
}

.p-top-message__text {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-message__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-message__text {
    font-size: 1.4rem;
  }
}
.p-top-message__text:not(:first-of-type) {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-message__text:not(:first-of-type) {
    margin-top: 1.6rem;
  }
}

.p-top-message__link {
  text-align: right;
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-message__link {
    text-align: center;
    margin-top: 2.4rem;
  }
}

/* PCナビメニュー（TOP用）
***************************************************************/
.p-pc-menu {
  padding-block: 3.7rem 8rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-pc-menu {
    display: none;
  }
}

.p-pc-menu__inner {
  max-width: 144rem;
}

.p-pc-menu__list {
  display: flex;
  justify-content: center;
  text-transform: uppercase;
}
.p-pc-menu__list .home, .p-pc-menu__list .price {
  padding-inline: 3.1rem;
}
.p-pc-menu__list .clinic, .p-pc-menu__list .doctor {
  padding-inline: 3rem;
}
.p-pc-menu__list .information {
  padding-inline: 2.1rem;
}
.p-pc-menu__list .access {
  padding-inline: 3.2rem;
}
.p-pc-menu__list .recruit {
  padding-inline: 3.1rem;
}
.p-pc-menu__list > li > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-block: 0.4rem;
  border-left: 1px solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-pc-menu__list > li > a {
    font-size: 1.8rem;
  }
}
.p-pc-menu__list > li > a:last-of-type {
  border-right: 1px solid #D0D0D0;
}
@media (any-hover: hover) {
  .p-pc-menu__list > li > a:hover {
    opacity: 0.7;
    transition: all 0.5s ease;
    text-shadow: 0px 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
  }
}
.p-pc-menu__list > li > a span {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5454545455;
  letter-spacing: 0.15em;
  color: #F35F85;
  font-family: "Montserrat", sans-serif;
  opacity: 1;
  text-shadow: none;
}
@media screen and (max-width: 767px) {
  .p-pc-menu__list > li > a span {
    font-size: 1.1rem;
  }
}

.p-pc-menu__sublist {
  padding: 2.4rem 3.2rem;
  background: #FAD6D5;
  display: flex;
  flex-wrap: wrap;
  gap: 1.7rem 2.3rem;
  width: 58.7rem;
  position: absolute;
}
.p-pc-menu__sublist .p-pc-menu__sublist--large {
  width: 25rem;
  height: 5rem;
  display: grid;
  place-content: center;
  background: #FFFFFF;
  border-radius: 0.8rem;
  border: 1px solid #EE86A1;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86), border 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  padding-inline: 2.4rem 0;
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
  padding-left: 2.4rem;
  padding-right: 0.4rem;
  position: relative;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-pc-menu__sublist .p-pc-menu__sublist--large {
    font-size: 1.8rem;
  }
}
@media (any-hover: hover) {
  .p-pc-menu__sublist .p-pc-menu__sublist--large:hover {
    color: #FFFFFF;
    border-color: #F35F85;
    opacity: 1;
  }
  .p-pc-menu__sublist .p-pc-menu__sublist--large:hover::after {
    transform: scaleX(1);
  }
  .p-pc-menu__sublist .p-pc-menu__sublist--large:hover span::before {
    opacity: 1;
  }
}
.p-pc-menu__sublist .p-pc-menu__sublist--large::after {
  content: "";
  width: 100%;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #F35F85;
  border-radius: 0.7rem;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: -1;
}
.p-pc-menu__sublist .p-pc-menu__sublist--large span {
  position: relative;
}
.p-pc-menu__sublist .p-pc-menu__sublist--large span::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: calc(100% + 0.8rem);
  width: 1.6rem;
  height: 1.6rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow.svg) no-repeat center center/contain;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: 1;
}
.p-pc-menu__sublist .p-pc-menu__sublist--large span::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: calc(100% + 0.8rem);
  width: 1.6rem;
  height: 1.6rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/contain;
  z-index: -1;
}

.p-pc-menu__sublist--small {
  display: flex;
  flex-wrap: wrap;
  gap: 1.7rem 2.56rem;
  width: 42.5rem;
  margin-inline: auto;
}
.p-pc-menu__sublist--small > li a {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
  padding-left: 2.4rem;
  padding-right: 0.4rem;
  position: relative;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-pc-menu__sublist--small > li a {
    font-size: 1.8rem;
  }
}
@media (any-hover: hover) {
  .p-pc-menu__sublist--small > li a:hover {
    opacity: 0.7;
  }
}
.p-pc-menu__sublist--small > li a::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  aspect-ratio: 1;
  background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/contain;
}

/* 下層 PCナビメニュー*/
.lower .p-pc-menu {
  padding-block: 3.2rem;
  transition: all 0.5s ease;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: #FFFFFF;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .lower .p-pc-menu {
    display: none;
  }
}
.lower .p-pc-menu.header--start {
  position: relative;
}
.lower .p-pc-menu.header--fixed {
  translate: 0 -100%;
  transition: translate 0.5s ease;
  padding-block: 2.8rem;
  border-bottom: 1px solid #D0D0D0;
}
.lower .p-pc-menu.header--fixed.js-scroll {
  translate: 0;
}

/*下層追従ヘッダーのみの見栄え(各メニュー感の余白)*/
.header--fixed .p-pc-menu__inner {
  display: flex;
  gap: 1.6rem;
  justify-content: center;
}

.header--fixed .p-pc-menu__list .home, .header--fixed .p-pc-menu__list .price {
  padding-inline: 2.1rem;
}
.header--fixed .p-pc-menu__list .clinic, .header--fixed .p-pc-menu__list .doctor {
  padding-inline: 2rem;
}
.header--fixed .p-pc-menu__list .information {
  padding-inline: 1.1rem;
}
.header--fixed .p-pc-menu__list .access {
  padding-inline: 1.6rem;
}
.header--fixed .p-pc-menu__list .recruit {
  padding-inline: 2rem;
}

/* SP menu
***************************************************************/
.p-sp-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-sp-menu {
    display: block;
    padding-block: 6.4rem;
    padding-inline: 2rem;
  }
}

.p-sp-menu__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.p-sp-menu__item {
  min-height: 12.8rem;
  background: #FAD6D5;
  border-radius: 0.8rem;
  padding-inline: 0.9rem 0.8rem;
  padding-block: 1.5rem 0.8rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.p-sp-menu__item:nth-of-type(5), .p-sp-menu__item:nth-of-type(6) {
  padding-block: 0.8rem 0.8rem;
}

.p-sp-menu__item-img {
  text-align: center;
}
.p-sp-menu__item-img img {
  width: 4rem;
  height: 4rem;
  aspect-ratio: 1;
}

.p-sp-menu__item-title {
  text-align: center;
}

.p-sp-menu__item-main {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

.p-sp-menu__item-sub {
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  margin-top: 0.4rem;
}

.p-sp-menu__item-link {
  text-align: right;
}
.p-sp-menu__item-link img {
  width: 1.8rem;
  height: 1.8rem;
  aspect-ratio: 1;
}

/* 下層ページFV（料金、院長紹介、診療時間・アクセスページ共通）
***************************************************************/
.p-lower-fv {
  height: 35rem;
  background: url(../img/bg_lower-fv-pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv {
    height: 24rem;
    background: url(../img/bg_lower-fv-sp.webp) no-repeat center center/cover;
  }
}
.p-lower-fv.clinic {
  background: url(../img/clinic/bg_lower-fv-clinic--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv.clinic {
    background: url(../img/clinic/bg_lower-fv-clinic--sp.webp) no-repeat center center/cover;
  }
}
.p-lower-fv.reservation {
  background: url(../img/reservation/bg_lower-fv-reservation--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv.reservation {
    background: url(../img/reservation/bg_lower-fv-reservation--sp.webp) no-repeat center center/cover;
  }
}

/* 下層ページ1カラム用
***************************************************************/
.p-lower-fv--one-column {
  display: grid;
  place-content: center;
}
.p-lower-fv--one-column .p-lower-fv__title {
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--one-column .p-lower-fv__title {
    gap: 0.5rem;
  }
}
.p-lower-fv--one-column .p-lower-fv__title-main {
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1.4423076923;
  letter-spacing: 0.25em;
  margin-left: 0.25em;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--one-column .p-lower-fv__title-main {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--one-column .p-lower-fv__title-main {
    font-size: 2.4rem;
  }
}
.p-lower-fv--one-column .p-lower-fv__title-sub {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--one-column .p-lower-fv__title-sub {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--one-column .p-lower-fv__title-sub {
    font-size: 1.5rem;
  }
}

/* 下層ページ２カラム用
***************************************************************/
.p-lower-fv--two-column {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column {
    flex-direction: column-reverse;
  }
}
.p-lower-fv--two-column .p-lower-fv__title-box {
  width: 50%;
  display: flex;
  align-items: center;
  justify-self: flex-start;
  padding-inline: 18rem 4rem;
  background: url(../img/bg_lower-fv-pink-pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-box {
    width: 100%;
    display: block;
    padding: 1.6rem 2rem;
    background: url(../img/bg_lower-fv-pink-sp.webp) no-repeat center center/cover;
  }
}
.p-lower-fv--two-column .p-lower-fv__title {
  display: flex;
  flex-direction: column;
  gap: 3.3rem;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title {
    gap: 1.1rem;
  }
}
.p-lower-fv--two-column .p-lower-fv__title-main {
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1.1923076923;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-main {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-main {
    font-size: 2.4rem;
    line-height: 1.2083333333;
  }
}
.p-lower-fv--two-column .p-lower-fv__title-main .p-lower-fv__title-main--small {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-main .p-lower-fv__title-main--small {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-main .p-lower-fv__title-main--small {
    font-size: 1.7rem;
    line-height: 1.4705882353;
    letter-spacing: 0.13em;
  }
}
.p-lower-fv--two-column .p-lower-fv__title-sub {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-family: "Montserrat", sans-serif;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-sub {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__title-sub {
    font-size: 1.5rem;
  }
}
.p-lower-fv--two-column .p-lower-fv__img-box {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--two-column .p-lower-fv__img-box {
    width: 100%;
  }
}
.p-lower-fv--two-column .p-lower-fv__img-box img {
  aspect-ratio: 720/350;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 下層ページ Large FV（小児矯正歯科、インプラント、採用）202601追加
***************************************************************/
.p-lower-fv--large {
  height: 60.7rem;
  position: relative;
  z-index: 1;
}
.p-lower-fv--large::before {
  content: "";
  position: absolute;
  width: 46.8rem;
  height: 57.2rem;
  background: url(../img/deco_lower-fv-teeth.webp) no-repeat center center/contain;
  top: 5.4rem;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large {
    height: 39.5rem;
  }
  .p-lower-fv--large::before {
    width: 14.8rem;
    height: 17.6rem;
    top: auto;
    bottom: 1rem;
    left: -0.2rem;
  }
}
.p-lower-fv--large.pediatric-orthodontics {
  background: url(../img/pediatric-orthodontics/bg_lower-fv-pediatric-orthodontics--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large.pediatric-orthodontics {
    background: url(../img/pediatric-orthodontics/bg_lower-fv-pediatric-orthodontics--sp.webp) no-repeat center center/cover;
  }
}
.p-lower-fv--large.implant {
  background: url(../img/implant/bg_lower-fv-implant--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large.implant {
    background: url(../img/implant/bg_lower-fv-implant--sp.webp) no-repeat center center/cover;
  }
}
.p-lower-fv--large.recruit {
  background: url(../img/recruit/bg_lower-fv-recruit--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large.recruit {
    background: url(../img/recruit/bg_lower-fv-recruit--sp.webp) no-repeat center center/cover;
  }
}
.p-lower-fv--large .p-lower-fv__title {
  position: absolute;
  top: 13.2rem;
  left: 5.2rem;
  z-index: 10;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title {
    top: 32.5rem;
    left: 2rem;
  }
}
.pediatric-orthodontics .p-lower-fv--large .p-lower-fv__title {
  top: 9.7rem;
}
@media screen and (max-width: 767px) {
  .pediatric-orthodontics .p-lower-fv--large .p-lower-fv__title {
    top: 29.4rem;
  }
}
.p-lower-fv--large .p-lower-fv__title-main {
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1.4423076923;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-main {
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-main {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.2083333333;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-main {
    font-size: 2.4rem;
  }
}
.pediatric-orthodontics .p-lower-fv--large .p-lower-fv__title-main {
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .pediatric-orthodontics .p-lower-fv--large .p-lower-fv__title-main {
    letter-spacing: 0.15em;
  }
}
.p-lower-fv--large .p-lower-fv__title-main--small {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.15em;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-main--small {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-main--small {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.1764705882;
    letter-spacing: 0.15em;
    margin-top: 0.6rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-main--small {
    font-size: 1.7rem;
  }
}
.p-lower-fv--large .p-lower-fv__title-sub {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-family: "Montserrat", sans-serif;
  position: relative;
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-sub {
    font-size: 2rem;
  }
}
.p-lower-fv--large .p-lower-fv__title-sub::before {
  content: "";
  position: absolute;
  width: 3.2rem;
  height: 0.2rem;
  background-color: #FFFFFF;
  top: -1.6rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__title-sub {
    display: none;
  }
}
.p-lower-fv--large .p-lower-fv__deco-text {
  font-family: "Montserrat", sans-serif;
  color: #FFFFFF;
  font-size: 10rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0em;
  position: absolute;
  bottom: 0;
  left: 4.3rem;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__deco-text {
    font-size: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__deco-text {
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
    left: 1.7rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-fv--large .p-lower-fv__deco-text {
    font-size: 2.5rem;
  }
}

/*担当医紹介パーツ
***************************************************************/
.p-doctor-present {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-doctor-present {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}
.p-doctor-present.recruit {
  padding-block: 10.2rem 9.6rem;
  position: relative;
}
.p-doctor-present.recruit::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 75%);
  height: 65.7rem;
  width: 100%;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-doctor-present.recruit {
    padding-block: 9.2rem 0;
  }
  .p-doctor-present.recruit::before {
    background: linear-gradient(360deg, white 0%, #FFEFEE 75%);
    height: 16rem;
  }
}
.p-doctor-present.pediatric-orthodontics {
  padding-block: 14.8rem 9.6rem;
  position: relative;
}
.p-doctor-present.pediatric-orthodontics::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 75%);
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-doctor-present.pediatric-orthodontics {
    padding-block: 9.2rem 0;
  }
  .p-doctor-present.pediatric-orthodontics::before {
    background: linear-gradient(360deg, white 0%, #FFEFEE 75%);
    width: 100%;
    height: 11rem;
  }
}

.p-doctor-present__container {
  position: relative;
  z-index: 1;
  max-width: 133.6rem;
  margin-inline: auto;
  border-radius: 1.6rem;
  padding: 6.8rem 12.8rem 11.2rem 12.8rem;
  background: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__container {
    border-radius: 0;
    padding: 3.2rem 2rem 6.4rem 2rem;
  }
}
.p-doctor-present__container::before {
  content: "";
  position: absolute;
  background: url(../img/deco_flower.webp) no-repeat center center/cover;
  width: 38.6rem;
  height: 41.3rem;
  aspect-ratio: 772/826;
  top: 2.8rem;
  left: 2rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__container::before {
    width: 12.8rem;
    height: 13.7rem;
    top: 0.8rem;
    left: 0.8rem;
  }
}
.p-doctor-present__container::after {
  content: "";
  position: absolute;
  top: -5.3rem;
  left: 50%;
  translate: -50%;
  background: url(../img/deco_head-pink.webp) no-repeat center center/contain;
  width: 14.4rem;
  height: 8.2rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__container::after {
    width: 9.6rem;
    height: 5.1rem;
    top: -3.3rem;
  }
}
.p-staff .p-doctor-present__container::after {
  display: none;
}
.p-staff__director .p-doctor-present__container {
  padding: 6.8rem 12.8rem 6.8rem 12.8rem;
}
@media screen and (max-width: 767px) {
  .p-staff__director .p-doctor-present__container {
    padding: 3.2rem 2rem 4rem 2rem;
  }
}
.p-staff__vice-director .p-doctor-present__container {
  padding: 6.8rem 12.8rem 8.4rem 12.8rem;
}
@media screen and (max-width: 767px) {
  .p-staff__vice-director .p-doctor-present__container {
    padding: 3.2rem 2rem 4rem 2rem;
  }
}
.pediatric-orthodontics .p-doctor-present__container {
  padding: 6.8rem 12.8rem 10.6rem 12.8rem;
}
@media screen and (max-width: 767px) {
  .pediatric-orthodontics .p-doctor-present__container {
    padding: 3.2rem 2rem 6.4rem 2rem;
  }
}

.p-doctor-present__title {
  font-size: max(4rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__title {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__title {
    font-size: 2rem;
  }
}

.p-doctor-present__contents {
  margin-top: 4rem;
  display: flex;
  gap: 5.6rem;
  position: relative;
  z-index: 0;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__contents {
    margin-top: 1.6rem;
    flex-direction: column;
    gap: 2.4rem;
  }
  .recruit .p-doctor-present__contents {
    margin-top: 2.4rem;
  }
}

.p-doctor-present__personal {
  width: 34.8148148148%;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__personal {
    width: 100%;
  }
}

.p-doctor-present__img {
  position: relative;
  width: 36rem;
}
.p-doctor-present__img img {
  aspect-ratio: 360/406;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  position: relative;
  z-index: 1;
}
.p-doctor-present__img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1.6rem;
  left: 1.6rem;
  background: #FFEFEE;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__img {
    width: 19.7rem;
    margin-left: 13.2142857143%;
    margin-right: 16.4285714286%;
  }
  .p-doctor-present__img::before {
    top: 0.8rem;
    left: 0.9rem;
  }
}

.p-doctor-present__name-warp {
  display: flex;
  gap: 1.1rem;
  align-items: flex-end;
  padding-bottom: 0.9rem;
  border-bottom: 2px solid #FFFFFF;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__name-warp {
    gap: 0.8rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #FFFFFF;
    margin-top: 2.4rem;
  }
}

.p-doctor-present__position {
  font-size: max(1.6rem, 12.8px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__position {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__position {
    font-size: 1.4rem;
    padding-bottom: 0.2rem;
  }
}

.p-doctor-present__name {
  font-size: max(2.4rem, 16.8px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__name {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__name {
    font-size: 1.9rem;
  }
}

.p-doctor-present__career {
  margin-top: 0.7rem;
}

.p-doctor-present__teg {
  font-size: max(1.6rem, 12.8px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__teg {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__teg {
    font-size: 1.2rem;
  }
}

.p-doctor-present__career-list {
  margin-top: 0.2rem;
  font-size: max(1.5rem, 12px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__career-list {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__career-list {
    margin-top: 0;
    font-size: 1.3rem;
  }
}

.p-doctor-present__qualifications {
  margin-top: 1.6rem;
}

.p-doctor-present__qualifications-img {
  margin-top: 1.6rem;
  width: 12rem;
}
.p-doctor-present__qualifications-img img {
  box-shadow: 0.4rem 0.4rem 1.2rem rgba(62, 62, 62, 0.25);
  aspect-ratio: 120/161;
}

.p-doctor-present__message {
  width: 60%;
  background: #FFEFEE;
  border-radius: 1.6rem;
  padding: 6.4rem 3.6rem;
  position: relative;
}
.p-doctor-present__message::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1.6rem;
  left: 1.6rem;
  background: #FFFFFF;
  border-radius: 1.6rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__message {
    width: 100%;
    border-radius: 0.8rem;
    padding: 2.4rem 2.2rem;
    /*院長・副院長あいさつページ（副院長用）*/
  }
  .p-doctor-present__message::after {
    top: 0.8rem;
    left: 0.8rem;
    background: #FFFFFF;
    border-radius: 0.8rem;
    z-index: -1;
  }
  .p-staff .p-doctor-present__message {
    padding: 3.2rem 2.2rem;
  }
}

.p-doctor-present__message-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #F35F85;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__message-title {
    font-size: 2.8rem;
  }
}
.pediatric-orthodontics .p-doctor-present__message-title, .implant .p-doctor-present__message-title {
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__message-title {
    font-size: 1.6rem;
  }
  .pediatric-orthodontics .p-doctor-present__message-title, .implant .p-doctor-present__message-title {
    line-height: 1.65;
  }
}

.p-doctor-present__text-wrap {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__text-wrap {
    margin-top: 1.6rem;
  }
}

.p-doctor-present__text-wrap--recruit {
  margin-top: 0;
}

.p-doctor-present__text-wrap--staff {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__text-wrap--staff {
    margin-top: 1.6rem;
  }
}

.p-doctor-present__text {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__text {
    font-size: 1.8rem;
  }
}
.p-doctor-present__text:not(:first-of-type) {
  margin-top: 3.3rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__text {
    font-size: 1.4rem;
    margin-top: 0rem;
  }
  .p-doctor-present__text:not(:first-of-type) {
    margin-top: 1.6rem;
  }
}

.p-doctor-present__more-content .p-doctor-present__text {
  margin-top: 0;
}
.p-doctor-present__more-content .p-doctor-present__text:not(:first-of-type) {
  margin-top: 3.3rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__more-content .p-doctor-present__text:not(:first-of-type) {
    margin-top: 1.6rem;
  }
}

.p-doctor-present__sign {
  font-size: max(1.6rem, 12px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 3.2rem;
  display: flex;
  gap: 1em;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__sign {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__sign {
    font-size: 1.3rem;
    margin-top: 1.6rem;
    gap: 0.7em;
  }
  .p-doctor-present__sign span {
    white-space: nowrap;
  }
  .p-doctor-present__more-content .p-doctor-present__sign {
    padding-bottom: 2.4rem;
  }
}

.p-doctor-present__more-content {
  margin-top: 3.3rem;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__more-content {
    margin-top: 2.4rem;
    transition: max-height 0.5s ease;
    overflow: hidden;
    max-height: 0;
  }
}

.p-doctor-present__more-button {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-doctor-present__more-button {
    display: block;
    width: 20rem;
    height: 4rem;
    margin-inline: auto;
    border-radius: 0.8rem;
    border: 2px solid #F35F85;
    color: #F35F85;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    background: #FFFFFF;
    display: grid;
    place-content: center;
    position: relative;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-doctor-present__more-button {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doctor-present__more-button::before {
    content: "";
    position: absolute;
    width: 1.4rem;
    height: 0.2rem;
    background: #F35F85;
    top: 50%;
    right: 1.3rem;
  }
  .p-doctor-present__more-button::after {
    content: "";
    position: absolute;
    width: 1.4rem;
    height: 0.2rem;
    background: #F35F85;
    top: 50%;
    right: 1.3rem;
    rotate: 90deg;
    transition: all 0.5s ease;
  }
  .p-doctor-present__more-button.is-open::after {
    rotate: 0deg;
    opacity: 0;
  }
}

/* 治療の流れ（共通部分）
***************************************************************/
.p-flow {
  max-width: 86.4rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 3.7rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-flow {
    gap: 2.2rem;
  }
}
.p-pediatric-orthodontics-flow .p-flow, .p-implant-flow .p-flow { /*小児矯正歯科、インプラントの場合のgap*/
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-flow .p-flow, .p-implant-flow .p-flow {
    gap: 2.2rem;
  }
}
.p-flow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 5.55%;
  width: 0.15rem;
  height: 88%;
  background-color: #71C0EF;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-flow::before {
    left: 9.4%;
    height: 81%;
  }
}
.p-pediatric-orthodontics-flow .p-flow::before { /*小児矯正歯科の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-flow .p-flow::before { /*小児矯正歯科の場合のflowの線の高さ(SP)*/
    left: 9.4%;
    height: 81%;
  }
}
.p-implant-flow .p-flow::before { /*インプラント治療の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-implant-flow .p-flow::before { /*インプラント治療の場合のflowの線の高さ（SP）*/
    left: 9.4%;
    height: 84%;
  }
}
.p-cavity__flow .p-flow::before { /*虫歯治療の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-cavity__flow .p-flow::before { /*虫歯治療の場合のflowの線の高さ（SP）*/
    left: 9.4%;
    height: 86%;
  }
}
.p-oral-surgery__flow .p-flow::before { /*口腔外科治療の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__flow .p-flow::before { /*口腔外科治療の場合のflowの線の高さ（SP）*/
    left: 9.4%;
    height: 85%;
  }
}
.p-preventive__flow .p-flow::before { /*予防歯科治療の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-preventive__flow .p-flow::before { /*予防歯科治療の場合のflowの線の高さ（SP）*/
    left: 9.4%;
    height: 83%;
  }
}
.p-dentures__flow .p-flow::before { /*入れ歯治療の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-dentures__flow .p-flow::before { /*入れ歯治療の場合のflowの線の高さ（SP）*/
    left: 9.4%;
    height: 86%;
  }
}
.p-pediatric__flow .p-flow::before { /*小児歯科の場合のflowの線の高さ*/
  height: 88%;
}
@media screen and (max-width: 767px) {
  .p-pediatric__flow .p-flow::before { /*小児歯科の場合のflowの線の高さ（SP）*/
    left: 9.4%;
    height: 86%;
  }
}

.p-flow__item {
  display: flex;
  gap: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-flow__item {
    gap: 1.6rem;
  }
}

.p-flow__step {
  width: 10rem;
  height: 10rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  border-radius: 50%;
  border: 0.2rem solid #71C0EF;
  display: grid;
  place-content: center;
  background: #FFFFFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-flow__step {
    width: 5.4rem;
    height: 5.4rem;
    border: 0.15rem solid #71C0EF;
  }
}
.p-flow__step::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 10rem;
  height: 1rem;
  background: #FFFFFF;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-flow__step::before {
    width: 5.4rem;
    height: 0.8rem;
  }
}
.p-flow__step::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 10rem;
  height: 1rem;
  background: #FFFFFF;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-flow__step::after {
    width: 5.4rem;
    height: 0.8rem;
  }
}
.p-flow__step img {
  width: 4.5rem;
  aspect-ratio: 45/59;
  margin-top: 0.3rem;
  margin-left: -0.2rem;
}
@media screen and (max-width: 767px) {
  .p-flow__step img {
    width: 2.5rem;
    margin-top: 0.1rem;
  }
}

.p-flow__contents {
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-flow__contents {
    flex-direction: column-reverse;
    gap: 0.8rem;
  }
}

.p-flow__body {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  max-width: 43.2rem;
}
@media screen and (max-width: 767px) {
  .p-flow__body {
    gap: 0;
  }
}

.p-flow__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #F35F85;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-flow__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__title {
    font-size: 1.8rem;
  }
  .p-flow__title span {
    display: block;
    font-size: 1.4rem;
    margin-top: -0.4rem;
  }
}

.p-flow__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-flow__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__text {
    font-size: 1.4rem;
  }
}

.p-flow__img {
  width: 25.2rem;
  max-width: 100%;
}
.p-flow__img img {
  aspect-ratio: 25.2/16.8;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}
@media screen and (max-width: 767px) {
  .p-flow__img {
    width: 21rem;
  }
  .p-flow__img img {
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}

.p-flow__contents-list {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-flow__contents-list {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__contents-list {
    font-size: 1.4rem;
  }
}

/*初診のご案内（CTA）
***************************************************************/
.p-cta {
  background: url(../img/bg_consultation.webp) no-repeat center center/cover;
  padding-block: 12.4rem;
}
@media screen and (max-width: 767px) {
  .p-cta {
    background: #E3EFF7;
    position: relative;
    padding-inline: 2rem;
    padding-block: 11.1rem 5.6rem;
  }
  .p-cta::after {
    content: "";
    position: absolute;
    background: url(../img/bg_consultation.webp) no-repeat center center/cover;
    width: 100%;
    height: 20rem;
    top: 0;
    left: 0;
    right: 0;
  }
}

.p-cta__container {
  max-width: 108rem;
  margin-inline: auto;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 1.6rem;
  padding: 6.3rem 3.6rem 5rem 3.6rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-cta__container {
    padding: 2.4rem 2.2rem;
  }
}

.p-cta__contents {
  display: flex;
  align-items: flex-start;
  gap: 6.55rem;
}
@media screen and (max-width: 767px) {
  .p-cta__contents {
    flex-direction: column;
    gap: 3rem;
  }
}

.p-cta__img {
  width: 42.3611111111%;
  position: relative;
  margin-left: 1.7rem;
}
@media screen and (max-width: 767px) {
  .p-cta__img {
    width: 97.0338983051%;
    margin-left: 0;
  }
}
.p-cta__img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1.2rem;
  left: 1.2rem;
  background: #71C0EF;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-cta__img::before {
    top: 0.6rem;
    left: 0.65rem;
  }
}
.p-cta__img img {
  aspect-ratio: 427/285;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-cta__img img {
    aspect-ratio: 229/153;
  }
}

.p-cta__body {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cta__body {
    width: 100%;
    gap: 1.6rem;
  }
}

.p-cta__title {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.4375;
  letter-spacing: 0.05em;
  color: #F35F85;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-cta__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__title {
    font-size: 1.8rem;
  }
}

.p-cta__text-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-cta__text-wrap {
    gap: 0.8rem;
  }
}

.p-cta__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cta__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cta__text {
    font-size: 1.4rem;
  }
}

.p-cta__wrapper {
  margin-top: 8.7rem;
  display: flex;
  gap: 3.7rem;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-cta__wrapper {
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 1.6rem;
  }
}

/* 診療案内（共通サイト下部メニュー）
***************************************************************/
.p-medical-menu {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-medical-menu {
    padding-block: 5.6rem;
  }
}

.p-medical-menu__heading {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.1875;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #F35F85;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-medical-menu__heading {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-medical-menu__heading {
    font-size: 2rem;
    line-height: 1.2;
  }
}

.p-medical-menu__container {
  max-width: 108.2rem;
  margin-inline: auto;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-medical-menu__container {
    margin-top: 2.1rem;
  }
}

.p-medical-menu__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-medical-menu__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
  }
}
.p-medical-menu__list li {
  border: 0.1rem solid #595757;
  border-radius: 0.8rem;
}
.p-medical-menu__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.8rem 5rem 0.8rem 1rem;
  position: relative;
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 2.5;
  letter-spacing: 0.05em;
  transition: all 0.5s ease;
}
@media screen and (max-width: 767px) {
  .p-medical-menu__list li a {
    font-size: 2rem;
  }
}
.p-medical-menu__list li a:hover::before {
  transform: translateY(-50%) scale(1.25);
}
@media screen and (max-width: 767px) {
  .p-medical-menu__list li a {
    font-size: 1.3rem;
    line-height: 1.85;
    padding: 1rem 3.1rem 1rem 0.5rem;
  }
}
.p-medical-menu__list li a::before {
  content: "";
  position: absolute;
  background: url(../img/icon_button-arrow--pink.svg) no-repeat center center/contain;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-medical-menu__list li a::before {
    right: 0.8rem;
    width: 1.8rem;
    height: 1.8rem;
  }
}

/* 料金案内セクション（通常）
***************************************************************/
.p-price-info {
  background: #FFEFEE;
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-price-info {
    padding-block: 5.6rem;
  }
}
.p-price-info.bg-white {
  background: #FFFFFF;
}

/* 料金案内セクション（PCのみグラデーション・小児矯正、インプラント限定）
***************************************************************/
.p-price-info.p-price-info--gradient {
  padding-block: 10.8rem 9.2rem;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
}
@media screen and (max-width: 767px) {
  .p-price-info.p-price-info--gradient {
    background: #FFEFEE;
    padding-block: 6.2rem 5.6rem;
  }
}

.p-price-info__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-price-info__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-price-info__text {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}
.p-price-info--gradient .p-price-info__text {
  margin-top: 6.9rem;
}
@media screen and (max-width: 767px) {
  .p-price-info--gradient .p-price-info__text {
    margin-top: 3.8rem;
  }
}

.p-price-info__link {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-price-info__link {
    margin-top: 2.4rem;
    text-align: center;
  }
}

/* こんな方におすすめ（共通）
***************************************************************/
.p-recommend-box {
  border: 0.2rem solid #71C0EF;
  border-radius: 1.6rem;
  background: #E3EFF7;
  padding: 0 3.4rem 3rem 3.4rem;
}
@media screen and (max-width: 767px) {
  .p-recommend-box {
    border-radius: 0.8rem;
    padding: 0 1.2rem 1.4rem 1.2rem;
  }
}

.p-recommend-box__title {
  min-width: 26rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0.8rem 2.4rem;
  background: #71C0EF;
  border-radius: 0 0 0.8rem 0.8rem;
  color: #FFFFFF;
  text-align: center;
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recommend-box__title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recommend-box__title {
    min-width: 15rem;
    padding: 0.2rem 1.2rem 0.2rem 1.2rem;
    font-size: 1.3rem;
  }
}

.p-recommend-box__contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.2rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-recommend-box__contents {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 0.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recommend-box__list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
}
.p-recommend-box__list > li {
  padding-left: 2.8rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recommend-box__list > li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recommend-box__list > li {
    padding-left: 2.2rem;
    font-size: 1.3rem;
  }
}
.p-recommend-box__list > li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--bg-white.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-recommend-box__list > li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

/* 5つの特徴＆理由ボックス（共通※小児矯正歯科以外）
***************************************************************/
.p-feature {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-feature {
    gap: 1.6rem;
  }
}

.p-feature__item {
  border-radius: 1.2rem;
  background: #FFFFFF;
  display: flex;
  align-items: flex-start;
  gap: 7.2rem;
  padding: 4rem;
}
.p-feature__item:nth-of-type(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-feature__item {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 2.4rem 2.2rem;
    position: relative;
  }
  .p-feature__item:nth-of-type(even) {
    flex-direction: column-reverse;
  }
}

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

.p-feature__head {
  display: flex;
  gap: 2rem;
  align-items: center;
  padding-bottom: 2.2rem;
  border-bottom: 0.2rem solid #71C0EF;
}
@media screen and (max-width: 767px) {
  .p-feature__head {
    display: block;
    padding-bottom: 0.8rem;
    border-bottom: 0.1rem solid #71C0EF;
  }
}

.p-feature__num {
  width: 8rem;
  height: 8rem;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  color: #FFFFFF;
  background: #71C0EF;
  border-radius: 100vmax;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-feature__num {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__num {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    width: 5.3rem;
    height: 5.3rem;
    font-size: 2.9rem;
    margin-top: 0;
  }
}

.p-feature__item-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .p-feature__item-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__item-title {
    font-size: 1.8rem;
  }
}

.p-feature__body {
  margin-top: 1.5rem;
}
.p-cavity__feature .p-feature__body, .p-root__commitment .p-feature__body {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__feature .p-feature__body, .p-root__commitment .p-feature__body {
    margin-top: 1.5rem;
  }
}

.p-feature__list li {
  padding-left: 2.8rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-feature__list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
  }
  .p-implant-reason .p-feature__list li:not(:first-child) {
    margin-top: 0.4rem;
  }
}
.p-feature__list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-feature__list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

.p-feature__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-feature__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-feature__text {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}

.p-feature__img {
  width: 42.8%;
}
@media screen and (max-width: 767px) {
  .p-feature__img {
    width: 100%;
  }
}
.p-feature__img img {
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
  aspect-ratio: 429/286;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-feature__img img {
    aspect-ratio: 237/158;
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}

/* 募集職種
***************************************************************/
.p-recruit-type {
  padding-block: 8.1rem 13.1rem;
  position: relative;
  z-index: 1;
}
.p-recruit-type::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
  width: 100%;
  height: 100%;
  inset: 0;
  z-index: -1;
}
.p-recruit-type::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 122.7rem;
  background: url(../img/recruit/bg_type--pc.webp) no-repeat top center/cover;
  top: 11.2rem;
  left: 0;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-type {
    padding-block: 5.6rem;
  }
  .p-recruit-type::before {
    height: 96.2rem;
  }
  .p-recruit-type::after {
    height: 149.9rem;
    background: url(../img/recruit/bg_type--sp.webp) no-repeat top center/cover;
    top: 2.8rem;
  }
}

.p-recruit-type__inner {
  position: relative;
  z-index: 2;
}

.p-recruit-type__head {
  border-radius: 1.6rem 1.6rem 0 0;
  background: #EE86A1;
  color: #FFFFFF;
  padding-block: 1.6rem 1.5rem;
  font-size: max(3.6rem, 23.4px);
  font-weight: 700;
  line-height: 1.6388888889;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__head {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-type__head {
    border-radius: 0.8rem 0.8rem 0 0;
    padding-block: 0.6rem 0.7rem;
    font-size: 2rem;
  }
}

.p-recruit-type__box {
  border-radius: 0 0 1.6rem 1.6rem;
  border-left: 0.3rem solid #EE86A1;
  border-right: 0.3rem solid #EE86A1;
  border-bottom: 0.3rem solid #EE86A1;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  gap: 3.6rem;
  padding: 5.6rem 3.3rem 5.3rem 3.4rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__box {
    border-radius: 0 0 0.8rem 0.8rem;
    border-left: 0.2rem solid #EE86A1;
    border-right: 0.2rem solid #EE86A1;
    border-bottom: 0.2rem solid #EE86A1;
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 2.4rem 2rem 2.2rem 2rem;
  }
}

.p-recruit-type__contents {
  width: 54rem;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__contents {
    width: 100%;
  }
}

.p-recruit-type__position {
  font-size: max(2.8rem, 18.2px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__position {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-type__position {
    font-size: 1.8rem;
  }
}

.p-recruit-type__body {
  margin-top: 2.3rem;
  font-size: max(1.8rem, 14.4px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__body {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-type__body {
    margin-top: 1.6rem;
    font-size: 1.4rem;
  }
}

.p-recruit-type__catch {
  font-weight: 700;
  color: #F35F85;
}

.p-recruit-type__img {
  width: 43.2rem;
}
.p-recruit-type__img img {
  aspect-ratio: 640/427;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__img {
    width: 100%;
  }
  .p-recruit-type__img img {
    aspect-ratio: 236/158;
  }
}

.p-recruit-type__support {
  margin-top: 4rem;
  background: #FFEFEE;
  border-radius: 1.2rem;
  padding: 3.7rem 3.3rem;
  border: 0.3rem solid #fff;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support {
    margin-top: 1.6rem;
    padding: 2.2rem 1.4rem;
    border: 0.2rem solid #fff;
  }
}

.p-recruit-type__support-title {
  font-size: max(2rem, 15px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 3.2rem;
  border-bottom: 1px solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-title {
    font-size: 1.4rem;
    padding-bottom: 1.6rem;
  }
}

.p-recruit-type__support-container {
  margin-top: 2.4rem;
  display: flex;
  gap: 3.2rem;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-container {
    margin-top: 1.6rem;
    flex-direction: column;
    gap: 1.6rem;
    padding-inline: 0.5rem;
  }
}

.p-recruit-type__support-img {
  width: 36.5079365079%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-img {
    width: 100%;
  }
}

.p-recruit-type__support-contents {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-contents {
    width: 100%;
  }
}

.p-recruit-type__support-text {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-text {
    font-size: 1.4rem;
    padding-right: 0;
  }
}

.p-recruit-type__support-list {
  padding: 1.2rem 1.3rem 1.2rem 0.6rem;
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-list {
    padding: 1.6rem 0.8rem;
  }
}
.p-recruit-type__support-list > li {
  font-size: max(1.8rem, 12.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  text-indent: 1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-list > li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-type__support-list > li {
    font-size: 1.3rem;
  }
}
.p-recruit-type__support-list > li::before {
  content: "・";
  position: absolute;
  color: #F35F85;
  top: 0;
  left: -1em;
}

/* 当院で働くメリット
***************************************************************/
.p-recruit-merit {
  padding-block: 13.2rem 13.1rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 6.2rem 5.6rem;
  }
}

.p-recruit-merit__intro {
  text-align: center;
  font-size: max(1.8rem, 14.4px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 5.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__intro {
    font-size: 1.4rem;
    margin-top: 3rem;
  }
}

.p-recruit-merit__img-warp {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__img-warp {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 2.4rem;
  }
}

.p-recruit-merit__img img {
  aspect-ratio: 945/630;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__img.only-pc {
    display: none;
  }
}

.p-recruit-merit__contents-wrap {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__contents-wrap {
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
}

.p-recruit-merit__contents {
  border-radius: 1.2rem;
  background-color: #FFFFFF;
  box-shadow: 1rem 1rem 2rem rgba(238, 134, 161, 0.25);
  padding: 4rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__contents {
    padding: 3.2rem 2.2rem 2.4rem 2.2rem;
    flex-direction: column;
    box-shadow: none;
  }
}

.p-recruit-merit__main {
  width: 32%;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__main {
    width: 100%;
    white-space: wrap;
  }
}

.p-recruit-merit__tags {
  font-size: max(2.2rem, 17.6px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #F35F85;
  font-family: "Noto Serif JP", sans-serif;
  position: relative;
  padding-left: 7rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__tags {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__tags {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
    padding-left: 4.4rem;
    gap: 0.4rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-recruit-merit__tags {
    font-size: 1.5rem;
  }
}
.p-recruit-merit__tags::before {
  content: "";
  position: absolute;
  top: -0.9rem;
  left: 0;
  width: 5.8rem;
  height: 6rem;
  background: url(../img/logo_icon.webp) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__tags::before {
    top: -0.7rem;
    width: 3.6rem;
    height: 3.7rem;
  }
}
.p-recruit-merit__tags .tag-num {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 0.9090909091;
  letter-spacing: 0.05em;
  position: relative;
  top: -0.2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__tags .tag-num {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__tags .tag-num {
    font-size: 2.4rem;
    line-height: 1.0416666667;
  }
}

.p-recruit-merit__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__title {
    font-size: 1.8rem;
    margin-top: 1.3rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid #D0D0D0;
  }
}

.p-recruit-merit__description {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  width: 60.8%;
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__description {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__description {
    gap: 1.6rem;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.05em;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-recruit-merit__description {
    font-size: 1.4rem;
  }
}

.p-recruit-merit__list {
  background: #FFEFEE;
  padding: 1.3rem 0.8rem 1.3rem 0.8rem;
}
.p-recruit-merit__list li {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__list li {
    font-size: 1.8rem;
  }
}
.p-recruit-merit__list li.p-recruit-merit__list-attention {
  padding-left: 0.5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__list {
    padding: 1.6rem 0.8rem;
  }
  .p-recruit-merit__list li {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-recruit-merit__list li {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__list li.p-recruit-merit__list-attention {
    padding-left: 0;
    font-weight: 700;
  }
}

.p-recruit-merit__text.pl5 {
  padding-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-merit__text.pl5 {
    padding-right: 0;
  }
}

/* 募集要項
***************************************************************/
.p-recruit-requirement {
  background: #FAD6D5;
  padding-block: 10.8rem 9.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirement {
    background: #FFEFEE;
    padding-block: 6.2rem 5.6rem;
  }
}

.p-recruit-requirement__container {
  max-width: 93.2rem;
  margin-inline: auto;
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirement__container {
    margin-top: 3.8rem;
  }
}

.p-recruit-requirement__table {
  width: 100%;
  border-collapse: collapse;
}
.p-recruit-requirement__table th {
  font-size: max(1.8rem, 12.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  border-top: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  width: 17.7038626609%;
  background: #EE86A1;
  padding: 2.3rem 2.8rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirement__table th {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-requirement__table th {
    display: block;
    width: 100%;
    padding: 0.1rem 1.2rem;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.8571428571;
    letter-spacing: 0.05em;
    border-top: none;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-recruit-requirement__table th {
    font-size: 1.4rem;
  }
}
.p-recruit-requirement__table td {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  border-top: 1px solid #D0D0D0;
  border-bottom: 1px solid #D0D0D0;
  width: 104.781420765%;
  background: #FFFFFF;
  padding: 2.3rem 4.7rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-requirement__table td {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-requirement__table td {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    padding: 0.8rem 0.4rem 0.8rem 1.2rem;
    border-top: none;
    border-bottom: none;
  }
}

/* 募集方法
***************************************************************/
.p-recruit-apply__inner {
  padding-block: 10.8rem 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__inner {
    padding-block: 6.2rem 5.6rem;
  }
}

.p-recruit-apply__container {
  max-width: 108rem;
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  gap: 7.3rem;
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__container {
    flex-direction: column;
    gap: 2.3rem;
    margin-top: 3.8rem;
  }
}

.p-recruit-apply__img {
  width: 49.9074074074%;
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__img {
    width: 100%;
  }
}
.p-recruit-apply__img img {
  aspect-ratio: 539/383;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.p-recruit-apply__info {
  width: 43.5185185185%;
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__info {
    width: 100%;
  }
}

.p-recruit-apply__info-text {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__info-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__info-text {
    font-size: 1.4rem;
  }
}

.p-recruit-apply__links {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__links {
    margin-top: 2.4rem;
    gap: 1.6rem;
    width: 84.2857142857%;
    margin-inline: auto;
  }
}

.p-recruit-apply__bottom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .p-recruit-apply__bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-recruit-apply__bottom .only-pc {
    display: none;
  }
}

/* お子様へのお悩み
***************************************************************/
.p-pediatric-orthodontics-worry {
  overflow: hidden;
}

.p-pediatric-orthodontics-worry__top {
  padding-top: 12rem;
  background: url(../img/pediatric-orthodontics/bg_worry--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__top {
    padding-top: 5.4rem;
    background: url(../img/pediatric-orthodontics/bg_worry--sp.webp) no-repeat center center/cover;
  }
}

.p-pediatric-orthodontics-worry__container {
  padding-block: 0rem 10.6rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__container {
    padding-block: 0rem 2.9rem;
  }
}
.p-pediatric-orthodontics-worry__container::before {
  content: "";
  position: absolute;
  width: 144rem;
  height: 5.05rem;
  aspect-ratio: 2880/101;
  background: url(../img/pediatric-orthodontics/deco_arrow-worry--pc.webp) no-repeat center center/cover;
  top: calc(100% - 0.3rem);
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__container::before {
    background: url(../img/pediatric-orthodontics/deco_arrow-worry--sp.webp) no-repeat center center/cover;
    aspect-ratio: 640/51;
    width: 100vw;
    height: 2.55rem;
    left: calc(50% - 50vw);
  }
}

.p-pediatric-orthodontics-worry__intro {
  text-align: center;
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__intro {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__intro {
    font-size: 1.8rem;
  }
}
.p-pediatric-orthodontics-worry__intro .emphasis {
  color: #71C0EF;
  font-size: max(4rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  position: relative;
  background-image: radial-gradient(circle at center, #71C0EF 13%, transparent 13%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1.08em 0.4em;
  padding-top: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__intro .emphasis {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__intro .emphasis {
    font-size: 2.4rem;
  }
}
.p-pediatric-orthodontics-worry__intro .emphasis::before {
  content: "";
  position: absolute;
  background: url(../img/pediatric-orthodontics/deco_wave.svg) no-repeat center center/cover;
  top: calc(100% + 0.05em);
  left: 50%;
  translate: -50%;
  width: max(13rem, 78px);
  height: max(1.1rem, 6.6px);
  aspect-ratio: 130/11;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__intro .emphasis::before {
    width: 7.3rem;
    height: 0.6rem;
    top: calc(100% - 0.05em);
  }
}

.p-pediatric-orthodontics-worry__list {
  margin-top: 10.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__list {
    margin-top: 1.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}

.p-pediatric-orthodontics-worry__bubble {
  min-width: 38.6rem;
  position: absolute;
  padding: 1.9rem 1rem 1.9rem 2rem;
  border-radius: 0.8rem;
  border: 0.3rem #595757 solid;
  box-shadow: 0.5rem 0.5rem 0px 0px #595757;
  background: #FFFFFF;
}
.p-pediatric-orthodontics-worry__bubble.bubble01 {
  top: -3.2rem;
  left: 22.1rem;
}
.p-pediatric-orthodontics-worry__bubble.bubble02 {
  top: 8.2rem;
  left: 14.2rem;
}
.p-pediatric-orthodontics-worry__bubble.bubble03 {
  top: 19.6rem;
  left: 22.2rem;
}
.p-pediatric-orthodontics-worry__bubble.bubble04 {
  top: -3.2rem;
  right: 22.6rem;
}
.p-pediatric-orthodontics-worry__bubble.bubble05 {
  top: 8.2rem;
  right: 14.8rem;
}
.p-pediatric-orthodontics-worry__bubble.bubble06 {
  top: 19.2rem;
  right: 22.5rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bubble {
    position: relative;
    min-width: auto;
    width: 26.5rem;
    padding: 0.6rem 1.1rem 0.6rem 1rem;
    border-radius: 0.4rem;
    border: 0.15rem #595757 solid;
    box-shadow: 0.2rem 0.2rem 0px 0px #595757;
  }
  .p-pediatric-orthodontics-worry__bubble.bubble01, .p-pediatric-orthodontics-worry__bubble.bubble02, .p-pediatric-orthodontics-worry__bubble.bubble03, .p-pediatric-orthodontics-worry__bubble.bubble04, .p-pediatric-orthodontics-worry__bubble.bubble05, .p-pediatric-orthodontics-worry__bubble.bubble06 {
    top: auto;
    left: auto;
    right: auto;
  }
}

.p-pediatric-orthodontics-worry__bubble-text {
  display: inline-block;
  padding-left: 4.3rem;
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bubble-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bubble-text {
    font-size: 1.4rem;
    padding-left: 2.2rem;
  }
}
.p-pediatric-orthodontics-worry__bubble-text::before {
  content: "";
  position: absolute;
  background: url(../img/icon_check.svg) no-repeat center center/cover;
  width: 4.3rem;
  height: 3.9rem;
  left: 0;
  top: -0.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bubble-text::before {
    width: 2.2rem;
    height: 2rem;
    top: 0;
  }
}

.p-pediatric-orthodontics-worry__img {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__img {
    margin-top: 2rem;
  }
}
.p-pediatric-orthodontics-worry__img img {
  width: 18.6rem;
  aspect-ratio: 186/278;
  position: relative;
  right: -0.3rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__img img {
    width: 8.8rem;
  }
}

.p-pediatric-orthodontics-worry__bottom {
  background: url(../img/pediatric-orthodontics/bg_worry-bottom--pc.webp) no-repeat center center/cover;
  padding-block: 10.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom {
    background: url(../img/pediatric-orthodontics/bg_worry-bottom--sp.webp) no-repeat center center/cover;
    padding-block: 6.3rem 3.4rem;
  }
}

.p-pediatric-orthodontics-worry__bottom-contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-pediatric-orthodontics-worry__bottom-text--small {
  font-size: max(2rem, 13px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-text--small {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-text--small {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-text--small {
    font-size: 1.4rem;
  }
}

.p-pediatric-orthodontics-worry__bottom-text {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-text {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-text {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6875;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-text {
    font-size: 1.6rem;
  }
}

.p-pediatric-orthodontics-worry__bottom-box {
  width: 108rem;
  max-width: 100%;
  border-radius: 1.6rem;
  background: rgba(243, 95, 133, 0.9);
  color: white;
  padding: 3.2rem 4rem 4rem 4rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 4.2rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box {
    width: 28rem;
    padding: 1rem 4rem 1.6rem 4rem;
    gap: 0;
    margin-top: 0.8rem;
  }
}

.p-pediatric-orthodontics-worry__bottom-box-text {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box-text {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box-text {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6875;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box-text {
    font-size: 1.6rem;
  }
}
.p-pediatric-orthodontics-worry__bottom-box-text .text--small {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box-text .text--small {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6875;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box-text .text--small {
    font-size: 1.6rem;
  }
}
.p-pediatric-orthodontics-worry__bottom-box-text .under-dotted-white {
  background-image: linear-gradient(to right, #fff, #fff 0.8rem, transparent 0.4rem, transparent 0.4rem);
  background-size: 1.6rem 0.2rem;
  background-position: -0.2rem bottom;
  background-repeat: repeat-x;
  padding-bottom: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-worry__bottom-box-text .under-dotted-white {
    background-image: linear-gradient(to right, #fff, #fff 0.5rem, transparent 0.5rem, transparent 0.5rem);
    background-size: 1rem 0.2rem;
    background-position: bottom;
    padding-bottom: 0.3rem;
  }
}

/*顎顔面矯正とは？
***************************************************************/
.p-pediatric-orthodontics-about {
  padding-block: 10.8rem 9.6rem;
  background: url(../img/pediatric-orthodontics/bg_about--pc.webp) no-repeat center center/cover;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-about {
    padding-block: 6.2rem 5.6rem;
    background: url(../img/pediatric-orthodontics/bg_about--sp.webp) no-repeat center center/cover;
  }
}

.p-pediatric-orthodontics-about__container {
  margin-top: 8.5rem;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-about__container {
    margin-top: 3.8rem;
    flex-direction: column-reverse;
    gap: 2.4rem;
  }
}

.p-pediatric-orthodontics-about__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 50.4rem;
  max-width: 100%;
  position: relative;
  z-index: 1;
  margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-about__list {
    margin-top: 0;
  }
}
.p-pediatric-orthodontics-about__list > li {
  border-radius: 0.8rem;
  border: 0.2rem solid #EE86A1;
  background: linear-gradient(270deg, #FFFFFF 97%, #EE86A1 97%);
  padding: 1.2rem 3.2rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-size: max(2.2rem, 12px);
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-about__list > li {
    border: 0.1rem solid #EE86A1;
    padding: 0.9rem 0.9rem 0.9rem 1.9rem;
    font-size: 1.4rem;
  }
}

.p-pediatric-orthodontics-about__img {
  position: relative;
  margin-left: -10.6rem;
  width: 68.3rem;
  max-width: 100%;
  aspect-ratio: 683/456;
  position: relative;
}
.p-pediatric-orthodontics-about__img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1rem;
  left: -1rem;
  background-color: #EE86A1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-about__img {
    margin-left: 0;
    width: 28rem;
    aspect-ratio: 280/174;
  }
  .p-pediatric-orthodontics-about__img::before {
    display: none;
  }
}
.p-pediatric-orthodontics-about__img img {
  -o-object-fit: cover;
     object-fit: cover;
}

/*小児矯正のメリット
***************************************************************/
.p-pediatric-orthodontics-merit {
  padding-block: 10.8rem 9.6rem;
  position: relative;
  background-color: #fff;
}
.p-pediatric-orthodontics-merit::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/pediatric-orthodontics/bg_merit--pc.webp) no-repeat center center/cover;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit {
    padding-block: 6.2rem 5.6rem;
  }
  .p-pediatric-orthodontics-merit::before {
    height: 36.7rem;
    background: url(../img/pediatric-orthodontics/bg_merit--sp.webp) no-repeat center center/cover;
  }
}

.p-pediatric-orthodontics-merit__container {
  display: flex;
  gap: 7.2rem;
  align-items: flex-start;
  margin-top: 8.9rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__container {
    margin-top: 3.1rem;
    flex-direction: column;
    gap: 2.4rem;
  }
}

.p-pediatric-orthodontics-merit__img {
  width: 46.6666666667%;
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}
.p-pediatric-orthodontics-merit__img img {
  aspect-ratio: 504/336;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__img {
    width: 100%;
  }
  .p-pediatric-orthodontics-merit__img img {
    aspect-ratio: 280/174;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-pediatric-orthodontics-merit__contents {
  width: 46.6666666667%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__contents {
    width: 100%;
    gap: 1rem;
  }
}

.p-pediatric-orthodontics-merit__item {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__item {
    gap: 0;
  }
}

.p-pediatric-orthodontics-merit__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  padding-left: 3.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__title {
    font-size: 1.8rem;
    padding-left: 2rem;
  }
}
.p-pediatric-orthodontics-merit__title::before {
  content: "";
  position: absolute;
  width: 3rem;
  height: 2.7rem;
  aspect-ratio: 30/27;
  background: url(../img/icon_check.svg) no-repeat center center/cover;
  top: 1.2rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__title::before {
    width: 2rem;
    height: 1.8rem;
    top: 0.5rem;
  }
}

.p-pediatric-orthodontics-merit__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-merit__text {
    font-size: 1.4rem;
    padding-left: 2rem;
  }
}

/*成長に合わせた矯正治療
***************************************************************/
.p-pediatric-orthodontics-growth {
  padding-block: 10.8rem 9.6rem;
  background-color: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth {
    padding-block: 4rem 5.6rem;
  }
}

.p-pediatric-orthodontics-growth__container {
  margin-top: 8.9rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5.7rem;
  background-color: #fff;
  border-radius: 1.6rem;
  padding: 3.6rem 3.9rem 4.4rem 4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__container {
    margin-top: 3.8rem;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    border-radius: 0;
    padding: 2.4rem 2.2rem;
    gap: 2.4rem;
  }
}

.p-pediatric-orthodontics-growth__item {
  padding-block: 2rem;
  border-bottom: 0.2rem solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__item {
    padding-block: 1.5rem;
  }
}
.p-pediatric-orthodontics-growth__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.p-pediatric-orthodontics-growth__item:first-child {
  padding-top: 0;
}

.p-pediatric-orthodontics-growth__head {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #F35F85;
  padding-left: 1.3rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__head {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__head {
    font-size: 1.4rem;
    padding-left: 1.2rem;
  }
}

.p-pediatric-orthodontics-growth__title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding-left: 1.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__title {
    font-size: 1.4rem;
    padding-left: 1.2rem;
  }
}
.p-pediatric-orthodontics-growth__title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.6rem;
  height: 3rem;
  background: #EE86A1;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__title::before {
    top: 0.2rem;
    width: 0.4rem;
    height: 1.8rem;
  }
}

.p-pediatric-orthodontics-growth__text {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__text {
    margin-top: 0.8rem;
    font-size: 1.4rem;
  }
}
.p-pediatric-orthodontics-growth__text.large-gap {
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__text.large-gap {
    gap: 0.4rem;
  }
}
.p-pediatric-orthodontics-growth__text ul {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.p-pediatric-orthodontics-growth__text-attention {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__text-attention {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__text-attention {
    font-size: 1.3rem;
    margin-top: 0;
  }
}

.p-pediatric-orthodontics-growth__img {
  box-shadow: 0.7rem 1rem 1rem rgba(89, 87, 87, 0.15);
  margin-top: 2rem;
  width: 83.8983050847%;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-growth__img {
    margin-top: 2.4rem;
    width: 100%;
  }
}

/* 小児矯正歯科の特徴
***************************************************************/
.p-pediatric-orthodontics-feature {
  padding-block: 10.8rem 9.8rem;
  background-color: #FFEFEE;
  position: relative;
  overflow: hidden;
}
.p-pediatric-orthodontics-feature::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 222.8rem;
  background: url(../img/pediatric-orthodontics/bg_feature--pc.webp) no-repeat top center/cover;
  top: 22.2rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature {
    padding-block: 4rem 5.6rem;
  }
  .p-pediatric-orthodontics-feature::before {
    content: "";
    background: url(../img/pediatric-orthodontics/bg_feature--sp.webp) no-repeat top center/contain;
    top: 11.9rem;
    width: 100%;
    height: 308.8rem;
    aspect-ratio: 320/3088;
  }
}

.p-pediatric-orthodontics-feature__container {
  margin-top: 8.5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__container {
    margin-top: 5.4rem;
    gap: 2.4rem;
  }
}

.p-pediatric-orthodontics-feature__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0 4rem 4rem;
  position: relative;
  z-index: 2;
}
.p-pediatric-orthodontics-feature__item::before {
  content: "";
  position: absolute;
  width: 91.6666666667%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  left: 0;
  border-radius: 0 0 0 5.6rem;
  z-index: -1;
}
.p-pediatric-orthodontics-feature__item:nth-of-type(even) {
  flex-direction: row-reverse;
  padding: 4rem 4rem 4rem 0;
}
.p-pediatric-orthodontics-feature__item:nth-of-type(even)::before {
  content: "";
  position: absolute;
  width: 91.6666666667%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  right: 0;
  left: auto;
  border-radius: 0 5.6rem 0 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__item {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 0 2.2rem 2.4rem 2.2rem;
  }
  .p-pediatric-orthodontics-feature__item::before {
    width: 100%;
    height: auto;
    top: 7.9rem;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0 3.6rem;
  }
  .p-pediatric-orthodontics-feature__item:nth-of-type(even) {
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 0 2.2rem 2.4rem 2.2rem;
  }
  .p-pediatric-orthodontics-feature__item:nth-of-type(even)::before {
    width: 100%;
    height: auto;
    top: 7.9rem;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0 3.6rem;
  }
}

.p-pediatric-orthodontics-feature__contents {
  width: 48.0769230769%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__contents {
    width: 100%;
  }
}

.p-pediatric-orthodontics-feature__head {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__head {
    display: block;
  }
}

.p-pediatric-orthodontics-feature__num {
  width: 8rem;
  height: 8rem;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0em;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  background: #EE86A1;
  border-radius: 100vmax;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__num {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__num {
    position: absolute;
    top: -0.8rem;
    left: 1.6rem;
    width: 5.3rem;
    height: 5.3rem;
    font-size: 2.9rem;
  }
}

.p-pediatric-orthodontics-feature__item-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__item-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__item-title {
    font-size: 1.8rem;
  }
}

.p-pediatric-orthodontics-feature__body {
  margin-top: 1.6rem;
}

.p-pediatric-orthodontics-feature__list {
  background: #FFEFEE;
  padding: 1.6rem 1.2rem 1.6rem 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__list {
    padding: 0.8rem;
  }
}
.p-pediatric-orthodontics-feature__list li {
  padding-left: 2.8rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
    line-height: 1.86;
  }
}
.p-pediatric-orthodontics-feature__list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

.p-pediatric-orthodontics-feature__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__text {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}

.p-pediatric-orthodontics-feature__img {
  width: 48.0769230769%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__img {
    width: 100%;
  }
}
.p-pediatric-orthodontics-feature__img img {
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
  aspect-ratio: 429/286;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-feature__img img {
    aspect-ratio: 237/158;
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}

/* 小児矯正歯科の治療の流れ
***************************************************************/
.p-pediatric-orthodontics-flow {
  padding-block: 10.8rem 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-flow {
    padding-block: 6.2rem 5.6rem;
  }
}

.p-pediatric-orthodontics-flow__container {
  max-width: 86.4rem;
  margin-inline: auto;
  margin-top: 8.1rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-flow__container {
    margin-top: 3.8rem;
  }
}

.p-pediatric-orthodontics-flow__attention {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-flow__attention {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-flow__attention {
    font-size: 1.2rem;
    margin-top: 2.4rem;
  }
}

/*症例
***************************************************************/
.p-pediatric-orthodontics-case {
  position: relative;
  padding-block: 11rem 9.6rem;
}
.p-pediatric-orthodontics-case::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
  width: 100%;
  height: 83.9rem;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case {
    padding-block: 6.2rem 5.6rem;
  }
  .p-pediatric-orthodontics-case::before {
    height: 13.3rem;
  }
}

.p-pediatric-orthodontics-case__inner {
  max-width: 108rem;
  margin-inline: auto;
}

.p-pediatric-orthodontics-case__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.2rem;
  margin-top: 9.8rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-top: 3.8rem;
    gap: 2.8rem;
  }
}

.p-pediatric-orthodontics-case__contents {
  border-radius: 1.6rem;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 3.6rem 3.55rem;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__contents {
    border-radius: 0.8rem;
    padding: 2.4rem 0.8rem;
    gap: 1.6rem;
  }
}
.p-pediatric-orthodontics-case__contents::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 12.5rem;
  background: #EE86A1;
  border-radius: 1.6rem 1.6rem 0 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__contents::before {
    height: 6.7rem;
    border-radius: 0.8rem 0.8rem 0 0;
  }
}

.p-pediatric-orthodontics-case__category {
  width: 11.8rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background: #FAD6D5;
  display: grid;
  place-content: center;
  color: #F35F85;
  text-align: center;
  position: absolute;
  top: -1.3rem;
  right: -0.3rem;
  padding-inline: 1rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.6875;
  letter-spacing: 0.05625em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__category {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__category {
    width: 7.2rem;
    font-size: 1.2rem;
    top: -1.2rem;
    right: -0.8rem;
  }
}

.p-pediatric-orthodontics-case__head {
  background: #FFFFFF;
  box-shadow: 0px 0px 2.5rem rgba(238, 134, 161, 0.4);
  border-radius: 1.6rem;
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 2.7rem 1.6rem 2rem 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__head {
    border-radius: 0.8rem;
    flex-direction: column;
    gap: 0.1rem;
    padding: 1.6rem 2.4rem 1.4rem 1.4rem;
  }
}

.p-pediatric-orthodontics-case__personal-img {
  width: 9.2rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__personal-img {
    width: 3.6rem;
  }
}
.p-pediatric-orthodontics-case__personal-img img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pediatric-orthodontics-case__personal-img.only-pc {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__personal-img.only-pc {
    display: none;
  }
}
.p-pediatric-orthodontics-case__personal-img.only-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__personal-img.only-sp {
    display: block;
  }
}

.p-pediatric-orthodontics-case__personal {
  flex-grow: 1;
}

.p-pediatric-orthodontics-case__num img {
  aspect-ratio: 95/32;
  width: 9.5rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__num img {
    width: 5.4rem;
  }
}

.p-pediatric-orthodontics-case__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  min-height: 8.4rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__title {
    font-size: 1.8rem;
    line-height: 1.8333333333;
    margin-top: 0.1rem;
    min-height: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__name-wrap {
    display: flex;
    gap: 0.8rem;
    align-items: center;
  }
}

.p-pediatric-orthodontics-case__name {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-top: 0.3rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__name {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__name {
    font-size: 1.4rem;
    padding-top: 0;
  }
}
.p-pediatric-orthodontics-case__name span {
  font-size: max(1.4rem, 9.1px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-left: 0.3rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__name span {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__name span {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__body {
    width: 23.6rem;
    max-width: 100%;
    margin-inline: auto;
  }
}

.p-pediatric-orthodontics-case__img {
  aspect-ratio: 452/298;
}
.p-pediatric-orthodontics-case__img img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__img {
    aspect-ratio: 236/178;
  }
}

.p-pediatric-orthodontics-case__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  min-height: 19.8rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__text {
    font-size: 1.4rem;
    min-height: auto;
    margin-top: 1.6rem;
  }
}

.p-pediatric-orthodontics-case__info-wrap {
  display: flex;
  gap: 0rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__info-wrap {
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 1.6rem;
  }
}

.p-pediatric-orthodontics-case__info {
  display: flex;
}

.p-pediatric-orthodontics-case__info-tag {
  background: #71C0EF;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding: 0.8rem 1.6rem 0.9rem 1.6rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__info-tag {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__info-tag {
    width: 9.1rem;
    font-size: 1.4rem;
    padding: 0.3rem 1.6rem;
    text-align: center;
  }
}

.p-pediatric-orthodontics-case__info-text {
  width: 13.8rem;
  border-top: 0.2rem solid #71C0EF;
  border-right: 0.2rem solid #71C0EF;
  border-bottom: 0.2rem solid #71C0EF;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding: 0.6rem 1.4rem 0.7rem 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__info-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__info-text {
    font-size: 1.4rem;
    padding: 0.1rem 1.6rem 0.1rem 3.6rem;
    flex: 1;
  }
}

.p-pediatric-orthodontics-case__attention {
  margin-top: 4rem;
  border: 0.2rem solid #71C0EF;
  max-width: 108rem;
  margin-inline: auto;
  padding: 0 3.4rem 3rem 3.4rem;
  background-color: #E3EFF7;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__attention {
    margin-top: 2.4rem;
    padding: 0 2rem 2rem;
  }
}

.p-pediatric-orthodontics-case__attention-title {
  min-width: 22rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-radius: 0 0 0.8rem 0.8rem;
  padding: 0.8rem 2rem;
  background: #71C0EF;
  color: #FFFFFF;
  text-align: center;
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__attention-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__attention-title {
    min-width: 15rem;
    padding-block: 0.2rem 0.4rem;
    font-size: 1.3rem;
  }
}

.p-pediatric-orthodontics-case__attention-contents {
  margin-top: 2.4rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__attention-contents {
    margin-top: 1.2rem;
    gap: 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

.p-pediatric-orthodontics-case__attention-list li {
  font-size: max(1.5rem, 10.5px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__attention-list li {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric-orthodontics-case__attention-list li {
    font-size: 1.3rem;
  }
}

/* インプラント（イントロ）
***************************************************************/
.p-implant {
  padding-block: 12rem 0;
  position: relative;
}
.p-implant::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 143.4rem;
  top: 0;
  left: 0;
  background: linear-gradient(360deg, white 0%, #FFEFEE 75%);
}
@media screen and (max-width: 767px) {
  .p-implant {
    padding-block: 4rem 0;
  }
  .p-implant::before {
    width: 100%;
    height: 16rem;
  }
}

.p-implant__intro {
  padding-block: 8rem 12rem;
}
@media screen and (max-width: 767px) {
  .p-implant__intro {
    padding-block: 4rem 5.6rem;
  }
}

.p-implant__present {
  padding-top: 13.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant__present {
    padding-top: 7.5rem;
  }
}

/* インプラント（特設サイトのご案内バナー）
***************************************************************/
.p-implant-banner {
  padding-block: 5.6rem;
}

.p-implant-banner--bg-blue {
  padding-block: 5.6rem;
  background: #E3EFF7;
}

.p-implant-banner__link {
  display: block;
  max-width: 70rem;
  margin-inline: auto;
  display: flex;
  border-radius: 0.8rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__link {
    border-radius: 0.4rem;
  }
}
@media (any-hover: hover) {
  .p-implant-banner__link:hover::before {
    transform: translateY(-50%) scale(1.3);
  }
}
.p-implant-banner__link::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 3.2rem;
  background: url(../img/icon_button-arrow--blue.svg) no-repeat center center/contain;
  width: 3rem;
  height: 3rem;
  aspect-ratio: 1;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__link::before {
    width: 1.5rem;
    height: 1.5rem;
    right: 1.2rem;
  }
}

.p-implant-banner__img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__img {
    width: 41.0714285714%;
  }
}
.p-implant-banner__img img {
  aspect-ratio: 350/200;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__img img {
    aspect-ratio: 115/90;
  }
}

.p-implant-banner__contents {
  width: 50%;
  background: #71C0EF;
  padding: 4rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__contents {
    padding: 1.3rem 1.6rem;
    gap: 0.4rem;
    width: 58.9285714286%;
  }
}

.p-implant-banner__clinic {
  padding: 0.3rem 3.6rem;
  background: #FFFFFF;
  border-radius: 0.4rem;
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(1.6rem, 10.4px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #71C0EF;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__clinic {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-banner__clinic {
    padding: 0.3rem 0.6rem;
    font-size: 1rem;
  }
}

.p-implant-banner__title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-implant-banner__title {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-banner__title {
    font-size: 1.2rem;
  }
}

/* インプラント（症例）
***************************************************************/
.p-implant-case {
  padding-block: 10.8rem 9.6rem;
  position: relative;
}
.p-implant-case::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
  width: 100%;
  height: 70.5rem;
  inset: 0;
}
.p-implant-case::after {
  content: "";
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-implant-case {
    padding-block: 6.2rem 5.6rem;
  }
  .p-implant-case::before {
    height: 13.3rem;
  }
}

.p-implant-case__container {
  max-width: 79.4rem;
  margin-inline: auto;
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  .p-implant-case__container {
    margin-top: 5rem;
  }
}

.p-implant-case__head {
  position: relative;
  padding: 4.1rem 3.6rem 3.1rem 3.6rem;
  background: #EE86A1;
  border-radius: 1.6rem 1.6rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-implant-case__head {
    padding: 2.2rem 1.6rem 1.7rem 1.6rem;
    border-radius: 0.8rem 0.8rem 0 0;
  }
}

.p-implant-case__head-title {
  width: 10.2rem;
  aspect-ratio: 102/48;
}
.p-implant-case__head-title img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-implant-case__head-title {
    width: 6rem;
  }
}

.p-implant-case__head-category {
  width: 11.8rem;
  aspect-ratio: 1;
  border-radius: 100vmax;
  background: #FAD6D5;
  display: grid;
  place-content: center;
  color: #F35F85;
  text-align: center;
  position: absolute;
  top: -1.3rem;
  right: 2rem;
  padding-inline: 1rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-implant-case__head-category {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-case__head-category {
    width: 7.2rem;
    font-size: 1.2rem;
    line-height: 1.5833333333;
    top: -1.2rem;
    right: -0.8rem;
  }
}

.p-implant-case__body {
  background: #F5F5F5;
  border-radius: 0 0 1.6rem 1.6rem;
  padding: 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-case__body {
    border-radius: 0 0 0.8rem 0.8rem;
    padding: 1.7rem 2.2rem 2.4rem 2.2rem;
  }
}

.p-implant-case__img {
  max-width: 67.9rem;
  margin-inline: auto;
}
.p-implant-case__img img {
  aspect-ratio: 679/219;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-implant-case__img img {
    aspect-ratio: 236/263;
  }
}

.p-implant-case__contents {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-case__contents {
    margin-top: 1.6rem;
  }
}

.p-implant-case__list > li {
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-case__list > li {
    font-size: 1.8rem;
  }
}
.p-implant-case__list > li span {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-implant-case__list > li {
    font-size: 1.4rem;
  }
}

.p-implant-case__attention {
  margin-top: 3.6rem;
  border: 0.2rem solid #71C0EF;
  background-color: #E3EFF7;
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention {
    margin-top: 1.6rem;
  }
}

.p-implant-case__attention-title {
  min-width: 22rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-radius: 0 0 0.8rem 0.8rem;
  padding: 0.8rem 2rem;
  background: #71C0EF;
  color: #FFFFFF;
  text-align: center;
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-title {
    min-width: 15rem;
    padding-block: 0.2rem 0.4rem;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
  }
}

.p-implant-case__attention-contents {
  padding: 2.4rem 3.6rem 3rem 3.8rem;
  display: flex;
  gap: 5.3rem;
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-contents {
    flex-direction: column;
    padding: 1.2rem 2.2rem 2.4rem 3.8rem;
    gap: 0;
  }
}

.p-implant-case__attention-list.list01 {
  width: 49.4%;
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-list.list01 {
    width: 100%;
  }
}
.p-implant-case__attention-list.list02 {
  width: 45.2%;
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-list.list02 {
    width: 100%;
  }
}
.p-implant-case__attention-list > li {
  font-size: max(1.5rem, 11.25px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-list > li {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-case__attention-list > li {
    font-size: 1.3rem;
  }
}

/* インプラント（製品）
***************************************************************/
.p-implant-products {
  padding-block: 10.8rem 9.6rem;
  background: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .p-implant-products {
    padding-block: 4rem 5.6rem;
  }
}

.p-implant-products__container {
  display: flex;
  gap: 7.2rem;
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  .p-implant-products__container {
    margin-top: 3.8rem;
    flex-direction: column-reverse;
    gap: 2.4rem;
  }
}

.p-implant-products__contents {
  width: 60%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-products__contents {
    width: 100%;
    gap: 1.6rem;
  }
}

.p-implant-products__title {
  font-size: max(2.8rem, 18.2px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-implant-products__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-products__title {
    font-size: 1.8rem;
  }
}

.p-implant-products__box {
  background: #FFFFFF;
  padding: 2.2rem 3.6rem 2.4rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-products__box {
    padding: 1.6rem 0.8rem;
  }
}

.p-implant-products__list {
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-products__list {
    margin-top: 1rem;
  }
  .p-implant-products__list > li:not(:first-child) {
    margin-top: 0.4rem;
  }
}

.p-implant-products__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-products__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-products__text {
    font-size: 1.4rem;
  }
}

.p-implant-products__img-wrap {
  width: 33.3333333333%;
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-products__img-wrap {
    width: 71.4285714286%;
    gap: 0;
    margin-inline: auto;
  }
}

.p-implant-products__img:nth-of-type(1) {
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}
.p-implant-products__img:nth-of-type(1) img {
  aspect-ratio: 360/262;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-implant-products__img:nth-of-type(2) img {
  aspect-ratio: 359/195;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-implant-products__img:nth-of-type(2) {
    margin-top: -1.4rem;
  }
}

/* インプラント（治療方法）
***************************************************************/
.p-implant-method {
  padding-block: 10.8rem 8.1rem;
  position: relative;
}
.p-implant-method::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
  width: 100%;
  height: 109.1rem;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-method {
    padding-block: 6.2rem 5.6rem;
  }
  .p-implant-method::before {
    height: 13.3rem;
  }
}

.p-implant-method__intro {
  margin-top: 7.6rem;
  position: relative;
  z-index: 0;
  display: flex;
  gap: 3.6rem;
  padding: 4rem 2.5rem 4rem 0;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-implant-method__intro {
    margin-top: 3.2rem;
    flex-direction: column;
    gap: 2.2rem;
    padding: 0 0.8rem 0.8rem 0.8rem;
  }
}
.p-implant-method__intro::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 66.6666666667%;
  height: 100%;
  background: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .p-implant-method__intro::before {
    top: 7.8rem;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 90%;
  }
}

.p-implant-method__intro-img {
  position: relative;
  width: 51.1848341232%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-method__intro-img {
    width: 87.1212121212%;
    margin-inline: 1.4rem 2rem;
  }
}
.p-implant-method__intro-img img {
  aspect-ratio: 540/351;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
}
.p-implant-method__intro-img::before {
  content: "";
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  width: 100%;
  height: 100%;
  background: #EE86A1;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-method__intro-img::before {
    top: 0.6rem;
    left: 0.6rem;
  }
}

.p-implant-method__intro-contents {
  position: relative;
  z-index: 1;
  flex-grow: 1;
  width: 45.4028436019%;
}
@media screen and (max-width: 767px) {
  .p-implant-method__intro-contents {
    width: 100%;
  }
}

.p-implant-method__title {
  font-size: max(2.8rem, 18.2px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-implant-method__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-method__title {
    font-size: 1.8rem;
    margin-left: 1.4rem;
  }
}

.p-implant-method__box {
  background: #FFFFFF;
  padding: 2.2rem 2.4rem 2.4rem 2.4rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-implant-method__box {
    margin-top: 1.6rem;
    padding: 1.6rem 1.4rem;
    position: relative;
  }
}

.p-implant-method__list {
  margin-top: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-method__list {
    gap: 0.6rem;
  }
}

.p-implant-method__contents {
  margin-top: 5.4rem;
  max-width: 86.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-implant-method__contents {
    margin-top: 2.4rem;
  }
}

.p-implant-method__text-wrap {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-method__text-wrap {
    gap: 1.6rem;
  }
}

.p-implant-method__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-method__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-method__text {
    font-size: 1.4rem;
  }
}

.p-implant-method__img-wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  padding-block: 4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-method__img-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding-block: 2.4rem;
    padding-inline: 4rem;
  }
}

.p-implant-method__img img {
  aspect-ratio: 283/187;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}

.p-implant-method__movie {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-method__movie {
    margin-top: 2.4rem;
  }
}
.p-implant-method__movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 864/486;
  vertical-align: top;
  overflow: hidden;
  border-radius: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-method__movie iframe {
    border-radius: 0.8rem;
  }
}

/* インプラント（こんな人におすすめ）
***************************************************************/
.p-implant-recommend {
  padding-block: 11rem 12rem;
  background: url(../img/implant/bg_recommend--pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend {
    padding-block: 4.8rem 1.5rem;
    background: url(../img/implant/bg_recommend--sp.webp) no-repeat center center/cover;
  }
}

.p-implant-recommend__title {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__title {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__title {
    font-size: 1.8rem;
  }
}
.p-implant-recommend__title .enhance {
  font-size: max(4rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  background-image: radial-gradient(circle at center, #ffffff 18%, transparent 18%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1.05em 0.4em;
  padding-top: 0.15em;
  margin-inline: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__title .enhance {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__title .enhance {
    font-size: 2.4rem;
  }
}

.p-implant-recommend__container {
  display: flex;
  margin-top: 5.4rem;
  max-width: 95rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__container {
    flex-direction: column;
    margin-top: 1.6rem;
    align-items: center;
  }
}

.p-implant-recommend__list {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2.1rem;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__list {
    gap: 1.9rem;
  }
}

.p-implant-recommend__bubble {
  max-width: 49.5rem;
  padding: 1.9rem 1rem 1.9rem 2rem;
  border-radius: 0.8rem;
  border: 0.3rem #595757 solid;
  box-shadow: 0.5rem 0.5rem 0px 0px #595757;
  background: #FFFFFF;
}
.p-implant-recommend__bubble.bubble01 {
  max-width: 54.4rem;
  translate: 25%;
}
.p-implant-recommend__bubble.bubble02 {
  translate: 12%;
}
.p-implant-recommend__bubble.bubble03 {
  translate: 28%;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__bubble {
    padding: 0.6rem 1.1rem 0.6rem 1rem;
    border-radius: 0.4rem;
    border: 0.15rem #595757 solid;
    box-shadow: 0.2rem 0.2rem 0px 0px #595757;
  }
  .p-implant-recommend__bubble.bubble01, .p-implant-recommend__bubble.bubble02, .p-implant-recommend__bubble.bubble03 {
    translate: 0;
    max-width: 100%;
    width: 26.3rem;
  }
}

.p-implant-recommend__bubble-text {
  display: inline-block;
  padding-left: 4.3rem;
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__bubble-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__bubble-text {
    font-size: 1.4rem;
    padding-left: 2.2rem;
  }
}
.p-implant-recommend__bubble-text::before {
  content: "";
  position: absolute;
  background: url(../img/icon_check.svg) no-repeat center center/cover;
  width: 4.3rem;
  height: 3.9rem;
  left: 0;
  top: -0.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__bubble-text::before {
    width: 2.2rem;
    height: 2rem;
    top: 0;
  }
}

.p-implant-recommend__img {
  flex-shrink: 0;
  width: 23.8rem;
  margin-top: 1.6rem;
}
.p-implant-recommend__img img {
  aspect-ratio: 238/261;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-implant-recommend__img {
    width: 12rem;
  }
}

/* 「抜歯即時」インプラント
***************************************************************/
.p-implant-immediate {
  padding-block: 10.8rem 9.6rem;
  background: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate {
    padding-block: 4rem 5.6rem;
  }
}

.p-implant-immediate__container {
  display: flex;
  gap: 4rem;
  margin-top: 7.7rem;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__container {
    flex-direction: column-reverse;
    gap: 2.4rem;
    margin-top: 3.8rem;
  }
}

.p-implant-immediate__contents {
  width: 48.1481481481%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__contents {
    width: 100%;
    gap: 1.6rem;
  }
}

.p-implant-immediate__box {
  background: #FFFFFF;
  padding: 2.2rem 1.2rem 2.4rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__box {
    padding: 1.8rem 1.4rem;
  }
}

.p-implant-immediate__list {
  margin-top: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__list {
    margin-top: 1rem;
    gap: 0.4rem;
  }
}

.p-implant-immediate__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__text {
    font-size: 1.4rem;
  }
}

.p-implant-immediate__img {
  width: 48.1481481481%;
}
.p-implant-immediate__img img {
  aspect-ratio: 520/547;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top center;
     object-position: top center;
}
@media screen and (max-width: 767px) {
  .p-implant-immediate__img {
    width: 100%;
  }
  .p-implant-immediate__img img {
    aspect-ratio: 280/473;
  }
}

/* 静脈内鎮静法について
***************************************************************/
.p-implant-sedation {
  padding-block: 10.8rem 9.8rem;
  position: relative;
  z-index: 1;
}
.p-implant-sedation::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
  width: 100%;
  height: 44.4rem;
  inset: 0;
  z-index: -1;
}
.p-implant-sedation::after {
  content: "";
  position: absolute;
  background: url(../img/implant/bg_sedation.webp) no-repeat top center/cover;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation {
    padding-block: 6.2rem 5.6rem;
  }
  .p-implant-sedation::before {
    height: 13.3rem;
  }
  .p-implant-sedation::after {
    display: none;
  }
}

.p-implant-sedation__container {
  display: flex;
  gap: 5.6rem;
  margin-top: 8.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__container {
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 3.8rem;
  }
}

.p-implant-sedation__img-contents {
  width: 46.6666666667%;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__img-contents {
    width: 100%;
    gap: 0.8rem;
  }
}

.p-implant-sedation__img-wrap {
  display: flex;
  gap: 0.8rem;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__img-wrap {
    gap: 0.6rem;
    margin-top: 0.5rem;
  }
}

.p-implant-sedation__img.img01 img {
  aspect-ratio: 504/336;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-implant-sedation__img.img02, .p-implant-sedation__img.img03 {
  width: 49.2063492063%;
}
.p-implant-sedation__img.img02 img, .p-implant-sedation__img.img03 img {
  aspect-ratio: 248/166;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-implant-sedation__contents {
  width: 48.1481481481%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__contents {
    width: 100%;
    gap: 1.6rem;
  }
}

.p-implant-sedation__box {
  background: #FFEFEE;
  padding: 2.2rem 1.4rem 2.4rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__box {
    padding: 1.8rem 1.4rem;
  }
}

.p-implant-sedation__list {
  margin-top: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__list {
    margin-top: 0.8rem;
    gap: 0.4rem;
  }
}

.p-implant-sedation__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__text {
    font-size: 1.4rem;
  }
}

.p-implant-sedation__recommend {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-sedation__recommend {
    margin-top: 2.4rem;
  }
}

/*総入れ歯の方におすすめのインプラント治療法
***************************************************************/
.p-implant-treatment {
  background: #FAD6D5;
  padding-block: 10.8rem 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment {
    padding-block: 4rem 5.6rem;
  }
}

.p-implant-treatment__container {
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__container {
    margin-top: 3.8rem;
  }
}

.p-implant-treatment__intro {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__intro {
    font-size: 1.4rem;
  }
}

.p-implant-treatment__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  max-width: 89.8305084746%;
  margin-inline: auto;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__text {
    font-size: 1.4rem;
    max-width: 89.3939393939%;
    margin-top: 1.6rem;
  }
}

.p-implant-treatment__contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7.2rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__contents {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
}

.p-implant-treatment__content {
  background: #FFFFFF;
  border-radius: 1.6rem;
  padding: 3.4rem 1.6rem 3.8rem 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__content {
    border-radius: 1.2rem;
    padding: 2.4rem 0.8rem;
  }
}

.p-implant-treatment__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 0.1rem solid #F35F85;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__title {
    font-size: 1.8rem;
    padding-bottom: 0.8rem;
    max-width: 23.6rem;
    margin-inline: auto;
    white-space: nowrap;
  }
}

.p-implant-treatment__img {
  max-width: 36rem;
  margin-inline: auto;
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__img {
    max-width: 23.6rem;
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
    margin-top: 1.4rem;
  }
}
.p-implant-treatment__img img {
  aspect-ratio: 360/240;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-implant-treatment__box {
  background: #FFEFEE;
  padding: 2.2rem 2rem 2.4rem 2.4rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__box {
    padding: 1.8rem 1.4rem;
    margin-top: 1.6rem;
  }
}

.p-implant-treatment__list {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-treatment__list {
    gap: 0.4rem;
  }
}

/* 安全性を高め、患者さまの負担を減らす取り組み
***************************************************************/
.p-implant-effort {
  padding-block: 10.8rem 9.6rem;
  position: relative;
  z-index: 1;
}
.p-implant-effort::before {
  content: "";
  position: absolute;
  background: linear-gradient(360deg, white 0%, #FFEFEE 100%);
  width: 100%;
  height: 44.4rem;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.p-implant-effort::after {
  content: "";
  position: absolute;
  background: url(../img/implant/bg_effort.webp) no-repeat top center/cover;
  pointer-events: none;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-effort {
    padding-block: 4rem 0rem;
  }
  .p-implant-effort::before {
    height: 14.4rem;
  }
  .p-implant-effort::after {
    display: none;
  }
}

.p-implant-effort__container {
  display: flex;
  gap: 4rem;
  margin-top: 7.7rem;
}
@media screen and (max-width: 767px) {
  .p-implant-effort__container {
    flex-direction: column;
    gap: 0;
    margin-top: 3.8rem;
  }
}

.p-implant-effort__img-contents {
  width: 48.1481481481%;
}
@media screen and (max-width: 767px) {
  .p-implant-effort__img-contents {
    width: 100%;
    gap: 0.8rem;
    order: 2;
    margin-top: 2rem;
  }
}

.p-implant-effort__img-wrap {
  display: flex;
  gap: 0.8rem;
  margin-top: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-effort__img-wrap {
    gap: 0.5rem;
  }
}

.p-implant-effort__img.img01 img {
  aspect-ratio: 520/347;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-implant-effort__img.img02, .p-implant-effort__img.img03 {
  width: 49.2307692308%;
}
.p-implant-effort__img.img02 img, .p-implant-effort__img.img03 img {
  aspect-ratio: 256/165;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-implant-effort__img img {
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}

.p-implant-effort__contents {
  width: 48.1481481481%;
}
@media screen and (max-width: 767px) {
  .p-implant-effort__contents {
    width: 100%;
    display: contents;
  }
}

.p-implant-effort_title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  padding-bottom: 2.3rem;
  border-bottom: 0.2rem solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-implant-effort_title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-effort_title {
    font-size: 1.8rem;
    border-bottom: 0.1rem solid #D0D0D0;
    padding-bottom: 1.2rem;
    order: 1;
  }
}

.p-implant-effort__text-wrap {
  margin-top: 2.3rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-effort__text-wrap {
    gap: 1.6rem;
    order: 3;
    margin-top: 1.6rem;
  }
}

.p-implant-effort__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-effort__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-effort__text {
    font-size: 1.4rem;
  }
}

/* インプラント治療が選ばれる5つの理由
***************************************************************/
.p-implant-reason {
  padding-block: 10.8rem 9.8rem;
  background-color: #FFEFEE;
  position: relative;
  overflow: hidden;
}
.p-implant-reason::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 222.8rem;
  background: url(../img/implant/bg_reason--pc.webp) no-repeat top center/cover;
  top: 22.2rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-reason {
    padding-block: 4rem 5.6rem;
  }
  .p-implant-reason::before {
    content: "";
    background: url(../img/implant/bg_reason--sp.webp) no-repeat top center/contain;
    top: 16.1rem;
    width: 100%;
    height: 286rem;
    aspect-ratio: 320/286;
  }
}

.p-implant-reason__container {
  margin-top: 8.5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__container {
    margin-top: 4.6rem;
    gap: 2.4rem;
  }
}

.p-implant-reason__item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0 4rem 4rem;
  position: relative;
  z-index: 2;
}
.p-implant-reason__item::before {
  content: "";
  position: absolute;
  width: 91.6666666667%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  left: 0;
  border-radius: 0 0 0 5.6rem;
  z-index: -1;
}
.p-implant-reason__item:nth-of-type(even) {
  flex-direction: row-reverse;
  padding: 4rem 4rem 4rem 0;
}
.p-implant-reason__item:nth-of-type(even)::before {
  content: "";
  position: absolute;
  width: 91.6666666667%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  right: 0;
  left: auto;
  border-radius: 0 0 5.6rem 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__item {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 0 2.2rem 2.4rem 2.2rem;
  }
  .p-implant-reason__item::before {
    width: 100%;
    height: auto;
    top: 7.9rem;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0 3.6rem;
  }
  .p-implant-reason__item:nth-of-type(even) {
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 0 2.2rem 2.4rem 2.2rem;
  }
  .p-implant-reason__item:nth-of-type(even)::before {
    width: 100%;
    height: auto;
    top: 7.9rem;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0 3.6rem;
  }
}

.p-implant-reason__contents {
  width: 48.0769230769%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__contents {
    width: 100%;
  }
}

.p-implant-reason__head {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__head {
    display: block;
  }
}

.p-implant-reason__num {
  width: 8rem;
  height: 8rem;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0em;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  background: #EE86A1;
  border-radius: 100vmax;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__num {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-reason__num {
    position: absolute;
    top: -0.8rem;
    left: 1.6rem;
    width: 5.3rem;
    height: 5.3rem;
    font-size: 2.9rem;
  }
}

.p-implant-reason__item-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__item-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-reason__item-title {
    font-size: 1.8rem;
  }
}

.p-implant-reason__body {
  margin-top: 1.6rem;
}
.p-cavity__feature .p-implant-reason__body, .p-root__commitment .p-implant-reason__body {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__feature .p-implant-reason__body, .p-root__commitment .p-implant-reason__body {
    margin-top: 1.6rem;
  }
}

.p-implant-reason__list {
  background: #FFEFEE;
  padding: 1.6rem 1.2rem 1.6rem 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__list {
    padding: 0.8rem;
  }
}
.p-implant-reason__list li {
  padding-left: 2.8rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-reason__list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
    line-height: 1.86;
  }
  .p-implant-reason .p-implant-reason__list li:not(:first-child) {
    margin-top: 0.4rem;
  }
}
.p-implant-reason__list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--bg-white.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

.p-implant-reason__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-reason__text {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}

.p-implant-reason__img {
  width: 48.0769230769%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__img {
    width: 100%;
  }
}
.p-implant-reason__img img {
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
  aspect-ratio: 429/286;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-implant-reason__img img {
    aspect-ratio: 237/158;
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}

/* インプラント治療の流れ
***************************************************************/
.p-implant-flow {
  padding-block: 10.8rem 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-flow {
    padding-block: 6.2rem 5.6rem;
  }
}

.p-implant-flow__container {
  max-width: 86.4rem;
  margin-inline: auto;
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  .p-implant-flow__container {
    margin-top: 3.8rem;
  }
}

/* インプラント10年保証
***************************************************************/
.p-implant-guarantee {
  padding-block: 11.2rem;
  background: url(../img/implant/bg_implant-gt--pc.webp) no-repeat top center/cover;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee {
    padding-block: 4rem 5.6rem;
    background: url(../img/implant/bg_implant-gt--sp.webp) no-repeat top center/cover;
  }
}

.p-implant-guarantee__container {
  margin-top: 8.8rem;
  max-width: 108rem;
  margin-inline: auto;
  border-radius: 1.6rem;
  background: #FFFFFF;
  box-shadow: 0px 0px 2rem rgba(238, 134, 161, 0.2);
  padding: 5.6rem 14.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__container {
    margin-top: 3.8rem;
    border-radius: 1.2rem;
    box-shadow: none;
    padding: 2.4rem 2.2rem;
  }
}

.p-implant-guarantee__intro {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  padding-bottom: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__intro {
    gap: 2.4rem;
    padding-bottom: 3.2rem;
  }
}

.p-implant-guarantee__text-warp {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__text-warp {
    gap: 1.6rem;
  }
}

.p-implant-guarantee__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__text {
    font-size: 1.4rem;
  }
}

.p-implant-guarantee__img img {
  aspect-ratio: 792/302;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__img img {
    aspect-ratio: 236/357;
  }
}

.p-implant-guarantee__content {
  padding-block: 4rem 5.6rem;
  border-top: 1px solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content {
    padding-block: 2.4rem 3.2rem;
  }
}
.p-implant-guarantee__content:last-child {
  padding-block: 4rem 0;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content:last-child {
    padding-block: 2.4rem 0;
  }
}

.p-implant-guarantee__content-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  padding-left: 6.6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-title {
    font-size: 1.8rem;
    padding-left: 3.8rem;
  }
}
.p-implant-guarantee__content-title::before {
  content: "";
  position: absolute;
  background: url(../img/logo_icon.webp) no-repeat center center/contain;
  width: 5rem;
  height: 5.2rem;
  aspect-ratio: 50/52;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-title::before {
    width: 3rem;
    height: 3.1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-title.title--case {
    white-space: nowrap;
  }
}

.p-implant-guarantee__feature {
  margin-top: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  counter-reset: feature-number; /* カウンターリセット */
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature {
    margin-top: 1.6rem;
  }
}

.p-implant-guarantee__feature-item {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
  counter-increment: feature-number; /* アイテムごとにカウンターをインクリメント */
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-item {
    flex-direction: column;
    gap: 1.6rem;
    align-items: center;
    position: relative;
  }
}

.p-implant-guarantee__feature-body {
  padding-left: 6.5rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-body {
    padding-left: 0;
  }
}

.p-implant-guarantee__feature-title {
  font-size: max(2.2rem, 14.3px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-title {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-title {
    font-size: 1.5rem;
    padding-left: 1.2rem;
  }
}
.p-implant-guarantee__feature-title::before {
  content: counter(feature-number);
  position: absolute;
  background: #71C0EF;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0em;
  width: 4.9rem;
  height: 4.9rem;
  aspect-ratio: 1;
  border-radius: 50%;
  left: -6.5rem;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-title::before {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-title::before {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    aspect-ratio: 1;
    background: #EE86A1;
    left: 0;
    top: 1.1rem;
  }
}

.p-implant-guarantee__feature-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-text {
    font-size: 1.4rem;
    margin-top: 0.4rem;
  }
}

.p-implant-guarantee__feature-notes {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.83125;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-notes {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-notes {
    font-size: 1.3rem;
  }
}
.p-implant-guarantee__feature-notes.only-pc {
  margin-top: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-notes.only-pc {
    display: none;
  }
}
.p-implant-guarantee__feature-notes.only-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-notes.only-sp {
    display: block;
    margin-top: 0;
  }
}

.p-implant-guarantee__feature-img {
  margin-left: 2rem;
  width: 21.7rem;
  flex-shrink: 0;
}
.p-implant-guarantee__feature-img img {
  aspect-ratio: 217/75;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__feature-img {
    width: 16.5rem;
    margin-left: 0;
  }
}

.p-implant-guarantee__content-wrap {
  display: flex;
  gap: 3.6rem;
  margin-top: 2.4rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-wrap {
    flex-direction: column;
    margin-top: 2rem;
    gap: 1.6rem;
  }
}

.p-implant-guarantee__table-wrap {
  width: 68.1818181818%;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap {
    width: 100%;
  }
}
.p-implant-guarantee__table-wrap table {
  width: 100%;
  border-collapse: collapse;
}
.p-implant-guarantee__table-wrap th {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  padding: 0.7rem 1.6rem;
  width: 22.2222222222%;
  border-bottom: 0.2rem solid #FFFFFF;
  border-right: 0.2rem solid #FFFFFF;
  background-color: #71C0EF;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap th {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap th {
    display: block;
    width: 100%;
    rowspan: initial;
    font-size: 1.4rem;
    padding: 0.1rem 1.2rem;
    border-bottom: none;
    border-right: none;
  }
}
.p-implant-guarantee__table-wrap td {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding: 0.7rem 1.6rem;
  border-bottom: 0.2rem solid #FFFFFF;
  background: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap td {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap td {
    font-size: 1.4rem;
    display: block;
    width: 100%;
    padding: 0.7rem 1.2rem;
    border-bottom: 0.1rem solid #FFFFFF;
  }
}
.p-implant-guarantee__table-wrap.table--02 table {
  margin-top: 1.6rem;
}
.p-implant-guarantee__table-wrap.table--02 .th01 {
  width: 46.6666666667%;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap.table--02 .th01 {
    display: inline-block;
    width: 40%;
  }
}
.p-implant-guarantee__table-wrap.table--02 .th02 {
  width: 53.3333333333%;
  border-right: none;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap.table--02 .th02 {
    display: inline-block;
    width: 60%;
  }
}
.p-implant-guarantee__table-wrap.table--02 .td01 {
  width: 46.6666666667%;
  border-right: 0.2rem solid #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap.table--02 .td01 {
    border-right: none;
    border-bottom: 0.1rem solid #FFFFFF;
    display: inline-block;
    width: 40%;
  }
}
.p-implant-guarantee__table-wrap.table--02 .td02 {
  width: 53.3333333333%;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-wrap.table--02 .td02 {
    display: inline-block;
    width: 60%;
  }
}

.p-implant-guarantee__table-note {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-note {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__table-note {
    font-size: 1.4rem;
  }
}

.p-implant-guarantee__case-list {
  width: 68.1818181818%;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__case-list {
    width: 100%;
  }
}
.p-implant-guarantee__case-list li {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-left: 1.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__case-list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__case-list li {
    font-size: 1.4rem;
  }
}
.p-implant-guarantee__case-list li::before {
  content: "";
  position: absolute;
  width: 0.6rem;
  height: 0.6rem;
  aspect-ratio: 1;
  background: #EE86A1;
  border-radius: 50%;
  top: 1.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__case-list li::before {
    top: 1.1rem;
  }
}

.p-implant-guarantee__content-img {
  width: 21.6rem;
}
.p-implant-guarantee__content-img img {
  aspect-ratio: 216/221;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-img {
    width: 100%;
  }
  .p-implant-guarantee__content-img img {
    aspect-ratio: 236/137;
  }
}
.p-implant-guarantee__content-img.img--requirement {
  margin-top: 1rem;
}
.p-implant-guarantee__content-img.img--requirement img {
  aspect-ratio: 216/144;
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-img.img--requirement {
    margin-top: 0;
    width: 20rem;
    margin-inline: auto;
  }
  .p-implant-guarantee__content-img.img--requirement img {
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}
.p-implant-guarantee__content-img.img--certificate {
  width: 16rem;
}
.p-implant-guarantee__content-img.img--certificate img {
  aspect-ratio: 160/218;
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
}
@media screen and (max-width: 767px) {
  .p-implant-guarantee__content-img.img--certificate {
    width: 12.9rem;
    margin-inline: auto;
  }
  .p-implant-guarantee__content-img.img--certificate img {
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}

/*虫歯治療ページ（虫歯とは）
***************************************************************/
.p-cavity {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-cavity {
    padding-block: 4rem 5.6rem;
  }
}

.p-cavity__about-container {
  display: flex;
  gap: 7.3rem;
  align-items: center;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__about-container {
    flex-direction: column-reverse;
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
}

.p-cavity__about-contents {
  width: 59.2592592593%;
  display: flex;
  flex-direction: column;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  gap: 1.7em;
}
@media screen and (max-width: 767px) {
  .p-cavity__about-contents {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cavity__about-contents {
    width: 100%;
    font-size: 1.4rem;
    gap: 2em;
  }
}

.p-cavity__about-img {
  width: 34.0740740741%;
}
@media screen and (max-width: 767px) {
  .p-cavity__about-img {
    width: 100%;
  }
}
.p-cavity__about-img img {
  aspect-ratio: 368/276;
  -o-object-fit: cover;
     object-fit: cover;
}

/*虫歯治療ページ（虫歯の進行について）
***************************************************************/
.p-cavity__progress {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress {
    margin-top: 5.6rem;
  }
}

.p-cavity__progress-intro {
  margin-top: 5.6rem;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  max-width: 86.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-intro {
    margin-top: 2.4rem;
    font-size: 1.4rem;
  }
}

.p-cavity__progress-container {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-container {
    margin-top: 2.4rem;
    gap: 1.6rem;
  }
}

.p-cavity__progress-step {
  padding: 3.2rem 5.6rem 3.2rem 4rem;
  display: flex;
  align-items: center;
  gap: 5.6rem;
  background: #FFEFEE;
  border-radius: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step {
    padding: 2rem 2.2rem;
    flex-direction: column;
    gap: 1.6rem;
  }
}

.p-cavity__progress-step-img {
  width: 20.8rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-img {
    width: 12rem;
    margin-inline: auto;
  }
}
.p-cavity__progress-step-img img {
  aspect-ratio: 208/291;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-cavity__progress-step-contents {
  width: 73.1707317073%;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-contents {
    width: 100%;
  }
}

.p-cavity__progress-step-title {
  display: flex;
  justify-content: flex-start;
  gap: 2rem;
  align-items: center;
  padding-bottom: 0.4rem;
  border-bottom: 0.1rem solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-title {
    gap: 1.2rem;
  }
}
.p-cavity__progress-step-title .title-number {
  font-size: max(4.4rem, 28.6px);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Montserrat", sans-serif;
  color: #EE86A1;
  flex-shrink: 0;
  width: max(6.4rem, 41.6px);
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-title .title-number {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-title .title-number {
    width: 3.6rem;
    font-size: 2.4rem;
  }
}
.p-cavity__progress-step-title .title-text {
  font-size: max(2.8rem, 18.2px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  flex-grow: 1;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-title .title-text {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-title .title-text {
    font-size: 1.8rem;
  }
  .p-cavity__progress-step-title .title-text.text--c3 {
    white-space: nowrap;
  }
}

.p-cavity__progress-step-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cavity__progress-step-text {
    margin-top: 0.8rem;
    font-size: 1.3rem;
  }
}

/*虫歯治療ページ（5つの特徴）
***************************************************************/
.p-cavity__feature {
  padding-block: 12rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-cavity__feature {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 5.6rem;
  }
}

.p-cavity__feature-intro {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  max-width: 86.4rem;
  margin-inline: auto;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__feature-intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cavity__feature-intro {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}

.p-cavity__feature-container {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__feature-container {
    margin-top: 2.4rem;
  }
}

/*虫歯治療ページ（治療の流れ）
***************************************************************/
.p-cavity__flow {
  padding-block: 12rem 15rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__flow {
    padding-block: 5.6rem 7rem;
  }
}

.p-cavity__flow-container {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-cavity__flow-container {
    margin-top: 2.35rem;
  }
}

/* 根管治療
***************************************************************/
.p-root {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-root {
    padding-block: 4rem 5.6rem;
  }
}

.p-root__intro {
  max-width: 86.4rem;
  margin-inline: auto;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-root__intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-root__intro {
    margin-top: 2.4rem;
    font-size: 1.4rem;
  }
}

.p-root__notes {
  max-width: 86.4rem;
  margin-inline: auto;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-root__notes {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-root__notes {
    margin-top: 2.4rem;
    font-size: 1.3rem;
  }
}

.p-root__table-wrap {
  max-width: 88.4rem;
  margin-inline: auto;
  padding: 4.6rem 1rem 0 5.6rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-root__table-wrap {
    overflow-x: auto;
    max-width: 30rem;
    margin-right: calc(50% - 50vw);
    padding: 2rem 1rem 2rem 0;
    white-space: normal;
  }
}

.p-root__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-root__table {
    display: none;
  }
}

.p-root__table-img {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-root__table-img {
    display: block;
    width: 39.5rem;
  }
}

.p-root__table-th,
.p-root__table td {
  border: 1px solid #EE86A1;
  vertical-align: middle;
  background: #fff;
}

.p-root__table-th {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding: 2.2rem 1.5rem 2.3rem 3.1rem;
  font-family: "Noto Serif JP", sans-serif;
  text-align: left;
  color: #F35F85;
  font-family: "Noto Serif JP", sans-serif;
  background: #FFEFEE;
  border-top: 0.2rem solid #EE86A1;
  border-bottom: 0.1rem solid #EE86A1;
}
@media screen and (max-width: 767px) {
  .p-root__table-th {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-root__table-th {
    font-size: 1.6rem;
    padding: 1.5rem 0.2rem 1.5rem 0.7rem;
  }
}

.p-root__table-th.th-progress {
  border-left: 0.2rem solid #EE86A1;
  border-radius: 1.6rem 0 0 0;
  width: 27%;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-root__table-th.th-progress {
    width: 24.6%;
  }
}

.p-root__table-th.th-state {
  width: 35.5%;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-root__table-th.th-state {
    width: 25%;
  }
}

.p-root__table-th.th-symptom {
  border-right: 0.2rem solid #EE86A1;
  border-radius: 0 1.6rem 0 0;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-root__table-th.th-symptom {
    width: 34%;
  }
}

.p-root__table-thead-tr th:not(:first-child) {
  border-left: none;
}

.p-root__table-tr td {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding: 1.4rem 1.5rem 1.4rem 3.1rem;
}
@media screen and (max-width: 767px) {
  .p-root__table-tr td {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-root__table-tr td {
    font-size: 1.4rem;
    padding: 0.7rem 0.6rem 0.7rem 0.7rem;
  }
}
.p-root__table-tr td .progress {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.665;
  letter-spacing: 0.05em;
  font-family: "Montserrat", sans-serif;
  display: inline-block;
  min-width: 2.9rem;
  margin-right: 0.8rem;
  color: #EE86A1;
}
@media screen and (max-width: 767px) {
  .p-root__table-tr td .progress {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-root__table-tr td .progress {
    font-size: 1.6rem;
    min-width: 2.3rem;
    margin-right: 0.8rem;
  }
}

.p-root__table-tr1 td {
  border-bottom: none;
}

.p-root__table-tr3 td,
.p-root__table-tr4 td {
  padding: 2.2rem 1.5rem 2.2rem 3.1rem;
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  .p-root__table-tr3 td,
  .p-root__table-tr4 td {
    padding: 0.7rem 0.6rem 0.7rem 0.7rem;
  }
}

.p-root__table-tr td:first-child {
  border-left: 0.2rem solid #EE86A1;
}

.p-root__table-tr td:last-child {
  border-right: 0.2rem solid #EE86A1;
}

.p-root__table-tr:last-child td {
  border-bottom: 0.2rem solid #EE86A1;
}

.td-c4:first-child {
  border-bottom-left-radius: 1.6rem;
}

.td-c4:last-child {
  border-bottom-right-radius: 1.6rem;
}

.p-root__table-tr td:not(:first-child) {
  border-left: none;
}

.p-root__table-tbody--box {
  position: relative;
}
.p-root__table-tbody--box::before {
  content: "";
  position: absolute;
  top: -0.3rem;
  left: -0.3rem;
  width: 101%;
  height: 101%;
  border: 0.7rem solid #F35F85;
  border-radius: 0 0 1.6rem 1.6rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-root__table-tbody--box::before {
    top: -0.2rem;
    left: -0.2rem;
    width: 100.4%;
    height: 100.4%;
    border: 0.4rem solid #F35F85;
  }
}
.p-root__table-tbody--box::after {
  content: "";
  position: absolute;
  top: 1.2rem;
  left: -4.4rem;
  background: url(../img/root/text_root-treatment.webp) no-repeat center center/contain;
  z-index: 2;
  width: 4.6rem;
  height: 20rem;
}
@media screen and (max-width: 767px) {
  .p-root__table-tbody--box::after {
    top: 1.2rem;
    left: -3.2rem;
    width: 3.2rem;
    height: 14.8rem;
  }
}

/* 根管治療4つのこだわり
***************************************************************/
.p-root__commitment {
  padding-block: 12rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-root__commitment {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 5.6rem;
  }
}

.p-root__commitment-intro {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  max-width: 86.4rem;
  margin-inline: auto;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-root__commitment-intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-root__commitment-intro {
    font-size: 1.4rem;
    margin-top: 2.4rem;
  }
}

.p-root__commitment-container {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-root__commitment-container {
    margin-top: 2.4rem;
  }
}

/* 根管治療の流れ
***************************************************************/
.p-root__flow {
  padding-block: 12rem 15rem;
}
@media screen and (max-width: 767px) {
  .p-root__flow {
    padding-block: 5.6rem;
  }
}

.p-root__flow-container {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-root__flow-container {
    margin-top: 2.4rem;
  }
}

/* 歯科口腔外科
***************************************************************/
.p-oral-surgery {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery {
    padding-block: 4rem 5.6rem;
  }
}

.p-oral-surgery__intro {
  background: #FFEFEE;
  padding: 4rem;
  border-radius: 1.2rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__intro {
    padding: 2.4rem 1rem;
    margin-bottom: 2.4rem;
  }
}

.p-oral-surgery__intro-text {
  text-align: center;
  font-size: max(2rem, 13px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__intro-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__intro-text {
    font-size: 1.4rem;
  }
}

.p-oral-surgery__text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__text {
    font-size: 1.4rem;
    text-align: left;
    margin-top: 2.4rem;
  }
}

.p-oral-surgery__container {
  display: flex;
  align-items: center;
  gap: 4.8rem;
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__container {
    margin-top: 2rem;
    flex-direction: column;
    gap: 2rem;
  }
}

.p-oral-surgery__img {
  width: 34.0740740741%;
  max-width: 100%;
  aspect-ratio: 368/276;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__img {
    width: 100%;
  }
}

.p-oral-surgery__contents {
  width: 61.3888888889%;
  padding: 3.2rem;
  background: #E3EFF7;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__contents {
    width: 100%;
    padding: 1.6rem;
  }
}

.p-oral-surgery__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.p-oral-surgery__list li {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__list li {
    font-size: 1.3rem;
  }
}

.p-oral-surgery__notes {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__notes {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__notes {
    font-size: 1.3rem;
  }
}

/* 歯科口腔外科(こだわり)
***************************************************************/
.p-oral-surgery__commitment {
  padding-block: 12rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__commitment {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 5.6rem;
  }
}

.p-oral-surgery__commitment-container {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__commitment-container {
    margin-top: 2.4rem;
  }
}

/* 歯科口腔外科(治療の流れ)
***************************************************************/
.p-oral-surgery__flow {
  padding-block: 12rem 14.9rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__flow {
    padding-block: 5.6rem;
  }
}

.p-oral-surgery__flow-container {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-oral-surgery__flow-container {
    margin-top: 2.4rem;
  }
}

/* 予防歯科
***************************************************************/
.p-preventive {
  padding-block: 12rem 13.6rem;
  background: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-preventive {
    padding-block: 4rem 5.6rem;
  }
}

.p-preventive__container {
  display: flex;
  gap: 9.6rem;
  margin-top: 5.2rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-preventive__container {
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 2.4rem;
  }
}

.p-preventive__img {
  width: 33.2717190388%;
  position: relative;
  z-index: 1;
}
.p-preventive__img::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  width: 100%;
  height: 100%;
  background-color: #F8C8C6;
  z-index: -1;
}
.p-preventive__img img {
  aspect-ratio: 360/270;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-preventive__img {
    width: 97.1428571429%;
  }
  .p-preventive__img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}

.p-preventive__contents {
  width: 57.8558225508%;
  padding-top: 5.15rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__contents {
    width: 100%;
    padding-top: 0;
  }
}

.p-preventive__contents-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  gap: 0.8rem;
  position: relative;
  color: #F35F85;
  padding-inline: 1.4rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__contents-title {
    font-size: 1.8rem;
  }
}
.p-preventive__contents-title::before {
  content: "";
  width: 0.6rem;
  height: 100%;
  background: #EE86A1;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-preventive__contents-title {
    font-size: 1.4rem;
    padding-inline: 1.2rem 0;
  }
  .p-preventive__contents-title::before {
    width: 0.4rem;
  }
}

.p-preventive__contents-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.85em;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__contents-text-wrap {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-preventive__contents-text-wrap {
    font-size: 1.3rem;
  }
}

/* 予防歯科(GBTの特徴)
***************************************************************/
.p-preventive__gbt {
  padding-block: 12rem;
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt {
    padding-block: 6.1rem 5.6rem;
  }
}

.p-preventive__gbt-container {
  max-width: 71.9rem;
  margin-inline: auto;
}

.p-preventive__gbt-text {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-block-start: 4rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-text {
    font-size: 1.4rem;
    margin-block-start: 2.4rem;
  }
}

.p-preventive__gbt-img {
  margin-block-start: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-img {
    margin-block-start: 1.5rem;
  }
}

.p-preventive__gbt-box {
  margin-block-start: 4rem;
  background: #FFEFEE;
  padding: 2.2rem 2.6rem;
}
.p-preventive__gbt-box.box--02 {
  margin-block-start: 3.2rem;
  background: #FAD6D5;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-box {
    margin-block-start: 1.7rem;
    padding: 1.6rem 1.4rem;
  }
  .p-preventive__gbt-box.box--02 {
    margin-block-start: 1.6rem;
  }
}

.p-preventive__gbt-box-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  gap: 0.8rem;
  position: relative;
  color: #F35F85;
  padding-inline: 1.4rem 0;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-box-title {
    font-size: 1.8rem;
  }
}
.p-preventive__gbt-box-title::before {
  content: "";
  width: 0.6rem;
  height: 100%;
  background: #EE86A1;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-box-title {
    font-size: 1.4rem;
    padding-inline: 1.2rem 0;
  }
  .p-preventive__gbt-box-title::before {
    width: 0.4rem;
  }
}

.p-preventive__gbt-box-list {
  margin-block-start: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .p-preventive__gbt-box-list {
    gap: 0.4rem;
  }
}

/* 予防歯科(5つの特徴)
***************************************************************/
.p-preventive__feature {
  padding-block: 12rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-preventive__feature {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 5.6rem;
  }
}

.p-preventive__feature-container {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__feature-container {
    margin-top: 2.4rem;
  }
}

/* 予防歯科(治療の流れ)
***************************************************************/
.p-preventive__flow {
  padding-block: 12rem 14.9rem;
}
@media screen and (max-width: 767px) {
  .p-preventive__flow {
    padding-block: 5.6rem;
  }
}

/* 入れ歯・義歯（お悩み）202601全面修正
***************************************************************/
.p-dentures {
  overflow: hidden;
  background: #fff;
}

.p-dentures__top {
  padding-block: 10.5rem 12.6rem;
  background: #fff;
  position: relative;
}
.p-dentures__top::before {
  content: "";
  position: absolute;
  width: 144rem;
  height: 5.05rem;
  aspect-ratio: 2880/101;
  background: url(../img/dentures/deco_arrow-worry--pc.webp) no-repeat center center/cover;
  top: calc(100% - 0.3rem);
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-dentures__top::before {
    background: url(../img/dentures/deco_arrow-worry--sp.webp) no-repeat center center/cover;
    aspect-ratio: 640/51;
    width: 100vw;
    height: 2.55rem;
    left: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__top {
    padding-block: 4rem 2.7rem;
  }
}

.p-dentures__intro {
  text-align: center;
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-dentures__intro {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__intro {
    font-size: 1.8rem;
  }
}

.p-dentures__intro--emphasis {
  color: #71C0EF;
  font-size: max(4rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  position: relative;
  background-image: radial-gradient(circle at center, #71C0EF 13%, transparent 13%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1.08em 0.4em;
  padding-top: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-dentures__intro--emphasis {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__intro--emphasis {
    font-size: 2.4rem;
    padding-right: 0.1em;
  }
}
.p-dentures__intro--emphasis::before {
  content: "";
  position: absolute;
  background: url(../img/dentures/deco_wave.svg) no-repeat center center/cover;
  top: calc(100% + 0.05em);
  left: 50%;
  translate: -50%;
  width: max(13rem, 78px);
  height: max(1.1rem, 6.6px);
  aspect-ratio: 130/11;
}
@media screen and (max-width: 767px) {
  .p-dentures__intro--emphasis::before {
    width: 7.3rem;
    height: 0.6rem;
    top: calc(100% - 0.05em);
  }
}

.p-dentures__intro--large {
  color: #71C0EF;
  font-size: max(4rem, 26px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dentures__intro--large {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__intro--large {
    font-size: 2.4rem;
  }
}

.p-dentures__container {
  display: flex;
  margin-top: 6.8rem;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__container {
    margin-top: 0.2rem;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
  }
}

.p-dentures__list {
  position: relative;
  width: 70.7407407407%;
  display: flex;
  flex-direction: column;
  gap: 2.9rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__list {
    margin-top: 1.8rem;
    align-items: center;
    gap: 1.3rem;
    width: 100%;
  }
}

.p-dentures__bubble {
  max-width: 67.7rem;
  padding: 1.9rem 1rem 1.9rem 2.1rem;
  border-radius: 0.8rem;
  border: 0.3rem #D0D0D0 solid;
  box-shadow: 0.5rem 0.5rem 0px 0px #D0D0D0;
  background: #FFFFFF;
}
.p-dentures__bubble.bubble01 {
  translate: 8.7rem 0;
}
.p-dentures__bubble.bubble02 {
  translate: 3.1rem 0;
}
.p-dentures__bubble.bubble03 {
  translate: 8.7rem 0;
}
@media screen and (max-width: 767px) {
  .p-dentures__bubble {
    max-width: 26.7rem;
    padding: 0.6rem 1.6rem 0.6rem 1rem;
    border-radius: 0.4rem;
    border: 0.15rem #D0D0D0 solid;
    box-shadow: 0.3rem 0.3rem 0px 0px #D0D0D0;
  }
  .p-dentures__bubble.bubble01, .p-dentures__bubble.bubble02, .p-dentures__bubble.bubble03 {
    translate: 0;
  }
}

.p-dentures__bubble-text {
  display: inline-block;
  padding-left: 4.3rem;
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-dentures__bubble-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__bubble-text {
    font-size: 1.4rem;
    padding-left: 2.2rem;
  }
}
.p-dentures__bubble-text::before {
  content: "";
  position: absolute;
  background: url(../img/icon_check.svg) no-repeat center center/cover;
  width: 4.3rem;
  height: 3.9rem;
  left: 0;
  top: -0.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__bubble-text::before {
    width: 2.2rem;
    height: 2rem;
    top: 0;
  }
}

.p-dentures__img {
  text-align: center;
  width: 19.8rem;
}
.p-dentures__img img {
  aspect-ratio: 198/291;
}
@media screen and (max-width: 767px) {
  .p-dentures__img {
    width: 9.6rem;
  }
}

/* 入れ歯・義歯（お悩み 下部セクション）
***************************************************************/
.p-dentures__bottom {
  background: url(../img/dentures/bg_worry-bottom--pc.webp) no-repeat center center/cover;
  padding-block: 10.6rem 6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom {
    background: url(../img/dentures/bg_worry-bottom--sp.webp) no-repeat center center/cover;
    padding-block: 5rem 4rem;
  }
}

.p-dentures__bottom-contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-dentures__bottom-text--small {
  font-size: max(2rem, 13px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-text--small {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-text--small {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-dentures__bottom-text--small {
    font-size: 1.4rem;
  }
}

.p-dentures__bottom-text {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.84375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-text {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-text {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6875;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-dentures__bottom-text {
    font-size: 1.6rem;
  }
}

.p-dentures__bottom-box {
  width: 108rem;
  max-width: 100%;
  border-radius: 1.6rem;
  background: rgba(243, 95, 133, 0.9);
  color: white;
  padding: 3.2rem 4rem 3rem 4rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 4.2rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box {
    width: 28rem;
    padding: 1.6rem 2.2rem;
    border-radius: 0.8rem;
    gap: 0.2rem;
    margin-top: 0.8rem;
  }
}

.p-dentures__bottom-box-text {
  font-size: max(2rem, 13px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box-text {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.65;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-dentures__bottom-box-text {
    font-size: 1.4rem;
  }
}

.p-dentures__bottom-box-text--large {
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box-text--large {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box-text--large {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6875;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-dentures__bottom-box-text--large {
    font-size: 1.6rem;
  }
}
.p-dentures__bottom-box-text--large .under-dotted-white {
  background-image: linear-gradient(to right, #fff, #fff 0.8rem, transparent 0.4rem, transparent 0.4rem);
  background-size: 1.6rem 0.2rem;
  background-position: -0.2rem bottom;
  background-repeat: repeat-x;
  padding-bottom: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box-text--large .under-dotted-white {
    background-image: linear-gradient(to right, #fff, #fff 0.5rem, transparent 0.5rem, transparent 0.5rem);
    background-size: 1rem 0.2rem;
    background-position: bottom;
    padding-bottom: 0.3rem;
  }
}
.p-dentures__bottom-box-text--large .marker-white {
  text-decoration-color: rgba(255, 255, 255, 0.45);
  text-decoration-line: underline;
  text-decoration-thickness: 1.5rem;
  text-underline-offset: -0.7rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (max-width: 767px) {
  .p-dentures__bottom-box-text--large .marker-white {
    text-decoration-thickness: 0.7rem;
    text-underline-offset: -0.2rem;
  }
}

/* 入れ歯・義歯（自由診療の入れ歯）
***************************************************************/
.p-dentures__private {
  padding-block: 12rem 13.3rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-dentures__private {
    padding-block: 4rem 5.6rem;
  }
}

.p-dentures__private-container {
  display: flex;
  gap: 9.6rem;
  margin-top: 6.2rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-dentures__private-container {
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 2.4rem;
  }
}

.p-dentures__private-img {
  width: 33.2717190388%;
  position: relative;
  z-index: 1;
}
.p-dentures__private-img::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
  width: 100%;
  height: 100%;
  background-color: #FFEFEE;
  z-index: -1;
}
.p-dentures__private-img img {
  aspect-ratio: 360/270;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-dentures__private-img {
    width: 97.1428571429%;
  }
  .p-dentures__private-img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}

.p-dentures__private-body {
  width: 57.8558225508%;
}
@media screen and (max-width: 767px) {
  .p-dentures__private-body {
    width: 100%;
  }
}

.p-dentures__private-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 4.3rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__private-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__private-text {
    font-size: 1.3rem;
    margin-top: 0;
  }
}

/* 入れ歯・義歯（精密入れ歯を選ぶ理由）
***************************************************************/
.p-dentures__reason {
  padding-block: 9.5rem;
  background: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason {
    padding-block: 5.6rem;
  }
}

.p-dentures__reason-intro {
  max-width: 86.4rem;
  margin-inline: auto;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-intro {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-intro {
    margin-top: 2.4rem;
    font-size: 1.3rem;
  }
}

.p-dentures__reason-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.8rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
}

.p-dentures__reason-item {
  background: #FFFFFF;
  min-height: 45.2rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-item {
    min-height: auto;
  }
}

.p-dentures__reason-img img {
  aspect-ratio: 340/210;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-img img {
    aspect-ratio: 280/173;
  }
}

.p-dentures__reason-body {
  padding: 0 1.6rem 2.4rem 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-body {
    padding: 0 1.2rem 1.6rem 1.2rem;
  }
}

.p-dentures__reason-title {
  font-size: max(2.4rem, 15.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #F35F85;
  width: 100%;
  padding: 0.8rem 1.1rem;
  background: #FAD6D5;
  text-align: center;
  position: relative;
  margin-top: -5.4rem;
  display: grid;
  place-content: center;
  min-height: 10.4rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-title {
    font-size: 1.8rem;
    padding: 0.6rem 1.3rem;
    margin-top: -3rem;
    min-height: 5.6rem;
  }
}
.p-dentures__reason-title::before {
  content: "";
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.8rem;
  border: 0.1rem solid #FFFFFF;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-title::before {
    top: 0.6rem;
    left: 0.6rem;
    right: 0.6rem;
    bottom: 0.6rem;
  }
}

.p-dentures__reason-text {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
  padding-inline: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__reason-text {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}

/* 入れ歯・義歯(ラインナップ)
***************************************************************/
.p-dentures__lineup {
  background: #fff;
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup {
    padding-block: 4rem 5.6rem;
  }
}

.p-dentures__lineup-container {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-container {
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
}

.p-dentures__lineup-item {
  background: #FFEFEE;
  border-radius: 1.2rem;
  padding: 4rem 3.8rem 4rem 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-item {
    border-radius: 0;
    padding: 2.4rem 2.1rem;
  }
}

.p-dentures__lineup-title {
  font-size: max(2.4rem, 16.8px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #F35F85;
  text-align: center;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-title {
    font-size: 1.4rem;
    padding-bottom: 1.6rem;
  }
}

.p-dentures__lineup-contents {
  display: flex;
  gap: 3rem;
  margin-top: 2.4rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-contents {
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 1.6rem;
  }
}

.p-dentures__lineup-img {
  width: 36.5079365079%;
  flex-shrink: 0;
  margin-top: 10.3rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-img {
    width: 100%;
    margin-top: 0;
  }
}

.p-dentures__lineup-body {
  flex: 1;
}

.p-dentures__lineup-description {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-inline: 1rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-description {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-description {
    font-size: 1.4rem;
    padding-inline: 0;
  }
}

.p-dentures__lineup-box {
  margin-top: 2.4rem;
  padding: 3.2rem 2rem 3.2rem 2.4rem;
  background: #FAD6D5;
}
.p-dentures__lineup-box.p-dentures__lineup-box--white {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-box {
    margin-top: 1.6rem;
    padding: 1.6rem 1.4rem;
  }
}

.p-dentures__lineup-box-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-left: 2rem;
  position: relative;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-box-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-box-title {
    font-size: 1.4rem;
    padding-left: 1.2rem;
  }
}
.p-dentures__lineup-box-title::before {
  content: "";
  position: absolute;
  top: 0.2rem;
  left: 0;
  width: 0.7rem;
  height: 3rem;
  background: #EE86A1;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-box-title::before {
    top: 0.4rem;
    width: 0.4rem;
    height: 1.8rem;
  }
}

.p-dentures__lineup-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-list {
    margin-top: 0.6rem;
  }
}
.p-dentures__lineup-box--white .p-dentures__lineup-list {
  margin-top: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-box--white .p-dentures__lineup-list {
    margin-top: 0.6rem;
    gap: 0.4rem;
  }
}

.p-dentures__lineup-list li {
  padding-left: 3.2rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
    line-height: 1.86;
  }
}
.p-dentures__lineup-list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--deep-pink.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-dentures__lineup-list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}
.p-dentures__lineup-box--white .p-dentures__lineup-list li::before {
  background: url(../img/icon_check--pink.svg) no-repeat center center/contain;
}

/* 予防歯科(5つの特徴)
***************************************************************/
.p-dentures__feature {
  padding-block: 12rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-dentures__feature {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 5.6rem;
  }
}

.p-dentures__feature-container {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__feature-container {
    margin-top: 2.4rem;
  }
}

/* 予防歯科(治療の流れ)
***************************************************************/
.p-dentures__flow {
  padding-block: 12rem 14.9rem;
}
@media screen and (max-width: 767px) {
  .p-dentures__flow {
    padding-block: 5.6rem;
  }
}

/* 審美歯科
***************************************************************/
.p-cosmetic {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic {
    padding-block: 4rem 5.6rem;
  }
}

.p-cosmetic__container {
  display: flex;
  gap: 8rem;
  margin-top: 5.6rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__container {
    flex-direction: column;
    gap: 1rem;
    margin-top: 2.4rem;
    align-items: flex-start;
  }
}

.p-cosmetic__img {
  width: 33.3333333333%;
  position: relative;
  z-index: 1;
  margin-top: 0.5rem;
}
.p-cosmetic__img::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  width: 100%;
  height: 100%;
  background-color: #FFEFEE;
  z-index: -1;
}
.p-cosmetic__img img {
  aspect-ratio: 360/270;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__img {
    width: 97.1428571429%;
    margin-bottom: 0;
  }
  .p-cosmetic__img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}

.p-cosmetic__contents {
  width: 59.2592592593%;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__contents {
    width: 100%;
  }
}

.p-cosmetic__contents-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__contents-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__contents-text {
    font-size: 1.3rem;
    margin-top: 2.4rem;
    line-height: 1.83;
  }
}

/* 審美歯科（精密審美歯科が可能な理由）
***************************************************************/
.p-cosmetic__reason {
  padding-block: 12rem;
  background-color: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason {
    padding-block: 4rem 5.6rem;
  }
}

.p-cosmetic__reason-container {
  margin-top: 5.6rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-container {
    margin-top: 3.2rem;
    gap: 3.2rem;
  }
}

.p-cosmetic__reason-item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  padding: 4rem 0 4rem 4rem;
  position: relative;
  z-index: 2;
}
.p-cosmetic__reason-item::before {
  content: "";
  position: absolute;
  width: 91.6666666667%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  left: 0;
  border-radius: 0 0 0 5.6rem;
  z-index: -1;
}
.p-cosmetic__reason-item:nth-of-type(even) {
  flex-direction: row-reverse;
  padding: 4rem 4rem 4rem 0;
}
.p-cosmetic__reason-item:nth-of-type(even)::before {
  content: "";
  position: absolute;
  width: 91.6666666667%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  top: 0;
  right: 0;
  left: auto;
  border-radius: 0 5.6rem 0 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-item {
    display: flex;
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 0 2.2rem 2.4rem 2.2rem;
  }
  .p-cosmetic__reason-item::before {
    width: 100%;
    height: auto;
    top: 7.9rem;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0 3.6rem;
  }
  .p-cosmetic__reason-item:nth-of-type(even) {
    flex-direction: column-reverse;
    gap: 1.6rem;
    padding: 0 2.2rem 2.4rem 2.2rem;
  }
  .p-cosmetic__reason-item:nth-of-type(even)::before {
    width: 100%;
    height: auto;
    top: 7.9rem;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0 3.6rem;
  }
}

.p-cosmetic__reason-contents {
  width: 48.0769230769%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-contents {
    width: 100%;
  }
}

.p-cosmetic__reason-head {
  display: flex;
  gap: 2rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-head {
    display: block;
  }
}

.p-cosmetic__reason-num {
  width: 8rem;
  height: 8rem;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0em;
  font-family: "Montserrat", sans-serif;
  color: #fff;
  background: #EE86A1;
  border-radius: 100vmax;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-num {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-num {
    position: absolute;
    top: -0.8rem;
    left: 1.6rem;
    width: 5.3rem;
    height: 5.3rem;
    font-size: 2.9rem;
  }
}

.p-cosmetic__reason-item-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  flex-grow: 1;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-item-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-item-title {
    font-size: 1.8rem;
  }
}

.p-cosmetic__reason-body {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.p-cosmetic__reason-list {
  background: #FFEFEE;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-list {
    padding: 1.6rem 1.2rem;
  }
}
.p-cosmetic__reason-list li {
  padding-left: 2.5rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
    line-height: 1.86;
  }
}
.p-cosmetic__reason-list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--deep-pink.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

.p-cosmetic__reason-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-text {
    font-size: 1.4rem;
    line-height: 1.87;
  }
}

.p-cosmetic__reason-img {
  width: 48.0769230769%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-img {
    width: 100%;
  }
}
.p-cosmetic__reason-img img {
  box-shadow: 0.7rem 0.7rem 1rem rgba(89, 87, 87, 0.15);
  aspect-ratio: 429/286;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__reason-img img {
    aspect-ratio: 237/158;
    box-shadow: 0.3rem 0.3rem 0.7rem rgba(89, 87, 87, 0.15);
  }
}

/* 入れ歯・義歯（治療メニュー）
***************************************************************/
.p-cosmetic__menu {
  background: #fff;
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu {
    padding-block: 4rem 5.6rem;
  }
}

.p-cosmetic__menu-container {
  display: flex;
  flex-direction: column;
  gap: 4.9rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-container {
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
}

.p-cosmetic__menu-item {
  background: #FFEFEE;
  border-radius: 1.2rem;
  padding: 4rem 3.8rem 4rem 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-item {
    border-radius: 0;
    padding: 2.4rem 2.1rem;
  }
}

.p-cosmetic__menu-title {
  font-size: max(2.4rem, 16.8px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #F35F85;
  text-align: center;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-title {
    font-size: 1.4rem;
    padding-bottom: 1.6rem;
  }
}

.p-cosmetic__menu-notes {
  margin-top: 2.4rem;
  border: 0.2rem solid #EE86A1;
  border-radius: 1.6rem;
  background-color: #fff;
  padding: 0 2.4rem 2.4rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes {
    margin-top: 1.6rem;
    border-radius: 0;
    padding: 0 1.3rem 1.3rem 1.3rem;
  }
}

.p-cosmetic__menu-notes-head {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding: 0.7rem 1rem 0.8rem 1rem;
  background: #EE86A1;
  color: #fff;
  text-align: center;
  width: 26rem;
  margin-inline: auto;
  border-radius: 0 0 0.8rem 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes-head {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes-head {
    font-size: 1.3rem;
    line-height: 1.85;
    padding: 0 1rem 0.4rem 1rem;
    width: 15rem;
  }
}

.p-cosmetic__menu-notes-list {
  margin-top: 0.9rem;
  max-width: 67.1rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
}
.p-cosmetic__menu-notes-list.p-cosmetic__menu-notes-list--narrow {
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes-list {
    margin-top: 0.8rem;
    gap: 0.4rem;
  }
}
.p-cosmetic__menu-notes-list li {
  padding-left: 2.8rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes-list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes-list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
    line-height: 1.857;
  }
}
.p-cosmetic__menu-notes-list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--pink.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-notes-list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
  }
}

.p-cosmetic__menu-head {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-head {
    margin-top: 1.6rem;
  }
}

.p-cosmetic__menu-head-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #F35F85;
  color: #fff;
  padding-block: 0.3rem 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-head-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-head-title {
    font-size: 1.4rem;
    line-height: 1.6428571429;
    padding-block: 0;
  }
}

.p-cosmetic__menu-head-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  max-width: 86.4rem;
  margin-inline: auto;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-head-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-head-text {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}

.p-cosmetic__menu-contents {
  display: flex;
  gap: 3rem;
  margin-top: 2.4rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-contents {
    flex-direction: column;
    gap: 1.6rem;
    margin-top: 1.6rem;
  }
}

.p-cosmetic__menu-img {
  width: 36.5079365079%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-img {
    width: 100%;
  }
}

.p-cosmetic__menu-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-body {
    gap: 1.6rem;
  }
}

.p-cosmetic__menu-box {
  padding: 2.4rem;
  background: #FAD6D5;
}
.p-cosmetic__menu-box.p-cosmetic__menu-box--blue {
  background: #E3EFF7;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-box {
    padding: 1.6rem 1.4rem;
  }
}

.p-cosmetic__menu-box-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  padding-left: 2rem;
  position: relative;
  color: #F35F85;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-box-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-box-title {
    font-size: 1.4rem;
    padding-left: 1.2rem;
  }
}
.p-cosmetic__menu-box-title::before {
  content: "";
  position: absolute;
  top: 0.2rem;
  left: 0;
  width: 0.7rem;
  height: 3rem;
  background: #EE86A1;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-box-title::before {
    top: 0.4rem;
    width: 0.4rem;
    height: 1.8rem;
  }
}
.p-cosmetic__menu-box--blue .p-cosmetic__menu-box-title {
  color: #71C0EF;
}
.p-cosmetic__menu-box--blue .p-cosmetic__menu-box-title::before {
  background: #71C0EF;
}

.p-cosmetic__menu-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-list {
    margin-top: 0.6rem;
  }
  .p-cosmetic__menu-box--blue .p-cosmetic__menu-list {
    gap: 0.4rem;
  }
}

.p-cosmetic__menu-list li {
  padding-left: 3.4rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-list li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-list li {
    padding-left: 2.2rem;
    font-size: 1.4rem;
    line-height: 1.86;
  }
}
.p-cosmetic__menu-list li::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.2rem;
  aspect-ratio: 24/22;
  background: url(../img/icon_check--deep-pink.svg) no-repeat center center/contain;
  top: 0.4rem;
  left: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__menu-list li::before {
    width: 1.8rem;
    height: 1.6rem;
    aspect-ratio: 18/16;
    left: 0;
  }
}
.p-cosmetic__menu-box--blue .p-cosmetic__menu-list li::before {
  background: url(../img/icon_check--bg-white.svg) no-repeat center center/contain;
}

/* 審美歯科(ホワイトニングについて)
***************************************************************/
.p-cosmetic__whitening {
  padding-block: 12rem 13.35rem;
  background: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__whitening {
    padding-block: 4rem 5.6rem;
  }
}

.p-cosmetic__whitening-container {
  display: flex;
  align-items: flex-start;
  gap: 9.5rem;
  margin-top: 6.15rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__whitening-container {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 2.4rem;
  }
}

.p-cosmetic__whitening-img {
  width: 36rem;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.p-cosmetic__whitening-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #fff;
  top: 1.5rem;
  left: 1.5rem;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__whitening-img {
    width: 27.3rem;
  }
  .p-cosmetic__whitening-img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}
.p-cosmetic__whitening-img img {
  aspect-ratio: 360/270;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__whitening-img img {
    aspect-ratio: 273/205;
  }
}

.p-cosmetic__whitening-contents {
  flex: 1;
  margin-top: 4.35rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__whitening-contents {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-cosmetic__whitening-contents {
    margin-top: 0;
    font-size: 1.3rem;
  }
}

/* 審美歯科(治療の流れ)
***************************************************************/
.p-cosmetic__flow {
  padding-block: 12rem 14.9rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__flow {
    padding-block: 5.6rem 4.9rem;
  }
}

.p-cosmetic__flow-container {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-cosmetic__flow-container {
    margin-top: 2.4rem;
  }
}

/* 小児歯科
***************************************************************/
.p-pediatric {
  padding-block: 12rem 11.3rem;
  background: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-pediatric {
    padding-block: 4rem 5.6rem;
  }
}

.p-pediatric__container {
  display: flex;
  gap: 9.6rem;
  margin-top: 5.2rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-pediatric__container {
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 2.4rem;
    align-items: flex-start;
  }
}

.p-pediatric__img {
  width: 33.2717190388%;
  position: relative;
  z-index: 1;
  margin-bottom: 1.6rem;
}
.p-pediatric__img::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  z-index: -1;
}
.p-pediatric__img img {
  aspect-ratio: 360/270;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-pediatric__img {
    width: 97.1428571429%;
    margin-bottom: 0;
  }
  .p-pediatric__img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}

.p-pediatric__contents {
  width: 57.8558225508%;
}
@media screen and (max-width: 767px) {
  .p-pediatric__contents {
    width: 100%;
  }
}

.p-pediatric__contents-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #EE86A1;
  gap: 0.8rem;
  position: relative;
  padding-left: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__contents-title {
    font-size: 1.8rem;
  }
}
.p-pediatric__contents-title::before {
  content: "";
  width: 0.6rem;
  height: 6rem;
  background: #EE86A1;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-pediatric__contents-title {
    font-size: 1.4rem;
    padding-left: 1.2rem;
  }
  .p-pediatric__contents-title::before {
    width: 0.4rem;
    height: 4.4rem;
    top: 0.3rem;
    left: 0;
  }
}

.p-pediatric__contents-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.85em;
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__contents-text-wrap {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric__contents-text-wrap {
    font-size: 1.3rem;
  }
}

/*予防処置ページ（むし歯を防ぐ「3つの予防処置」）
***************************************************************/
.p-pediatric__prevention {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention {
    padding-block: 5.6rem;
  }
}

.p-pediatric__prevention-container {
  margin-top: 5.6rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-container {
    margin-top: 2.4rem;
    gap: 1.3rem;
  }
}

.p-pediatric__prevention-step {
  padding: 4.2rem 5.6rem 4.2rem 4rem;
  display: flex;
  align-items: center;
  gap: 5.6rem;
  background: #FFEFEE;
  border-radius: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step {
    padding: 2rem 2.2rem;
    flex-direction: column;
    gap: 1.8rem;
  }
}

.p-pediatric__prevention-step-img {
  width: 20.8rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-img {
    width: 12rem;
    margin-inline: auto;
  }
}
.p-pediatric__prevention-step-img img {
  aspect-ratio: 208/291;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-pediatric__prevention-step-contents {
  width: 73.1707317073%;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-contents {
    width: 100%;
  }
}

.p-pediatric__prevention-step-title {
  display: flex;
  justify-content: flex-start;
  gap: 2rem;
  align-items: center;
  padding-bottom: 0.4rem;
  border-bottom: 0.1rem solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-title {
    gap: 1.2rem;
  }
}
.p-pediatric__prevention-step-title .title-number {
  font-size: max(4.4rem, 28.6px);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Montserrat", sans-serif;
  color: #EE86A1;
  flex-shrink: 0;
  width: max(2.6rem, 16.9px);
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-title .title-number {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-title .title-number {
    width: 1.4rem;
    font-size: 2.4rem;
  }
}
.p-pediatric__prevention-step-title .title-text {
  font-size: max(2.8rem, 18.2px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  flex-grow: 1;
  font-family: "Noto Serif JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-title .title-text {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-title .title-text {
    font-size: 1.8rem;
  }
  .p-pediatric__prevention-step-title .title-text.text--c3 {
    white-space: nowrap;
  }
}

.p-pediatric__prevention-step-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pediatric__prevention-step-text {
    margin-top: 0.8rem;
    font-size: 1.3rem;
  }
}

/* 小児歯科(5つの特徴)
***************************************************************/
.p-pediatric__feature {
  padding-block: 12rem;
  overflow: hidden;
  background-color: #FFEFEE;
  background-image: url(../img/bg_cross-pink-pc.webp);
  background-repeat: repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-pediatric__feature {
    background-image: url(../img/bg_cross-pink-sp.webp);
    padding-block: 5.6rem;
  }
}

.p-pediatric__feature-container {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__feature-container {
    margin-top: 2.4rem;
  }
}

/* 小児歯科(治療の流れ)
***************************************************************/
.p-pediatric__flow {
  padding-block: 12rem 14.9rem;
}
@media screen and (max-width: 767px) {
  .p-pediatric__flow {
    padding-block: 5.6rem;
  }
}

/* 料金表ページ（料金表）
***************************************************************/
.p-price-list__bg-pink {
  background: #FFEFEE;
  padding-block: 8rem;
  padding-inline: 2rem;
}
@media screen and (max-width: 767px) {
  .p-price-list__bg-pink {
    padding-block: 4rem;
  }
}

.p-price-list__bg-white {
  background: #FFFFFF;
  padding-block: 9.7rem 8.1rem;
  padding-inline: 2rem;
}
@media screen and (max-width: 767px) {
  .p-price-list__bg-white {
    padding-block: 4.9rem 5.6rem;
  }
}

.p-price-list__container {
  max-width: 93.5rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 7.3rem;
}
@media screen and (max-width: 767px) {
  .p-price-list__container {
    gap: 4.1rem;
  }
}

.p-price-list__container--top {
  margin-top: 7.3rem;
}
@media screen and (max-width: 767px) {
  .p-price-list__container--top {
    margin-top: 4.1rem;
  }
}

.p-price-list__contents {
  display: flex;
  flex-direction: column;
  gap: 5.8rem;
}
@media screen and (max-width: 767px) {
  .p-price-list__contents {
    gap: 3.2rem;
  }
}

.p-price-list__table {
  width: 100%;
  border-collapse: collapse;
}
.p-price-list__table th {
  padding: 2.3rem 3.9rem 2.3rem 3.5rem;
  border-top: 0.1rem solid #FFFFFF;
  border-bottom: 0.1rem solid #FFFFFF;
  background: #EE86A1;
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  text-align: left;
  width: 46.3101604278%;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-price-list__table th {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-price-list__table th {
    padding: 1.5rem 1.5rem 1.6rem 1.6rem;
    font-size: 1.4rem;
    width: 48%;
  }
}
.p-price-list__table td {
  padding: 2.3rem 2rem 2.3rem 7.1rem;
  border-top: 0.1rem solid #D0D0D0;
  border-bottom: 0.1rem solid #D0D0D0;
  background: #FFFFFF;
  font-size: max(1.8rem, 12.6px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  width: 53.6898395722%;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-price-list__table td {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-price-list__table td {
    padding: 1.5rem 1.5rem 1.6rem 2.4rem;
    font-size: 1.4rem;
    width: 52.1428571429%;
  }
}

/*院長・副院長あいさつページ
***************************************************************/
.p-staff {
  padding-block: 8rem 12rem;
}
@media screen and (max-width: 767px) {
  .p-staff {
    padding-block: 4rem 5.6rem;
  }
}

.p-staff__container {
  display: flex;
  flex-direction: column;
  gap: 5.6rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-staff__container {
    margin-top: 3.2rem;
  }
}

/*診療時間・アクセスページ（診療時間）
***************************************************************/
.p-access__hours {
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-access__hours {
    padding-top: 4rem;
  }
}

.p-access__hours-container {
  max-width: 93.6rem;
  margin-inline: auto;
  padding-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-access__hours-container {
    padding-top: 3.2rem;
  }
}

.p-access__hours-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.p-access__hours-th {
  background: #FFEFEE;
  padding-block: 2.85rem 2.9rem;
}
@media screen and (max-width: 767px) {
  .p-access__hours-th {
    padding-block: 1rem 1.1rem;
  }
}
.p-access__hours-th:first-child {
  width: 19.2307692308%;
  font-size: max(2rem, 13px);
  font-weight: 700;
  line-height: 1.8;
  border-radius: 0.8rem 0 0 0; /* 左上の角だけ8px */
}
@media screen and (max-width: 767px) {
  .p-access__hours-th:first-child {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__hours-th:first-child {
    width: 6.4rem;
    font-size: 1.2rem;
    font-weight: 500;
    border-radius: 0.32rem 0 0 0;
  }
}
.p-access__hours-th:last-child {
  border-radius: 0 0.8rem 0 0; /* 右上の角だけ8px */
  border-right: 0.2rem solid #EE86A1;
}
@media screen and (max-width: 767px) {
  .p-access__hours-th:last-child {
    border-radius: 0 0.32rem 0 0;
    border-right: 0.1rem solid #EE86A1;
  }
}

.p-access__hours-th,
.p-access__hours-td {
  text-align: center;
  padding-inline: 0.5rem;
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0em;
  border-top: 0.2rem solid #EE86A1; /* 上の枠線 */
  border-left: 0.2rem solid #EE86A1; /* 左側の枠線 */
}
@media screen and (max-width: 767px) {
  .p-access__hours-th,
  .p-access__hours-td {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__hours-th,
  .p-access__hours-td {
    font-size: 1.2rem;
    padding-inline: 0;
    font-size: 1.2rem;
    border-top: 0.1rem solid #EE86A1; /* 上の枠線 */
    border-left: 0.1rem solid #EE86A1; /* 左側の枠線 */
  }
}

.p-access__hours-td {
  border-bottom: 0.2rem solid #EE86A1;
  padding-block: 2.85rem 2.9rem;
}
@media screen and (max-width: 767px) {
  .p-access__hours-td {
    border-bottom: 0.1rem solid #EE86A1;
    padding-block: 1.1rem 1.25rem;
  }
}
.p-access__hours-td .circle {
  color: #EE86A1;
}
.p-access__hours-td:last-child {
  border-right: 0.2rem solid #EE86A1;
  border-radius: 0 0 0.8rem 0; /* 右下の角だけ8px */
}
@media screen and (max-width: 767px) {
  .p-access__hours-td:last-child {
    border-right: 0.1rem solid #EE86A1;
    border-radius: 0 0 0.32rem 0;
  }
}
.p-access__hours-td:first-child {
  border-radius: 0 0 0 0.8rem; /* 左下の角だけ8px */
  font-weight: 700;
  background: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-access__hours-td:first-child {
    border-radius: 0 0 0 0.32rem;
    font-weight: 500;
    white-space: nowrap;
    font-feature-settings: "palt" on;
  }
}

.p-access__hours-attention {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-access__hours-attention {
    margin-top: 0.8rem;
    gap: 0.4rem;
  }
}

.p-access__hours-text {
  font-size: max(1.6rem, 12.8px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-access__hours-text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__hours-text {
    font-size: 1.3rem;
  }
}

/*診療時間・アクセスページ（アクセス）
***************************************************************/
.p-access {
  padding-block: 12rem 13.2rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-access {
    padding-block: 5.4rem 6.4rem;
  }
}
.p-access::before {
  content: "";
  position: absolute;
  left: calc(50% - 50vw);
  bottom: 0;
  width: 100vw;
  height: 60.8365019011%;
  background: #FFEFEE;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-access::before {
    height: 75.5801104972%;
  }
}

.p-access__container {
  margin-top: 5.6rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-access__container {
    margin-top: 3.2rem;
  }
}

.p-access__map {
  width: 100%;
  padding-top: 46.0185185185%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-access__map {
    width: 100%;
    padding-top: 61.7857142857%;
  }
}
.p-access__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-access__contents {
  margin-top: 5.7rem;
  display: flex;
  align-items: flex-start;
  gap: 1.7rem;
}
@media screen and (max-width: 767px) {
  .p-access__contents {
    margin-top: 2.4rem;
    flex-direction: column;
    gap: 2.4rem;
  }
}

.p-access__info {
  width: 48.6111111111%;
}
@media screen and (max-width: 767px) {
  .p-access__info {
    width: 100%;
  }
}

.p-access__clinic {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-access__clinic {
    gap: 1.6rem;
  }
}

.p-access__clinic-name {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #EE86A1;
  display: flex;
  gap: 1.6rem;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-access__clinic-name {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__clinic-name {
    font-size: 2rem;
    gap: 0.8rem;
  }
}
.p-access__clinic-name::before {
  content: "";
  background: url(../img/logo_icon.webp) no-repeat center center/contain;
  width: 4.6rem;
  height: 4.8rem;
  aspect-ratio: 46/48;
}
@media screen and (max-width: 767px) {
  .p-access__clinic-name::before {
    width: 3.1rem;
    height: 3.2rem;
  }
}

.p-access__clinic-address {
  font-size: max(1.6rem, 11.2px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-access__clinic-address {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__clinic-address {
    font-size: 1.4rem;
  }
}

.p-access__root-info {
  display: flex;
  flex-direction: column;
  gap: 4.3rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-access__root-info {
    gap: 1.5rem;
    margin-top: 2.3rem;
  }
}

.p-access__root {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 8.4rem;
}
@media screen and (max-width: 767px) {
  .p-access__root {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__root {
    font-size: 1.4rem;
    padding-left: 4.7rem;
  }
}
.p-access__root::before {
  content: "";
  position: absolute;
  width: 6rem;
  height: 6rem;
  left: 0;
  top: -1.4rem;
}
@media screen and (max-width: 767px) {
  .p-access__root::before {
    width: 4rem;
    height: 4rem;
    top: -0.7rem;
  }
}
.p-access__root.root--train::before {
  background: url(../img/icon-train.webp) no-repeat center center/cover;
}
.p-access__root.root--car::before {
  background: url(../img/icon-car.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .p-access__root.root--car::before {
    top: 0; /*スマホのみ*/
  }
}

.p-access__img {
  width: 49.8148148148%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-access__img {
    width: 100%;
  }
}
.p-access__img img {
  aspect-ratio: 538/358;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-access__img::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  background: #FAD6D5;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-access__img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}

/*診療時間・アクセスページ（駐車場案内）
***************************************************************/
.p-access__parking {
  padding-block: 12rem 13.6rem;
}
@media screen and (max-width: 767px) {
  .p-access__parking {
    padding-block: 5.6rem 6.4rem;
  }
}

.p-access__parking-container {
  max-width: 97.2rem;
  margin-inline: auto;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-access__parking-container {
    margin-top: 3.2rem;
  }
}

.p-access__parking-text {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-access__parking-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access__parking-text {
    text-align: left;
    font-size: 1.4rem;
  }
}

.p-access__parking-img-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10.2rem;
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-access__parking-img-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
}

.p-access__parking-img {
  position: relative;
  z-index: 1;
}
.p-access__parking-img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1.6rem;
  left: 1.6rem;
  background: #FAD6D5;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-access__parking-img::before {
    top: 0.8rem;
    left: 0.8rem;
  }
}
.p-access__parking-img img {
  aspect-ratio: 435/310;
}

/*医院紹介
***************************************************************/
.p-clinic {
  padding-block: 8rem 12rem;
}
@media screen and (max-width: 767px) {
  .p-clinic {
    padding-block: 4rem 5.6rem;
  }
}

.p-clinic__movie {
  max-width: 108.2rem;
  margin-inline: auto;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__movie {
    margin-top: 2.4rem;
  }
}

.p-clinic__movie-iframe {
  overflow: hidden;
}
.p-clinic__movie-iframe iframe {
  width: 108.2rem;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1082/662;
  vertical-align: top;
}

/*医院紹介（室内紹介）
***************************************************************/
.p-clinic__rooms {
  padding-top: 9.7rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__rooms {
    padding-top: 4.9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__rooms .c-title-flower {
    order: 1;
    margin-inline: auto;
  }
}

.p-clinic__room-container {
  margin-top: 5.8rem;
  display: flex;
  flex-direction: column;
  gap: 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__room-container {
    margin-top: 3.2rem;
    gap: 4.1rem;
  }
}

.p-clinic__room {
  display: flex;
  gap: 6rem;
  align-items: flex-start;
}
.p-clinic__room:nth-child(even) {
  flex-direction: row-reverse;
}
.p-clinic__room:nth-child(even) .p-clinic__room-img {
  left: -1.6rem;
  top: -1.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__room {
    flex-direction: column;
    gap: 0;
  }
  .p-clinic__room:nth-child(even) {
    flex-direction: column;
  }
  .p-clinic__room:nth-child(even) .p-clinic__room-img {
    left: 0;
    top: 0;
  }
}

.p-clinic__room-img {
  width: 59.7222222222%;
  position: relative;
  z-index: 1;
}
.p-clinic__room-img.room-img03 {
  top: -1.6rem;
}
.p-clinic__room-img::before {
  content: "";
  position: absolute;
  background: #FAD6D5;
  width: 100%;
  height: 100%;
  top: 1.6rem;
  left: 1.6rem;
  z-index: -1;
}
.p-clinic__room-img img {
  aspect-ratio: 645/385;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-clinic__room-img {
    width: 98%;
    margin-right: 0.6rem;
    order: 2;
  }
  .p-clinic__room-img.room-img02 {
    margin-top: 3rem;
  }
  .p-clinic__room-img.room-img03 {
    top: 0;
    margin-top: 3rem;
  }
  .p-clinic__room-img::before {
    top: 0.6rem;
    left: 0.6rem;
  }
  .p-clinic__room-img img {
    aspect-ratio: 274/164;
  }
}

.p-clinic__room-description {
  width: 34.9074074074%;
  display: flex;
  flex-direction: column;
  gap: 4.95rem;
}
.p-clinic__room-description.description01 {
  gap: 1.6rem;
}
.p-clinic__room-description.description03 {
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__room-description {
    width: 100%;
    display: contents;
    gap: 0;
  }
  .p-clinic__room-description.description01 {
    gap: 0;
  }
  .p-clinic__room-description.description03 {
    padding-top: 0;
  }
}

.p-clinic__room-img-sub img {
  aspect-ratio: 377/221;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-clinic__room-img-sub {
    order: 4;
    width: 20rem;
    margin-inline: auto;
    margin-top: 2.4rem;
  }
}

.p-clinic__room-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-clinic__room-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__room-text {
    order: 3;
    font-size: 1.4rem;
    margin-top: 3.3rem;
  }
}

/*医院紹介（精密機器）
***************************************************************/
.p-clinic__equipment {
  padding-block: 9.5rem;
  background: #FFEFEE;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment {
    padding-block: 5.6rem;
  }
}

.p-clinic__equipment-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5.6rem 2.8rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
}

.p-clinic__equipment-item {
  background: #FFFFFF;
  min-height: 48.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-item {
    min-height: auto;
  }
}

.p-clinic__equipment-img img {
  aspect-ratio: 340/210;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-img img {
    aspect-ratio: 280/173;
  }
}

.p-clinic__equipment-body {
  padding: 0 1.6rem 1.6rem 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-body {
    padding: 0 1.2rem 1.6rem 1.2rem;
  }
}

.p-clinic__equipment-title {
  font-size: max(2.4rem, 15.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #F35F85;
  width: 30.8rem;
  margin-inline: auto;
  padding: 1.1rem;
  background: #FAD6D5;
  text-align: center;
  position: relative;
  margin-top: -3.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-title {
    font-size: 1.8rem;
    width: 25.6rem;
    padding: 1.3rem;
    margin-top: -3rem;
  }
}
.p-clinic__equipment-title::before {
  content: "";
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.8rem;
  border: 0.1rem solid #FFFFFF;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-title::before {
    top: 0.6rem;
    left: 0.6rem;
    right: 0.6rem;
    bottom: 0.6rem;
  }
}

.p-clinic__equipment-text {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
  padding-inline: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__equipment-text {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}

/*医院紹介（滅菌対策）
***************************************************************/
.p-clinic__sterilization {
  padding-block: 9.5rem 12rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization {
    padding-block: 5.6rem 2.4rem;
  }
}

.p-clinic__sterilization-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 2.9rem;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-container {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
}

.p-clinic__sterilization-item {
  background: #E3EFF7;
  min-height: 51.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-item {
    min-height: auto;
  }
}

.p-clinic__sterilization-img img {
  aspect-ratio: 340/210;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-img img {
    aspect-ratio: 280/173;
  }
}

.p-clinic__sterilization-body {
  padding: 1.6rem 2rem 1.4rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-body {
    padding: 1.6rem;
  }
}

.p-clinic__sterilization-title {
  font-size: max(2.4rem, 15.6px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #FFFFFF;
  background: #71C0EF;
  text-align: center;
  padding: 1.1rem 0.6rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-title {
    font-size: 1.8rem;
    line-height: 1.65;
    padding: 0.8rem;
  }
}

.p-clinic__sterilization-text {
  font-size: max(1.6rem, 10.4px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__sterilization-text {
    font-size: 1.4rem;
  }
}

/*医院紹介（施設基準）
***************************************************************/
.p-clinic__standard {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard {
    padding-bottom: 5.4rem;
  }
}

.p-clinic__standard-head {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  font-family: "Noto Serif JP", sans-serif;
  color: #FFFFFF;
  background: #EE86A1;
  border-radius: 1.6rem 1.6rem 0 0;
  text-align: center;
  padding: 1.5rem 1.5rem 2.4rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-head {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-head {
    font-size: 1.6rem;
    border-radius: 0.8rem 0.8rem 0 0;
    padding: 1.6rem 1.2rem;
    line-height: 1.6;
  }
}

.p-clinic__standard-container {
  border-radius: 0 0 1.6rem 1.6rem;
  border: 0.3rem solid #EE86A1;
  padding: 3.2rem 4rem 3.3rem 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-container {
    border-radius: 0 0 0.8rem 0.8rem;
    border: 0.2rem solid #EE86A1;
    padding: 2rem 2rem 2.2rem 2rem;
  }
}

.p-clinic__standard-notes {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  color: #F35F85;
  padding-inline: 6.8rem;
  padding-bottom: 2.4rem;
  border-bottom: 0.1rem solid #D0D0D0;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-notes {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-notes {
    font-size: 1.4rem;
    font-weight: 500;
    padding-inline: 0;
    padding-bottom: 2rem;
  }
}

.p-clinic__standard-body {
  padding-inline: 6.8rem;
  padding-top: 2.3rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-body {
    padding-inline: 0;
    padding-top: 1.9rem;
  }
}

.p-clinic__standard-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-text {
    font-size: 1.4rem;
  }
}

.p-clinic__standard-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-list {
    gap: 0.8rem;
    margin-top: 2rem;
  }
}
.p-clinic__standard-list li {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-list li {
    gap: 1.2rem;
  }
}

.p-clinic__standard-list-num {
  width: 4rem;
  height: 4rem;
  aspect-ratio: 1;
  flex-shrink: 0;
  border-radius: 100vmax;
  background: #71C0EF;
  color: #FFFFFF;
  display: grid;
  place-content: center;
  font-family: "Montserrat", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-list-num {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.4rem;
    margin-top: 0.3rem;
  }
}

.p-clinic__standard-list-text {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 0.2rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-list-text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-clinic__standard-list-text {
    font-size: 1.3rem;
    margin-top: 0;
  }
}

/* ご予約・お問い合わせ
***************************************************************/
.p-reservation {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-reservation {
    padding-block: 4rem 5.6rem;
  }
}

.p-reservation__box {
  border-radius: 1.6rem;
  border: 0.3rem solid #71C0EF;
}

.p-reservation__box-title {
  font-size: max(3.6rem, 23.4px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  text-align: center;
  color: #FFFFFF;
  font-family: "Noto Serif JP", sans-serif;
  background: #71C0EF;
  padding-block: 1.3rem 2rem;
  border-radius: 1.2rem 1.2rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-reservation__box-title {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation__box-title {
    font-size: 2rem;
    text-align: left;
    padding: 1.4rem 2.3rem 1.6rem 5.9rem;
  }
}
.p-reservation__box-title span {
  position: relative;
  padding-left: 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__box-title span {
    padding-left: 0;
  }
}
.p-reservation__box-title span::before {
  content: "";
  width: 5rem;
  height: 4.386rem;
  background: url(../img/reservation/icon_attention.svg) no-repeat center center/contain;
  position: absolute;
  top: 56%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-reservation__box-title span::before {
    top: 0.2rem;
    left: -3.3rem;
    transform: translateY(0);
    width: 2.5rem;
    height: 2.2rem;
  }
}

.p-reservation__box-content {
  padding: 3.7rem 9.5rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__box-content {
    padding: 2.4rem 1.9rem 2.1rem;
  }
}

.p-reservation__box-list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__box-list {
    gap: 1.65rem;
  }
}

.p-reservation__box-item {
  font-size: max(1.8rem, 11.7px);
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__box-item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation__box-item {
    font-size: 1.4rem;
    padding-left: 2.6rem;
  }
}
.p-reservation__box-item::before {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0;
  width: 2.5768rem;
  height: 2.2rem;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-reservation__box-item::before {
    width: 1.8rem;
    height: 1.65rem;
  }
}

.p-reservation__tel {
  margin-top: 6rem;
  max-width: 64.8rem;
  margin-inline: auto;
  background: #71C0EF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  position: relative;
  padding: 2.4rem 7.2rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__tel {
    margin-top: 4rem;
    max-width: 100%;
    gap: 0.5rem;
    padding: 1.6rem 2rem;
  }
}

.p-reservation__tel-text {
  font-size: max(2.4rem, 15.6px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  text-align: center;
  background: #FFFFFF;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-text {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-text {
    font-size: 1.4rem;
    line-height: 1.65;
    letter-spacing: 0.05em;
    display: block;
    padding-block: 0.2rem;
  }
}

.p-reservation__tel-number {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  color: #FFFFFF;
  padding-left: 6.4rem;
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-number {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-number {
    font-size: 3.2rem;
    line-height: 1;
    padding-left: 2.6rem;
    letter-spacing: 0;
  }
}
.p-reservation__tel-number::before {
  content: "";
  position: absolute;
  background: url(../img/icon_tel--white.webp) no-repeat center center/contain;
  left: 0.2rem;
  top: 0.2rem;
  width: 3.6738rem;
  height: 4.897rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-number::before {
    width: 1.9rem;
    height: 2.5rem;
    left: 0;
  }
}

.p-reservation__tel-time {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-time {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-time {
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.05em;
  }
}
.p-reservation__tel-time .small {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-time .small {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation__tel-time .small {
    font-size: 1.4rem;
  }
}

/*WEB予約ページ（WEBからのご予約）
***************************************************************/
.p-reservation-web {
  background: #FFEFEE;
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web {
    padding-block: 5.6rem;
  }
}

.p-reservation-web__text {
  margin-top: 5.6rem;
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
  padding-inline: 10.8rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation-web__text {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.05em;
    padding-inline: 0;
  }
}

.p-reservation-web__container {
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__container {
    margin-top: 2.2rem;
  }
}

.p-reservation-web__links {
  display: flex;
  justify-content: center;
  gap: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__links {
    flex-direction: column;
    gap: 2.2rem;
  }
}

.p-reservation-web__link {
  display: block;
  width: 46.2962962963%;
  padding-block: 4.1rem;
  border-radius: 0.8rem;
  border: 0.3rem solid #EE86A1;
  background: #EE86A1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link {
    width: 100%;
    padding-block: 2.2rem;
  }
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-img {
  width: 15rem;
  height: 15rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link:first-of-type .p-reservation-web__link-img {
    width: 7.5rem;
    height: 7.5rem;
  }
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  -o-object-fit: contain;
     object-fit: contain;
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-img img.p-reservation-web__link-img--hover {
  opacity: 0;
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-text::after {
  display: none;
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-text {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link:first-of-type .p-reservation-web__link-text {
    gap: 1.6rem;
  }
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-text .p-reservation-web__link-arrow {
  position: relative;
  width: 5rem;
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link:first-of-type .p-reservation-web__link-text .p-reservation-web__link-arrow {
    width: 3rem;
    height: 3rem;
  }
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-text .p-reservation-web__link-arrow img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.p-reservation-web__link:first-of-type .p-reservation-web__link-text .p-reservation-web__link-arrow .p-reservation-web__link-arrow--hover {
  opacity: 0;
}
@media (any-hover: hover) {
  .p-reservation-web__link:first-of-type:hover {
    background: #FFFFFF;
  }
  .p-reservation-web__link:first-of-type:hover .p-reservation-web__link-title {
    color: #EE86A1;
  }
  .p-reservation-web__link:first-of-type:hover .p-reservation-web__link-img img.p-reservation-web__link-img--normal {
    opacity: 0;
  }
  .p-reservation-web__link:first-of-type:hover .p-reservation-web__link-img img.p-reservation-web__link-img--hover {
    opacity: 1;
  }
  .p-reservation-web__link:first-of-type:hover .p-reservation-web__link-text {
    color: #EE86A1;
  }
  .p-reservation-web__link:first-of-type:hover .p-reservation-web__link-arrow .p-reservation-web__link-arrow--normal {
    opacity: 0;
  }
  .p-reservation-web__link:first-of-type:hover .p-reservation-web__link-arrow .p-reservation-web__link-arrow--hover {
    opacity: 1;
  }
}
.p-reservation-web__link:nth-of-type(2) {
  background: #FAD6D5;
  transition: background 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.p-reservation-web__link:nth-of-type(2) .p-reservation-web__link-title {
  color: #F35F85;
}
.p-reservation-web__link:nth-of-type(2) .p-reservation-web__link-img {
  width: 15rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link:nth-of-type(2) .p-reservation-web__link-img {
    width: 7.5rem;
  }
}
.p-reservation-web__link:nth-of-type(2) .p-reservation-web__link-text {
  color: #595757;
}
.p-reservation-web__link:nth-of-type(2) .p-reservation-web__link-text::after {
  background-image: url(../img/reservation/icon_reserve-button-arrow--pink.svg);
}
@media (any-hover: hover) {
  .p-reservation-web__link:nth-of-type(2):hover {
    background: #FFFFFF;
  }
}

.p-reservation-web__link-title {
  font-size: max(3.6rem, 23.4px);
  font-weight: 700;
  line-height: 1.3;
  color: #FFFFFF;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link-title {
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link-title {
    font-size: 2.4rem;
    line-height: 1.3;
  }
}

.p-reservation-web__link-img {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link-img {
    margin-top: 0.8rem;
  }
}
.p-reservation-web__link-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-reservation-web__link-text {
  margin-top: 2.5rem;
  font-size: max(3.2rem, 20.8px);
  font-weight: 700;
  line-height: 1.3;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  white-space: nowrap;
  transition: color 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link-text {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link-text {
    margin-top: 1.8rem;
    font-size: 2rem;
    letter-spacing: 0;
    gap: 1.4rem;
  }
}
.p-reservation-web__link-text::after {
  content: "";
  background: url(../img/reservation/icon_reserve-button-arrow.svg) no-repeat center center/cover;
  width: 5rem;
  aspect-ratio: 1;
  transition: all 0.3s ease;
  overflow: visible;
  transition: background-image 0.45s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (max-width: 767px) {
  .p-reservation-web__link-text::after {
    width: 3rem;
  }
}

/*LINE予約ページ（LINEから簡単ご予約）
***************************************************************/
.p-reservation-line {
  padding-block: 12rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line {
    padding-block: 5.6rem;
  }
}

.p-reservation-line__text {
  font-size: max(2rem, 13px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: 0.05em;
  margin-top: 5.6rem;
  padding-inline: 10.8rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation-line__text {
    font-size: max(1.4rem, 9.1px);
    font-weight: 400;
    line-height: 1.85;
    letter-spacing: 0.05em;
    margin-top: 2.4rem;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-reservation-line__text {
    font-size: 1.4rem;
  }
}

.p-reservation-line__container {
  margin-top: 4rem;
  display: flex;
  align-items: flex-start;
  gap: 5.6rem;
  max-width: 94.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__container {
    margin-top: 2.4rem;
    flex-direction: column;
    gap: 2.4rem;
    max-width: 100%;
  }
}

.p-reservation-line__left {
  width: 64.936440678%;
  background: #FFEFEE;
  padding: 5.6rem 4.2rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left {
    width: 100%;
    padding: 3.2rem 2.2rem;
  }
}

.p-reservation-line__left-title {
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  color: #EE86A1;
  position: relative;
  padding-left: 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-title {
    font-size: 1.8rem;
  }
}
.p-reservation-line__left-title::before {
  content: "";
  width: 0.6rem;
  height: 3rem;
  background: #EE86A1;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-title {
    font-size: 1.6rem;
    padding-left: 1.9rem;
  }
  .p-reservation-line__left-title::before {
    width: 0.6rem;
  }
}

.p-reservation-line__left-list {
  margin-top: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-list {
    margin-top: 1.4rem;
    gap: 0.5rem;
  }
}

.p-reservation-line__left-item {
  padding-left: 3.4rem;
  position: relative;
  font-size: max(1.8rem, 11.7px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-item {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-item {
    padding-left: 2.9rem;
    font-size: 1.6rem;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}
.p-reservation-line__left-item::before {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0;
  width: 2.5768rem;
  height: 2.2rem;
  background: url(../img/icon_check.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-item::before {
    top: 0.3rem;
    width: 2rem;
    height: 1.7rem;
  }
}

.p-reservation-line__left-attention {
  font-size: max(1.6rem, 10.4px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: 0.05em;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-attention {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reservation-line__left-attention {
    font-size: 1.4rem;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}

.p-reservation-line__right {
  background: #FAD6D5;
  width: 29.1313559322%;
  padding: 2.6rem 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__right {
    width: 100%;
  }
}

.p-reservation-line__right-title {
  position: relative;
  display: block;
  padding: 1.6rem 2.4rem 1.6rem 6.1rem;
  border-radius: 0.8rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2083333333;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  background: #EE86A1;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-reservation-line__right-title {
    font-size: 2.4rem;
  }
}
.p-reservation-line__right-title::before {
  content: "";
  position: absolute;
  top: 47%;
  translate: 0 -46%;
  left: 2.3rem;
  width: 3rem;
  height: 3rem;
  background: url(../img/icon_calendar-white.svg) no-repeat center center/cover;
}

.p-reservation-line__right-qr {
  margin-top: 1.6rem;
}
.p-reservation-line__right-qr img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ディスプレイ表示切り替え
***************************************************************/
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
/* テキスト装飾
***************************************************************/
.u-text-bold {
  font-weight: 700;
}

.u-text-normal {
  font-weight: 500;
}

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

.u-text-right {
  text-align: right;
}

.u-text-palt {
  font-feature-settings: "palt" 1;
}

.u-text-pink {
  color: #F35F85;
}

.u-text-black {
  color: #595757;
}

.u-text-white {
  color: #FFFFFF;
}

.u-text-nowrap {
  white-space: nowrap;
}

.u-under-pink {
  text-decoration-color: #EE86A1;
  text-decoration-line: underline;
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 0.3rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (max-width: 767px) {
  .u-under-pink {
    text-decoration-thickness: 0.1rem;
  }
}

.u-under-blue {
  text-decoration-color: #71C0EF;
  text-decoration-line: underline;
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 0.3rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (max-width: 767px) {
  .u-under-blue {
    text-decoration-thickness: 0.1rem;
  }
}

.u-marker-blue {
  text-decoration-color: #E3EFF7;
  text-decoration-line: underline;
  text-decoration-thickness: 1.5rem;
  text-underline-offset: -0.7rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (max-width: 767px) {
  .u-marker-blue {
    text-decoration-thickness: 0.7rem;
    text-underline-offset: -0.2rem;
  }
}

.u-marker-white {
  text-decoration-color: #FFFFFF;
  text-decoration-line: underline;
  text-decoration-thickness: 1.5rem;
  text-underline-offset: -0.7rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (max-width: 767px) {
  .u-marker-white {
    text-decoration-thickness: 0.7rem;
    text-underline-offset: -0.2rem;
  }
}

.u-marker-pink {
  text-decoration-color: #FAD6D5;
  text-decoration-line: underline;
  text-decoration-thickness: 1.5rem;
  text-underline-offset: -0.7rem;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media screen and (max-width: 767px) {
  .u-marker-pink {
    text-decoration-thickness: 0.7rem;
    text-underline-offset: -0.2rem;
  }
}

/* ===============================================
#20260128 追記
=============================================== */
.p-top-introduction__link-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .p-top-introduction__link-wrap {
    margin-top: 6.4rem;
    margin-bottom: 0rem;
  }
}

.p-top-introduction__link-title {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .p-top-introduction__link-title {
    font-size: 16px;
  }
}

.p-top-introduction__link {
  margin-inline: auto;
  display: block;
  max-width: 300px;
}

@media screen and (max-width: 767px) {
  .p-top-introduction__link {
    max-width: 250px;
  }
}