/* ========================================== 婦人科 ========================================== */
.gynecology a{
	font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

@media (max-width: 768px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }
}


/* ==========================================
   婦人科ファーストビュー
========================================== */

.gyne-fv {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 750px;
  background: #fffafa;
  color: #4b2c3b;
}

/* 左側から右側写真へつながる白いグラデーション */
.gyne-fv::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      #fffdfd 0%,
      #fffafa 39%,
      rgba(255, 250, 250, 0.96) 46%,
      rgba(255, 250, 250, 0.68) 54%,
      rgba(255, 255, 255, 0) 69%
    ),
    radial-gradient(
      circle at 20% 45%,
      rgba(255, 229, 235, 0.42) 0%,
      rgba(255, 255, 255, 0) 32%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.06) 0%,
      rgba(255, 244, 247, 0.24) 100%
    );
  pointer-events: none;
}

/* ==========================================
   右側メイン写真
========================================== */
.gyne-fv__main-visual {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    width: 51%;
    height: 100%;
}

/* 写真の左端と下部を背景になじませる */
.gyne-fv__main-visual::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(255, 253, 253, 0.96) 0%,
      rgba(255, 253, 253, 0.68) 14%,
      rgba(255, 255, 255, 0.18) 32%,
      rgba(255, 255, 255, 0) 48%
    ),
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 60%,
      rgba(255, 246, 248, 0.22) 100%
    );
  pointer-events: none;
}

.gyne-fv__main-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* ==========================================
   背景装飾
========================================== */

.gyne-fv__decor {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.gyne-fv__decor img {
  display: block;
  width: 100%;
  height: auto;
}

/* 中央付近の花びら */
.gyne-fv__decor--petal {
  top: 195px;
  left: 46%;
  width: 64px;
  opacity: 0.48;
  transform: rotate(8deg);
}

/* 左下の桜 */
.gyne-fv__decor--flower {
  left: -10px;
  bottom: -10px;
  width: 195px;
  opacity: 0.72;
}

/* ==========================================
   内側レイアウト
========================================== */
.gyne-fv__inner {
    position: relative;
    z-index: 3;
    width: 88%;
    min-height: 750px;
    margin: 0 auto;
    padding: 25px 0 45px;
    box-sizing: border-box;
}
/* ==========================================
   左側メインテキスト
========================================== */

.gyne-fv__content {
    width: 58%;
}

.gyne-fv__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 16px;
  padding: 0 19px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    #ee7892 0%,
    #e95e7e 100%
  );
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.gyne-fv__label::after {
  content: "";
  position: absolute;
  right: 7px;
  bottom: -6px;
  width: 14px;
  height: 10px;
  background: #e95e7e;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.gyne-fv__title {
    margin: 0;
    color: #4b2c3b;
    font-family: "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
    font-size: clamp(34px, 3.2vw, 51px);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 2px;
}

.gyne-fv__title-line {
  display: block;
}

.gyne-fv__title-line + .gyne-fv__title-line {
  margin-top: 3px;
}

.gyne-fv__title strong {
  color: #eb6281;
  font-size: 1.07em;
  font-weight: 500;
}

.gyne-fv__lead {
    margin: 17px 0;
    color: #2f292c;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.035em;
}

/* ==========================================
   4つの特徴
========================================== */

.gyne-fv__points {
  display: flex;
  gap: 12px;
}

.gyne-fv-point {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  min-height: 62px;
  padding: 7px 13px;
  border: 1px solid rgba(238, 215, 219, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 5px 15px rgba(181, 124, 142, 0.1);
  box-sizing: border-box;
}

.gyne-fv-point:nth-child(1) {
  flex: 1.08;
}

.gyne-fv-point:nth-child(2) {
  flex: 0.96;
}

.gyne-fv-point:nth-child(3) {
  flex: 0.92;
}

.gyne-fv-point:nth-child(4) {
  flex: 0.9;
}

.gyne-fv-point__icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
}

.gyne-fv-point__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gyne-fv-point__text {
  margin: 0;
  color: #332d30;
  line-height: 1.3;
  white-space: nowrap;
}

.gyne-fv-point__text span,
.gyne-fv-point__text strong {
  display: block;
}

.gyne-fv-point__text span {
  font-size: 13px;
  font-weight: 500;
}

.gyne-fv-point__text strong {
  margin-top: 3px;
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 17px;
  font-weight: 500;
}

/* ==========================================
   CTAボタン
========================================== */

.gyne-fv__buttons {
  display: grid;
  grid-template-columns: 1.12fr 0.83fr;
  gap: 22px;
  margin-top: 27px;
}

.gyne-fv__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 0 58px 0 35px;
  border-radius: 999px;
  box-sizing: border-box;
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.gyne-fv__button:hover {
  opacity: 0.87;
  transform: translateY(-2px);
}

.gyne-fv__button--reservation {
  gap: 15px;
  background: linear-gradient(
    180deg,
    #ef6e91 0%,
    #e34f76 100%
  );
  box-shadow: 0 11px 23px rgba(224, 77, 116, 0.22);
  color: #fff;
}

.gyne-fv__button--menu {
  border: 1px solid rgba(201, 169, 121, 0.72);
  background: rgba(255, 255, 255, 0.86);
  color: #47393e;
}

.gyne-fv__button-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
}

.gyne-fv__button-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gyne-fv__button-arrow {
  position: absolute;
  right: 34px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.gyne-fv__button--menu .gyne-fv__button-arrow {
  color: #bd956b;
}

/* ==========================================
   初診相談テキスト
========================================== */
.gyne-fv__consultation {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 38px 0 0 16px;
    color: #6b4856;
    font-family: "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.06em;
}

.gyne-fv__consultation-icon {
  color: #e9597d;
  font-size: 24px;
  line-height: 1;
}

/* ==========================================
   安心バッジ
========================================== */

.gyne-fv__assurance {
  position: absolute;
  z-index: 6;
  top: 416px;
  right: 60px;
  width: 145px;
}

.gyne-fv__assurance img {
  display: block;
  width: 100%;
  height: auto;
}

/* ==========================================
   下部診療メニュー
========================================== */
.gyne-fv__menus {
    position: absolute;
    z-index: 5;
    left: 10px;
    right: 10px;
    bottom: 2.5rem;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.gyne-fv-menu {
    position: relative;
    display: grid;
    grid-template-columns: 55px minmax(0, 1fr);
    align-items: center;
    min-height: 126px;
    padding: 0rem 2rem;
    border: 1px solid rgba(230, 211, 216, 0.72);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 11px 24px rgba(178, 131, 146, 0.13);
    box-sizing: border-box;
    transition: transform 0.25s ease,
    box-shadow 0.25s ease;
    gap: 10px;
}

.gyne-fv-menu:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 28px rgba(178, 131, 146, 0.18);
}

.gyne-fv-menu__icon {
    display: grid;
    place-items: center;
    width: 100%;
    height: auto;
    border-radius: 50%;
    background: radial-gradient(
    circle,
    rgba(255, 233, 240, 0.98) 0%,
    rgba(255, 247, 249, 0.94) 100%
  );
    aspect-ratio: 1 / 1;
}

.gyne-fv-menu--purple .gyne-fv-menu__icon {
  background: radial-gradient(
    circle,
    rgba(241, 232, 248, 0.98) 0%,
    rgba(250, 246, 252, 0.94) 100%
  );
}

.gyne-fv-menu__icon img {
  display: block;
  width: 49px;
  height: 49px;
  object-fit: contain;
}

.gyne-fv-menu__body {
  min-width: 0;
}

.gyne-fv-menu__title {
    margin: 0 0 2px;
    color: #352d31;
    font-family: "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.gyne-fv-menu__text {
    margin: 0;
    color: #65565d;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
    letter-spacing: normal;
}

.gyne-fv-menu__link {
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: inherit;
}

/* ==========================================
   タブレット
========================================== */

@media screen and (max-width: 1200px) {
  .gyne-fv {
    min-height: auto;
    padding-bottom: 42px;
  }

  .gyne-fv__main-visual {
    width: 58%;
  }

  .gyne-fv__inner {
    width: min(92%, 1080px);
    min-height: 720px;
    padding-bottom: 0;
  }

  .gyne-fv__content {
    width: 57%;
  }

  .gyne-fv__title {
    font-size: clamp(32px, 4vw, 45px);
  }

  .gyne-fv__lead {
    font-size: 15px;
  }

  .gyne-fv__lead br {
    display: none;
  }

  .gyne-fv__points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .gyne-fv__buttons {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .gyne-fv__button {
    min-height: 57px;
    font-size: 18px;
  }

.gyne-fv__assurance {
    right: 30px;
    width: 125px;
    top: 83rem;
}

  .gyne-fv__decor--petal {
    top: 210px;
    left: 50%;
    width: 52px;
  }

  .gyne-fv__decor--flower {
    left: -20px;
    bottom: 0;
    width: 150px;
  }

  .gyne-fv__menus {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 34px;
  }
}

/* ==========================================
   スマートフォン
========================================== */

@media screen and (max-width: 767px) {
  .gyne-fv {
    min-height: 0;
    padding-bottom: 34px;
    background: #fffafa;
  }

  .gyne-fv::before {
    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 18%,
        rgba(255, 250, 250, 0.36) 34%,
        #fffafa 54%,
        #fffafa 100%
      );
  }

  .gyne-fv__main-visual {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 320px;
    margin-bottom: -58px;
  }

  .gyne-fv__main-visual::before {
    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 35%,
        rgba(255, 250, 250, 0.35) 68%,
        #fffafa 98%
      );
  }

  .gyne-fv__main-visual img {
    object-position: 62% top;
  }

  .gyne-fv__decor--petal {
    top: 275px;
    left: auto;
    right: 18px;
    width: 42px;
    opacity: 0.42;
  }

  .gyne-fv__decor--flower {
    top: 250px;
    bottom: auto;
    left: -32px;
    width: 125px;
    opacity: 0.55;
  }

  .gyne-fv__inner {
    width: min(90%, 520px);
    min-height: 0;
    padding: 0;
  }

.gyne-fv__content {
    width: 100%;
    padding: 2rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 28px rgba(181, 130, 145, 0.13);
    box-sizing: border-box;
}

  .gyne-fv__label {
    min-height: 29px;
    margin-bottom: 14px;
    padding: 0 15px;
    font-size: 13px;
  }

.gyne-fv__title {
    font-size: 2.6rem;
    line-height: 1.45;
    letter-spacing: normal;
    text-align: center;
}

  .gyne-fv__lead {
    margin: 16px 0;
    font-size: 14px;
    line-height: 1.85;
  }

  .gyne-fv__points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

.gyne-fv-point {
    min-height: 58px;
    padding: 5px 10px 5px 0;
    gap: 6px;
}


  .gyne-fv-point__text span {
    font-size: 11px;
  }

  .gyne-fv-point__text strong {
    font-size: 14px;
  }

  .gyne-fv__buttons {
    margin-top: 20px;
  }

  .gyne-fv__button {
    width: 100%;
    min-height: 55px;
    padding: 0 46px 0 24px;
    font-size: 16px;
  }

  .gyne-fv__button-icon {
    width: 29px;
    height: 29px;
  }

  .gyne-fv__button-arrow {
    right: 24px;
  }

  .gyne-fv__consultation {
    margin: 16px 0 0;
    font-size: 13px;
  }

  .gyne-fv__assurance {
    top: -108px;
    right: 14px;
    width: 95px;
  }

  .gyne-fv__menus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px;
  }


.gyne-fv-menu {
    min-height: 96px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

  .gyne-fv-menu__icon {
    width: 50px;
    height: 50px;
  }

  .gyne-fv-menu__icon img {
    width: 38px;
    height: 38px;
  }


.gyne-fv-menu__title {
    margin-bottom: 5px;
    font-size: 15px;
    text-align: center;
}

  .gyne-fv-menu__text {
    font-size: 9px;
  }


}


/* ==========================================
   池袋で婦人科をお探しの方へ
========================================== */

.ikebukuro-gyn {
  position: relative;
  overflow: hidden;
  padding: 56px 0;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 244, 247, 0.9) 0%, rgba(255, 250, 252, 0.96) 45%, #fff 100%);
  color: #3e3036;
}

.ikebukuro-gyn::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 28%, rgba(255, 220, 230, 0.34) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 86% 78%, rgba(255, 216, 226, 0.42) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.ikebukuro-gyn__inner {
  position: relative;
  z-index: 2;
  width: min(95%, 1460px);
  margin: 0 auto;
}

.ikebukuro-gyn__box {
    position: relative;
    padding: 3rem 4rem 4rem;
    border-radius: 38px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 22px 42px rgba(224, 154, 170, 0.16),
    inset 0 0 0 1px rgba(236, 185, 198, 0.34);
}

.ikebukuro-gyn__main {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 48px;
  align-items: start;
}

.ikebukuro-gyn__content {
  min-width: 0;
}

/* 装飾 */

.ikebukuro-gyn__decor {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.ikebukuro-gyn__decor img {
  display: block;
  width: 100%;
  height: auto;
}
.ikebukuro-gyn__decor--petal01 {
    top: 20px;
    right: 0px;
    width: 12%;
    opacity: 0.72;
}

.ikebukuro-gyn__decor--flower {
  right: 26px;
  bottom: 88px;
  width: 190px;
  opacity: 0.48;
}

/* 見出し */

.ikebukuro-gyn__title-wrap {
    position: relative;
    padding: 26px 0 26px 114px;
    margin-bottom: 26px;
}

.ikebukuro-gyn__title-flower {
    position: absolute;
    left: 0;
    top: 0;
    width: 110px;
}

.ikebukuro-gyn__title-flower img {
  display: block;
  width: 100%;
  height: auto;
}

.ikebukuro-gyn__title-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 76px;
  height: 2px;
  background: linear-gradient(90deg, #e8577d 0%, #e8577d 58%, #f5d2dc 58%, #f5d2dc 100%);
}

.ikebukuro-gyn__title {
    margin: 0;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.13em;
    color: #3f2c35;
}

.ikebukuro-gyn__title span {
  color: #e8577d;
  font-size: 1.08em;
}

.ikebukuro-gyn__lead {
    margin: 0 0 36px;
    font-size: 17px;
    line-height: normal;
    letter-spacing: 0.08em;
    color: #3e3036;
}

/* 右側写真 */

.ikebukuro-gyn__visual {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 8px 8px 30px 8px;
  box-shadow: 0 16px 30px rgba(226, 172, 184, 0.18);
}

.ikebukuro-gyn__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 28%),
    linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255, 232, 238, 0.22) 100%);
  pointer-events: none;
}

.ikebukuro-gyn__visual img {
  display: block;
  width: 100%;
  aspect-ratio: 480 / 520;
  object-fit: cover;
}

/* 特徴カード */

.ikebukuro-gyn__features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    position: relative;
    z-index: 4;
    width: 120%;
}

.ikebukuro-gyn-card {
  min-height: 238px;
  padding: 22px 20px 18px;
  border: 1px solid rgba(236, 193, 203, 0.65);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 20px rgba(203, 141, 158, 0.14);
  text-align: center;
}

.ikebukuro-gyn-card__icon {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #fae8ee;
}

.ikebukuro-gyn-card__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.ikebukuro-gyn-card__title {
  margin: 0 0 14px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.06em;
  color: #3e3036;
}

.ikebukuro-gyn-card__title span {
  color: #e8577d;
}

.ikebukuro-gyn-card__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: 0.04em;
  color: #3e3036;
}

/* CTA */
.ikebukuro-gyn__cta {
    position: relative;
    display: grid;
    grid-template-columns: 0.5fr 2fr 0.5fr 420px;
    align-items: center;
    gap: 26px;
    margin-top: 30px;
    padding: 18px 38px 18px 34px;
    border: 1px solid rgba(234, 124, 151, 0.48);
    border-radius: 18px;
    background: linear-gradient(90deg, rgba(255, 246, 248, 0.96) 0%, rgba(255, 255, 255, 0.78) 100%);
    box-shadow: 0 10px 24px rgba(216, 139, 158, 0.08);
}

.ikebukuro-gyn__cta-illust {
    position: relative;
    width: 90%;
    height: auto;
}

.ikebukuro-gyn__cta-illust .illust_secnd{
    width: 100%;
}

.ikebukuro-gyn__cta-illust img {
  display: block;
  width: 100%;
  height: auto;
}

.ikebukuro-gyn__cta-title {
  margin: 0 0 12px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #3e3036;
}

.ikebukuro-gyn__cta-text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #3e3036;
}

.ikebukuro-gyn__cta-badge {
  position: relative;
  display: grid;
  place-items: center;
  width: 114px;
  height: 114px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(239, 174, 190, 0.6);
  box-shadow: 0 10px 22px rgba(221, 147, 166, 0.13);
  text-align: center;
}

.ikebukuro-gyn__cta-badge::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 1px solid rgba(239, 174, 190, 0.35);
}

.ikebukuro-gyn__cta-badge::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -18px;
  width: 34px;
  height: 28px;
  border-left: 5px solid #f0a5ba;
  border-right: 5px solid #f0a5ba;
  transform: translateX(-50%) rotate(45deg);
  opacity: 0.8;
}

.ikebukuro-gyn__cta-badge span {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  line-height: 1.6;
  color: #d77793;
}

.ikebukuro-gyn__cta-badge strong {
  position: relative;
  z-index: 2;
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  color: #e8577d;
}

.ikebukuro-gyn__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 74px;
  padding: 0 68px 0 48px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ef6e93 0%, #df4d77 100%);
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  box-shadow: 0 12px 22px rgba(220, 77, 119, 0.24);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.ikebukuro-gyn__btn:hover {
  opacity: 0.86;
  transform: translateY(-2px);
}

.ikebukuro-gyn__btn span {
  position: absolute;
  right: 38px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1280px) {
  .ikebukuro-gyn__box {
    padding: 48px 42px 38px;
  }

  .ikebukuro-gyn__main {
    grid-template-columns: 1fr 420px;
    gap: 34px;
  }

  .ikebukuro-gyn__features {
    margin-right: -80px;
  }

  .ikebukuro-gyn-card__title {
    font-size: 18px;
  }

  .ikebukuro-gyn__cta {
    grid-template-columns: 120px 1fr 108px 340px;
    gap: 20px;
  }

  .ikebukuro-gyn__btn {
    min-height: 66px;
    font-size: 18px;
  }
}

@media screen and (max-width: 1024px) {
.ikebukuro-gyn__decor--petal01 {
    top: 40px;
    right: 27px;
    width: 22%;
}

.ikebukuro-gyn__decor--flower {
    right: 66px;
    bottom: 48px;
    width: 230px;
    opacity: 0.48;
}

  .ikebukuro-gyn {
    padding: 44px 0;
  }

  .ikebukuro-gyn__box {
    border-radius: 28px;
  }

  .ikebukuro-gyn__main {
    grid-template-columns: 1fr;
  }

  .ikebukuro-gyn__visual {
    order: -1;
    max-width: 620px;
    margin: 0 auto;
  }

  .ikebukuro-gyn__visual img {
    aspect-ratio: 620 / 390;
  }

  .ikebukuro-gyn__features {
    grid-template-columns: repeat(2, 1fr);
    margin-right: 0;
	  width:100%;
  }

.ikebukuro-gyn__title-wrap {
	padding: 26px 0 39px 114px;
}

.ikebukuro-gyn__title-flower {
    width: 105px;
}

  .ikebukuro-gyn__cta {
    grid-template-columns: 110px 1fr;
  }

  .ikebukuro-gyn__cta-badge {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin: 0 auto;
  }

  .ikebukuro-gyn__btn {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    width: min(100%, 420px);
  }
}

@media screen and (max-width: 767px) {
  .ikebukuro-gyn {
    padding: 32px 0;
  }

  .ikebukuro-gyn__inner {
    width: min(92%, 520px);
  }

  .ikebukuro-gyn__box {
    padding: 34px 20px 28px;
    border-radius: 22px;
  }

.ikebukuro-gyn__title-wrap {
    padding: 0 0 18px 58px;
    margin-bottom: 22px;
}

  .ikebukuro-gyn__title-flower {
    width: 48px;
  }

  .ikebukuro-gyn__title-wrap::after {
    width: 56px;
  }

.ikebukuro-gyn__title {
    font-size: 26px;
    line-height: 1.55;
    letter-spacing: 0.06em;
}

  .ikebukuro-gyn__lead {
    margin-bottom: 26px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
  }

  .ikebukuro-gyn__lead br {
    display: none;
  }

  .ikebukuro-gyn__visual {
    border-radius: 16px;
  }

  .ikebukuro-gyn__visual img {
    aspect-ratio: 1.35 / 1;
  }

  .ikebukuro-gyn__features {
    grid-template-columns: 1fr;
    gap: 14px;
  }

.ikebukuro-gyn-card {
    display: grid;
    grid-template-columns: 70px 1fr;
    column-gap: 6px;
    align-items: center;
    min-height: auto;
    padding: 18px;
    text-align: left;
}

  .ikebukuro-gyn-card__icon {
    grid-row: 1 / 3;
    width: 64px;
    height: 64px;
    margin: 0;
  }

.ikebukuro-gyn-card__icon img {
    width: 100%;
}

  .ikebukuro-gyn-card__title {
    margin-bottom: 6px;
    font-size: 17px;
    line-height: 1.45;
  }

  .ikebukuro-gyn-card__text {
    font-size: 12px;
    line-height: 1.7;
  }

  .ikebukuro-gyn__cta {
    display: block;
    margin-top: 24px;
    padding: 24px 20px;
    text-align: center;
  }

  .ikebukuro-gyn__cta-illust {
    width: 110px;
    margin: 0 auto 16px;
  }

  .ikebukuro-gyn__cta-title {
    font-size: 19px;
    letter-spacing: 0.05em;
  }

  .ikebukuro-gyn__cta-text p {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }

  .ikebukuro-gyn__cta-text p br {
    display: none;
  }

  .ikebukuro-gyn__cta-badge {
    width: 104px;
    height: 104px;
    margin: 20px auto 22px;
  }

  .ikebukuro-gyn__btn {
    width: 100%;
    min-height: 56px;
    padding: 0 42px 0 24px;
    font-size: 15px;
  }

  .ikebukuro-gyn__btn span {
    right: 24px;
  }

.ikebukuro-gyn__decor--petal01 {
    width: 102px;
    top: 0px;
    right: -12px;
}

  .ikebukuro-gyn__decor--flower {
    width: 120px;
    right: -30px;
    bottom: 80px;
  }
}

/* ==========================================
   お悩みブロック
========================================== */

.worries-section {
  position: relative;
  overflow: hidden;
  padding: 86px 0 58px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 236, 242, 0.8) 0%, rgba(255, 255, 255, 0.92) 42%, rgba(255, 248, 250, 0.95) 100%);
  color: #3f2d36;
}

.worries-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 17% 78%, rgba(255, 214, 226, 0.45) 0%, rgba(255, 255, 255, 0) 22%),
    radial-gradient(circle at 78% 40%, rgba(255, 229, 236, 0.5) 0%, rgba(255, 255, 255, 0) 28%);
  pointer-events: none;
}

.worries-section__inner {
  position: relative;
  z-index: 2;
  width: min(86%, 1280px);
  margin: 0 auto;
}

.worries-section__bg {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.worries-section__bg img {
  display: block;
  width: 100%;
  height: auto;
}

.worries-section__bg--top {
  top: 18px;
  right: -10px;
  width: 250px;
  opacity: 0.55;
}

.worries-section__bg--bottom {
  left: -10px;
  bottom: 30px;
  width: 260px;
  opacity: 0.55;
}

.worries-section__bg--line {
  right: 54px;
  bottom: 50px;
  width: 170px;
  opacity: 0.42;
}

/* 上部タイトル */
.worries-section__head {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2rem;
    margin-bottom: 52px;
}

.worries-section__title-area {
  position: relative;
  padding-left: 95px;
}

.worries-section__flower {
    position: absolute;
    left: -15px;
    top: -8px;
    width: 118px;
}

.worries-section__flower img {
  display: block;
  width: 100%;
  height: auto;
}

.worries-section__title {
    position: relative;
    margin: 0;
    padding-bottom: 26px;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(34px, 4.3vw, 58px);
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: 2px;
    color: #3d2731;
}

.worries-section__title span {
  color: #e94d78;
  font-size: 1.08em;
}

.worries-section__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 2px;
  background: #e45178;
}

.worries-section__lead {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #3f2d36;
}

.worries-section__lead p {
  margin: 0;
}

.worries-section__lead span {
  color: #e8517a;
  font-weight: 600;
}

/* カード全体配置 */
.worries-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: auto auto;
    gap: 20px 20px;
    align-items: center;
}

/* 共通カード */

.worries-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 152px;
  background: rgba(255, 255, 255, 0.72);
  box-sizing: border-box;
}

.worries-card::before {
  content: "";
  position: absolute;
  inset: 7px;
  pointer-events: none;
}

.worries-card__icon {
  flex: 0 0 auto;
  width: 122px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 236, 242, 0.85);
}

.worries-card__icon img {
  display: block;
  width: 78%;
  height: auto;
}

.worries-card__body {
  position: relative;
  z-index: 2;
  flex: 1;
}

.worries-card__title {
    position: relative;
    margin: 0 0 13px;
    padding-bottom: 13px;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.08em;
    color: #6d3d75;
}

.worries-card__title span {
  color: #ef5d86;
}

.worries-card__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 4px dotted rgba(234, 96, 133, 0.55);
}
.worries-card__text {
    margin: 0;
    font-size: 15px;
    line-height: normal;
    letter-spacing: 0.08em;
    color: #46323a;
}
/* 01：左上 吹き出し */

.worries-card--01 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: start;
    padding: 2rem 2rem;
    border: 1px solid rgba(238, 138, 165, 0.55);
    border-radius: 32px;
    box-shadow: 0 12px 30px rgba(231, 119, 150, 0.07);
    height: 100%;
    gap: 2rem;
}

.worries-card--01 .worries-card__icon {
    width: 33%;
    background: rgba(255, 244, 246, 0.95);
}

/* 02：中央上 ドーム型 */

.worries-card--02 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: start;
    justify-content: flex-end;
    height: 100%;
    padding: 2rem 2rem;
    border: 7px solid rgba(255, 255, 255, 0.95);
    border-radius: 0 0;
    background: rgba(254, 246, 252, 0.82);
    box-shadow: 0 0 0 1px rgba(191, 128, 206, 0.28), 0 14px 28px rgba(152, 89, 174, 0.12);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
}

.worries-card--02 .worries-card__icon {
    width: 33%;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 0 0 1px rgba(173, 105, 197, 0.25);
}

.worries-card--02 .worries-card__title {
  color: #a15fba;
  font-size: 21px;
}

.worries-card--02 .worries-card__title::after {
  border-bottom-color: rgba(177, 112, 200, 0.55);
}

/* 03：右上 楕円 */

.worries-card--03 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    align-self: start;
    height: 100%;
    padding: 2rem 2rem;
    border: 1px solid rgba(238, 138, 165, 0.55);
    border-radius: 32px;
    box-shadow: 0 12px 30px rgba(231, 119, 150, 0.07);
    gap: 2rem;
}

.worries-card--03 .worries-card__icon {
    width: 33%;
    background: rgba(255, 239, 244, 0.95);
}


/* 04：左下 六角形風 */

.worries-card--04 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    padding: 2rem 2rem;
    border: 7px solid rgba(255, 255, 255, 0.95);
    border-radius: 0 0;
    background: rgba(254, 246, 252, 0.82);
    box-shadow: 0 0 0 1px rgba(191, 128, 206, 0.28), 0 14px 28px rgba(152, 89, 174, 0.12);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
	height:100%;
}

.worries-card--04 .worries-card__icon {
    width: 33%;
    background: rgba(248, 229, 247, 0.9);
}

.worries-card--04 .worries-card__title {
  font-size: 22px;
}
.worries-card--04 .worries-card__title::after {
    border-bottom-color: rgba(177, 112, 200, 0.55);
}

.worries-card--04 .worries-card__title span {
    color: #a15fba;
}

/* 05：中央下 楕円 */
.worries-card--05 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding: 2rem 2rem;
    border: 1px solid rgba(238, 138, 165, 0.55);
    border-radius: 32px;
    box-shadow: 0 12px 30px rgba(231, 119, 150, 0.07);
    height: 100%;
    gap: 2rem;
}

.worries-card--05 .worries-card__icon {
    width: 33%;
    background: rgba(255, 238, 243, 0.95);
}

/* 06：右下 額縁風 */
.worries-card--06 {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
    padding: 2rem 2rem;
    border: 7px solid rgba(255, 255, 255, 0.95);
    border-radius: 0 0;
    background: rgba(254, 246, 252, 0.82);
    box-shadow: 0 0 0 1px rgba(191, 128, 206, 0.28), 0 14px 28px rgba(152, 89, 174, 0.12);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
    height: 100%;
}

.worries-card--06 .worries-card__icon {
    width: 33%;
  background: rgba(242, 232, 248, 0.96);
}

.worries-card--06 .worries-card__title {
  color: #a161b8;
  font-size: 22px;
}

.worries-card--06 .worries-card__title::after {
  border-bottom-color: rgba(173, 107, 195, 0.55);
}

/* CTA */

.worries-cta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    width: 80%;
    margin: 46px auto 0;
    padding: 20px 38px;
    border: 1px solid rgba(234, 129, 157, 0.55);
    border-radius: 12px;
    background: rgb(255 230 237);
    box-shadow: 0 12px 26px rgba(230, 110, 145, 0.06);
}

.worries-cta__icon {
  width: 56px;
}

.worries-cta__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.worries-cta__main {
  margin: 0 0 6px;
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #3f2d36;
}

.worries-cta__main span {
  color: #e7567c;
  font-weight: 700;
}

.worries-cta__sub {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.08em;
  color: #3f2d36;
}

.worries-cta__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 300px;
  min-height: 58px;
  padding: 0 56px 0 42px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ef6b90 0%, #df4d77 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  box-shadow: 0 8px 16px rgba(220, 74, 114, 0.22);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.worries-cta__btn:hover {
  opacity: 0.86;
  transform: translateY(-2px);
}

.worries-cta__btn span {
  position: absolute;
  right: 28px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.sp-only {
  display: none;
}

/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .worries-section__inner {
    width: min(92%, 1080px);
  }

  .worries-list {
    gap: 28px 24px;
  }

  .worries-card__title {
    font-size: 20px;
  }

  .worries-card__text {
    font-size: 14px;
  }

  .worries-card--01 {
    padding: 30px 32px;
  }

}

@media screen and (max-width: 1024px) {
.worries-section__flower {
    width: 98px;
}

  .worries-section {
    padding: 70px 0 54px;
  }

  .worries-section__head {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 42px;
  }

  .worries-section__title-area {
    padding-left: 78px;
  }

.worries-section__lead {
    padding-top: 0;
    font-size: 16px;
    padding-left: 78px;
}

  .worries-list {
    grid-template-columns: 1fr 1fr;
  }

  .worries-card--01,
  .worries-card--02,
  .worries-card--03,
  .worries-card--04,
  .worries-card--05,
  .worries-card--06 {
    grid-column: auto;
    grid-row: auto;
    margin: 0;
  }

  .worries-card--02 {
    flex-direction: row;
    justify-content: flex-start;
    min-height: 176px;
    padding: 32px 34px;
    text-align: left;
    border-width: 1px;
    border-radius: 28px;
  }
	
  .worries-card--02 .worries-card__title::after {
    left: 0;
    transform: none;
  }

  .worries-card--04 {
    clip-path: none;
    border: 1px solid rgba(239, 181, 200, 0.5);
    border-radius: 28px;
  }

  .worries-card--05 {
    border-radius: 28px;
  }

  .worries-card--05::before {
    border-radius: 20px;
  }

.worries-card--06 {
    clip-path: none;
    border: 1px solid rgba(239, 181, 200, 0.5);
    border-radius: 28px;
}

  .worries-cta {
    width: 100%;
    grid-template-columns: auto 1fr;
  }

  .worries-cta__btn {
    grid-column: 1 / -1;
    width: min(100%, 360px);
    margin: 6px auto 0;
  }
}

@media screen and (max-width: 767px) {
  .worries-section {
    padding: 54px 0 42px;
  }

  .worries-section__inner {
    width: min(90%, 520px);
  }

  .worries-section__bg--top {
    width: 150px;
    right: -44px;
    top: 0;
  }

  .worries-section__bg--bottom {
    width: 160px;
    left: -54px;
    bottom: 24px;
  }

  .worries-section__bg--line {
    width: 120px;
    right: -18px;
    bottom: 120px;
  }

  .worries-section__head {
    gap: 22px;
    margin-bottom: 30px;
  }

.worries-section__title-area {
    padding-left: 0;
    margin: 0 auto;
}
.worries-section__flower {
    width: 44px;
    left: -25px;
    top: -28px;
}

  .worries-section__title {
    padding-bottom: 18px;
    font-size: 30px;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }

  .worries-section__title::after {
    width: 46px;
  }

.worries-section__lead {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.05em;
    padding-left: 0;
}

  .worries-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .worries-card--03,
  .worries-card--05 {
    border-radius: 22px;
    box-shadow: 0 10px 22px rgba(232, 107, 140, 0.08);
  }

  .worries-card--03::before,
  .worries-card--05::before {
    border-radius: 16px;
  }

.worries-card--01, .worries-card--02, .worries-card--03, .worries-card--04, .worries-card--05, .worries-card--06 {
    padding: 1rem 2rem;
}

  .worries-card__icon,
  .worries-card--01 .worries-card__icon,
  .worries-card--02 .worries-card__icon,
  .worries-card--03 .worries-card__icon,
  .worries-card--04 .worries-card__icon,
  .worries-card--05 .worries-card__icon,
  .worries-card--06 .worries-card__icon {
    width: 26%;
  }

  .worries-card__title,
  .worries-card--02 .worries-card__title,
  .worries-card--04 .worries-card__title,
  .worries-card--05 .worries-card__title,
  .worries-card--06 .worries-card__title {
    margin-bottom: 14px;
    padding-bottom: 10px;
    font-size: 18px;
    letter-spacing: 0.04em;
  }

  .worries-card__text {
    font-size: 13px;
    letter-spacing: 0.04em;
  }

  .worries-cta {
    display: block;
    margin-top: 30px;
    padding: 24px 22px;
    text-align: center;
  }

  .worries-cta__icon {
    width: 52px;
    margin: 0 auto 12px;
  }

  .worries-cta__main {
    font-size: 15px;
  }

  .worries-cta__sub {
    font-size: 12px;
  }

  .worries-cta__btn {
    min-width: 0;
    width: 100%;
    min-height: 54px;
    margin-top: 18px;
    padding: 0 44px 0 28px;
    font-size: 14px;
  }

  .worries-cta__btn span {
    right: 24px;
  }

  .sp-only {
    display: block;
  }
}

/* ==========================================
   ピル・避妊のご相談
========================================== */

.pill-consult {
  position: relative;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 244, 247, 0.95) 0%, rgba(255, 250, 252, 0.96) 48%, #fff 100%);
  color: #3d3337;
}

.pill-consult::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 28%, rgba(255, 221, 231, 0.32) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 84% 76%, rgba(255, 221, 231, 0.34) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.pill-consult__inner {
  position: relative;
  z-index: 2;
  width: min(84%, 1280px);
  margin: 0 auto;
}

.pill-consult__decor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.pill-consult__decor img {
  display: block;
  width: 100%;
  height: auto;
}

.pill-consult__decor--flower {
  top: 22px;
  right: 0;
  width: 220px;
  opacity: 0.72;
}

/* 見出し */

.pill-consult__head {
  margin-bottom: 38px;
  text-align: center;
}

.pill-consult__en {
  margin: 0 0 18px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e9587d;
}

.pill-consult__title {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(34px, 3.8vw, 52px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.14em;
  color: #332b2f;
}

.pill-consult__lead {
  margin: 28px 0 0;
  font-size: 19px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #3d3337;
}

/* カード */

.pill-consult__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.pill-consult-card {
    padding: 3rem 3rem;
    border: 1px solid rgba(236, 197, 204, 0.7);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 14px 28px rgba(214, 153, 168, 0.13);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    justify-content: space-around;
}

.pill-consult-card__image {
    place-items: center;
    overflow: hidden;
    width: 55%;
    height: auto;
    margin: 0 auto;
}

.last-consult-card .pill-consult-card__image {
    width: 100%;
}

.pill-consult-card__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.pill-consult-card__title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.08em;
}

.pill-consult-card--pink .pill-consult-card__title {
  color: #e8587d;
}

.pill-consult-card--purple .pill-consult-card__title {
  color: #9a6bb6;
}

.pill-consult-card__text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.07em;
  color: #3d3337;
}

.pill-consult-card__tags {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.pill-consult-card__tags span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 124px;
  min-height: 42px;
  padding: 0 24px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.pill-consult-card--pink .pill-consult-card__tags span {
  border: 1px solid rgba(232, 88, 125, 0.55);
  color: #e8587d;
}

.pill-consult-card--purple .pill-consult-card__tags span {
  border: 1px solid rgba(154, 107, 182, 0.55);
  color: #9a6bb6;
}

.pill-consult .worries-cta{
	width:100%;
}

/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .pill-consult__inner {
    width: min(90%, 1080px);
  }

  .pill-consult-card {
    padding: 26px 24px 28px;
  }

  .pill-consult-card__title {
    font-size: 23px;
  }

  .pill-consult__cta {
    grid-template-columns: 120px 1fr;
  }
}

@media screen and (max-width: 1024px) {
  .pill-consult {
    padding: 58px 0 48px;
  }

  .pill-consult__cards {
    grid-template-columns: 1fr;
    max-width: 680px;
    margin: 0 auto;
  }

  .pill-consult-card {
    min-height: auto;
  }

  .pill-consult-card__image {
    height: auto;
    margin-bottom: 22px;
  }

  .pill-consult-card__image img {
    max-width: 230px;
  }

.pill-consult .worries-cta {
    width: 680px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

}

@media screen and (max-width: 767px) {
  .pill-consult {
    padding: 46px 0 38px;
  }

  .pill-consult__inner {
    width: min(90%, 520px);
  }

  .pill-consult__decor--flower {
    width: 140px;
    top: 10px;
    right: -34px;
    opacity: 0.55;
  }

  .pill-consult__head {
    margin-bottom: 30px;
  }

  .pill-consult__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.18em;
  }

  .pill-consult__title {
    font-size: 30px;
    letter-spacing: 0.08em;
  }

  .pill-consult__lead {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }

.pill-consult__cards {
    gap: 6px;
}

.pill-consult-card {
    padding: 3rem 2rem;
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-auto-flow: row;
    gap: 14px 0px;
    align-items: start;
}

  .pill-consult-card__image img {
    max-width: 190px;
  }
	
.pill-consult-card__title {
    font-size: 21px;
    letter-spacing: 0.05em;
    margin: auto 0;
    height: auto;
}

.pill-consult-card__text {
    margin-bottom: 0px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: normal;
    text-align: justify;
}

  .pill-consult-card__text br {
    display: none;
  }

.pill-consult-card__tags {
    gap: 5px;
    justify-content: flex-end;
    align-items: flex-start;
    padding-left: 3px;
}
	
.pill-consult-card__tags span {
    min-width: 0;
    min-height: 38px;
    padding: 0 0;
    font-size: 13px;
    width: 90%;
}

.pill-consult .worries-cta {
    width: 100%;
    gap: 4px;
}

}

/* ==========================================
   生理・ホルモン系のお悩み
========================================== */

.menstrual-concern {
  position: relative;
  overflow: hidden;
  padding: 76px 0 64px;
  background:
    radial-gradient(circle at 50% 36%, rgba(255, 245, 248, 0.9) 0%, rgba(255, 255, 255, 0.96) 44%, #fff 100%);
  color: #393236;
}

.menstrual-concern::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 35%, rgba(255, 226, 234, 0.32) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 82% 76%, rgba(255, 226, 234, 0.3) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.menstrual-concern__inner {
  position: relative;
  z-index: 2;
  width: min(88%, 1320px);
  margin: 0 auto;
}

/* 見出し */

.menstrual-concern__head {
  margin-bottom: 46px;
  text-align: center;
}

.menstrual-concern__en {
  margin: 0 0 22px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e85b7f;
}

.menstrual-concern__title {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(34px, 3.9vw, 54px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.12em;
  color: #322d30;
}

.menstrual-concern__lead {
    margin-top: 18px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: center;
}

/* カード */

.menstrual-concern__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.menstrual-card {
  position: relative;
  min-height: 355px;
  padding: 32px 28px;
  border: 1px solid rgba(230, 210, 214, 0.8);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 13px 26px rgba(190, 146, 158, 0.12);
  text-align: center;
  box-sizing: border-box;
}

.menstrual-card__icon {
  display: grid;
  place-items: center;
  width: 140px;
  height: 140px;
  margin: 0 auto 34px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 235, 240, 0.95) 0%, rgba(255, 242, 246, 0.85) 100%);
}

.menstrual-card--purple .menstrual-card__icon {
  background: radial-gradient(circle, rgba(244, 236, 249, 0.96) 0%, rgba(250, 245, 252, 0.9) 100%);
}

.menstrual-card__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.menstrual-card__title {
  margin: 0 0 22px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.08em;
}

.menstrual-card--pink .menstrual-card__title {
  color: #e8587d;
}

.menstrual-card--purple .menstrual-card__title {
  color: #9a6bb6;
}

.menstrual-card__text {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.07em;
  color: #3f373b;
}

.menstrual-concern .worries-cta {
    width: 100%;
}

/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .menstrual-concern__inner {
    width: min(92%, 1080px);
  }

  .menstrual-concern__cards {
    gap: 22px;
  }

  .menstrual-card {
    padding: 28px 20px 30px;
  }

  .menstrual-card__title {
    font-size: 21px;
  }

  .menstrual-card__text {
    font-size: 14px;
  }

  .menstrual-concern__btn {
    grid-column: 1 / -1;
    width: min(100%, 430px);
    margin: 0 auto;
  }
}

@media screen and (max-width: 1024px) {
  .menstrual-concern {
    padding: 62px 0 52px;
  }

  .menstrual-concern__cards {
    grid-template-columns: repeat(2, 1fr);
    max-width: 760px;
    margin: 0 auto;
  }

  .menstrual-card {
    min-height: 330px;
  }


.menstrual-concern .worries-cta {
    width: 85%;
}
}

@media screen and (max-width: 767px) {
  .menstrual-concern {
    padding: 46px 0 38px;
  }

  .menstrual-concern__inner {
    width: min(90%, 520px);
  }

  .menstrual-concern__head {
    margin-bottom: 30px;
  }

  .menstrual-concern__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

  .menstrual-concern__title {
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.07em;
  }

  .menstrual-concern__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }
	
  .menstrual-concern__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

.menstrual-card {
    min-height: auto;
    padding: 24px 20px;
    border-radius: 12px;
}

  .menstrual-card__icon {
    width: 112px;
    height: 112px;
    margin-bottom: 22px;
  }

.menstrual-card__icon img {
    width: 100%;
}

  .menstrual-card__title {
    margin-bottom: 14px;
    font-size: 21px;
    letter-spacing: 0.05em;
  }

  .menstrual-card__text {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }

  .menstrual-concern__btn {
    min-width: 0;
    width: 100%;
    min-height: 56px;
    margin-top: 20px;
    padding: 0 42px 0 24px;
    font-size: 15px;
  }

  .menstrual-concern__btn span {
    right: 24px;
    width: 9px;
    height: 9px;
  }

.menstrual-concern .worries-cta {
    width: 100%;
}
}

/* ==========================================
   診療内容ブロック
========================================== */

.gyne-menu {
  position: relative;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 246, 248, 0.88) 0%, rgba(255, 255, 255, 0.96) 44%, #fff 100%);
  color: #393236;
}

.gyne-menu::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 32%, rgba(255, 226, 234, 0.25) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 84% 76%, rgba(255, 226, 234, 0.28) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.gyne-menu__inner {
  position: relative;
  z-index: 2;
  width: min(86%, 1240px);
  margin: 0 auto;
}

/* 見出し */

.gyne-menu__head {
  margin-bottom: 34px;
  text-align: center;
}

.gyne-menu__en {
  margin: 0 0 18px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e85b7f;
}

.gyne-menu__title {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(34px, 3.6vw, 50px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.12em;
  color: #322d30;
}

.gyne-menu__lead {
  margin: 26px 0 0;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #4a4246;
}

/* カード */

.gyne-menu__cards {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px 28px;
}

.gyne-menu-card {
    position: relative;
    padding: 3rem 3rem;
    border: 1px solid rgba(230, 210, 214, 0.78);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 13px 26px rgba(190, 146, 158, 0.12);
    box-sizing: border-box;
    height: 100%;
}

.gyne-menu-card--bottom{}

.gyne-menu-card--top {
  grid-column: span 2;
}

.gyne-menu-card--bottom:nth-of-type(4) {
  grid-column: 2 / 4;
}

.gyne-menu-card--bottom:nth-of-type(5) {
  grid-column: 4 / 6;
}

.gyne-menu-card__icon {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 235, 240, 0.96) 0%, rgba(255, 244, 247, 0.9) 100%);
}

.gyne-menu-card--purple .gyne-menu-card__icon {
  background: radial-gradient(circle, rgba(244, 236, 249, 0.96) 0%, rgba(250, 245, 252, 0.9) 100%);
}

.gyne-menu-card__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.gyne-menu-card--top:first-of-type .gyne-menu-card__icon img {
    width: 74%;
}

.gyne-menu-card__title {
  margin: 0 0 18px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.08em;
  text-align: center;
}

.gyne-menu-card--pink .gyne-menu-card__title {
  color: #e8587d;
}

.gyne-menu-card--purple .gyne-menu-card__title {
  color: #9a6bb6;
}

.gyne-menu-card__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0px;
    row-gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-items: center;
}

.gyne-menu-card__list li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #393236;
}

.gyne-menu-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translateY(-50%);
}

.gyne-menu-card--pink .gyne-menu-card__list li::before {
  background: #f39ab0;
}

.gyne-menu-card--purple .gyne-menu-card__list li::before {
  background: #c39bd8;
}

/* CTA */
.gyne-menu .worries-cta {
    width: 100%;
}


/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .gyne-menu__inner {
    width: min(92%, 1080px);
  }

  .gyne-menu__cards {
    gap: 22px;
  }

.gyne-menu-card {
    padding: 5rem 2rem;
}
  .gyne-menu-card__title {
    font-size: 21px;
  }

}

@media screen and (max-width: 1024px) {
  .gyne-menu {
    padding: 62px 0 52px;
  }

  .gyne-menu__cards {
    grid-template-columns: repeat(2, 1fr);
    max-width: 820px;
    margin: 0 auto;
  }

  .gyne-menu-card--top,
  .gyne-menu-card--bottom:nth-of-type(4),
  .gyne-menu-card--bottom:nth-of-type(5) {
    grid-column: auto;
  }

.gyne-menu .worries-cta {
    width: 93%;
}
}

@media screen and (max-width: 767px) {
  .gyne-menu {
    padding: 46px 0 38px;
  }

  .gyne-menu__inner {
    width: min(90%, 520px);
  }

  .gyne-menu__head {
    margin-bottom: 28px;
  }

  .gyne-menu__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

  .gyne-menu__title {
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.07em;
  }

  .gyne-menu__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .gyne-menu__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

.gyne-menu-card {
    min-height: auto;
    padding: 2rem 2rem;
    border-radius: 12px;
}

  .gyne-menu-card__icon {
    width: 92px;
    height: 92px;
    margin-bottom: 16px;
  }

.gyne-menu-card__icon img {
    width: 80%;
}

  .gyne-menu-card__title {
    margin-bottom: 16px;
    font-size: 21px;
    letter-spacing: 0.05em;
  }

.gyne-menu-card__list {
    column-gap: 0px;
    row-gap: 3px;
}

.gyne-menu-card__list li {
    font-size: 14px;
    letter-spacing: 0.04em;
    padding-left: 11px;
}

/* CTA */
.gyne-menu .worries-cta {
    width: 100%;
}
}

/* ==========================================
   初めて婦人科を受診する方へ
========================================== */

.first-visit-guide {
  position: relative;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 246, 248, 0.9) 0%, rgba(255, 255, 255, 0.96) 44%, #fff 100%);
  color: #393236;
}

.first-visit-guide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 30%, rgba(255, 226, 234, 0.26) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 84% 70%, rgba(255, 226, 234, 0.24) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.first-visit-guide__inner {
  position: relative;
  z-index: 2;
  width: min(93%, 1420px);
  margin: 0 auto;
}

/* 装飾 */

.first-visit-guide__decor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.first-visit-guide__decor img {
  display: block;
  width: 100%;
  height: auto;
}

.first-visit-guide__decor--left {
    top: 48px;
    left: 0;
    width: 240px;
    opacity: 0.44;
}

.first-visit-guide__decor--right {
    top: 50px;
    right: 0;
    width: 210px;
    opacity: 0.55;
}
/* 見出し */

.first-visit-guide__head {
  margin-bottom: 40px;
  text-align: center;
}

.first-visit-guide__en {
  margin: 0 0 18px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e85b7f;
}

.first-visit-guide__title {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.12em;
  color: #322d30;
}

.first-visit-guide__lead {
  margin: 24px 0 0;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #4a4246;
}

/* メイン3カラム */
.first-visit-guide__contents {
    display: grid;
    grid-template-columns: 0.9fr 2fr 0.8fr;
    gap: 1.5rem;
    align-items: stretch;
}

.first-visit-guide-card,
.first-visit-guide-flow,
.first-visit-guide-items {
  border: 1px solid rgba(230, 210, 214, 0.8);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 13px 26px rgba(190, 146, 158, 0.12);
  box-sizing: border-box;
}

/* 左カード */
.first-visit-guide-card {
    padding: 2rem 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.first-visit-guide-card--message {
      background: linear-gradient(180deg, #FEF8FA 0%, #fff2f6 100%);
}

.first-visit-guide-card__image {
    display: grid;
    place-items: center;
    width: 150px;
    height: 150px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 236, 241, 0.96) 0%, rgba(255, 246, 248, 0.88) 100%);
}

.first-visit-guide-card__image img {
    display: block;
    width: 100%;
    height: auto;
}

.first-visit-guide-card__title {
    position: relative;
    margin: 0 0 30px;
    padding-bottom: 20px;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: normal;
    color: #e8587d;
}

.first-visit-guide-card__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 34px;
  height: 2px;
  background: #e8587d;
  transform: translateX(-50%);
}

.first-visit-guide-card__text {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: normal;
    color: #3f373b;
}

/* 中央：診察の流れ */
.first-visit-guide-flow {
    padding: 3rem 1rem;
    text-align: center;
}

.first-visit-guide-flow__title {
  position: relative;
  margin: 0 0 42px;
  padding-bottom: 20px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  color: #8e63b7;
}

.first-visit-guide-flow__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 38px;
  height: 2px;
  background: #8e63b7;
  transform: translateX(-50%);
}

.first-visit-guide-flow__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
}

.first-visit-guide-step {
    position: relative;
    text-align: center;
    width: 100%;
}

.first-visit-guide-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 36%;
    right: -4%;
    width: 12px;
    height: 12px;
    border-top: 3px solid #7d55b2;
    border-right: 3px solid #7d55b2;
    transform: translateY(-50%) rotate(45deg);
}

.first-visit-guide-step__num {
    margin: 0 0 16px;
    font-size: 15px;
    line-height: 1;
    letter-spacing: normal;
    color: #8e63b7;
}

.first-visit-guide-step__icon {
  display: grid;
  place-items: center;
  width: 106px;
  height: 106px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244, 236, 249, 0.96) 0%, rgba(250, 245, 252, 0.92) 100%);
}

.first-visit-guide-step__icon img {
    display: block;
    width: 90%;
    height: auto;
}

.first-visit-guide-step__title {
  margin: 0 0 14px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: #8e63b7;
}

.first-visit-guide-step__text {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: normal;
    color: #3f373b;
}

/* 右：持ち物 */
.first-visit-guide-items {
    padding: 0 2rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.first-visit-guide-items__title {
  position: relative;
  margin: 0 0 34px;
  padding-bottom: 20px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 27px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  color: #e8587d;
}

.first-visit-guide-items__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 38px;
  height: 2px;
  background: #e8587d;
  transform: translateX(-50%);
}

.first-visit-guide-items__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.first-visit-guide-items__list li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 66px;
    padding: 0px 0 0 4.5rem;
    border-bottom: 1px dashed rgba(199, 176, 184, 0.8);
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.07em;
    color: #3f373b;
}

.first-visit-guide-items__list .line_break {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.first-visit-guide-items__list li:last-child {
  border-bottom: none;
}

.first-visit-guide-items__list li::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(251, 229, 235, 0.95);
    transform: translateY(-50%);
}

.first-visit-guide-items__list li::after {
    content: "";
    position: absolute;
    left: 17px;
    top: 50%;
    width: 13px;
    height: 7px;
    border-left: 2px solid #e8587d;
    border-bottom: 2px solid #e8587d;
    transform: translateY(-64%) rotate(-45deg);
}

.first-visit-guide-items__list span {
  font-size: 13px;
}

.first-visit-guide .worries-cta{
	width:100%;
}
/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .first-visit-guide__contents {
    grid-template-columns: 1fr;
    max-width: 820px;
    margin: 0 auto;
  }

  .first-visit-guide-card,
  .first-visit-guide-flow,
  .first-visit-guide-items {
    min-height: auto;
  }

 .first-visit-guide__contents {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      "message items"
      "flow flow";
  }

  .first-visit-guide-card--message {
    grid-area: message;
  }

  .first-visit-guide-flow {
    grid-area: flow;
  }

  .first-visit-guide-items {
    grid-area: items;
  }

.first-visit-guide-items__list {
    width: 90%;
}

.first-visit-guide-items__list li {
    padding: 0px 0 0 7.5rem;
}

.first-visit-guide-items__title {
    margin: 0 0 14px;
}

.first-visit-guide .worries-cta {
    width: 92%;
}

}

@media screen and (max-width: 767px) {
  .first-visit-guide {
    padding: 46px 0 38px;
  }

  .first-visit-guide__inner {
    width: min(90%, 520px);
  }

  .first-visit-guide__decor--left {
    width: 110px;
    top: 20px;
    left: -20px;
  }

  .first-visit-guide__decor--right {
    width: 90px;
    top: 70px;
    right: -18px;
  }

  .first-visit-guide__head {
    margin-bottom: 28px;
  }

  .first-visit-guide__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

  .first-visit-guide__title {
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.07em;
  }

  .first-visit-guide__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }

.first-visit-guide__contents {
    gap: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.first-visit-guide-card {
    padding: 2rem 2rem;
}

.first-visit-guide-card__image {
    width: 140px;
    height: 140px;
    margin-bottom: 10px;
}

  .first-visit-guide-card__image img {
    width: 100px;
  }

.first-visit-guide-card__title {
    margin-bottom: 10px;
    font-size: 20px;
    letter-spacing: 0.05em;
    padding-bottom: 10px;
}

.first-visit-guide-card__text {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
}

.first-visit-guide-flow {
    padding: 25px 15px;
}
  .first-visit-guide-flow__title,
  .first-visit-guide-items__title {
    margin-bottom: 26px;
    font-size: 23px;
    letter-spacing: 0.08em;
  }

  .first-visit-guide-flow__steps {
    grid-template-columns: 1fr;
    gap: 24px;
  }

.first-visit-guide-step {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 14px;
    align-items: center;
    text-align: left;
}

  .first-visit-guide-step:not(:last-child)::after {
    display: none;
  }

  .first-visit-guide-step__num {
    grid-column: 2 / 3;
    margin-bottom: 8px;
    font-size: 13px;
  }

.first-visit-guide-step__icon {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
    width: 70px;
    height: 70px;
    margin: 0;
}

.first-visit-guide-step__icon img {
    width: 100%;
}

  .first-visit-guide-step__title {
    grid-column: 2 / 3;
    margin-bottom: 6px;
    font-size: 19px;
  }

  .first-visit-guide-step__text {
    grid-column: 2 / 3;
    font-size: 13px;
    line-height: 1.7;
  }

  .first-visit-guide-step__text br {
    display: none;
  }

  .first-visit-guide-items {
    padding: 30px 22px;
  }

  .first-visit-guide-items__list li {
    min-height: 58px;
    padding-left: 56px;
    font-size: 14px;
    letter-spacing: 0.04em;
  }

  .first-visit-guide-items__list li::before {
    width: 38px;
    height: 38px;
  }

  .first-visit-guide-items__list li::after {
    left: 18px;
  }

.first-visit-guide .worries-cta{
	width:100%;
}
}


/* ==========================================
   選ばれる理由
========================================== */

.why-choose {
  position: relative;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 246, 248, 0.9) 0%, rgba(255, 255, 255, 0.96) 45%, #fff 100%);
  color: #393236;
}

.why-choose::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 16% 34%, rgba(255, 226, 234, 0.28) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 84% 72%, rgba(255, 226, 234, 0.25) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.why-choose__inner {
  position: relative;
  z-index: 2;
  width: min(91%, 1360px);
  margin: 0 auto;
}

/* 装飾 */

.why-choose__decor {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.why-choose__decor img {
  display: block;
  width: 100%;
  height: auto;
}

.why-choose__decor--left {
    top: 0;
    left: 0;
    width: 20%;
    opacity: 0.42;
}

.why-choose__decor--right {
    top: 0;
    right: 0;
    width: 33%;
    opacity: 0.48;
}

/* 見出し */

.why-choose__head {
  margin-bottom: 44px;
  text-align: center;
}

.why-choose__en {
  margin: 0 0 22px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e85b7f;
}

.why-choose__title {
    margin: 0;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 50px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: normal;
    color: #322d30;
}

.why-choose__lead {
  margin: 28px 0 0;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #4a4246;
}

/* カード */
.why-choose__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.why-choose-card {
    height: 100%;
    padding: 3rem 2rem;
    border: 1px solid rgba(230, 210, 214, 0.8);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 13px 26px rgba(190, 146, 158, 0.12);
    text-align: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.why-choose-card__icon {
  display: grid;
  place-items: center;
  width: 148px;
  height: 148px;
  margin: 0 auto 34px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 235, 240, 0.96) 0%, rgba(255, 246, 248, 0.9) 100%);
}

.why-choose-card--purple .why-choose-card__icon {
  background: radial-gradient(circle, rgba(244, 236, 249, 0.96) 0%, rgba(250, 245, 252, 0.92) 100%);
}

.why-choose-card__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.why-choose-card .pill-img img{
    width: 70%;
}

.why-choose-card__title {
    position: relative;
    margin: 0 0 26px;
    padding-bottom: 26px;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: normal;
}

.why-choose-card__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  max-width: 260px;
  height: 1px;
  background: rgba(238, 190, 201, 0.9);
  transform: translateX(-50%);
}

.why-choose-card--pink .why-choose-card__title {
  color: #e8587d;
}

.why-choose-card--purple .why-choose-card__title {
  color: #8e63b7;
}

.why-choose-card__text {
    margin: 0;
    font-size: 15px;
    line-height: 2;
    letter-spacing: normal;
    color: #3f373b;
}

.why-choose .worries-cta {
    width: 100%;
}

/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .why-choose__inner {
    width: min(92%, 1080px);
  }

  .why-choose__cards {
    grid-template-columns: repeat(2, 1fr);
    max-width: 820px;
    margin: 0 auto;
  }

  .why-choose-card {
    min-height: 360px;
  }

.why-choose .worries-cta {
    width: 92%;
}

}

@media screen and (max-width: 767px) {
  .why-choose {
    padding: 46px 0 38px;
  }

  .why-choose__inner {
    width: min(90%, 520px);
  }

  .why-choose__decor--left {
    width: 110px;
    top: 24px;
    left: -20px;
  }

.why-choose__decor--right {
    width: 40%;
    top: 0;
    right: -30px;
}

  .why-choose__head {
    margin-bottom: 28px;
  }

  .why-choose__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

.why-choose__title {
    font-size: 29px;
    line-height: 1.5;
    letter-spacing: normal;
}

  .why-choose__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .why-choose__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

.why-choose-card {
    min-height: auto;
    padding: 26px 22px;
    border-radius: 12px;
}

  .why-choose-card__icon {
    width: 112px;
    height: 112px;
    margin-bottom: 22px;
  }

.why-choose-card__icon img {
    width: 95%;
}

  .why-choose-card__title {
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }

  .why-choose-card__text {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }

.why-choose .worries-cta {
    width: 100%;
}
}



/* ==========================================
   ドクター紹介
========================================== */

.doctor-intro {
    position: relative;
    overflow: hidden;
    padding: 58px 0;
    background: #fff2f6;
    color: #393236;
}

.doctor-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 70%, rgba(255, 226, 234, 0.3) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 82% 22%, rgba(255, 226, 234, 0.22) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.doctor-intro__inner {
  position: relative;
  z-index: 2;
  width: min(92%, 1400px);
  margin: 0 auto;
}

.doctor-intro__box {
    display: grid;
    grid-template-columns: auto 67%;
    align-items: center;
    height: 100%;
    padding: 5rem 3rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 42px rgba(218, 152, 166, 0.13),
    inset 0 0 0 1px rgba(236, 196, 205, 0.36);
    box-sizing: border-box;
    justify-items: center;
}

/* 左側イラスト */
.doctor-intro__visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: auto;
}

.doctor-intro__visual-bg {
    position: absolute;
    left: 50%;
    bottom: 70px;
    width: 100%;
    height: auto;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 235, 241, 0.88) 0%, rgba(255, 247, 249, 0.72) 58%, rgba(255, 255, 255, 0) 72%);
    transform: translateX(-50%);
}

.doctor-intro__visual::before {
  content: "";
  position: absolute;
  left: 62px;
  bottom: 138px;
  width: 110px;
  height: 160px;
  background:
    radial-gradient(circle at 30% 20%, #f3b5c4 0 4px, transparent 5px),
    radial-gradient(circle at 58% 42%, #ef9fb5 0 5px, transparent 6px),
    linear-gradient(145deg, transparent 0 42%, rgba(190, 143, 190, 0.55) 43% 45%, transparent 46%),
    linear-gradient(35deg, transparent 0 42%, rgba(238, 170, 190, 0.65) 43% 45%, transparent 46%);
  opacity: 0.62;
}

.doctor-intro__visual::after {
  content: "";
  position: absolute;
  left: 88px;
  bottom: 286px;
  width: 58px;
  height: 58px;
  background:
    radial-gradient(circle at 20% 20%, #ef9fb5 0 3px, transparent 4px),
    radial-gradient(circle at 52% 42%, #f5c8d4 0 3px, transparent 4px),
    radial-gradient(circle at 78% 74%, #ef9fb5 0 4px, transparent 5px);
  opacity: 0.7;
}
.doctor-intro__visual img {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: auto;
}

/* 右側 */

.doctor-intro__content {

}

.doctor-intro__head {
    margin-bottom: 10px;
    text-align: center;
}

.doctor-intro__en {
  margin: 0 0 18px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e8587d;
}

.doctor-intro__title {
    margin: 0;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(38px, 4vw, 58px);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0.13em;
    color: #322d30;
}

/* メッセージ */

.doctor-intro__message {
  text-align: center;
}

.doctor-intro__message-title {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 22px;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.12em;
    color: #e8587d;
}

.doctor-intro__message-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 40px;
  height: 2px;
  background: #e8587d;
  transform: translateX(-50%);
}
.doctor-intro__text {
    margin: 0;
    font-size: 17px;
    line-height: 1.55;
    letter-spacing: 0.08em;
    color: #3f373b;
}

/* 小カード */

.doctor-intro__support {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin: 34px 0;
}

.doctor-intro-support-card {
    display: grid;
    grid-template-columns: 60px 1fr;
    align-items: center;
    height: 100%;
    padding: 1rem 2rem;
    border: 1px solid rgba(236, 203, 210, 0.76);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 10px 20px rgba(190, 146, 158, 0.1);
    box-sizing: border-box;
    gap: 1rem;
}

.doctor-intro-support-card__icon {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 235, 240, 0.96) 0%, rgba(255, 246, 248, 0.9) 100%);
}

.doctor-intro-support-card--purple .doctor-intro-support-card__icon {
  background: radial-gradient(circle, rgba(244, 236, 249, 0.96) 0%, rgba(250, 245, 252, 0.92) 100%);
}

.doctor-intro-support-card__icon img {
  display: block;
  width: 42px;
  height: auto;
}
.doctor-intro-support-card__title {
    margin: 0;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 2px;
}

.doctor-intro-support-card--pink .doctor-intro-support-card__title {
  color: #e8587d;
}

.doctor-intro-support-card--purple .doctor-intro-support-card__title {
  color: #8e63b7;
}

/* 大切にしていること */

.doctor-intro__policy {
  padding: 24px 34px 26px;
  border: 1px solid rgba(232, 120, 150, 0.52);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.66);
  text-align: center;
}

.doctor-intro__policy-title {
    margin: 0 0 1.2rem;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.12em;
    color: #e8587d;
}

.doctor-intro__policy-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
    padding: 0;
    list-style: none;
    justify-items: center;
}

.doctor-intro__policy-list li {
    position: relative;
    padding: 0 0 0 33px;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.06em;
    color: #3f373b;
    text-align: left;
}

.doctor-intro__policy-list li::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fde5eb;
  transform: translateY(-50%);
}

.doctor-intro__policy-list li::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #e8587d;
  transform: translateY(-50%);
}

/* ボタン */

.doctor-intro__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 350px;
  min-height: 66px;
  margin-top: 34px;
  padding: 0 64px 0 44px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ef6f93 0%, #df4d77 100%);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  box-shadow: 0 12px 22px rgba(220, 77, 119, 0.22);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.doctor-intro__btn:hover {
  opacity: 0.86;
  transform: translateY(-2px);
}

.doctor-intro__btn span {
  position: absolute;
  right: 36px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1200px) {
  .doctor-intro__box {
    grid-template-columns: 1fr;
    max-width: 920px;
    margin: 0 auto;
    padding: 48px 48px 54px;
  }

  .doctor-intro__visual {
    min-height: auto;
    margin-bottom: 36px;
  }

  .doctor-intro__visual-bg {
    bottom: 20px;
    width: 360px;
    height: 360px;
  }

.doctor-intro__visual img {
    width: 36%;
}

  .doctor-intro__content {
    padding-left: 0;
  }

.doctor-intro__visual::before {
    left: 162px;
}

.doctor-intro__visual::after {
    left: 178px;
}

}

@media screen and (max-width: 767px) {
  .doctor-intro {
    padding: 38px 0;
  }

  .doctor-intro__inner {
    width: min(90%, 520px);
  }

.doctor-intro__box {
    padding: 34px 20px ;
    border-radius: 16px;
    grid-template-rows: 0.7fr auto;
}

  .doctor-intro__visual {
    margin-bottom: 28px;
  }

  .doctor-intro__visual-bg {
    width: 260px;
    height: 260px;
  }

  .doctor-intro__visual::before,
  .doctor-intro__visual::after {
    display: none;
  }

  .doctor-intro__visual img {
    width: min(82%, 280px);
  }

  .doctor-intro__head {
    margin-bottom: 20px;
  }

  .doctor-intro__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

  .doctor-intro__title {
    font-size: 32px;
    letter-spacing: 0.08em;
  }

  .doctor-intro__message-title {
    margin-bottom: 22px;
    padding-bottom: 22px;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }

  .doctor-intro__text {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }
	
.doctor-intro__support {
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: 20px;
}

.doctor-intro-support-card {
    min-height: 88px;
    grid-template-columns: 64px 1fr;
    padding: 10px 18px;
}

  .doctor-intro-support-card__icon {
    width: 58px;
    height: 58px;
  }

.doctor-intro-support-card__icon img {
    width: 100%;
}

  .doctor-intro-support-card__title {
    font-size: 18px;
  }

  .doctor-intro__policy {
    margin-top: 18px;
    padding: 22px 20px;
  }

  .doctor-intro__policy-title {
    margin-bottom: 18px;
    font-size: 18px;
    letter-spacing: 0.06em;
  }

.doctor-intro__policy-list {
    grid-template-columns: 1fr;
    gap: 4px;
    text-align: left;
    justify-items: start;
}

  .doctor-intro__policy-list li {
    padding-left: 28px;
    font-size: 14px;
  }


  .doctor-intro__policy-list li::before {
    left: 0;
  }

  .doctor-intro__policy-list li::after {
    left: 6px;
  }

  .doctor-intro__btn {
    min-width: 0;
    width: 100%;
    min-height: 56px;
    margin-top: 24px;
    padding: 0 42px 0 24px;
    font-size: 15px;
  }

  .doctor-intro__btn span {
    right: 24px;
    width: 9px;
    height: 9px;
  }
}


/* ==========================================
   料金の目安
========================================== */

.price-guide {
  position: relative;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 246, 248, 0.88) 0%, rgba(255, 255, 255, 0.96) 46%, #fff 100%);
  color: #393236;
}

.price-guide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 36%, rgba(255, 226, 234, 0.24) 0%, rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 82% 72%, rgba(255, 226, 234, 0.22) 0%, rgba(255, 255, 255, 0) 26%);
  pointer-events: none;
}

.price-guide__inner {
    position: relative;
    z-index: 2;
    width: 80%;
    margin: 0 auto;
}

/* 見出し */

.price-guide__head {
  margin-bottom: 36px;
  text-align: center;
}

.price-guide__en {
  margin: 0 0 18px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  color: #e8587d;
}

.price-guide__title {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(38px, 4vw, 56px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.18em;
  color: #322d30;
}

.price-guide__lead {
  margin: 24px 0 0;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  color: #4a4246;
}

/* 料金リスト */

.price-guide__list {
  overflow: hidden;
  border: 1px solid rgba(230, 210, 214, 0.78);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 13px 28px rgba(190, 146, 158, 0.12);
}

.price-guide-row {
    display: grid;
    grid-template-columns: 120px 280px 1fr;
    align-items: center;
    min-height: 86px;
    padding: 1.3rem 50px;
    box-sizing: border-box;
}

.price-guide-row + .price-guide-row {
  border-top: 1px solid rgba(244, 202, 212, 0.9);
}

.price-guide-row__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 235, 240, 0.96) 0%, rgba(255, 246, 248, 0.9) 100%);
}

.price-guide-row--purple .price-guide-row__icon {
  background: radial-gradient(circle, rgba(244, 236, 249, 0.96) 0%, rgba(250, 245, 252, 0.92) 100%);
}

.price-guide-row__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.bridal_img img {
    width: 80%;
}

.price-guide-row__title {
  margin: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.price-guide-row--pink .price-guide-row__title {
  color: #e8587d;
}

.price-guide-row--purple .price-guide-row__title {
  color: #8e63b7;
}

.price-guide-row__text {
    position: relative;
    margin: 0;
    padding-left: 48px;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: normal;
    color: #393236;
}

.price-guide-row__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 42px;
  border-left: 2px dotted rgba(239, 151, 174, 0.5);
  transform: translateY(-50%);
}

.price-guide .worries-cta {
    width: 100%;
}
/* ==========================================
   レスポンシブ
========================================== */

@media screen and (max-width: 1024px) {
  .price-guide__inner {
    width: min(90%, 820px);
  }

.price-guide-row {
    grid-template-columns: 90px 220px 1fr;
    padding: 10px 32px;
}

  .price-guide-row__title {
    font-size: 21px;
  }

  .price-guide-row__text {
    padding-left: 34px;
    font-size: 16px;
  }

}

@media screen and (max-width: 767px) {
  .price-guide {
    padding: 46px 0 38px;
  }

  .price-guide__inner {
    width: min(90%, 520px);
  }

  .price-guide__head {
    margin-bottom: 28px;
  }

  .price-guide__en {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

  .price-guide__title {
    font-size: 32px;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }

  .price-guide__lead {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .price-guide__list {
    border-radius: 12px;
  }
	
.price-guide-row {
    grid-template-columns: 58px 1fr;
    gap: 4px;
    min-height: auto;
    padding: 15px 16px;
}

  .price-guide-row__icon {
    grid-row: 1 / 3;
    width: 50px;
    height: 50px;
  }

.price-guide-row__icon img {
    width: 100%;
}
	
.bridal_img img {
    width: 80%;
}

.price-guide-row__title {
    font-size: 19px;
    letter-spacing: 0.05em;
    text-align: center;
}

.price-guide-row__text {
    padding-left: 0;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0.04em;
}

  .price-guide-row__text::before {
    display: none;
  }

}

/* ==========================================
   よくあるご質問
========================================== */

.faq {
    padding: 12rem 0;
    background: #fff2f6;
}

.faq__inner {
  width: min(84%, 1360px);
  margin: 0 auto;
}

.faq__en {
  margin: 0 0 18px;
  color: #ef6b8e;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
  text-align: center;
}

.faq__title {
  margin: 0;
  color: #2f2a2d;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(34px, 4vw, 60px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
}

.faq__lead {
  margin: 22px 0 0;
  color: #4b4448;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.08em;
  text-align: center;
}

.faq__list {
  margin-top: 38px;
}

.faq-item + .faq-item {
  margin-top: 12px;
}

.faq-item {
  overflow: hidden;
  border: 1px solid #f1e3e7;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 22px rgba(210, 170, 179, 0.08);
}

.faq-item__details {
  display: block;
}

.faq-item__summary {
  display: grid;
  grid-template-columns: 74px 1fr 20px;
  gap: 26px;
  align-items: center;
  padding: 22px 34px;
  cursor: pointer;
  list-style: none;
}

.faq-item__summary::-webkit-details-marker {
  display: none;
}

.faq-item__summary::marker {
  content: "";
}

.faq-item__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  line-height: 1;
}

.faq-item__question {
  position: relative;
  margin: 0;
  padding-right: 28px;
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.08em;
}

.faq-item__question::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 54px;
  border-right: 2px dotted currentColor;
  opacity: 0.38;
  transform: translateY(-50%);
}

.faq-item__arrow {
  width: 14px;
  height: 14px;
  margin-left: auto;
  border-right: 2px solid #ef6b8e;
  border-bottom: 2px solid #ef6b8e;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.faq-item__details[open] .faq-item__arrow {
  transform: rotate(-135deg);
}

.faq-item__answer {
  padding: 0 34px 26px 134px;
}

.faq-item__answer p {
  margin: 0;
  padding-top: 18px;
  border-top: 1px dashed #f0d6dd;
  color: #3f383c;
  font-size: 16px;
  line-height: 1.95;
  letter-spacing: 0.06em;
}

.faq-item--pink .faq-item__num,
.faq-item--pink .faq-item__question {
  color: #ef6b8e;
}

.faq-item--purple .faq-item__num,
.faq-item--purple .faq-item__question {
  color: #9c76c1;
}

.faq-item--purple .faq-item__arrow {
  border-right-color: #9c76c1;
  border-bottom-color: #9c76c1;
}

/* CTA */

.faq__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: min(100%, 580px);
  min-height: 74px;
  margin: 30px auto 0;
  padding: 0 30px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ee6d91 0%, #e95a80 100%);
  box-shadow: 0 12px 24px rgba(220, 77, 119, 0.22);
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.faq__cta:hover {
  opacity: 0.86;
  transform: translateY(-2px);
}

.faq__cta-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
}

.faq__cta-icon img {
  display: block;
  width: 100%;
  height: auto;
}

.faq__cta-text {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.faq__cta-arrow {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/* ==========================================
   タブレット
========================================== */

@media screen and (max-width: 1024px) {
  .faq__inner {
    width: min(90%, 960px);
  }

  .faq-item__summary {
    gap: 18px;
    padding: 20px 24px;
  }

  .faq-item__question {
    font-size: 18px;
  }

  .faq-item__answer {
    padding: 0 24px 22px 116px;
  }

  .faq-item__answer p {
    font-size: 15px;
  }
}

/* ==========================================
   スマートフォン
========================================== */

@media screen and (max-width: 767px) {
  .faq {
    padding: 44px 0 36px;
  }

  .faq__inner {
    width: min(90%, 520px);
  }

  .faq__en {
    margin-bottom: 12px;
    font-size: 13px;
    letter-spacing: 0.16em;
  }

  .faq__title {
    font-size: 32px;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }

  .faq__lead {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .faq__list {
    margin-top: 26px;
  }

  .faq-item {
    border-radius: 14px;
  }

  .faq-item__summary {
    grid-template-columns: 50px 1fr 14px;
    gap: 14px;
    padding: 16px;
  }

  .faq-item__num {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }

  .faq-item__question {
    padding-right: 0;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }

  .faq-item__question::after {
    display: none;
  }

  .faq-item__arrow {
    width: 10px;
    height: 10px;
  }

  .faq-item__answer {
    padding: 0 16px 16px;
  }

  .faq-item__answer p {
    padding-top: 14px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }

  .faq__cta {
    gap: 10px;
    min-height: 58px;
    margin-top: 22px;
    padding: 0 18px;
  }

  .faq__cta-icon {
    width: 32px;
    height: 32px;
  }

  .faq__cta-text {
    font-size: 15px;
    letter-spacing: 0.05em;
  }

  .faq__cta-arrow {
    width: 8px;
    height: 8px;
  }
}



/* ==========================================
   アクセス・診療時間
========================================== */
.access-hours {
    position: relative;
    overflow: hidden;
    padding: 10rem 0;
    background: radial-gradient(
      circle at 50% 45%,
      rgba(255, 245, 248, 0.82) 0%,
      rgba(255, 252, 253, 0.95) 46%,
      #ffffff 100%
    );
    color: #3e373a;
}

.access-hours::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 16% 26%,
      rgba(255, 224, 232, 0.22) 0%,
      transparent 25%
    ),
    radial-gradient(
      circle at 84% 72%,
      rgba(242, 230, 247, 0.22) 0%,
      transparent 28%
    );
  pointer-events: none;
}

.access-hours__inner {
  position: relative;
  z-index: 1;
  width: min(92%, 1420px);
  margin: 0 auto;
}

/* 見出し
------------------------------------------ */

.access-hours__header {
  margin-bottom: 44px;
  text-align: center;
}

.access-hours__english {
  margin: 0 0 22px;
  color: #e9587e;
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.24em;
}

.access-hours__title {
  position: relative;
  margin: 0;
  padding-bottom: 30px;
  color: #322d30;
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: clamp(38px, 4vw, 58px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.14em;
}

.access-hours__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 2px;
  background: #e9587e;
  transform: translateX(-50%);
}

/* 2カラム
------------------------------------------ */

.access-hours__contents {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.access-hours-card {
  padding: 34px 32px 30px;
  border: 1px solid rgba(231, 211, 216, 0.72);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow:
    0 16px 34px rgba(195, 149, 161, 0.12),
    inset 0 0 0 1px rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}

.access-hours-card__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 28px;
  color: #e8587e;
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

.access-hours-card__heading-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 25px;
    height: auto;
    overflow: hidden;
    align-items: center;
}

.access-hours-card__heading-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* アクセス
------------------------------------------ */
.access-hours-card__access-content {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.access-hours-card__map {
    overflow: hidden;
    border-radius: 8px;
    background: #f7eef5;
    width: 100%;
    height: 100%;
}

.access-hours-card__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 335px;
  object-fit: cover;
}

.access-hours-card__information {
  min-width: 0;
}

.access-hours-card__route {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}
.access-hours-card__route-item {
    display: grid;
    grid-template-columns: 47px 1fr;
    align-items: center;
    min-height: 62px;
    padding: 8px 20px;
    border-radius: 9px;
    background: linear-gradient(
      90deg,
      rgba(255, 242, 246, 0.96) 0%,
      rgba(255, 248, 250, 0.82) 100%
    );
    box-sizing: border-box;
    gap: 6px;
}

.access-hours-card__route-icon {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.access-hours-card__route-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.access-hours-card__route-item p {
  margin: 0;
  color: #393236;
  font-size: 18px;
  line-height: 1.7;
  letter-spacing: 0.06em;
}

.access-hours-card__details {
  margin: 0;
}

.access-hours-card__detail {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: flex-start;
    padding: 13px 4px;
    border-top: 1px dashed rgba(205, 185, 191, 0.72);
}

.access-hours-card__information .card__detail_tell{
	    align-items: center;
}

.access-hours-card__detail dt {
  margin: 0;
}

.access-hours-card__detail dt img {
    display: block;
    width: 60%;
    height: 100%;
    object-fit: contain;
}

.access-hours-card__route-item .route-icon_on_foot img {
    width: 50%;
    height: 100%;
}

.access-hours-card__detail dd {
    margin: 0;
    color: #393236;
    font-size: 17px;
    line-height: normal;
    letter-spacing: 0.07em;
}

.access-hours-card__detail dd a {
  color: inherit;
  text-decoration: none;
}

.access-hours-card__detail dd a:hover {
  opacity: 0.72;
}

.access-hours-card__detail dd span {
  margin-right: 9px;
  letter-spacing: 0.12em;
}

/* 診療時間
------------------------------------------ */

.access-hours-table-wrap {
  overflow: hidden;
  border: 1px solid rgba(220, 209, 222, 0.85);
  border-radius: 11px;
}

.access-hours-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.access-hours-card.access-hours-card--hours > div > table > tbody > tr {
    display: grid;
    align-items: center;
    grid-template-columns: 30% auto;
    justify-items: center;
}

.access-hours-table th, .access-hours-table td {
    height: 84px;
    border-bottom: 1px solid rgba(220, 209, 222, 0.82);
    color: #393236;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 1px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

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

.access-hours-table th {
    width: 100%;
    border-right: 1px solid rgba(220, 209, 222, 0.82);
    background: linear-gradient(
      90deg,
      rgba(246, 239, 249, 0.9) 0%,
      rgba(250, 246, 251, 0.84) 100%
    );
    text-align: center;
    padding: 0 0;
}

.access-hours-table td {
  background: rgba(255, 255, 255, 0.78);
  text-align: left;
}

/* 下部ボタン
------------------------------------------ */

.access-hours__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 42px;
}

.access-hours-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 74px;
    padding: 0 34px;
    border-radius: 10px;
    box-sizing: border-box;
}

.access-hours-badge--station {
  border: 1px solid rgba(232, 148, 171, 0.38);
  background:
    linear-gradient(
      90deg,
      rgba(255, 245, 248, 0.98) 0%,
      rgba(255, 250, 252, 0.9) 100%
    );
  color: #e05d82;
}

.access-hours-badge--web {
    background: linear-gradient(
      90deg,
      rgba(246, 240, 249, 0.98) 0%,
      rgba(251, 248, 252, 0.92) 100%
    );
    color: #9a73b8;
    border: 1px solid #dec6f1;
}

.access-hours-badge__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
}

.access-hours-badge__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.access-hours-badge__text {
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.access-hours__reservation-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-width: 500px;
  min-height: 84px;
  padding: 0 76px 0 52px;
  border-radius: 999px;
  background:
    linear-gradient(
      180deg,
      #f06f94 0%,
      #df4e78 100%
    );
  box-shadow: 0 13px 25px rgba(220, 77, 119, 0.24);
  color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.access-hours__reservation-button:hover {
  opacity: 0.88;
  transform: translateY(-2px);
  box-shadow: 0 17px 29px rgba(220, 77, 119, 0.28);
}

.access-hours__reservation-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
}

.access-hours__reservation-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.access-hours__reservation-text {
  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;
  font-size: 25px;
  line-height: 1.5;
  letter-spacing: 0.14em;
}

.access-hours__reservation-arrow {
  position: absolute;
  right: 42px;
  top: 50%;
  width: 11px;
  height: 11px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: translateY(-50%) rotate(45deg);
}

/* ==========================================
   タブレット
========================================== */

@media screen and (max-width: 1100px) {
  .access-hours__inner {
    width: min(91%, 900px);
  }

  .access-hours__contents {
    grid-template-columns: 1fr;
  }

  .access-hours-card__access-content {
    grid-template-columns: minmax(280px, 0.9fr) 1fr;
  }

  .access-hours__actions {
    flex-wrap: wrap;
  }

  .access-hours__reservation-button {
    flex-basis: 100%;
    width: min(100%, 540px);
  }
}

/* ==========================================
   スマートフォン
========================================== */

@media screen and (max-width: 767px) {
  .access-hours {
    padding: 46px 0 38px;
  }

  .access-hours__inner {
    width: min(90%, 520px);
  }

  .access-hours__header {
    margin-bottom: 28px;
  }

  .access-hours__english {
    margin-bottom: 14px;
    font-size: 13px;
    letter-spacing: 0.17em;
  }

  .access-hours__title {
    padding-bottom: 22px;
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }

  .access-hours__title::after {
    width: 38px;
  }

  .access-hours__contents {
    gap: 18px;
  }

  .access-hours-card {
    padding: 26px 18px 22px;
    border-radius: 13px;
  }

  .access-hours-card__heading {
    gap: 10px;
    margin-bottom: 20px;
    font-size: 21px;
    letter-spacing: 0.08em;
  }

.access-hours-card__heading-icon {
    width: 21px;
    height: auto;
}

  .access-hours-card__access-content {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .access-hours-card__map,
  .access-hours-card__map iframe {
    min-height: 280px;
  }

  .access-hours-card__route {
    gap: 10px;
  }

  .access-hours-card__route-item {
    grid-template-columns: 34px 1fr;
    min-height: 56px;
    padding: 8px 14px;
  }

  .access-hours-card__route-icon {
    width: 25px;
    height: 25px;
  }

  .access-hours-card__route-item p {
    font-size: 14px;
    letter-spacing: 0.04em;
  }

  .access-hours-card__detail {
    grid-template-columns: 34px 1fr;
    padding: 20px 2px;
  }

  .access-hours-card__detail dt img {
    width: 24px;
    height: 24px;
  }

.access-hours-card__detail dd {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.access-hours-table th, .access-hours-table td {
    height: 49px;
    padding: 0 0;
    font-size: 13px;
    letter-spacing: normal;
}

  .access-hours-table th {

  }

  .access-hours__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
  }

  .access-hours-badge {
    min-height: 58px;
    padding: 0 12px;
    gap: 8px;
  }

  .access-hours-badge__icon {
    width: 28px;
    height: 28px;
  }

  .access-hours-badge__text {
    font-size: 13px;
    letter-spacing: 0.03em;
  }

  .access-hours__reservation-button {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    min-height: 60px;
    padding: 0 48px 0 26px;
    gap: 11px;
  }

  .access-hours__reservation-icon {
    width: 30px;
    height: 30px;
  }

  .access-hours__reservation-text {
    font-size: 17px;
    letter-spacing: 0.08em;
  }

  .access-hours__reservation-arrow {
    right: 25px;
    width: 9px;
    height: 9px;
  }
}