@charset "utf-8";

/*--------------------
webfont
--------------------*/
* {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}

/*--------------------
root
--------------------*/
:root {
  --font-shippori: "Shippori Mincho", serif;
  --font-en: "EB Garamond", serif;
  --font-noto: "Noto Sans JP", sans-serif;
  --color-gold: #9d7855;
  --color-light-gold: #c9b39e;
  --color-pink: #ef538f;
  --color-light-pink: #edaac2;
  --color-beauty: #c62c2b;
  --color-text-base: #5a5143;
  --color-light-base: #aaa296;
}

/*--------------------
common
--------------------*/
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  counter-reset: number 0;
  color: var(--color-text-base);
  position: relative;
}

.no-scroll {
  overflow: hidden;
  position: relative;
}

a {
  color: var(--color-text-base);
  text-decoration: none;
  transition: ease-in 0.2s;

  &:hover {
    transition: ease-in 0.2s;
  }
}

img {
  max-width: 100%;
}

.container {
  max-width: 1500px;
  width: calc(100% - 220px);
  margin: 0 auto;

  @media (max-width: 767px) {
    width: 90%;
  }
}

.container-m {
  max-width: 1200px;
  width: calc(100% - 220px);
  margin: 0 auto;

  @media (max-width: 767px) {
    width: 84%;
  }
}

.container-s {
  max-width: 960px;
  width: calc(100% - 220px);
  margin: 0 auto;

  @media (max-width: 767px) {
    width: 84%;
  }
}

.pc-only {
  @media (max-width: 767px) {
    display: none;
  }
}

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

.text-base {
  font-size: clamp(14px, 13.029px + 0.259vw, 18px);
  margin: 0;
  line-height: 2;
}

.bold {
  font-weight: 600;
}

.swiper-area {
  position: relative;
}

.swiper {
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
}

/*--------------------
title
--------------------*/
/*--------------------
パンくず
--------------------*/
.breadcrumb {
  max-width: 1200px;
  width: calc(100% - 220px);
  margin: 0 auto clamp(60px, 55.146px + 1.294vw, 80px);
  padding: clamp(25px, 23.786px + 0.324vw, 30px) 0 0 0;

  @media (max-width: 767px) {
    width: 84%;
  }

  .breadcrumb_list {
    font-size: clamp(10px, 8.058px + 0.518vw, 18px);
    color: var(--color-text-base);
    font-family: var(--font-noto);
    display: flex;
    align-items: center;
    margin: auto;
    padding: 0;
    flex-wrap: wrap;
    list-style: none;
    line-height: 2;

    * {
      font-weight: 400;
    }

    .breadcrumb_item {
      display: flex;
      align-items: flex-start;
      position: relative;

      &:last-child {
        color: var(--color-light-base);
      }

      &+.breadcrumb_item {
        &::before {
          position: relative;
          content: "";
          display: block;
          width: clamp(8px, 7.515px + 0.129vw, 10px);
          height: 1px;
          margin: 0 10px;
          top: 1em;
          transform: translateY(-50%);
          background-color: var(--color-text-base);
          flex-shrink: 0;
        }
      }
    }
  }
}

/*--------------------
タブ
--------------------*/
.tab {
  .tab__button-area {
    .tab__button {
      transition: ease-in 0.2s;
      cursor: pointer;
    }
  }

  .tab__panel-area {
    .tab__panel {
      height: 0;
      opacity: 0;
      overflow: hidden;
      transition: opacity 0.4s ease;

      &.show {
        height: auto;
        opacity: 1;
      }
    }
  }
}

/*--------------------
btn
--------------------*/
.btn--arrow-brown {
  a {
    position: relative;
    font-size: clamp(16px, 15.515px + 0.129vw, 18px);
    width: fit-content;
    display: block;
    text-align: center;
    border-radius: 4px;
    padding-right: clamp(23px, 20.816px + 0.583vw, 32px);

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      background: url("../img/arrow-brown.svg") center center / contain no-repeat;
      width: clamp(18px, 17.029px + 0.259vw, 22px);
      height: clamp(18px, 17.029px + 0.259vw, 22px);
      display: inline-block;
      transition: ease-in 0.2s;
    }
  }

  a:hover {
    opacity: 0.8;

    &::after {
      right: -5px;
    }
  }
}

/*--------------------
list
--------------------*/
.list-square {
  list-style: none;
  margin: 0;
  padding: 0;

  &>li {
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    position: relative;
    padding-left: clamp(10px, 8.786px + 0.324vw, 15px);

    &::after {
      content: "";
      position: absolute;
      left: 0;
      top: 0.6em;
      width: clamp(6px, 5.515px + 0.129vw, 8px);
      height: clamp(6px, 5.515px + 0.129vw, 8px);
      display: inline-block;
      background-color: #c9b39e;
      border-radius: 2px;
    }
  }

  li+li {
    margin-top: 15px;
  }

  /* 2カラムに */
  &.column-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;

    &>li {
      width: calc((100% - 20px) / 2);

      @media (max-width: 767px) {
        width: 100%;
      }
    }

    li+li {
      margin-top: 0;
    }
  }
}

/* .list-arrow {
  list-style: none;
  margin: 0;
  padding: 0;

  &>li {
    position: relative;
    padding-left: 10px;

    &::before {
      content: "";
      position: absolute;
      top: 8px;
      left: 0;
      width: 4px;
      height: 8px;
      background: url("data:image/svg+xml,%3Csvg width='6' height='9' viewBox='0 0 6 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0.5L5 4.5L1 8.5' stroke='%23242424'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
      display: inline-block;
    }

    &+li {
      margin-top: 10px;
    }
  }
}

.list-dot {
  list-style: none;
  margin: 0;
  padding: 0;

  &>li {
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    position: relative;
    padding-left: clamp(10px, 8.786px + 0.324vw, 15px);

    &::after {
      content: "";
      position: absolute;
      left: 0;
      top: 10px;
      width: 6px;
      height: 6px;
      display: inline-block;
      background-color: #242424;
      border-radius: 50px;
    }

    @media (max-width: 767px) {
      &::after {
        top: 7px;
      }
    }

    &+li {
      margin-top: 10px;
    }
  }
} */
/*--------------------
ページネーション
--------------------*/
.navigation.pagination {
  text-align: center;
  margin-top: clamp(60px, 55.146px + 1.294vw, 80px);

  * {
    font-family: var(--font-noto);
    font-weight: 400;
  }

  .nav-links {
    display: flex;
    gap: clamp(5px, 3.786px + 0.324vw, 10px);
    align-items: center;
    justify-content: center;
  }

  .page-numbers {
    padding: 0.5em;
    min-width: 2em;
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    display: inline-block;
    line-height: 1;
    border-radius: 100px;
    color: var(--color-text-base);
    white-space: nowrap;

    &:hover {
      color: var(--color-pink);
    }

    &.current {
      background-color: var(--color-light-pink);
      color: #fff;
    }
  }

  .dots {
    color: var(--color-text-base);
    display: inline-flex;
    align-items: center;
    gap: 0.2em;
    background-color: transparent;
    border-radius: 0;
    border: none;
  }
}

/*--------------------
共通パーツ
--------------------*/
/*--- 営業日カレンダー ---*/
.clinic-schedule {
  .clinic-schedule__title {
    display: flex;
    gap: 10px;
    align-items: center;
    font-family: var(--font-shippori);
    font-weight: 400;
    font-size: clamp(18px, 16.544px + 0.388vw, 24px);
    margin: 0 0 15px;

    &::before {
      content: "";
      background: url("../img/icon_clinic.svg") center center / contain no-repeat;
      width: 35px;
      height: 32px;
      display: inline-block;
    }

    @media (max-width: 767px) {
      &::before {
        width: 24px;
        height: 21px;
      }
    }
  }

  .clinic-schedule__table {
    width: 100%;
    table-layout: fixed;
    background-color: #fef6f9;

    thead {
      tr {
        td {
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          text-align: center;
          height: 55px;
        }

        td+td {
          border-left: 2px #fff solid;
        }
      }
    }

    tbody {
      border-top: 2px #fff solid;

      tr {
        td {
          font-weight: 600;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          color: var(--color-light-pink);
          text-align: center;
          height: 55px;
        }

        td+td {
          border-left: 2px #fff solid;
        }

        .off {
          font-size: clamp(18px, 17.029px + 0.259vw, 22px);
        }
      }
    }
  }

  .clinic-schedule__notes {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    margin-top: clamp(10px, 7.573px + 0.647vw, 20px);

    .calendar-table-notes__item {
      width: fit-content;
      display: flex;
      align-items: center;

      .off {
        font-weight: 600;
        font-size: clamp(18px, 17.029px + 0.259vw, 22px);
        color: var(--color-light-pink);
      }
    }
  }
}

/*--- CTA ---*/
.contact-cta {
  .contact-cta__title {
    display: flex;
    gap: 10px;
    align-items: center;
    font-family: var(--font-shippori);
    font-weight: 400;
    font-size: clamp(18px, 16.544px + 0.388vw, 24px);
    margin: 0 0 15px;

    &::before {
      content: "";
      background: url("../img/icon_calendar.svg") center center / contain no-repeat;
      width: 33px;
      height: 33px;
      display: inline-block;
    }

    @media (max-width: 767px) {
      &::before {
        width: 24px;
        height: 24px;
        margin-bottom: -7px;
      }
    }
  }

  .contact-cta__list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;

    @media (max-width: 767px) {
      gap: 15px;
    }

    .contact-cta__item {
      width: calc((100% - 60px) / 3);

      @media (max-width: 767px) {
        width: 100%;
      }

      a {
        position: relative;
        border-radius: 6px;
        font-family: var(--font-shippori);
        font-size: clamp(18px, 17.515px + 0.129vw, 20px);
        color: #fff;
        background-color: #d96196;
        display: flex;
        align-items: center;
        text-align: center;
        gap: 5px;
        line-height: 1.2;
        width: 100%;
        padding: 20px;

        @media (max-width: 767px) {
          padding: 15px 18px;
        }

        &::before {
          content: "";
          width: clamp(30px, 29.029px + 0.259vw, 34px);
          height: clamp(30px, 29.029px + 0.259vw, 34px);
          background: url("../img/symbol-white.png") center center / contain no-repeat;
        }

        &::after {
          content: "";
          position: absolute;
          top: 50%;
          right: 15px;
          transform: translateY(-50%);
          background: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 11 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 5.62891L0 11.2581V-0.000259382L10.5 5.62891Z' fill='white'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
          width: 11px;
          height: 12px;
        }

        small {
          font-weight: 300;
          font-size: 12px;

          @media (max-width: 767px) {
            margin-left: 5px;
          }
        }
      }

      a:hover {
        filter: brightness(1.1);
      }
    }

    .contact-cta__item:nth-child(2) {
      a {
        background-color: #e66fad;
      }
    }

    .contact-cta__item:nth-child(3) {
      a {
        background-color: #dc6db3;
      }
    }
  }
}

/* SNSリンク */
a.sns-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  .sns-icon {
    width: clamp(18px, 16.544px + 0.388vw, 24px);
    flex-shrink: 0;
  }

  .sns-label {
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
  }
}

a.sns-link:hover {
  filter: brightness(1.3);
}

/*--------------------
header
--------------------*/
header {
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .header-inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 85px;
    padding: 0 1.56vw;
    display: flex;
    align-items: center;
    gap: 2.08vw;
    z-index: 102;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);

    @media (max-width: 767px) {
      height: 60px;
      padding: 0 15px;
    }

    .header-logo {
      width: clamp(170px, 151.796px + 4.854vw, 245px);
      margin: 0;

      a {
        display: flex;
      }
    }

    /* グローバルナビ */
    .g-nav {
      margin-left: auto;

      @media (max-width: 1200px) {
        display: none;
      }

      .g-nav__list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;

        .g-nav__item {
          &>a {
            display: flex;
            flex-direction: column;
            justify-content: center;
            /* 1200px-1920px */
            font-size: clamp(14px, 10.667px + 0.278vw, 16px);

            &:hover {
              color: var(--color-pink);
            }
          }
        }

        .g-nav__item+.g-nav__item {
          border-left: 1px var(--color-text-base) solid;
          padding-left: 1.04vw;
          margin-left: 1.04vw;
        }
      }
    }

    .btn-hamburger {
      @media (max-width: 1200px) {
        margin-left: auto;
      }
    }
  }
}

/* ハンバーガーメニューが開いているとき */
header.active {
  .ham-contents {
    display: flex;

    &::-webkit-scrollbar {
      display: none;
    }
  }
}

/* ハンバーガー */
.btn-hamburger {
  position: relative;
  width: clamp(34px, 31.087px + 0.777vw, 46px);
  height: clamp(34px, 31.087px + 0.777vw, 46px);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: var(--color-light-pink);
  border-radius: 4px;

  .hamburger-lines {
    position: relative;
    width: 50%;
    z-index: 1;

    .line {
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      height: 2px;
      margin: auto;
      background-color: #fff;
      border-radius: 5px;
      transform-origin: 50% 50%;
      transition:
        transform 0.2s ease,
        opacity 0.2s ease;
    }

    .line:nth-child(1) {
      transform: translateY(-7px) rotate(0);

      @media (max-width: 767px) {
        transform: translateY(-5px) rotate(0);
      }
    }

    .line:nth-child(2) {
      transform: translateY(7px) rotate(0);

      @media (max-width: 767px) {
        transform: translateY(5px) rotate(0);
      }
    }

    .line:nth-child(3) {
      transform: translateY(0px);
      opacity: 1;
    }
  }

  &.active {
    &::before {
      transform: rotate(-60deg);
    }

    .hamburger-lines {
      .line:nth-child(1) {
        transform: translateY(0) rotate(45deg);
      }

      .line:nth-child(2) {
        transform: translateY(0) rotate(-45deg);
      }

      .line:nth-child(3) {
        opacity: 0;
      }
    }
  }
}

/* 固定CTA */
.fixed-cta {
  position: fixed;
  bottom: 20px;
  right: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 10px;

  @media (max-width: 767px) {
    width: 100%;
    bottom: 0;
    flex-direction: row;
    gap: 3px;
  }

  .fixed-cta__btn {
    @media (max-width: 767px) {
      width: calc((100% - 6px) / 3);
    }

    a {
      position: relative;
      border-radius: 6px 0 0 6px;
      font-family: var(--font-shippori);
      font-size: clamp(18px, 17.515px + 0.129vw, 20px);
      color: #fff;
      background-color: #d96196;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      gap: 3px;
      line-height: 1.2;
      width: 100px;
      height: 127px;

      @media (max-width: 767px) {
        width: 100%;
        height: 54px;
        border-radius: 0 4px 0 0;
      }

      &::before {
        content: "";
        width: clamp(30px, 29.029px + 0.259vw, 34px);
        height: clamp(30px, 29.029px + 0.259vw, 34px);
        background: url("../img/symbol-white.png") center center / contain no-repeat;
      }

      @media (max-width: 767px) {
        &::before {
          display: none;
        }
      }

      small {
        font-weight: 300;
        font-size: 12px;
      }
    }

    a:hover {
      filter: brightness(1.1);
    }
  }

  .fixed-cta__btn:nth-child(2) {
    a {
      background-color: #e66fad;

      @media (max-width: 767px) {
        border-radius: 4px 4px 0 0;
      }
    }
  }

  .fixed-cta__btn:nth-child(3) {
    a {
      background-color: #dc6db3;

      @media (max-width: 767px) {
        border-radius: 4px 0 0 0;
      }
    }
  }
}

/*--------------------
ハンバーガー中身
--------------------*/
.ham-contents {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 100svh;
  height: auto;
  background: url("../img/ham-contents_bg.webp") center center / cover no-repeat;
  transition: ease-in 0.2s;
  z-index: 103;
  overflow-y: scroll;
  overscroll-behavior: none;

  .btn-hamburger {
    position: fixed;
    top: calc((85px - clamp(34px, 31.087px + 0.777vw, 46px)) / 2);
    right: 1.56vw;
    z-index: 100;

    @media (max-width: 767px) {
      top: 13px;
      right: 15px;
    }
  }

  .ham-contents__inner {
    max-width: 1200px;
    width: calc(100% - 220px);
    height: fit-content;
    margin: auto;
    padding: 100px 0;

    @media (max-width: 767px) {
      padding: 60px 0 30px;
      width: 84%;
    }

    .ham-contents__logo {
      width: 280px;
      margin: 0 auto clamp(40px, 27.864px + 3.236vw, 90px);
      text-align: center;

      @media (max-width: 767px) {
        width: 230px;
      }

      a {
        display: block;
      }

      img {
        margin: 5px 0;
      }

      .ham-contents__logo-copy {
        font-family: var(--font-shippori);
        font-weight: 400;
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        margin: 0;
      }
    }

    .ham-contents__container {
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: 80px;

      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;
        gap: 40px;
      }

      .ham-nav {
        grid-column: 1 / -1;
        grid-row: 1;

        @media (max-width: 767px) {
          margin: 0 auto;
        }

        .ham-nav__list {
          display: flex;
          flex-wrap: wrap;
          gap: 30px 3.13vw;

          @media (max-width: 767px) {
            gap: 25px 15px;
          }

          .ham-nav__item {
            width: calc((100% - 6.26vw) / 3);

            @media (max-width: 767px) {
              width: calc((100% - 15px) / 2);
            }

            a {
              position: relative;
              display: flex;
              font-family: var(--font-shippori);
              font-weight: 500;
              font-size: clamp(14px, 11.087px + 0.777vw, 26px);
              border-bottom: 1px #d3bbc6 solid;
              padding-bottom: 10px;
              padding-right: 20px;

              &::after {
                content: "";
                position: absolute;
                right: 0;
                top: calc(50% - 5px);
                transform: translateY(-50%);
                background: url("../img/arrow-light-pink.svg") center center / contain no-repeat;
                width: clamp(15px, 13.301px + 0.453vw, 22px);
                height: clamp(15px, 13.301px + 0.453vw, 22px);
              }
            }

            a:hover {
              color: var(--color-pink);
            }
          }
        }
      }

      .ham-clinic-schedule {
        @media (max-width: 767px) {
          margin-top: 20px;
        }
      }

      .ham-cta {
        grid-column: 2;
        grid-row: 2 / 4;

        .contact-cta__list {
          flex-direction: column;
          gap: 15px;

          .contact-cta__item {
            width: 100%;
          }
        }
      }

      .ham-sns {
        .ham-sns__list {
          display: flex;
          align-items: center;
          gap: 3.13vw;

          @media (max-width: 767px) {
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            gap: 15px;
          }
        }
      }

      .ham-nav-sequel {
        grid-column: 1 / -1;
        display: flex;
        gap: 40px;
        justify-content: center;

        @media (max-width: 767px) {
          gap: 15px;
        }

        .ham-nav-sequel__item {
          a {
            font-family: var(--font-shippori);
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            color: var(--color-gold);
            border-bottom: 1px var(--color-gold) solid;
            padding-bottom: 5px;
          }

          a:hover {
            filter: brightness(1.3);
          }
        }
      }
    }
  }
}

/*--------------------
トップページ
--------------------*/
/*--- セクション見出し ---*/
.section-title {
  margin-bottom: clamp(25px, 18.932px + 1.618vw, 50px);
  text-align: center;

  .ja {
    font-family: var(--font-noto);
    font-weight: 400;
    font-size: clamp(13px, 12.272px + 0.194vw, 16px);
    margin: 0;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .en {
    font-family: var(--font-en);
    font-weight: 400;
    font-size: clamp(30px, 25.146px + 1.294vw, 50px);
    color: var(--color-gold);
    margin: 0;
    line-height: 1.2;
  }
}

/*--- ファーストビュー ---*/
.hero-section {
  position: relative;
  width: 100%;
  overflow: hidden;

  .hero-section__img {
    @media (max-width: 767px) {
      aspect-ratio: 375 / 480;
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .hero-section__copy {
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    max-width: 1200px;
    width: calc(100% - 220px);

    @media (max-width: 767px) {
      width: 90%;
      top: initial;
      left: 5%;
      bottom: 18.67vw;
      transform: none;
    }

    .hero-section__copy-main {
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(25px, 18.932px + 1.618vw, 50px);
      line-height: 1.5;
      margin: 0 0 15px;
    }

    .hero-section__copy-sub {
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(18px, 12.66px + 1.424vw, 40px);
      line-height: 1.5;
      margin: 0;
      display: flex;
      align-items: center;
      gap: 20px;

      @media (max-width: 767px) {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
      }

      &::before {
        content: "";
        width: clamp(40px, 25.437px + 3.883vw, 100px);
        height: 1px;
        border-bottom: 1px #a3a3a3 solid;
        display: block;
      }
    }

    .hero-section__copy-desc {
      font-family: var(--font-shippori);
      font-size: clamp(13px, 10.816px + 0.583vw, 22px);
      line-height: 1.8;
      margin: clamp(30px, 25.146px + 1.294vw, 50px) 0 0;
    }
  }
}

/*--- ピックアップ ---*/
.pickup-section {
  padding: clamp(50px, 37.864px + 3.236vw, 100px) 0 clamp(40px, 35.146px + 1.294vw, 60px);
  overflow: hidden;

  @media (max-width: 767px) {
    background-size: 41.6vw;
  }

  .pickup-swiper {
    .piclup-list {
      .pickup-list__item {
        width: clamp(335px, 294.951px + 10.68vw, 500px);

        a {
          display: block;
          aspect-ratio: 2 / 1;

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }
      }
    }
  }

  .pickup-section__btn {
    display: flex;
    justify-content: flex-end;
    margin-top: clamp(20px, 17.573px + 0.647vw, 30px);
  }
}

/*--- お知らせ/ブログ ---*/
.news-blog-wrap {
  max-width: 1560px;
  width: calc(100% - 220px);
  display: flex;
  margin: 0 auto;
  gap: 3.13vw;
  padding-bottom: clamp(60px, 45.437px + 3.883vw, 120px);

  @media (max-width: 767px) {
    width: 90%;
    flex-direction: column;
    gap: 30px;
  }
}

.post-section {
  display: flex;
  flex-direction: column;
  width: calc((100% - 3.13vw) / 2);
  background: url("../img/news-section_bg.webp") center center / cover no-repeat;
  padding: clamp(30px, 25.146px + 1.294vw, 50px) clamp(20px, 12.718px + 1.942vw, 50px) clamp(20px, 15.146px + 1.294vw, 40px);

  @media (max-width: 767px) {
    width: 100%;
  }

  .post-section__title {
    display: flex;
    align-items: center;
    gap: clamp(10px, 7.573px + 0.647vw, 20px);
    margin-bottom: 15px;
  }

  .post-section__inner {
    background-color: rgba(255, 255, 255, 0.8);
    padding: clamp(30px, 25.146px + 1.294vw, 50px) clamp(20px, 15.146px + 1.294vw, 40px);
    margin-bottom: clamp(20px, 17.573px + 0.647vw, 30px);
  }

  .post-section__btn {
    margin-top: auto;

    a {
      display: block;
      background-color: #c9b39e;
      max-width: 240px;
      width: 100%;
      margin: 0 auto;
      padding: 10px;
      font-size: clamp(16px, 15.515px + 0.129vw, 18px);
      text-align: center;
      color: #fff;
      border-radius: 100px;
    }

    a:hover {
      filter: brightness(1.1);
    }
  }
}

.blog-section {
  background-image: url("../img/blog-section_bg.webp");
}

.post-list {
  list-style: none;
  margin: 0;
  padding: 0;

  .post-list__item {
    a {
      position: relative;
      display: block;
      padding-right: clamp(23px, 20.816px + 0.583vw, 32px);

      .post-list__date {
        display: block;
        font-size: clamp(12px, 11.029px + 0.259vw, 16px);
        color: var(--color-gold);
        margin-bottom: 5px;
      }

      .post-list__title {
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        margin: 0;
      }

      &::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        background: url("../img/arrow-brown.svg") center center / contain no-repeat;
        width: clamp(18px, 17.029px + 0.259vw, 22px);
        height: clamp(18px, 17.029px + 0.259vw, 22px);
        display: inline-block;
        transition: ease-in 0.2s;
      }
    }

    a:hover {
      &::before {
        right: -5px;
      }
    }
  }

  .post-list__item+.post-list__item {
    margin-top: clamp(20px, 18.786px + 0.324vw, 25px);

    &::before {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background-image: repeating-linear-gradient(to right,
          #ddc3a1 0 3px,
          transparent 3px 6px);
      margin-bottom: clamp(20px, 18.786px + 0.324vw, 25px);
    }
  }
}

.section-title--flower {
  position: relative;
  text-align: center;
  width: fit-content;
  margin: 0 auto clamp(40px, 30.291px + 2.589vw, 80px);

  .ja {
    font-family: var(--font-shippori);
    font-weight: 500;
    font-size: clamp(24px, 21.087px + 0.777vw, 36px);
    margin: 0;
    letter-spacing: 0.05em;
  }

  .en {
    font-family: var(--font-en);
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    color: var(--color-gold);
    margin: 0;
  }

  &::before {
    content: "";
    position: absolute;
    left: -80px;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/section-title--flower-onj01.webp") center center / contain no-repeat;
    width: 65px;
    aspect-ratio: 65 / 93;
    display: inline-block;
  }

  @media (max-width: 767px) {
    &::before {
      left: -60px;
      width: 45px;
    }
  }

  &::after {
    content: "";
    position: absolute;
    right: -65px;
    top: 50%;
    transform: translateY(-50%);
    background: url("../img/section-title--flower-onj02.webp") center center / contain no-repeat;
    width: 51px;
    aspect-ratio: 51 / 92;
    display: inline-block;
  }

  @media (max-width: 767px) {
    &::after {
      right: -50px;
      width: 35px;
    }
  }
}

/*--- 医師紹介 ---*/
.doctor-section {
  background: url("../img/doctor-section_bg.webp") center center / cover no-repeat;
  padding-top: clamp(50px, 33.01px + 4.531vw, 120px);
  padding-bottom: clamp(60px, 38.155px + 5.825vw, 150px);

  .doctor-section__message-area {
    display: flex;
    gap: 4.17vw;

    @media (max-width: 767px) {
      flex-direction: column;
      align-items: center;
    }

    .doctor-section__photo {
      max-width: 370px;
      width: 45%;
      flex-shrink: 0;

      @media (max-width: 767px) {
        width: 100%;
      }

      .doctor-section__img {
        @media (max-width: 767px) {
          width: 200px;
          margin: 0 auto;
          display: block;
        }
      }
    }

    .doctor-section__name {
      font-family: var(--font-shippori);
      font-weight: 500;
      font-size: clamp(22px, 20.058px + 0.518vw, 30px);
      margin: clamp(20px, 15.146px + 1.294vw, 40px) 0 0;

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

      small {
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(16px, 15.029px + 0.259vw, 20px);
        margin-right: 5px;
      }
    }

    .doctor-section__license {
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      line-height: 1.8;
      color: var(--color-gold);
      margin: clamp(15px, 11.359px + 0.971vw, 30px) 0 0;

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

    .sns-link {
      margin-top: clamp(20px, 15.146px + 1.294vw, 40px);
      gap: 15px;

      @media (max-width: 767px) {
        display: flex;
        justify-content: center;
        gap: 10px;
      }
    }
  }

  .doctor-section__message {
    @media (max-width: 767px) {
      margin-top: 60px;
    }
  }

  .doctor-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.13vw;
    margin-top: clamp(60px, 52.718px + 1.942vw, 90px);

    @media (max-width: 767px) {
      display: flex;
      flex-direction: column;
      gap: 40px;
    }

    .doctor-info__box {
      background-color: #fff;
      border-top: 1px #c9b39e solid;
      padding: 30px clamp(20px, 12.718px + 1.942vw, 50px);

      .doctor-info__title {
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(22px, 20.544px + 0.388vw, 28px);
        color: var(--color-gold);
        text-align: center;
        margin: 0 0 clamp(20px, 17.573px + 0.647vw, 30px);
      }

      .career-list {
        margin: 0;

        .career-list__item {
          display: flex;
          gap: 20px;

          dt {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            color: var(--color-gold);
          }

          dd {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            margin-left: 0;
          }
        }

        .career-list__item+.career-list__item {
          margin-top: 15px;
        }
      }

      .career-list.scroll {
        height: 240px;
      }

      .media-swiper-area {
        .media-swiper {
          .swiper-wrapper {
            .swiper-slide {
              @media (max-width: 767px) {
                width: 70%;
              }

              .media-swiper__img {
                width: 340 / 240;

                img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                }
              }

              .media-swiper__text {
                margin: clamp(15px, 13.786px + 0.324vw, 20px) 0 0;
              }
            }
          }
        }

        .media-swiper-button-prev,
        .media-swiper-button-next {
          background: #fff;
          width: clamp(35px, 31.359px + 0.971vw, 50px);
          height: clamp(35px, 31.359px + 0.971vw, 50px);
          border-radius: 100px;
          filter: drop-shadow(0 0 20px #e6e6e6);

          &::after {
            content: "";
            background: url("data:image/svg+xml,%3Csvg width='18' height='20' viewBox='0 0 18 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.9672e-07 9.84118L17.0455 19.6824L17.0455 -2.26796e-05L4.9672e-07 9.84118Z' fill='%23C9B39E'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
            width: clamp(16px, 14.544px + 0.388vw, 22px);
            height: clamp(16px, 14.544px + 0.388vw, 22px);
            margin-right: 5px;
          }
        }

        .media-swiper-button-prev {
          left: -20px;
        }

        .media-swiper-button-next {
          right: -20px;

          &::after {
            background-image: url("data:image/svg+xml,%3Csvg width='18' height='20' viewBox='0 0 18 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.0454 9.84118L-4.67033e-05 19.6824L-4.58429e-05 -2.26796e-05L17.0454 9.84118Z' fill='%23C9B39E'/%3E%3C/svg%3E%0A");
            margin-right: 0;
            margin-left: 5px;
          }
        }
      }
    }

    .doctor-info__box:nth-child(1) {
      grid-column: 1;
      grid-row: 1;
    }

    .doctor-info__box:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }

    .doctor-info__box:nth-child(3) {
      grid-column: 1 / -1;
      grid-row: 2;
    }
  }
}

.scroll {
  overflow-y: scroll;
  padding-right: 30px;

  &::-webkit-scrollbar {
    width: 2px;
    background-color: transparent;
  }

  &::-webkit-scrollbar-thumb {
    background: #c9b39e;
    width: 2px;
    border-radius: 10px;
  }

  &::-webkit-scrollbar-track {
    background-color: #f0f0f0;
  }
}

/*--- 当院の特徴 ---*/
.features-section {
  background: url("../img/features-section_bg.webp") center center / cover no-repeat;
  padding-top: clamp(50px, 33.01px + 4.531vw, 120px);
  padding-bottom: clamp(60px, 38.155px + 5.825vw, 150px);

  .features-section__title {
    margin-bottom: clamp(55px, 41.650px + 3.56vw, 110px);
  }

  .features-list {
    list-style: none;
    margin: 0;
    padding: 0;

    .features-list__item {
      display: grid;
      grid-template-columns: min(570px, 45%) 1fr;
      gap: 2.6vw 40px;

      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;
        gap: 20px;
      }

      .features-list__img {
        grid-column: 1;
        grid-row: 1 / 3;
        position: relative;

        @media (max-width: 767px) {
          width: calc(100% - 15px);
          margin-left: auto;
        }

        &::before {
          content: "";
          position: absolute;
          top: -30px;
          left: -30px;
          z-index: 1;
          background: url("../img/img_features_bg.webp") center center / cover no-repeat;
          width: 100%;
          aspect-ratio: 570 / 320;
        }

        @media (max-width: 767px) {
          &::before {
            top: -15px;
            left: -15px;
          }
        }

        img {
          position: relative;
          z-index: 2;
        }
      }

      .features-list__title {
        grid-column: 2;
        grid-row: 1;
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(20px, 18.058px + 0.518vw, 28px);
        line-height: 1.6;
        letter-spacing: 0.05em;
        margin: auto 0 0;

        &::after {
          content: "";
          width: clamp(35px, 31.359px + 0.971vw, 50px);
          height: 3px;
          background-color: #ef538f;
          display: block;
          margin: clamp(15px, 12.573px + 0.647vw, 25px) 0 0;
        }
      }

      .features-list__text {
        grid-column: 2;
        grid-row: 2;
        margin: 0 0 auto;
      }
    }

    .features-list__item:nth-child(even) {
      grid-template-columns: 1fr min(570px, 45%);

      .features-list__img {
        grid-column: 2;

        @media (max-width: 767px) {
          margin-right: auto;
          margin-left: 0;
        }

        &::before {
          left: inherit;
          right: -30px;
        }

        @media (max-width: 767px) {
          &::before {
            right: -15px;
          }
        }
      }

      .features-list__title {
        grid-column: 1;
      }

      .features-list__text {
        grid-column: 1;
      }
    }

    .features-list__item+.features-list__item {
      margin-top: clamp(80px, 67.864px + 3.236vw, 130px);
    }
  }
}

.menu-section {
  overflow: hidden;

  &::before {
    content: "";
    display: block;
    position: relative;
    background: #f8f7f4;
    height: 150px;
    border-top-left-radius: 50% 100%;
    border-top-right-radius: 50% 100%;
    margin: 0 -100px;
  }

  @media (max-width: 767px) {
    &::before {
      height: 90px;
    }
  }

  .menu-section__container {
    background-color: #f8f7f4;
    padding-bottom: clamp(80px, 63.01px + 4.531vw, 150px);
    margin-top: -50px;

    @media (max-width: 767px) {
      margin-top: -40px;
    }

    .menu-section__inner {
      max-width: 1200px;
      width: calc(100% - 220px);
      margin: 0 auto;

      @media (max-width: 767px) {
        width: 84%;
      }

      .section-title--flower {
        .ja {
          letter-spacing: 0;
        }
      }

      .menu-category {
        display: flex;
        flex-wrap: wrap;
        gap: 2.08vw;

        @media (max-width: 767px) {
          gap: 20px;
        }

        .menu-category__item {
          width: calc((100% - 2.08vw) / 2);
          height: fit-content;
          background-color: #fff;
          border-radius: 6px;
          padding: clamp(20px, 17.573px + 0.647vw, 30px);

          @media (max-width: 767px) {
            width: 100%;
          }

          .menu-category__head {
            position: relative;
            display: flex;
            align-items: center;
            gap: 20px;
            cursor: pointer;

            &::after {
              content: "";
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%);
              background: url("../img/arrow-light-beige.svg") center center / contain no-repeat;
              width: clamp(20px, 16.359px + 0.971vw, 35px);
              height: clamp(20px, 16.359px + 0.971vw, 35px);
              transition: ease-in 0.2s;
            }

            .menu-category__icon {
              width: clamp(50px, 43.204px + 1.812vw, 78px);
              flex-shrink: 0;
            }

            .menu-category__label {
              font-family: var(--font-shippori);
              font-weight: 500;
              font-size: clamp(20px, 18.058px + 0.518vw, 28px);
              margin: 0;
            }
          }

          .menu-category__head.show {
            &::after {
              transform: translateY(-50%) rotate(-180deg);
            }
          }

          .menu-list {
            list-style: none;
            margin: clamp(20px, 17.573px + 0.647vw, 30px) 0 0;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 30px;

            .menu-list__item {
              display: flex;
              align-items: flex-end;

              a {
                position: relative;
                display: flex;
                align-items: center;
                width: 100%;
                border-bottom: 1px #f2eee8 solid;
                padding-bottom: 5px;
                padding-left: 15px;

                &::before {
                  content: "";
                  position: absolute;
                  top: 0.5em;
                  left: 0;
                  background: url("data:image/svg+xml,%3Csvg width='9' height='11' viewBox='0 0 9 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 5.19629L-4.89399e-07 10.3924L-3.51373e-08 0.000136459L9 5.19629Z' fill='%23E5DACE'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
                  width: 11px;
                  height: 9px;
                  display: inline-block;
                }
              }

              a:hover {
                color: var(--color-gold);
              }
            }
          }
        }
      }
    }
  }
}

/*----------------------------------------
下層：ページタイトル
----------------------------------------*/
.page-title {
  position: relative;
  width: 100%;
  height: clamp(265px, 211.359px + 14.304vw, 486px);
  background: url(../img/news/page-title_img.webp) center center no-repeat;
  background-size: cover;

  @media (max-width: 767px) {
    background-image: url(../img/news/page-title_img_sp.webp);
  }

  /* 文字 */
  .page-title__content {
    position: absolute;
    /* 768-1920 */
    top: calc(50% + 42.5px);
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    max-width: 1200px;
    width: calc(100% - 220px);
    margin: 0 auto;

    @media (max-width: 767px) {
      width: 84%;
      top: calc(50% + 30px);
    }

    .en {
      font-family: var(--font-en);
      font-weight: 400;
      font-size: clamp(40px, 30.291px + 2.589vw, 80px);
      color: var(--color-text-base);
      margin: 0;

      @media (max-width: 767px) {
        line-height: 1.125;
        margin-bottom: 7px;
      }
    }

    .ja {
      font-family: var(--font-shippori);
      font-weight: 500;
      font-size: clamp(14px, 11.573px + 0.647vw, 24px);
      color: var(--color-gold);
      margin: 0;
    }
  }
}

/* プライバシーポリシー */
.page-privacy-policy,
.page-cancel-policy {
  .page-title {
    background-image: url("../img/privacy-policy/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/privacy-policy/page-title_img_sp.webp");
    }
  }

  main {
    background-color: #fef6f9;
  }
}

.heading-style01,
.post-main h2 {
  background-color: #fff;
  font-family: var(--font-shippori);
  font-weight: 400;
  font-size: clamp(18px, 16.544px + 0.388vw, 24px);
  color: var(--color-gold);
  line-height: 1.5;
  text-align: left;
  border-left: clamp(4px, 3.515px + 0.129vw, 6px) var(--color-gold) solid;
  padding: clamp(8px, 7.515px + 0.129vw, 10px) clamp(11px, 8.816px + 0.583vw, 20px);
  margin: clamp(55px, 50.146px + 1.294vw, 75px) auto clamp(10px, 7.573px + 0.647vw, 20px);
}

main {
  .privacy-policy-section {
    padding-bottom: clamp(80px, 63.01px + 4.531vw, 150px);

    .privacy-policy-section__text {
      margin: clamp(10px, 7.573px + 0.647vw, 20px) 0 0 0;
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      color: var(--color-text-base);
      line-height: 2;

      .privacy-policy-section__text+.heading-style01 {
        margin-top: clamp(60px, 55.146px + 1.294vw, 80px);
      }
    }
  }
}

.list-style01__list,
.post-main ul {
  list-style: none;
  margin: clamp(10px, 7.573px + 0.647vw, 20px) 0 0 0;
  padding: 0 0 0 0.5em;

  .list-style01__item,
  li {
    --dot-size: clamp(4px, 3.515px + 0.129vw, 6px);
    position: relative;
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    color: var(--color-text-base);
    padding-left: calc(var(--dot-size) + 10px);
    margin-bottom: clamp(10px, 8.786px + 0.324vw, 15px);
    line-height: 1.5;

    &::before {
      position: absolute;
      content: "";
      top: 0.85em;
      left: 0;
      transform: translateY(-50%);
      width: var(--dot-size);
      height: var(--dot-size);
      background-color: var(--color-gold);
      border-radius: 50%;
    }
  }
}

/* 404 */
.error404 {
  .page-title {
    background-image: url("../img/404/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/404/page-title_img_sp.webp");
    }
  }

  main {
    background-color: #FEF6F9;

    .error404-section {
      padding-top: 2.08vw;
      padding-bottom: clamp(80px, 63.01px + 4.531vw, 150px);

      @media (max-width: 767px) {
        padding-top: 0;
      }

      .error404-section__text {
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        color: var(--color-text-base);
        text-align: center;
        margin: 0 auto;
        line-height: 2;
      }

      .top-back__btn {
        margin-top: clamp(60px, 55.146px + 1.294vw, 80px);

        a {
          display: block;
          position: relative;
          width: max-content;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          color: var(--color-text-base);
          background-color: #fff;
          border-radius: 50px;
          padding: clamp(12px, 11.272px + 0.194vw, 15px) 30px clamp(12px, 11.272px + 0.194vw, 15px) clamp(58px, 57.515px + 0.129vw, 60px);
          margin: 0 auto;

          &::before {
            display: inline-block;
            position: absolute;
            content: "";
            top: 50%;
            transform: translateY(-50%);
            left: 30px;
            width: clamp(18px, 17.515px + 0.129vw, 20px);
            height: clamp(18px, 17.515px + 0.129vw, 20px);
            background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' transform='matrix(-1 0 0 1 20 0)' fill='%23C9B39E'/%3E%3Cpath d='M5.4541 10.0005L12.2723 13.937L12.2723 6.06405L5.4541 10.0005Z' fill='white'/%3E%3C/svg%3E%0A");
            background-repeat: no-repeat;
            background-size: contain;
            transition: ease-in 0.2s;
          }

          &:hover {
            opacity: 0.8;

            &::before {
              left: 25px;
            }
          }
        }
      }
    }
  }
}

/*------------------------------------
料金表
------------------------------------*/
.notes-style01 {
  font-family: var(--font-noto);
  font-size: clamp(12px, 11.515px + 0.129vw, 14px);
  margin: 5px 0 0;

  p {
    margin: 0;
  }
}

.post-type-archive-price {
  .page-title {
    background-image: url("../img/price/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/price/page-title_img_sp.webp");
    }
  }

  main {
    background-color: #fff;

    /*--- 基本料金 ---*/
    .basic-price-section {
      max-width: 1000px;
      width: calc(100% - 220px);
      margin: 0 auto clamp(80px, 63.01px + 4.531vw, 150px);

      @media (max-width: 767px) {
        width: 84%;
      }

      dl {
        background-color: #fef6f9;
        padding: clamp(25px, 22.573px + 0.647vw, 35px) clamp(20px, 15.146px + 1.294vw, 40px) clamp(30px, 27.573px + 0.647vw, 40px);
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        align-items: center;
        margin-bottom: 15px;

        * {
          font-family: var(--font-noto);
        }

        dt {
          font-weight: 400;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          color: var(--color-gold);
          padding: 25px 0;
          text-align: left;
          width: 50%;

          &:first-of-type {
            padding-top: 0;
          }
        }

        dd {
          font-weight: 400;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          color: var(--color-text-base);
          margin-left: 0;
          padding: 25px 0;
          text-align: right;
          width: 50%;
          position: relative;

          &:first-of-type {
            padding-top: 0;
          }

          &::after {
            content: "";
            position: absolute;
            bottom: 0;
            right: 0;
            display: block;
            width: 200%;
            height: 1px;
            background-image: repeating-linear-gradient(to right,
                var(--color-gold) 0 2px,
                transparent 2px 6px);
            background-size: 6px 1px;
            background-repeat: repeat-x;
          }
        }
      }
    }
  }
}

/*--- 目次 ---*/
.price-menu-section {
  margin: 0 auto clamp(80px, 63.01px + 4.531vw, 150px);
}

.treatment-nav {
  grid-column: 1 / -1;
  grid-row: 1;

  @media (max-width: 767px) {
    margin: 0 auto;
  }

  .treatment-nav__list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 3.13vw;
    padding: 0;
    margin: 0;

    @media (max-width: 767px) {
      gap: 30px 15px;
    }

    .treatment-nav__item {
      width: calc((100% - 6.26vw) / 3);
      display: flex;
      align-items: stretch;

      @media (max-width: 767px) {
        width: calc((100% - 15px) / 2);
      }

      a {
        display: flex;
        position: relative;
        width: 100%;
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(14px, 11.573px + 0.647vw, 24px);
        border-bottom: 1px var(--color-light-pink) solid;
        padding: 0 clamp(25px, 21.359px + 0.971vw, 40px) 10px 0;
        flex-direction: column;
        justify-content: center;

        &::after {
          content: "";
          position: absolute;
          right: 0;
          top: calc(50% - 5px);
          transform: translateY(-50%);
          background: url("../img/price/arrow-down-light-pink.svg") center center / contain no-repeat;
          width: clamp(15px, 13.301px + 0.453vw, 22px);
          height: clamp(15px, 13.301px + 0.453vw, 22px);
          transition: ease-in 0.2s;
        }

        &:hover {
          color: var(--color-pink);

          &::after {
            top: calc(50%);
          }
        }
      }
    }
  }
}

/*--- 施術別料金 ---*/
.price-treatment-section {
  background-color: #fef6f9;
  padding: clamp(120px, 103.981px + 4.272vw, 186px) 0 clamp(80px, 63.01px + 4.531vw, 150px);

  .price-group {
    &+.price-group {
      margin-top: clamp(120px, 115.146px + 1.294vw, 140px);
    }
  }

  .price-treatment__title {
    font-family: var(--font-shippori);
    font-weight: 400;
    position: relative;
    font-size: clamp(24px, 21.573px + 0.647vw, 34px);
    color: var(--color-text-base);
    text-align: center;
    z-index: 1;
    margin: 0 0 clamp(70px, 65.146px + 1.294vw, 90px);

    &::before {
      position: absolute;
      content: "";
      background-image: url("../img/price/symbol-light-pink.png");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 160px;
      height: 156px;
      z-index: -1;
    }

    @media (max-width: 767px) {
      &::before {
        width: 140px;
        height: 136.6px;
      }
    }
  }

  .price-treatment-box {
    .price__title {
      font-family: var(--font-shippori);
      font-size: clamp(18px, 16.544px + 0.388vw, 24px);
      font-weight: 400;
      margin: 0 0 clamp(20px, 17.573px + 0.647vw, 30px);
      padding: clamp(3px, 2.272px + 0.194vw, 6px) 0 clamp(3px, 2.272px + 0.194vw, 6px) 10px;
      border-left: 10px #f588b0 solid;
      display: flex;
      align-items: center;

      @media (max-width: 767px) {
        border-left: 8px #f588b0 solid;
        padding-left: 12px;
      }
    }

    .price-treatment__sub-title {
      background-color: #f588b0;
      font-family: var(--font-shippori);
      font-weight: 600;
      font-size: clamp(18px, 16.544px + 0.388vw, 24px);
      color: #fff;
      text-align: center;
      margin: 0;
      padding: 10px 20px;
    }

    dl {
      display: flex;
      flex-wrap: wrap;
      margin: 0 auto;
      background-color: #fff;
      padding: clamp(25px, 22.573px + 0.647vw, 35px) clamp(20px, 15.146px + 1.294vw, 40px) clamp(30px, 27.573px + 0.647vw, 40px);
      margin-bottom: 15px;
      column-gap: 20px;

      * {
        font-family: var(--font-min);
      }

      dt {
        font-weight: 400;
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        color: #9d7947;
        padding: 25px 0;
        text-align: left;
        width: calc(50% - 20px);

        @media (max-width: 767px) {
          width: 100%;
          display: block;
          border-bottom: none;
          padding-bottom: 5px;
        }

        &:first-of-type {
          padding-top: 0;
        }
      }

      dd {
        font-weight: 400;
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        color: var(--color-text-base);
        margin-left: 0;
        padding: 25px 0;
        text-align: right;
        width: 50%;
        position: relative;

        @media (max-width: 767px) {
          width: 100%;
          display: block;
          padding-top: 5px;
        }

        &::after {
          content: "";
          position: absolute;
          bottom: 0;
          right: 0;
          display: block;
          width: 200%;
          height: 3px;
          background-image: radial-gradient(circle,
              #9d7947 1px,
              transparent 1px);
          background-size: 6px 3px;
          background-repeat: repeat-x;
        }

        @media (max-width: 767px) {
          &::after {
            width: 100%;
          }
        }

        &:has(p) {
          display: flex;
          flex-direction: column;

          p {
            margin: 0;

            &:has(span) {
              display: flex;
              justify-content: space-between;
              gap: 20px;

              span {
                width: calc(50% - 10px);
                font-family: initial;
                font-weight: normal;
                font-size: clamp(14px, 13.029px + 0.259vw, 18px);
                flex-shrink: 0;

                @media (max-width: 767px) {
                  width: 68%;
                }
              }

              @media (max-width: 767px) {
                gap: 10px;
              }
            }

            &+p {
              margin-top: 15px;

              @media (max-width: 767px) {
                margin-top: 10px;
              }
            }
          }
        }

        &:first-of-type {
          padding-top: 0;
        }
      }
    }

    &+.price_box {
      margin-top: 60px;
    }
  }

  .price-treatment-box+.price-treatment-box {
    margin-top: 50px;
  }
}

/*------------------------------------
施術一覧
------------------------------------*/
.post-type-archive-menu {
  .page-title {
    background-image: url("../img/menu/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/menu/page-title_img_sp.webp");
    }
  }

  main {
    background: #f8f7f4;

    .menu-section {
      &:before {
        display: none;
      }

      .menu-section__container {
        margin-top: 0;
      }
    }

    .menu-treatment-section {
      background-image: url(../img/menu/menu-treatment_img.webp);
      background-repeat: no-repeat;
      background-position: center;
      margin: 0 auto;
      padding: clamp(50px, 33.01px + 4.531vw, 120px) 0 clamp(80px, 63.01px + 4.531vw, 150px);

      @media (max-width: 767px) {
        background-image: url(../img/menu/menu-treatment_img_sp.webp);
      }

      .treatment-nav__item {
        width: calc((100% - 6.26vw) / 3);
        display: flex;
        align-items: stretch;

        @media (max-width: 767px) {
          width: calc((100% - 15px) / 2);
        }

        a {
          display: flex;
          position: relative;
          width: 100%;
          font-family: var(--font-shippori);
          font-weight: 500;
          font-size: clamp(14px, 11.573px + 0.647vw, 24px);
          border-bottom: 1px var(--color-light-pink) solid;
          padding: 0 clamp(25px, 21.359px + 0.971vw, 40px) 10px 0;

          &::after {
            content: "";
            position: absolute;
            right: 10px;
            top: calc(50% - 5px);
            transform: translateY(-50%);
            background: url("../img/arrow-light-pink.svg") center center / contain no-repeat;
            width: clamp(15px, 13.301px + 0.453vw, 22px);
            height: clamp(15px, 13.301px + 0.453vw, 22px);
            transition: ease-in 0.2s;
          }

          @media (max-width: 767px) {
            &::after {
              right: 0;
            }
          }

          &:hover {
            opacity: 0.8;
            color: var(--color-text-base);

            &::after {
              right: 5px;
              top: calc(50% - 5px);
              transform: translateY(-50%);
            }

            @media (max-width: 767px) {
              &::after {
                right: -5px;
              }
            }
          }
        }
      }
    }
  }
}

/* お知らせ、ブログ一覧共通 */
.archive-post-list {
  list-style: none;
  padding: 0;
  margin: 0;

  .archive-post-list__item {
    background-color: #fff;
    border-radius: 6px;
    margin: 0 auto;

    a {
      position: relative;
      padding: clamp(20px, 17.573px + 0.647vw, 30px) clamp(50px, 45.146px + 1.294vw, 70px) clamp(20px, 17.573px + 0.647vw, 30px) clamp(20px, 17.573px + 0.647vw, 30px);
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto 1fr;
      row-gap: 5px;

      .archive-post-list__img {
        grid-column: 1;
        grid-row: 1 / 3;
        width: clamp(70px, 62.718px + 1.942vw, 100px);
        height: clamp(70px, 62.718px + 1.942vw, 100px);
        margin-right: clamp(15px, 13.786px + 0.324vw, 20px);

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      .archive-post-list__title {
        grid-column: 2 / 3;
        grid-row: 2;
        font-weight: 400;
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        margin: 0;
      }

      &::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 30px;
        transform: translateY(-50%);
        background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23C9B39E'/%3E%3Cpath d='M14.5449 9.99956L7.72674 13.936L7.72674 6.06308L14.5449 9.99956Z' fill='white'/%3E%3C/svg%3E%0A");
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        width: clamp(15px, 13.786px + 0.324vw, 20px);
        height: clamp(15px, 13.786px + 0.324vw, 20px);
        transition: ease-in 0.2s;
      }

      &:hover {
        opacity: 0.8;

        &::after {
          right: 25px;
          top: 50%;
          transform: translateY(-50%);
        }
      }

      @media (max-width: 767px) {
        &::after {
          right: 20px;
        }

        &:hover {
          &::after {
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
          }
        }
      }
    }
  }

  .archive-post-list__item+.archive-post-list__item {
    margin-top: clamp(20px, 15.146px + 1.294vw, 40px);
  }
}

/* ブログ一覧・ブログ詳細・ブログカテゴリ共通 */
.archive-post-time-category-wrapper {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  column-gap: clamp(10px, 8.786px + 0.324vw, 15px);
  align-items: center;
  flex-wrap: wrap;
  row-gap: clamp(5px, 3.786px + 0.324vw, 10px);

  .archive-post-list__date {
    font-size: clamp(12px, 11.029px + 0.259vw, 16px);
    color: var(--color-light-gold);
    text-align: center;
    line-height: 1;
  }

  .post_category_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    column-gap: clamp(5px, 3.786px + 0.324vw, 10px);
    align-items: center;

    .post_category_item {
      display: flex;
      align-items: center;

      span {
        font-size: clamp(10px, 9.029px + 0.259vw, 14px);
        color: #fff;
        background-color: var(--color-light-gold);
        border-radius: 4px;
        padding: clamp(2px, 1.757px + 0.065vw, 3px) clamp(5px, 4.515px + 0.129vw, 7px);
        text-align: center;
        line-height: 1;
      }
    }
  }
}

/*------------------------------------
ブログ一覧
------------------------------------*/
/* ブログ一覧詳細・お知らせ一覧詳細・ピックアップ詳細・ブログカテゴリ共通背景 */
.post-type-archive-blog,
.single-blog,
.tax-blog-theme,
.post-type-archive-news,
.single-news,
.single-pickup {
  .page-title {
    background-image: url("../img/blog/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/blog/page-title_img_sp.webp");
    }
  }

  .main-aside-wrapper {
    background-image: url(../img/blog/blog_bg.webp);
    background-repeat: repeat;
    background-size: 100%;
    background-position: center top;
  }
}

.main-aside-wrapper {
  padding-bottom: clamp(80px, 63.01px + 4.531vw, 150px);

  .main-aside-wrapper__inner {
    display: flex;
    column-gap: clamp(70px, 57.864px + 3.236vw, 120px);

    @media (max-width: 1000px) {
      flex-direction: column;
      gap: 80px;
    }

    main {
      flex: 1;
    }

    .aside-post {
      width: min(360px, 30%);

      @media (max-width: 1000px) {
        width: 100%;
      }

      .aside__inner {
        .aside__ttl {
          background-color: #f588b0;
          font-family: var(--font-shippori);
          font-size: clamp(18px, 16.544px + 0.388vw, 24px);
          color: #fff;
          margin: 0 auto clamp(20px, 17.573px + 0.647vw, 30px);
          padding: 10px 20px;
          text-align: center;
          border-radius: 6px;
        }

        .archive-post-list {
          list-style: none;
          padding: 0;
          margin: 0;

          .archive-post-list__item {
            background-color: transparent;
            margin: 0;

            a {
              padding: clamp(20px, 18.786px + 0.324vw, 25px) 10px;

              &::before {
                content: "";
                position: absolute;
                bottom: 0;
                right: 0;
                display: block;
                width: 100%;
                height: 1px;
                background-image: repeating-linear-gradient(to right,
                    var(--color-gold) 0 2px,
                    transparent 2px 6px);
                background-size: 6px 1px;
                background-repeat: repeat-x;
              }

              .archive-post-list__img {
                width: 80px;
                height: 80px;
                margin-right: clamp(15px, 14.272px + 0.194vw, 18px);

                img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
                }
              }

              .archive-post-list__date {
                color: var(--color-gold);
              }

              .archive-post-list__title {
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                line-height: 1.5;
                max-height: calc(1.5em * 2);
              }

              &::after {
                content: none;
              }
            }

            &:first-of-type {
              a {
                padding-top: 0;
              }
            }
          }
        }
      }

      .aside__inner+.aside__inner {
        margin-top: 60px;
      }
    }

    .archive-list {
      list-style: none;
      margin: 0;
      padding: 0;

      .year {
        position: relative;

        &::before {
          content: "";
          position: absolute;
          bottom: 0;
          right: 0;
          display: block;
          width: 100%;
          height: 1px;
          background-image: repeating-linear-gradient(to right,
              var(--color-gold) 0 2px,
              transparent 2px 6px);
          background-size: 6px 1px;
          background-repeat: repeat-x;
        }

        .year-toggle {
          cursor: pointer;
          position: relative;
          font-weight: 400;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          margin: 0;
          padding: clamp(15px, 13.786px + 0.324vw, 20px) 0 clamp(15px, 13.786px + 0.324vw, 20px) 10px;
          transition: ease-in 0.2s;

          &::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 10px;
            width: 15px;
            height: 8px;
            background-image: url("data:image/svg+xml,%3Csvg width='17' height='11' viewBox='0 0 17 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.729492 0.683594L8.22949 8.68359L15.7295 0.683594' stroke='%23D8C9BB' stroke-width='2'/%3E%3C/svg%3E%0A");
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center center;
            transform: translateY(-50%);
            transition: ease-in 0.2s;
          }

          @media (max-width: 1000px) {
            padding-left: 20px;
            padding-right: 50px;

            &::after {
              width: 10px;
              height: auto;
              aspect-ratio: 17 / 11;
              right: 20px;
            }
          }

          &:hover {
            opacity: 0.8;
          }

          &.show {
            &::after {
              transform: translateY(-50%) rotate(-180deg);
            }
          }
        }

        &:first-of-type {
          .year-toggle {
            padding-top: 0;

            &::after {
              top: 30%;
            }
          }
        }

        .month-list {
          display: none;
          list-style: none;
          margin: 0;
          padding: 0 0 clamp(15px, 13.786px + 0.324vw, 20px) 10px;

          &>li {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);

            a {
              position: relative;
              font-size: clamp(14px, 13.029px + 0.259vw, 18px);
              padding-left: 40px;

              &::before {
                content: "";
                position: absolute;
                top: 50%;
                left: 20px;
                transform: translateY(-50%);
                width: 10px;
                height: 1px;
                border-bottom: 1px var(--color-text-base) solid;
              }

              @media (max-width: 1000px) {
                padding-left: 30px;

                &::before {
                  left: 10px;
                }
              }
            }

            a:hover {
              opacity: 0.8;
            }
          }

          li+li {
            margin-top: clamp(3px, 2.515px + 0.129vw, 5px);
          }

          @media (max-width: 1000px) {
            padding-left: 20px;
          }
        }
      }
    }

    .aside__inner {
      .archive-post-list.category-list {
        .archive-post-list__item {
          a {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            font-weight: 400;
            padding: clamp(20px, 18.786px + 0.324vw, 25px) 0;

            @media (max-width: 1000px) {
              padding-left: 20px;
            }
          }

          a:hover {
            opacity: 0.8;
          }
        }
      }
    }
  }
}

/*----------------------------------------
お知らせ詳細/ブログ詳細 共通
----------------------------------------*/
/* 投稿タイトル部分 */
.post-header {
  margin-bottom: clamp(30px, 25.146px + 1.294vw, 50px);

  .archive-post-list__date {
    color: var(--color-gold);
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
  }

  .post_category_list {
    .post_category_item {
      span {
        font-size: clamp(12px, 11.029px + 0.259vw, 16px);
        padding: clamp(3px, 2.757px + 0.065vw, 4px) clamp(6px, 5.515px + 0.129vw, 8px);
      }
    }
  }

  .post-header__title {
    font-size: clamp(24px, 21.087px + 0.777vw, 36px);
    font-family: var(--font-shippori);
    margin: clamp(10px, 7.573px + 0.647vw, 20px) 0 clamp(30px, 25.146px + 1.294vw, 50px);
    font-weight: 400;
  }

  .post-main__eyecatch {
    max-width: 640px;
    width: 90%;
    margin: 0 auto;

    img {
      width: 100%;
    }
  }
}

.post-main {
  margin: 0 auto 80px;

  .wysiwyg-area {
    p {
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      line-height: 2;
      margin: clamp(10px, 7.573px + 0.647vw, 20px) auto;
    }

    strong {
      color: var(--color-gold);
      font-weight: 600;
    }

    h2 {
      margin: 0 auto clamp(10px, 7.573px + 0.647vw, 20px);
    }

    p+h2 {
      margin-top: clamp(50px, 45.146px + 1.294vw, 70px);
    }

    h3 {
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(18px, 16.544px + 0.388vw, 24px);
      color: var(--color-gold);
      border-top: 1px var(--color-gold) solid;
      border-bottom: 1px var(--color-gold) solid;
      padding: clamp(8px, 7.515px + 0.129vw, 10px) 0;
      margin: 0 auto clamp(10px, 7.573px + 0.647vw, 20px);
    }

    p+h3 {
      margin-top: clamp(50px, 45.146px + 1.294vw, 70px);
    }

    h4 {
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(18px, 16.544px + 0.388vw, 24px);
      color: var(--color-gold);
      padding: 0 0 8px;
      position: relative;
      border-bottom: 1px var(--color-light-gold) solid;
      margin: 0 auto clamp(10px, 7.573px + 0.647vw, 20px);

      &::before {
        position: absolute;
        content: "";
        bottom: -1px;
        left: 0;
        width: clamp(80px, 75.146px + 1.294vw, 100px);
        height: 1px;
        background: var(--color-gold);
      }
    }

    p+h4 {
      margin-top: clamp(50px, 45.146px + 1.294vw, 70px);
    }

    h5 {
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(18px, 16.544px + 0.388vw, 24px);
      color: var(--color-gold);
      margin: 0 auto clamp(10px, 7.573px + 0.647vw, 20px);
    }

    p+h5 {
      margin-top: clamp(50px, 45.146px + 1.294vw, 70px);
    }
  }
}

/*--- ブログ詳細、施術詳細カスタムセクション：共通 ---*/
.post-main .wysiwyg-area,
.treatment-custom-section {
  table {
    margin: clamp(10px, 7.573px + 0.647vw, 20px) auto clamp(60px, 55.146px + 1.294vw, 80px);

    tr {

      th,
      td {
        padding: clamp(10px, 7.573px + 0.647vw, 20px);
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        font-weight: 400;
      }

      &:last-child {

        th,
        td {
          border-bottom: none;
        }
      }

      th {
        background-color: var(--color-light-gold);
        border-bottom: 1px #fff solid;
        color: #fff;
        text-align: left;
      }

      td {
        background-color: #fff;
        border-bottom: 1px var(--color-light-gold) solid;

        @media (max-width: 1000px) {
          line-height: 2;
        }
      }
    }
  }

  ul {
    margin: 20px auto;
  }

  ol {
    margin: 20px auto;
    padding: 0;
    list-style: none;
    counter-reset: li;

    li {
      position: relative;
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      padding-left: 27px;

      &::before {
        counter-increment: li;
        content: counter(li);
        position: absolute;
        left: 0;
        top: 0.1em;
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(20px, 19.515px + 0.129vw, 22px);
        height: clamp(20px, 19.515px + 0.129vw, 22px);
        border-radius: 50%;
        background-color: var(--color-light-gold);
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        color: #fff;
        text-align: center;
        line-height: 1;
      }
    }
  }

  li+li {
    margin-top: 10px;
  }

  a {
    color: var(--color-gold);
    border-bottom: 1px var(--color-gold) solid;
    padding-bottom: clamp(3px, 2.515px + 0.129vw, 5px);
    font-weight: 600;
    margin: 20px 0;
    transition: border-color 0.2s ease;

    &:hover {
      border-bottom: none;
    }
  }

  p:has(.aligncenter) {
    text-align: center;
  }

  img.alignleft {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;

    @media (max-width: 767px) {
      float: none;
    }
  }

  img.alignright {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;

    @media (max-width: 767px) {
      float: none;
    }
  }
}

.btn-back {
  a {
    position: relative;
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    padding-left: clamp(23px, 20.816px + 0.583vw, 32px);

    &::before {
      position: absolute;
      content: "";
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='11' transform='matrix(-1 0 0 1 22 0)' fill='%23C9B39E'/%3E%3Cpath d='M6 11L13.5 15.3301L13.5 6.66987L6 11Z' fill='white'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center center;
      width: clamp(18px, 17.029px + 0.259vw, 22px);
      height: clamp(18px, 17.029px + 0.259vw, 22px);
      transition: ease-in 0.2s;
    }

    &:hover {
      opacity: 0.8;

      &::before {
        left: -5px;
      }
    }
  }
}

/*------------------------------------
ブログカテゴリページ
------------------------------------*/
.tax-blog-theme {
  .page-title__content {
    .ja {
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(40px, 30.291px + 2.589vw, 80px);
      color: var(--color-text-base);
      margin: 0;

      @media (max-width: 767px) {
        line-height: 1.125;
        margin-bottom: 7px;
      }
    }

    .en {
      font-family: var(--font-en);
      font-weight: 500;
      font-size: clamp(14px, 11.573px + 0.647vw, 24px);
      color: var(--color-gold);
      margin: 0;
    }
  }
}

/*------------------------------------
ピックアップ一覧
------------------------------------*/
.post-type-archive-pickup,
.single-pickup {
  .page-title {
    background-image: url("../img/pickup/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/pickup/page-title_img_sp.webp");
    }
  }
}

.post-type-archive-pickup {
  main {
    background-image: url(../img/blog/blog_bg.webp);
    background-repeat: repeat;
    background-size: 100%;
    background-position: center top;
    padding-bottom: clamp(80px, 63.01px + 4.531vw, 150px);

    .pickup-section {
      padding: 0;
      background: none;

      .pickup-list {
        display: flex;
        flex-wrap: wrap;
        column-gap: 3.13vw;
        row-gap: 3.65vw;
        margin: 0;
        padding: 0;

        @media (max-width: 767px) {
          flex-direction: column;
          gap: 60px;
        }

        .pickup-list__item {
          list-style: none;
          width: calc((100% - 6.26vw) / 3);

          @media (max-width: 767px) {
            width: 100%;
          }

          .pickup-list__img {
            width: 100%;
            margin-bottom: clamp(5px, 3.786px + 0.324vw, 10px);
            aspect-ratio: 360 / 180;

            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }

          time {
            font-size: clamp(12px, 11.029px + 0.259vw, 16px);
            color: var(--color-gold);
            margin: 5px auto;
          }

          .pickup-list__title {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            margin: 5px auto;
          }
        }
      }
    }
  }
}

/*------------------------------------
お知らせ一覧
------------------------------------*/
.post-type-archive-news,
.single-news {
  .page-title {
    background-image: url("../img/news/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/news/page-title_img_sp.webp");
    }
  }
}

/*------------------------------------
施術詳細
------------------------------------*/
/* 施術詳細共通見出し */
.section-heading__content {
  margin: 0 auto;
  text-align: center;
  margin: 0 auto clamp(40px, 35.146px + 1.294vw, 60px);

  .section-heading__title {
    font-family: var(--font-shippori);
    font-size: clamp(24px, 21.087px + 0.777vw, 36px);
    font-weight: 500;
    margin: 0 auto clamp(5px, 4.272px + 0.194vw, 8px);
  }

  .section-heading__en {
    font-family: var(--font-en);
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    font-weight: 400;
    color: #9a7e4d;
    margin: 0 auto;
  }
}

/* 施術詳細共通リスト */
.list-style-square__list,
.treatment-custom-section ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;

  .list-style-square__item,
  li {
    position: relative;
    padding: 0 0 clamp(15px, 13.786px + 0.324vw, 20px) clamp(11px, 9.786px + 0.324vw, 16px);
    font-size: clamp(14px, 13.029px + 0.259vw, 18px);
    text-align: left;
    margin: 0 auto;

    &::before {
      content: "";
      position: absolute;
      top: 0.556em;
      left: 0;
      width: clamp(6px, 5.515px + 0.129vw, 8px);
      height: clamp(6px, 5.515px + 0.129vw, 8px);
      background-color: var(--color-gold);
      border-radius: 2px;
      background-repeat: no-repeat;
      background-position: center center;
      display: inline-block;
    }
  }
}

.single-menu {
  .page-title {
    background-image: url("../img/menu-single/page-title_img.webp");
    width: 100%;
    height: clamp(220px, 176.311px + 11.65vw, 400px);

    @media (max-width: 767px) {
      background-image: url("../img/menu-single/page-title_img_sp.webp");
    }

    .page-title__content {
      position: absolute;
      /* 768-1920 */
      left: 50%;
      z-index: 1;
      max-width: 1200px;
      width: calc(100% - 220px);
      margin: 0 auto;
      text-align: center;
      z-index: 1;

      @media (max-width: 767px) {
        width: 84%;
      }

      .ja {
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(24px, 17.689px + 1.683vw, 50px);
        color: var(--color-text-base);
        margin: 0 auto 10px;

        @media (max-width: 767px) {
          line-height: 1.125;
          margin-bottom: 13px;
          font-weight: 400;
        }
      }

      .single-menu-subtitle {
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(16px, 14.058px + 0.518vw, 24px);
        margin: 0 auto;
      }
    }
  }

  main {
    background-color: #fff;

    /* とは？ */
    .about-section {
      margin: 0 auto clamp(50px, 42.718px + 1.942vw, 80px);
      position: relative;
      z-index: 0;

      &::before {
        position: absolute;
        content: "";
        background-image: url(../img/menu-single/about-bg.png);
        background-position: right top;
        background-size: contain;
        background-repeat: no-repeat;
        top: 0;
        right: 0;
        width: 24.48vw;
        aspect-ratio: 470 / 509.57;
        z-index: -1;
      }

      @media (max-width: 767px) {
        &::before {
          width: 34.67vw;
        }
      }

      .section-heading__content {
        margin-bottom: 40px;
      }

      .about-section__img {
        /* aspect-ratio: 450 / 281; */
        width: 450px;
        margin: 0 auto 40px;
        z-index: 1;

        @media (max-width: 767px) {
          width: 210px;
        }

        img {
          object-fit: cover;
          width: 100%;
          height: 100%;
        }
      }

      .about-section__text {
        max-width: 800px;
        margin: 0 auto;
        z-index: 1;

        a {
          color: var(--color-gold);
          text-decoration: underline;
        }

        a:hover {
          text-decoration: none;
        }
      }
    }

    /* 施術の特徴 */
    .treatment-feature-section {
      margin: 0 auto clamp(80px, 65.437px + 3.883vw, 140px);

      .treatment-feature-section__inner {
        background-color: #fff;
        box-shadow: 0 0 20px #ffeaef;
        border-radius: 6px;
        padding: clamp(30px, 22.718px + 1.942vw, 60px) clamp(20px, -4.272px + 6.472vw, 120px);
        position: relative;

        &::before {
          position: absolute;
          content: "";
          background-image: url(../img/menu-single/treatment-feature_bg.png);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: right bottom;
          bottom: 0;
          right: 0;
          width: 15.63vw;
          height: 17.19vw;
          aspect-ratio: 300 / 330;
        }

        @media (max-width: 767px) {
          &::before {
            width: 48vw;
            height: 52.8vw;
          }
        }

        .treatment-feature-section__heading {
          font-family: var(--font-shippori);
          font-weight: 500;
          font-size: clamp(20px, 17.087px + 0.777vw, 32px);
          color: var(--color-gold);
          text-align: center;
          margin: 0 0 clamp(20px, 16.359px + 0.971vw, 35px);
          position: relative;

          &::after {
            position: absolute;
            content: "";
            border: 1px var(--color-gold) solid;
            width: clamp(40px, 37.573px + 0.647vw, 50px);
            height: 1px;
            bottom: -30px;
            left: 50%;
            transform: translateX(-50%);
          }

          @media (max-width: 767px) {
            &::after {
              bottom: -10px;
            }
          }
        }

        .list-style-square__list {
          margin: clamp(40px, 32.718px + 1.942vw, 70px) auto 0;

          .list-style-square__item {
            position: relative;

            &::after {
              content: "";
              position: absolute;
              bottom: 0;
              left: 0;
              display: block;
              width: 100%;
              height: 1px;
              background-image: repeating-linear-gradient(to right,
                  var(--color-gold) 0 2px,
                  transparent 2px 6px);
              background-size: 6px 1px;
              background-repeat: repeat-x;
            }
          }

          .list-style-square__item+.list-style-square__item {
            margin-top: 20px;
          }
        }
      }
    }

    /* こんな方におすすめ */
    .recommend-section {
      background-color: #f8f7f4;
      padding: clamp(50px, 37.864px + 3.236vw, 100px) 0 clamp(80px, 65.437px + 3.883vw, 140px);

      .recommend-section__heading {
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(24px, 21.087px + 0.777vw, 36px);
        color: var(--color-title);
        text-align: center;
        margin: 0 0 clamp(20px, 16.359px + 0.971vw, 35px);
      }

      .recommend-section__inner {
        max-width: 800px;
        width: 100%;
        background-color: #fff;
        box-shadow: 0 0 20px #f1eee4;
        border-radius: 6px;
        padding: clamp(30px, 27.573px + 0.647vw, 40px) clamp(20px, 15.146px + 1.294vw, 40px) clamp(30px, 27.573px + 0.647vw, 40px);
        margin: 0 auto;

        .recommend-section__list {
          list-style: none;
          margin: 0;
          padding: 0;

          .recommend-section__item {
            position: relative;
            padding-left: clamp(35px, 33.058px + 0.518vw, 43px);
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);

            &::before {
              content: "";
              position: absolute;
              top: 0;
              left: 0;
              width: clamp(20px, 18.058px + 0.518vw, 28px);
              height: clamp(20px, 18.058px + 0.518vw, 28px);
              background: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='14' fill='%23FEF6F9'/%3E%3Cpath d='M28.2611 10.5C28.7402 11.9123 29 13.4258 29 15C29 22.732 22.732 29 15 29C7.26801 29 1 22.732 1 15C1 7.26801 7.26801 1 15 1C17.7592 1 20.332 1.79821 22.5 3.1763' stroke='%23EDAAC2' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7.99998 12.8125L13.6875 18.5L28.8542 3.625' stroke='%23EDAAC2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
              display: inline-block;
            }
          }

          .recommend-section__item+.recommend-section__item {
            margin-top: clamp(20px, 17.573px + 0.647vw, 30px);
          }
        }
      }
    }

    /* 当院の施術（治療）方針 */
    .treatment-policy-section {
      background-image: url(../img/menu-single/treatment-policy_bg.webp);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center top;
      margin: 0 auto;
      padding: clamp(50px, 37.864px + 3.236vw, 100px) 0 clamp(80px, 65.437px + 3.883vw, 140px);

      .treatment-policy-section__list {
        list-style: none;
        margin: 0 auto;
        padding: 0;

        .treatment-policy-section__item {
          display: grid;
          grid-template-rows: auto 1fr;
          box-shadow: 0 5px 20px #ffeaef;
          background-color: #fff;
          padding: clamp(20px, 12.718px + 1.942vw, 50px) clamp(20px, 10.291px + 2.589vw, 60px) clamp(30px, 25.146px + 1.294vw, 50px);
          position: relative;

          @media (max-width: 767px) {
            display: block;
          }

          &::before {
            position: absolute;
            content: "";
            background: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 13L0 28L-2.44784e-06 2.44784e-06L28 0L15 13Z' fill='%23F4D8E2'/%3E%3C/svg%3E%0A");
            background-repeat: no-repeat;
            background-size: contain;
            background-position: left top;
            width: clamp(20px, 18.058px + 0.518vw, 28px);
            height: clamp(20px, 18.058px + 0.518vw, 28px);
            top: 10px;
            left: 10px;
          }

          &::after {
            position: absolute;
            content: "";
            background: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 15L28 -2.44784e-06L28 28L2.44784e-06 28L13 15Z' fill='%23F4D8E2'/%3E%3C/svg%3E%0A");
            background-repeat: no-repeat;
            background-size: contain;
            background-position: right bottom;
            width: clamp(20px, 18.058px + 0.518vw, 28px);
            height: clamp(20px, 18.058px + 0.518vw, 28px);
            bottom: 10px;
            right: 10px;
          }

          .treatment-policy-section__title {
            grid-column: 1;
            grid-row: 1;
            font-family: var(--font-shippori);
            font-weight: 600;
            font-size: clamp(18px, 16.058px + 0.518vw, 26px);
            color: #f588b0;
            border-bottom: 1px #f4d8e2 solid;
            padding: 0 0 8px;
            margin: 0;
          }

          .treatment-policy-section__text {
            grid-column: 1;
            grid-row: 2;
            font-size: clamp(14px, 13.515px + 0.129vw, 16px);
            line-height: 2;
            margin-top: 20px;
          }
        }

        .treatment-policy-section__item+.treatment-policy-section__item {
          margin-top: 40px;
        }
      }
    }

    /* 治療の詳細 */
    .treatment-custom-section {
      background: #fef6f9;
      background: linear-gradient(180deg,
          rgba(254, 246, 249, 1) 0%,
          rgba(252, 238, 243, 1) 100%);
      padding-top: clamp(50px, 37.864px + 3.236vw, 100px);
      padding-bottom: clamp(80px, 65.437px + 3.883vw, 140px);

      .treatment-custom-section__inner {
        margin: 0 auto;
        padding: 0;

        h3 {
          background-color: #fff;
          padding: clamp(16px, 13.573px + 0.647vw, 26px) 10px;
          margin: clamp(60px, 50.291px + 2.589vw, 100px) auto clamp(20px, 17.573px + 0.647vw, 30px);
          font-family: var(--font-shippori);
          font-size: clamp(18px, 16.058px + 0.518vw, 26px);
          font-weight: 500;
          color: #f588b0;
          border-top: 1px #f588b0 solid;
          border-bottom: 1px #f588b0 solid;
          text-align: center;
          position: relative;

          &::before,
          &::after {
            content: "";
            position: absolute;
            left: 0;
            width: 100%;
            height: 1px;
            background: #f4d8e2;
          }

          &::before {
            top: clamp(7px, 6.272px + 0.194vw, 10px);
          }

          &::after {
            bottom: clamp(7px, 6.272px + 0.194vw, 10px);
          }

          &:first-of-type {
            margin-top: 0;
          }
        }

        img {
          margin-bottom: 20px;
        }

        p {
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          margin: 0 auto 20px;
          line-height: 2;
        }

        h4 {
          font-family: var(--font-shippori);
          font-size: clamp(18px, 16.058px + 0.518vw, 26px);
          font-weight: 600;
          color: var(--color-gold);
          padding: 0 0 clamp(5px, 3.786px + 0.324vw, 10px) clamp(35px, 31.359px + 0.971vw, 50px);
          border-bottom: 1px var(--color-gold) solid;
          position: relative;
          margin: clamp(40px, 30.291px + 2.589vw, 80px) auto 10px;

          &::before {
            position: absolute;
            content: "";
            background: url(../img/menu-single/secondary_icon.svg);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center center;
            width: clamp(30px, 27.573px + 0.647vw, 40px);
            height: clamp(30px, 27.573px + 0.647vw, 40px);
            top: 45%;
            transform: translateY(-50%);
            left: 0;
          }
        }

        ul {
          margin-bottom: 10px;

          li {
            padding-bottom: 0;
          }

          li+li {
            margin-top: 10px;
          }
        }

        h5 {
          margin: clamp(40px, 35.146px + 1.294vw, 60px) auto 10px;
          font-size: clamp(16px, 15.029px + 0.259vw, 20px);
          font-weight: 600;
          color: var(--color-gold);
        }

        table {
          margin: clamp(40px, 35.146px + 1.294vw, 60px) auto;
        }

        a {
          color: var(--color-gold);
          border-bottom: 1px var(--color-gold) solid;
          padding-bottom: clamp(3px, 2.515px + 0.129vw, 5px);
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          font-weight: 600;
          margin: 20px 0;
          transition: border-color 0.2s ease;

          &:hover {
            border-bottom: none;
          }
        }
      }
    }

    /* 症例紹介 */
    .case-section {
      background-color: #f8f7f4;
      padding-top: clamp(50px, 37.864px + 3.236vw, 100px);
      padding-bottom: clamp(80px, 65.437px + 3.883vw, 140px);

      .swiper-area__case {
        margin: 0 auto;
      }
    }

    .safety__wrapper {
      padding: clamp(60px, 50.291px + 2.589vw, 100px) 0;

      /* 副作用リスク 禁忌 注意事項 共通 */
      .risk-section,
      .contraindication-section,
      .precautions-section {

        .risk-section__inner,
        .contraindication-section__inner,
        .precautions-section__inner {
          background-color: #f8f7f4;
          border-radius: 6px;
          padding: clamp(30px, 22.718px + 1.942vw, 60px) clamp(30px, 8.155px + 5.825vw, 120px);

          .section-heading--simple {
            font-size: clamp(20px, 18.301px + 0.453vw, 27px);
            margin-bottom: clamp(15px, 11.359px + 0.971vw, 30px);
          }
        }

        .risk-section__title,
        .contraindication-section__title,
        .precautions-section__title {
          font-family: var(--font-shippori);
          font-weight: 500;
          font-size: clamp(20px, 18.058px + 0.518vw, 28px);
          color: var(--color-gold);
          margin: 0 auto clamp(20px, 17.573px + 0.647vw, 30px);
          text-align: center;
          display: flex;
          align-items: center;
          justify-content: center;

          &::before,
          &::after {
            content: "";
            display: block;
            background-color: var(--color-gold);
            width: clamp(30px, 27.573px + 0.647vw, 40px);
            height: 1px;
          }

          &::before {
            margin-right: clamp(10px, 8.786px + 0.324vw, 15px);
          }

          &::after {
            margin-left: clamp(10px, 8.786px + 0.324vw, 15px);
          }
        }
      }

      .contraindication-section__inner {
        p {
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          margin: 0;
        }
      }

      .risk-section+.contraindication-section {
        padding-top: clamp(30px, 27.573px + 0.647vw, 40px);
        padding-bottom: 0;
      }

      .contraindication-section+.precautions-section {
        padding-top: clamp(30px, 27.573px + 0.647vw, 40px);
      }
    }

    /* 施術別料金 */
    .price-treatment-section {
      padding: clamp(50px, 37.864px + 3.236vw, 100px) 0 clamp(80px, 65.437px + 3.883vw, 140px);
    }

    /* 施術の流れ */
    .flow-section {
      background-image: url(../img/menu-single/treatment-flow_bg.png);
      background-repeat: no-repeat;
      background-size: 100%;
      background-position: center top;
      padding-top: clamp(50px, 37.864px + 3.236vw, 100px);
      padding-bottom: clamp(80px, 65.437px + 3.883vw, 140px);

      .flow-section__container {
        max-width: 800px;
        width: calc(100% - 220px);
        margin: 0 auto;

        @media (max-width: 767px) {
          width: 84%;
        }

        .flow-list {
          list-style: none;
          margin: 0 auto;
          padding: 0;

          .flow-list__item {
            position: relative;
            display: grid;
            grid-template-columns: auto 1fr;
            grid-template-rows: auto auto;
            background-color: #fff;
            box-shadow: 0 0 20px #fff0f4;
            padding: clamp(20px, 17.573px + 0.647vw, 30px);
            column-gap: clamp(15px, 8.932px + 1.618vw, 40px);
            row-gap: clamp(10px, 7.573px + 0.647vw, 20px);
            align-items: start;

            &::after {
              content: "";
              position: absolute;
              top: calc(100% + 15px);
              left: 50%;
              transform: translateX(-50%);
              width: clamp(14px, 11.33px + 0.712vw, 25px);
              height: clamp(10.8px, 8.324px + 0.66vw, 21px);
              background: url(../img/menu-single/treatment-flow_icon.svg);
              background-repeat: no-repeat;
              background-size: contain;
              background-position: center center;
              display: block;
            }

            .flow-list__num {
              grid-column: 1;
              grid-row: 1 / 3;
              font-family: var(--font-shippori);
              font-size: clamp(40px, 37.573px + 0.647vw, 50px);
              font-weight: 400;
              color: #edaac2;
              margin: 0;
              line-height: 1;
            }

            .flow-list__title {
              grid-column: 2;
              grid-row: 1;
              font-family: var(--font-shippori);
              font-weight: 400;
              font-size: clamp(16px, 14.544px + 0.388vw, 22px);
              margin: 0;
            }

            .flow-list__text {
              grid-column: 2;
              grid-row: 2;
              font-size: clamp(14px, 13.029px + 0.259vw, 18px);
              line-height: 1.5;
              margin: 0;
            }
          }

          .flow-list__item+.flow-list__item {
            margin-top: clamp(40px, 37.573px + 0.647vw, 50px);
          }

          .flow-list__item:last-child {
            &::after {
              display: none;
            }
          }
        }
      }
    }

    .swiper-area--case {
      .case_swiper {
        .case-list {
          .case-list__item+.case-list__item {
            margin-top: 0;
          }
        }
      }
    }

    /* 症例リスト 共通パーツ */
    .case-list {
      list-style: none;
      margin: 0;
      padding: 0;

      .case-list__item {
        display: grid;
        grid-template-columns: 29.17vw 1fr;
        gap: 0 40px;

        @media (max-width: 1000px) {
          display: flex;
          flex-direction: column;
        }

        .case-section__title {
          grid-column: 1 / 3;
          grid-row: 1;
          font-family: var(--font-shippori);
          font-size: clamp(18px, 16.544px + 0.388vw, 24px);
          padding: clamp(3px, 2.272px + 0.194vw, 6px) 0 clamp(3px, 2.272px + 0.194vw, 6px) clamp(14px, 13.515px + 0.129vw, 16px);
          border-left: clamp(4px, 3.515px + 0.129vw, 6px) var(--color-gold) solid;
          margin: 0 0 clamp(15px, 8.932px + 1.618vw, 40px);
        }

        .case-list__photo {
          grid-column: 1;
          grid-row: 2;
          margin-inline: auto;

          /* 画像切り替え　メイン */
          .case-list-photo__main img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1);
          }

          /* 画像のエリア */
          .case-list-photo__thumb {
            display: flex;
            gap: 0 10px;
            margin-top: 20px;

            /* 画像の各ボタン */
            .case-list-photo__btn {
              appearance: none;
              background: transparent;
              border: 0;
              padding: 0;
              cursor: pointer;
              flex-shrink: 0;
              width: calc((100% - 40px) / 5);

              img {
                width: 100%;
                opacity: 0.6;
                height: 100%;
                object-fit: cover;
              }

              &.is_active img {
                opacity: 1;
              }

              &:hover img {
                opacity: 0.8;
              }
            }
          }
        }

        .dl-style01 {
          grid-column: 2;
          grid-row: 2;

          @media (max-width: 1000px) {
            margin-top: 35px;
          }
        }
      }
    }

    /*----------------------------------------
    swiper navigation/button
    ----------------------------------------*/
    .swiper-navigation-area {
      position: relative;
      height: clamp(35px, 31.359px + 0.971vw, 50px);
      margin-left: auto;
      width: 100%;
      margin-top: clamp(40px, 35.146px + 1.294vw, 60px);

      .swiper-button-prev,
      .swiper-button-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
      }
    }

    .swiper-button-prev,
    .swiper-button-next {
      transform: translateY(-50%);
      margin-top: 0;
      background-color: var(--color-light-gold);
      width: clamp(35px, 31.359px + 0.971vw, 50px);
      height: clamp(35px, 31.359px + 0.971vw, 50px);
      border-radius: 100px;

      &::after {
        color: #fff;
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        font-weight: 600;
      }
    }

    .swiper-button-prev {
      left: inherit;
      right: 5em;
    }

    .swiper-button-next {
      right: 0;
      left: inherit;
    }

    .swiper-pagination {
      display: flex;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      margin: 0;
      bottom: auto;
      width: auto;
      align-items: center;

      .swiper-pagination-bullet {
        opacity: 1;
        width: clamp(7px, 6.272px + 0.194vw, 10px);
        height: clamp(7px, 6.272px + 0.194vw, 10px);
        margin: 0 0 0 10px;
        background: #e5d7ca;
      }

      .swiper-pagination-bullet-active {
        background: var(--color-light-gold);
      }
    }

    /* 監修医師 */
    .doctor-section {
      background-color: #fff;
      background: none;
      padding-top: clamp(50px, 37.864px + 3.236vw, 100px);
      padding-bottom: clamp(80px, 65.437px + 3.883vw, 140px);

      .doctor-section__message-area {
        display: grid;
        grid-template-columns: 19.27vw auto;
        grid-template-rows: auto 1fr;
        column-gap: 4.17vw;
        row-gap: 60px;
        align-items: start;
        margin: 0 auto;

        @media (max-width: 767px) {
          display: block;
        }

        .doctor-section__photo {
          grid-column: 1;
          grid-row: 1 / 3;
          max-width: 370px;
          width: 100%;

          @media (max-width: 767px) {
            margin: 0 auto;
          }
        }

        .doctor-section__message {
          grid-column: 2;
          grid-row: 1;

          @media (max-width: 767px) {
            margin-top: 8vw;
          }

          a {
            color: var(--color-gold);
            text-decoration: underline;
          }

          a:hover {
            text-decoration: none;
          }
        }

        .menu-doctor-info {
          grid-column: 2;
          grid-row: 2;
          margin: 0;

          @media (max-width: 767px) {
            margin-top: 13.33vw;
          }

          .doctor-info__box {
            .doctor-info__title {
              font-family: var(--font-shippori);
              color: var(--color-gold);
              font-size: clamp(20px, 19.029px + 0.259vw, 24px);
              margin: 0 auto 35px;
              position: relative;

              &::after {
                content: "";
                position: absolute;
                bottom: -10px;
                right: 0;
                display: block;
                width: 100%;
                height: 1px;
                background-image: repeating-linear-gradient(to right,
                    var(--color-gold) 0 2px,
                    transparent 2px 6px);
                background-size: 6px 1px;
                background-repeat: repeat-x;
              }
            }

            .career-list {
              margin: 0;

              .career-list__item {
                display: flex;
                column-gap: 20px;

                dt {
                  font-size: clamp(14px, 13.029px + 0.259vw, 18px);
                  color: var(--color-gold);
                  flex-shrink: 0;
                }

                dd {
                  font-size: clamp(14px, 13.029px + 0.259vw, 18px);
                  margin: 0;
                }
              }

              .career-list__item+.career-list__item {
                margin-top: clamp(15px, 13.786px + 0.324vw, 20px);
              }
            }
          }

          .doctor-info__box+.doctor-info__box {
            margin-top: 60px;
          }
        }
      }
    }

    /* 補足事項 */
    .supplement-section {
      background-color: #f8f7f4;

      .supplement-section__inner {
        max-width: 800px;
        width: calc(100% - 220px);
        margin: 0 auto;
        padding: clamp(60px, 50.291px + 2.589vw, 100px) 0;

        @media (max-width: 767px) {
          width: 84%;
        }

        .list-style-square__item {
          position: relative;
          padding-bottom: clamp(20px, 17.573px + 0.647vw, 30px);

          &::after {
            content: "";
            position: absolute;
            bottom: 0;
            right: 0;
            display: block;
            width: 100%;
            height: 1px;
            background-image: repeating-linear-gradient(to right,
                var(--color-gold) 0 2px,
                transparent 2px 6px);
            background-size: 6px 1px;
            background-repeat: repeat-x;
          }
        }

        .list-style-square__item+.list-style-square__item {
          margin-top: clamp(20px, 17.573px + 0.647vw, 30px);
        }
      }
    }
  }
}

/* よくある質問 */
.faq-section {
  background-color: #fef6f9;
  padding-top: clamp(50px, 37.864px + 3.236vw, 100px);
  padding-bottom: clamp(80px, 65.437px + 3.883vw, 140px);
}

/* よくある質問 共通パーツ */
.faq-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;

  .faq-list__item {
    background-color: #fff;
    border-radius: 6px;
    padding: clamp(30px, 27.573px + 0.647vw, 40px) clamp(20px, 10.291px + 2.589vw, 60px) 10px;
    box-shadow: 0 4px 20px #FFF0F4;

    .faq-q {
      position: relative;
      margin: 0;
      padding: 0 clamp(30px, 19.078px + 2.913vw, 75px) clamp(20px, 17.573px + 0.647vw, 30px) clamp(40px, 31.505px + 2.265vw, 75px);
      font-family: var(--font-shippori);
      font-weight: 400;
      font-size: clamp(16px, 14.544px + 0.388vw, 22px);
      cursor: pointer;

      &::before {
        content: "Q";
        position: absolute;
        left: 0;
        top: 0.3em;
        transform: translateY(-50%);
        font-family: var(--font-en);
        font-weight: 400;
        font-size: clamp(35px, 31.359px + 0.971vw, 50px);
        color: #edaac2;
        line-height: 1;
      }

      &::after {
        content: "";
        position: absolute;
        top: 33%;
        right: 0;
        transform: translateY(-50%);
        width: clamp(20px, 16.359px + 0.971vw, 35px);
        height: clamp(20px, 16.359px + 0.971vw, 35px);
        background: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='17.5' cy='17.5' r='17.5' transform='matrix(1 0 0 -1 0 35)' fill='%23EDAAC2'/%3E%3Cpath d='M10 14L17.5 22L25 14' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
      }
    }

    .faq-q.show {
      &::after {
        background-image: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='17.5' cy='17.5' r='17.5' fill='%23EDAAC2'/%3E%3Cpath d='M10 21L17.5 13L25 21' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
      }
    }

    .faq-a {
      padding: clamp(20px, 17.573px + 0.647vw, 30px) 0 clamp(20px, 17.573px + 0.647vw, 30px) clamp(40px, 31.505px + 2.265vw, 75px);
      border-top: 1px #edaac2 solid;
      position: relative;

      &::before {
        content: "A";
        position: absolute;
        left: 0;
        top: 0.45em;
        font-family: var(--font-en);
        font-weight: 400;
        font-size: clamp(35px, 31.359px + 0.971vw, 50px);
        color: #c9b39e;
        line-height: 1;
      }
    }

    .faq-a__text {
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      line-height: 2;
      margin: 0;
    }
  }

  .faq-list__item+.faq-list__item {
    margin-top: clamp(20px, 15.146px + 1.294vw, 40px);
  }
}

.dl-style01 {
  .dl-style01__list {
    display: grid;
    grid-template-columns: clamp(90px, 80.291px + 2.589vw, 130px) 1fr;
    margin: 0;

    dt {
      grid-column: 1;
      flex-shrink: 0;
      color: var(--color-gold);
      padding: clamp(20px, 18.786px + 0.324vw, 25px) 0;
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      font-weight: 400;
      border-bottom: 1px var(--color-gold) solid;

      &:first-of-type {
        padding-top: 0;
      }
    }

    dd {
      grid-column: 2;
      margin: 0;
      padding: clamp(20px, 18.786px + 0.324vw, 25px) 0 clamp(20px, 18.786px + 0.324vw, 25px) clamp(10px, 5.146px + 1.294vw, 30px);
      font-size: clamp(14px, 13.029px + 0.259vw, 18px);
      border-bottom: 1px var(--color-light-gold) solid;

      &:first-of-type {
        padding-top: 0;
      }
    }

    dd.price {
      .price_detail {
        font-size: clamp(14px, 13.515px + 0.129vw, 16px);
        margin: 10px 0 0;
        font-weight: normal;
      }
    }
  }
}

/*------------------------------------
クリニックについて
------------------------------------*/
.page-about {
  .page-title {
    background-image: url("../img/about/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/about/page-title_img_sp.webp");
    }
  }

  .features-section {
    padding-top: 0;
  }

  .doctor-section {
    .doctor-section__message-area {
      @media (max-width: 767px) {
        gap: 0;
      }

      .doctor-section__message {
        @media (max-width: 767px) {
          margin-top: 13.33vw;
        }
      }
    }

    .room-slide-wrapper {
      margin-top: clamp(60px, 50.291px + 2.589vw, 100px);
      overflow: hidden;
      width: 100%;

      .room-slide-list {
        display: flex;
        align-items: center;
        width: max-content;
        animation: slideAnim 40s linear infinite;

        .room-slide-list__item {
          flex-shrink: 0;
          margin-right: clamp(12px, 7.631px + 1.165vw, 30px);
          width: 23.44vw;
          aspect-ratio: 450 / 300;

          @media (max-width: 767px) {
            width: 48vw;
            aspect-ratio: 180 / 120;
          }

          &.vartical {
            width: 15.63vw;
            aspect-ratio: 300 / 450;

            @media (max-width: 767px) {
              width: 32vw;
              aspect-ratio: 120 / 180;
            }
          }

          img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
          }
        }
      }
    }
  }

  /* --施術機械紹介-- */
  .equipment-section {
    background-color: #F8F7F4;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .equipment-list {
      display: flex;
      flex-wrap: wrap;
      column-gap: 1.04vw;
      row-gap: 3.13vw;
      margin: 0;
      padding: 0;

      @media (max-width: 767px) {
        column-gap: 4vw;
        row-gap: 8vw;
      }

      .equipment-list__item {
        list-style: none;
        width: calc((100% - 3.13vw) / 4);
        box-shadow: 0 0 10px #F5F0EB;
        position: relative;

        @media (max-width: 767px) {
          width: calc((100% - 4vw) / 2);
        }

        a {
          &::before {
            position: absolute;
            content: "";
            bottom: 0;
            right: 0;
            width: clamp(14px, 10.602px + 0.906vw, 28px);
            height: clamp(14px, 10.602px + 0.906vw, 28px);
            background: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 15L28 0V28H0L13 15Z' fill='%23C9B39E'/%3E%3C/svg%3E%0A");
            background-repeat: no-repeat;
            background-position: right bottom;
            background-size: contain;
            z-index: 1;
            transition: ease-in 0.2s;
          }

          &:hover {
            &::before {
              background-image: url("data:image/svg+xml,%3Csvg width='28' height='28' viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 15L28 0V28H0L13 15Z' fill='%239D7855'/%3E%3C/svg%3E%0A");
            }
          }
        }

        .equipment-list__img {
          width: 100%;
          aspect-ratio: 1;
          position: relative;

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border: 0;
            outline: none;
            box-shadow: none;
          }

          .equipment-list__title {
            position: absolute;
            bottom: 0.52vw;
            left: 0;
            width: 100%;
            height: auto;
            font-size: clamp(12px, 10.544px + 0.388vw, 18px);
            text-align: center;
            margin: 0 auto;
            padding: 0;

            @media (max-width: 767px) {
              bottom: 1.33vw;
            }
          }
        }
      }
    }
  }

  /* --クリニック概要-- */
  .clinic-overview-section {
    background-color: #FEF6F9;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .clinic-overview-section__inner {
      display: grid;
      grid-template-columns: 28.13vw 1fr;
      gap: 3.13vw;

      @media (max-width: 767px) {
        grid-template-columns: 1fr;
        gap: 10.67vw;
      }

      .clinic-overview-section__img {
        max-width: 540px;
        width: 100%;
        margin: 0 auto;
      }

      .dl-style01 {
        .dl-style01__list {
          grid-template-columns: clamp(90px, 82.718px + 1.942vw, 120px) 1fr;
        }
      }
    }
  }
}

@keyframes slideAnim {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/*------------------------------------
初めての方へ
------------------------------------*/
.page-guide {
  .page-title {
    background-image: url("../img/guide/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/guide/page-title_img_sp.webp");
    }
  }

  /* --安心のお約束-- */
  .promise-section {
    background-image: url(../img/features-section_bg.webp);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .section-title--flower {
      margin-bottom: clamp(57.5px, 45.971px + 3.074vw, 105px);
    }

    .promise-list {
      list-style: none;
      counter-reset: li;
      display: grid;
      grid-template-columns: repeat(3, auto);
      gap: clamp(47px, 43.845px + 0.841vw, 60px);
      padding: 0;
      margin: 0 auto;

      @media (max-width: 767px) {
        grid-template-columns: 1fr;
      }

      .promise-list__item {
        display: flex;
        flex-direction: column;
        background-color: #FEF6F9;
        border: 1px var(--color-light-pink) solid;
        border-radius: 6px;
        position: relative;

        &::before {
          counter-increment: li;
          content: counter(li);
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate(-50%, -50%);
          font-family: var(--font-en);
          font-size: clamp(35px, 32.573px + 0.647vw, 45px);
          color: #FFF;
          background-color: var(--color-light-pink);
          border-radius: 50%;
          width: clamp(35px, 31.359px + 0.971vw, 50px);
          height: clamp(35px, 31.359px + 0.971vw, 50px);
          margin: 0 auto;
          padding: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          line-height: 1;
        }

        .promise-list__text {
          padding: clamp(35px, 31.359px + 0.971vw, 50px) clamp(20px, 15.146px + 1.294vw, 40px) clamp(25px, 21.359px + 0.971vw, 40px);
          text-align: center;
          line-height: 1.5;
        }

        .promise-list__img {
          max-width: 360px;
          margin-top: auto;
          aspect-ratio: 360 / 180;
          overflow: hidden;

          @media (max-width: 767px) {
            max-width: none;
          }

          img {
            width: 100%;
            height: 100%;
            border-radius: 0 0 6px 6px;
            object-fit: contain;
            display: block;
          }
        }
      }
    }
  }

  /* --受診の流れ-- */
  .visit-flow-section {
    background-image: url(../img/doctor-section_bg.webp);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .visit-flow-list {
      list-style: none;
      counter-reset: li;
      padding: 0;
      margin: 0;
      position: relative;

      .visit-flow-list__item {
        position: relative;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
        column-gap: 30px;
        row-gap: 30px;
        padding-left: clamp(50px, 45.146px + 1.294vw, 70px);
        align-items: start;

        &::before {
          counter-increment: li;
          content: counter(li);
          position: absolute;
          top: calc((1em * 1.5) / 2);
          transform: translateY(-50%);
          left: 0;
          font-family: var(--font-shippori);
          font-size: clamp(20px, 18.058px + 0.518vw, 28px);
          color: #FFF;
          background-color: var(--color-light-pink);
          border-radius: 50%;
          width: clamp(40px, 37.573px + 0.647vw, 50px);
          height: clamp(40px, 37.573px + 0.647vw, 50px);
          margin: 0 auto;
          padding: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          line-height: 1;
          flex-shrink: 0;
          z-index: 1;
        }

        &::after {
          content: "";
          position: absolute;
          top: 0;
          bottom: calc(clamp(60px, 50.291px + 2.589vw, 100px) * -1);
          left: clamp(20px, 18.786px + 0.324vw, 25px);
          width: 1px;
          background: var(--color-light-pink);
          z-index: 0;
        }

        &:last-child::after {
          display: none;
        }

        @media (max-width: 767px) {
          display: block;
        }

        .visit-flow-list__title {
          grid-column: 1 / 3;
          grid-row: 1;
          font-family: var(--font-shippori);
          font-weight: 400;
          font-size: clamp(20px, 18.058px + 0.518vw, 28px);
          margin: 0;
          line-height: 1.5;

          @media (max-width: 767px) {
            margin-bottom: 4.8vw;
          }
        }

        .visit-flow__img {
          grid-column: 1;
          grid-row: 2;
          max-width: 225px;
          margin-right: auto;
          aspect-ratio: 225 / 150;

          @media (max-width: 767px) {
            margin-bottom: 2.67vw;
          }

          img {
            width: 100%;
            display: block;
          }
        }

        .visit-flow-list__text {
          grid-column: 2;
          grid-row: 2;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          line-height: 2;
          margin: 0;
          align-self: center;
        }
      }

      .visit-flow-list__item+.visit-flow-list__item {
        margin-top: clamp(60px, 50.291px + 2.589vw, 100px);
      }
    }
  }

  /* --お支払い方法-- */
  .pay-section {
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .pay-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      list-style: none;
      gap: clamp(40px, 35.146px + 1.294vw, 60px);
      margin: 0 auto;
      padding: 0;

      @media (max-width: 767px) {
        grid-template-columns: 1fr;
      }

      .pay-list__item {
        background-color: #F8F7F4;
        padding: clamp(30px, 26.359px + 0.971vw, 45px) 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;

        .pay-list__img {
          margin: 0 auto;
          height: clamp(90px, 82.718px + 1.942vw, 120px);

          img {
            display: block;
            max-width: 100%;
            max-height: 100%;
            width: auto;
            height: auto;
            object-fit: contain;
          }
        }

        .pay-list__title {
          font-family: var(--font-shippori);
          font-size: clamp(20px, 18.058px + 0.518vw, 28px);
          text-align: center;
          margin: clamp(15px, 11.359px + 0.971vw, 30px) auto 0;
          padding: 0;
        }

        .pay-list__subtitle {
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          text-align: center;
          margin: clamp(5px, 3.786px + 0.324vw, 10px) auto 0;
          padding: 0;
        }
      }
    }

    .pay-notes {
      font-size: clamp(12px, 10.544px + 0.388vw, 18px);
      margin: 1.04vw auto 0;
      padding: 0;
      letter-spacing: 5%;

      @media (max-width: 767px) {
        margin-top: 10.67vw;
      }
    }
  }

  /* --施術を受けられないケース-- */
  .not-eligible-section {
    background-color: #FFFBFB;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .not-eligible-section__inner {
      max-width: 800px;
      width: 100%;
      margin: 0 auto;

      .not-eligible-section__list {
        list-style: none;
        margin: 0;
        padding: 0;

        .not-eligible-list__item {
          padding-left: clamp(35px, 33.058px + 0.518vw, 43px);
          background-color: #fff;
          box-shadow: 0 0 10px #FFEAEF;
          border-radius: 6px;
          padding: 30px clamp(28px, 25.087px + 0.777vw, 40px) 30px clamp(55px, 48.204px + 1.812vw, 83px);

          .not-eligible-list__text {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            line-height: 1.5;
            margin: 0;
            padding: 0;
            position: relative;

            &::before {
              content: "";
              position: absolute;
              top: calc((1em * 1.5) / 2);
              left: calc((clamp(20px, 18.058px + 0.518vw, 28px) + 15px) * -1);
              transform: translateY(-50%);
              width: clamp(20px, 18.058px + 0.518vw, 28px);
              height: clamp(20px, 18.058px + 0.518vw, 28px);
              background: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='15' cy='15' r='14' fill='%23FEF6F9'/%3E%3Cpath d='M28.2611 10.5C28.7402 11.9123 29 13.4258 29 15C29 22.732 22.732 29 15 29C7.26801 29 1 22.732 1 15C1 7.26801 7.26801 1 15 1C17.7592 1 20.332 1.79821 22.5 3.1763' stroke='%23EDAAC2' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7.99998 12.8125L13.6875 18.5L28.8542 3.625' stroke='%23EDAAC2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
              display: inline-block;
            }
          }
        }

        .not-eligible-list__item+.not-eligible-list__item {
          margin-top: clamp(10px, 5.146px + 1.294vw, 30px);
        }
      }
    }
  }

  /* --持ち物・その他の注意事項-- */
  .belongings-section {
    background-color: #FEF6F9;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .dl-style02 {
      background-color: #FFF;
      padding: clamp(20px, 10.291px + 2.589vw, 60px) clamp(20px, 10.291px + 2.589vw, 60px) clamp(45px, 37.718px + 1.942vw, 75px);
      box-shadow: 0 0 10px #FFEAEF;
      border-radius: 6px;
      margin: 0 auto;

      .dl-style02__list {
        display: grid;
        grid-template-columns: 180px 1fr;
        margin: 0;
        border-bottom: 1px var(--color-light-gold) solid;
        gap: 20px;
        align-items: center;
        padding-bottom: clamp(30px, 27.573px + 0.647vw, 40px);

        @media (max-width: 767px) {
          display: block;
        }

        dt {
          grid-column: 1;
          flex-shrink: 0;
          color: var(--color-gold);
          padding: 0;
          margin-right: auto;
          font-size: clamp(18px, 17.029px + 0.259vw, 22px);
          font-family: var(--font-shippori);
          font-weight: 400;

          @media (max-width: 767px) {
            text-align: center;
            margin-bottom: 4vw;
          }
        }

        dd {
          grid-column: 2;
          margin: 0;
          padding: 0;
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          margin: 0;

          .notes-style01 {
            margin-top: 10px;
          }
        }
      }

      .dl-style02__list+.dl-style02__list {
        margin-top: clamp(30px, 27.573px + 0.647vw, 40px);
      }
    }
  }
}

/*------------------------------------
採用情報
------------------------------------*/
.page-recruit {
  .page-title {
    background-image: url("../img/recruit/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/recruit/page-title_img_sp.webp");
    }
  }

  /* --医師コメント-- */
  .doctor-section {
    background-image: none;
    background: #FFFF;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(254, 246, 249, 1) 100%);
    padding-top: 0;

    .doctor-section__message-area {
      display: grid;
      grid-template-columns: auto auto;
      grid-template-rows: auto auto;
      column-gap: 4.17vw;
      row-gap: 2.08vw;
      align-items: start;

      @media (max-width: 767px) {
        display: block;
      }

      .doctor-section__title {
        grid-column: 2;
        grid-row: 1;
        font-family: var(--font-shippori);
        font-size: clamp(24px, 21.087px + 0.777vw, 36px);
        letter-spacing: 5%;
        margin: 0;

        @media (max-width: 767px) {
          margin-bottom: 10.67vw;
        }
      }

      .doctor-section__photo {
        grid-column: 1;
        grid-row: 1 / 3;
        position: relative;
        display: flex;
        max-width: 360px;
        width: 100%;
        aspect-ratio: 360 / 504;

        &::before {
          position: absolute;
          content: "";
          background-image: url(../img/recruit/flower.png);
          background-repeat: no-repeat;
          background-position: left bottom;
          background-size: contain;
          bottom: -2.97vw;
          left: -3.7vw;
          width: 7.37vw;
          height: 7.08vw;
          z-index: 1;
        }

        @media (max-width: 767px) {
          max-width: none;
          width: 53.33vw;
          margin: 0 auto;

          &::before {
            width: 24.97vw;
            height: 24vw;
            bottom: -5.33vw;
            left: -12.53vw;
          }
        }

        img {
          width: 100%;
        }
      }

      .doctor-section__message {
        grid-column: 2;
        grid-row: 2;

        @media (max-width: 767px) {
          margin-top: 10.67vw;
        }

        .doctor-section__text {
          letter-spacing: 5%;
        }

        .doctor-section__name {
          margin-top: clamp(30px, 25.146px + 1.294vw, 50px);

          @media (max-width: 767px) {
            text-align: right;
          }
        }
      }
    }
  }

  /* --募集要項-- */
  .recruit-section {
    background: url("../img/features-section_bg.webp") center center / cover no-repeat;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .recruit-section-tab {
      max-width: 800px;
      width: 100%;
      margin: 0 auto;

      .recruit-section-tab__button-area {
        display: flex;
        margin-bottom: clamp(20px, 16.359px + 0.971vw, 35px);
        gap: clamp(15px, 4.078px + 2.913vw, 60px);
        justify-content: center;
        z-index: 0;

        .recruit-section-tab__button {
          background-color: #FFF;
          font-family: var(--font-shippori);
          font-size: clamp(16px, 14.058px + 0.518vw, 24px);
          color: #F588B0;
          border: 1px #F588B0 solid;
          border-radius: 6px;
          padding: clamp(16px, 15.757px + 0.065vw, 17px);
          z-index: 0;
          text-align: center;
          width: clamp(150px, 96.602px + 14.239vw, 370px);
          transition: ease-in .2s;
          cursor: pointer;
          display: grid;
          align-items: center;

          &.active {
            color: #FFF;
            background-color: #F588B0;
            position: relative;

            &::after {
              position: absolute;
              content: "";
              background-image: url("data:image/svg+xml,%3Csvg width='84' height='15' viewBox='0 0 84 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_5855_8358' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='84' height='15'%3E%3Crect width='84' height='15' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_5855_8358)'%3E%3Cpath d='M45.9279 11.5983C43.6733 13.5509 40.3267 13.5509 38.0721 11.5983L17.7924 -5.96443C13.5929 -9.60124 16.165 -16.5 21.7203 -16.5L62.2797 -16.5C67.835 -16.5 70.4071 -9.60124 66.2076 -5.96443L45.9279 11.5983Z' fill='%23F588B0'/%3E%3C/g%3E%3C/svg%3E%0A");
              background-repeat: no-repeat;
              background-position: center bottom;
              background-size: contain;
              bottom: 0;
              left: 50%;
              transform: translate(-50%, clamp(10px, 8.786px + 0.324vw, 15px));
              width: clamp(64px, 59.146px + 1.294vw, 84px);
              height: clamp(9px, 7.786px + 0.324vw, 14px);
              z-index: -1;
            }
          }
        }
      }

      .recruit-section-tab__panel {
        background-color: #FEF6F9;
        padding: clamp(30px, 22.718px + 1.942vw, 60px) clamp(20px, 10.291px + 2.589vw, 60px);
        height: 0;
        opacity: 0;
        overflow: hidden;
        transition: opacity 0.4s ease;
        display: none;

        .recruit-section-panel__title {
          font-family: var(--font-shippori);
          font-size: clamp(16px, 14.058px + 0.518vw, 24px);
          color: var(--color-gold);
          font-weight: 400;
          text-align: center;
          position: relative;
          margin: 0;
          padding-bottom: 20px;
          margin-bottom: clamp(40px, 35.146px + 1.294vw, 60px);

          @media (max-width: 767px) {
            padding-bottom: 8.8vw;
          }

          &::before {
            position: absolute;
            content: "";
            background-image: radial-gradient(circle, #f588b0 clamp(1.5px, 1.379px + 0.032vw, 2px), transparent clamp(1.5px, 1.379px + 0.032vw, 2px));
            background-position: left bottom;
            background-repeat: repeat-x;
            background-size: clamp(7px, 5.786px + 0.324vw, 12px) clamp(3px, 2.757px + 0.065vw, 4px);
            width: clamp(65px, 53.592px + 3.042vw, 112px);
            height: clamp(3px, 2.757px + 0.065vw, 4px);
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
          }
        }

        .dl-style03__list {
          display: grid;
          grid-template-columns: clamp(60px, 55.146px + 1.294vw, 80px) 1fr;
          column-gap: clamp(20px, 5.437px + 3.883vw, 80px);
          margin: 0;
          position: relative;
          align-items: center;
          flex-shrink: 0;

          &::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 1px;
            background-image: repeating-linear-gradient(to right, var(--color-gold) 0 2px, transparent 2px 6px);
            background-size: 6px 1px;
            background-repeat: repeat-x;
          }

          dt {
            grid-column: 1;
            flex-shrink: 0;
            color: var(--color-gold);
            padding: 0 0 clamp(15px, 13.786px + 0.324vw, 20px);
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            font-weight: 400;
            line-height: 2;
          }

          dd {
            grid-column: 2;
            margin: 0;
            padding: 0 0 clamp(15px, 13.786px + 0.324vw, 20px);
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            line-height: 2;
            flex-shrink: 0;
          }
        }

        .dl-style03__list+.dl-style03__list {
          margin-top: clamp(15px, 13.786px + 0.324vw, 20px);
        }

        &.show {
          display: block;
          height: auto;
          opacity: 1;
        }
      }
    }
  }

  /* --応募方法-- */
  .apply-section {
    background-image: url(../img/recruit/apply_bg.webp);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    padding: clamp(40px, 25.437px + 3.883vw, 100px) 0;

    .apply-section__wrapper {
      background-color: rgba(255, 255, 255, 0.8);
      padding: clamp(50px, 45.146px + 1.294vw, 70px) 35px;
      outline: 1px var(--color-light-gold) solid;
      outline-offset: -10px;

      .section-heading__content {
        margin-bottom: clamp(30px, 26.359px + 0.971vw, 45px);

        .section-heading__title {
          font-size: clamp(24px, 20.117px + 1.036vw, 40px);
          letter-spacing: 5%;
        }
      }

      .apply-section__inner {
        margin: 0 auto;

        .apply-section__title {
          font-size: clamp(14px, 13.029px + 0.259vw, 18px);
          text-align: center;
          margin: 0 auto clamp(5px, 3.786px + 0.324vw, 10px);
          padding: 0;
        }

        .apply-section__phone {
          margin: 0 auto clamp(20px, 17.573px + 0.647vw, 30px);

          a {
            font-family: var(--font-shippori);
            font-size: clamp(30px, 25.146px + 1.294vw, 50px);
            text-align: center;
            margin: 0 auto;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;

            img {
              display: block;
              width: clamp(29px, 26.330px + 0.712vw, 40px);
              height: clamp(30px, 27.087px + 0.777vw, 42px);
            }
          }
        }

        .apply-section__text {
          text-align: center;
          padding: 0;

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

  /* --よくある質問-- */
  .faq-section {
    background-color: #FFFBFB;
  }
}

/*------------------------------------
アクセス
------------------------------------*/
.page-access {
  .page-title {
    background-image: url("../img/access/page-title_img.webp");

    @media (max-width: 767px) {
      background-image: url("../img/access/page-title_img_sp.webp");
    }
  }

  /* アクセス概要 */
  .access-summary-section {
    margin: 0 auto;
    position: relative;
    z-index: 0;
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    &::before {
      position: absolute;
      content: "";
      background-image: url(../img/menu-single/about-bg.png);
      background-position: center top;
      background-size: contain;
      background-repeat: no-repeat;
      top: 0;
      right: 0;
      width: 23.18vw;
      aspect-ratio: 445 / 482;
      z-index: -1;
    }

    @media (max-width: 767px) {
      &::before {
        width: 48vw;
      }
    }

    .access-summary-wrapper {
      display: flex;
      gap: clamp(40px, 37.573px + 0.647vw, 50px);
      align-items: center;
      margin: 0;
      padding: 0;

      @media (max-width: 767px) {
        flex-direction: column-reverse;
        align-items: flex-start;
      }

      .access-summary__img {
        max-width: 564px;
        width: 50%;
        margin: 0;
        flex-shrink: 0;

        @media (max-width: 767px) {
          margin: 0 auto;
          width: 100%;
        }

        img {
          display: block;
          object-fit: contain;
        }
      }

      .access-summary__title {
        font-family: var(--font-shippori);
        font-size: clamp(16px, 13.573px + 0.647vw, 26px);
        line-height: 2.4;
        font-weight: 500;
        margin: 0;

        strong {
          font-family: inherit;
          color: #E61773;
          font-weight: 500;
        }

        .under {
          font-family: inherit;
          text-decoration: underline dashed #E61773;
          text-decoration-thickness: 1px;
          text-underline-offset: 0.4em;
        }
      }
    }

    .dl-style01 {
      max-width: 800px;
      width: 100%;
      margin: 0 auto;
      background-color: #F8F7F4;
      border-radius: 6px;
      margin-top: clamp(50px, 37.864px + 3.236vw, 100px);
      padding: clamp(30px, 25.146px + 1.294vw, 50px) clamp(20px, 12.718px + 1.942vw, 50px);
      box-sizing: border-box;

      .dl-style01__list {
        grid-template-columns: clamp(60px, 50.291px + 2.589vw, 100px);
      }

      .access-section__googlemap {
        width: 100%;
        margin-top: clamp(20px, 17.573px + 0.647vw, 30px);

        .googlemap {
          iframe {
            display: block;
            max-width: 590px;
            width: 100%;
            height: clamp(150px, 140.049px + 2.654vw, 191px);
          }
        }

        .btn--arrow-brown {
          a {
            font-size: clamp(14px, 13.029px + 0.259vw, 18px);
            color: var(--color-gold);
            margin-top: 10px;
            margin-left: auto;
          }
        }
      }

      @media (max-width: 767px) {
        .dl-style01__list {
          dt {
            width: 100%;
          }

          dd {
            width: 100%;
          }
        }

        .access-section__googlemap {
          width: calc(100% + (clamp(60px, 50.291px + 2.589vw, 100px) + clamp(10px, 5.146px + 1.294vw, 30px)));
          margin-left: calc((clamp(60px, 50.291px + 2.589vw, 100px) + clamp(10px, 5.146px + 1.294vw, 30px)) * -1);

          .googlemap {
            iframe {
              width: 100%;
              max-width: none;
            }
          }
        }
      }
    }
  }

  /* --アクセス方法-- */
  .access-flow-section {
    background-color: #FEF6F9;
    padding-top: clamp(50px, 33.010px + 4.531vw, 120px);
    padding-bottom: clamp(80px, 63.010px + 4.531vw, 150px);

    .access-contents {
      .access-contents-list {
        list-style: none;
        display: grid;
        grid-template-columns: repeat(3, auto);
        gap: clamp(20px, 15.146px + 1.294vw, 40px);
        padding: 0;
        margin: 0 auto 80px;

        @media (max-width: 1250px) {
          grid-template-columns: 1fr;
        }

        .access-contents-list__item {
          display: flex;
          flex-direction: column;
          background-color: #FFF;
          box-shadow: 0 0 10px #FFEAEF;
          border-radius: 6px;
          padding: clamp(20px, 17.573px + 0.647vw, 30px) 20px;
          align-items: stretch;

          .access-contents-list__title {
            font-family: var(--font-shippori);
            font-size: clamp(16px, 14.544px + 0.388vw, 22px);
            color: #F588B0;
            font-weight: 500;
            text-align: center;
            margin: 0 auto clamp(15px, 13.786px + 0.324vw, 20px);
          }

          .access-contents-list__text {
            display: flex;
            gap: clamp(17px, 16.272px + 0.194vw, 20px);
            padding: 0 0 10px;
            justify-content: center;
            flex-shrink: 0;
            flex-wrap: wrap;

            a {
              display: flex;
              align-items: center;
              position: relative;
              width: 100%;
              font-size: clamp(14px, 13.029px + 0.259vw, 18px);
              text-align: left;
              border-bottom: 1px var(--color-light-pink) solid;
              padding-bottom: 5px;
              padding-right: 40px;
              gap: 10px;
              white-space: nowrap;
              flex-shrink: 0;

              &::after {
                content: "";
                position: absolute;
                right: 0;
                top: calc(50%);
                transform: translateY(-50%);
                background: url("../img/price/arrow-down-light-pink.svg") center center / contain no-repeat;
                width: clamp(15px, 13.786px + 0.324vw, 20px);
                height: clamp(15px, 13.786px + 0.324vw, 20px);
                transition: ease-in 0.2s;
              }

              &:hover {
                color: var(--color-pink);

                &::after {
                  top: calc(50% + 5px);
                }
              }

              span {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                background-color: #F588B0;
                color: #FFF;
                font-size: clamp(14px, 13.029px + 0.259vw, 18px);
                padding: 4px 10px;
                border-radius: 6px;
                margin: 0;
                flex-shrink: 0;
                line-height: 1;
                vertical-align: middle;
              }
            }

            @media (max-width: 767px) {
              flex-direction: column;
            }
          }

          &:first-of-type {
            .access-contents-list__text {
              display: grid;
              grid-template-columns: repeat(2, 1fr);

              @media (max-width: 1250px) {
                display: flex;
                flex-direction: column;
              }
            }
          }
        }
      }
    }

    /* --アクセス方法共通-- */
    .access-transportation-group {
      .access-transportation__title {
        font-family: var(--font-shippori);
        font-size: clamp(18px, 15.087px + 0.777vw, 30px);
        font-weight: 600;
        text-align: center;
        color: #F588B0;
        background-color: #FFF;
        border: 1px #F588B0 solid;
        border-radius: 6px;
        padding: clamp(15px, 14.272px + 0.194vw, 18px) 25px;
        margin: 0 auto clamp(20px, 17.573px + 0.647vw, 30px);
        position: relative;

        &::before {
          position: absolute;
          content: "";
          inset: 5px;
          border: 1px #F588B0 solid;
          border-radius: 4px;
          pointer-events: none;
        }
      }

      .access-transportation__subtitle {
        font-family: var(--font-shippori);
        font-size: clamp(16px, 14.544px + 0.388vw, 22px);
        font-weight: 500;
        color: var(--color-gold);
        padding: 0 0 clamp(10px, 9.515px + 0.129vw, 12px) clamp(40px, 37.573px + 0.647vw, 50px);
        border-bottom: 1px var(--color-gold) solid;
        position: relative;
        margin: 60px auto clamp(20px, 17.573px + 0.647vw, 30px);

        &::before {
          position: absolute;
          content: "";
          background: url(../img/menu-single/secondary_icon.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center center;
          width: clamp(30px, 27.573px + 0.647vw, 40px);
          height: clamp(30px, 27.573px + 0.647vw, 40px);
          top: 35%;
          transform: translateY(-50%);
          left: 0;
        }
      }

      .access-transportation__text {
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        line-height: 2;
        margin: 0;
        padding: 0;
      }

      strong {
        color: var(--color-gold);
        font-weight: 400;
      }

      .access-transportation__text+.access-transportation__text {
        margin-top: clamp(10px, 7.573px + 0.647vw, 20px);
      }

      .list-style-square__item {
        padding-bottom: 0;
        margin: 10px auto;
      }

      .access-transportation__notes,
      .access-citation__notes,
      .access-transportation__notes-list {
        font-size: clamp(12px, 11.515px + 0.129vw, 14px);
        display: block;
        line-height: 1.5;
      }
    }

    .access-transportation-group+.access-transportation-group {
      margin-top: clamp(80px, 63.010px + 4.531vw, 150px);
    }

    /* 市営駐車場 */
    .access-parking-wrapper {
      display: grid;
      grid-template-columns: 31.25vw 1fr;
      gap: 3.13vw;
      margin-bottom: clamp(60px, 55.146px + 1.294vw, 80px);

      @media (max-width: 767px) {
        grid-template-columns: 1fr;
        gap: 5.33vw;
      }

      .access-parking__img {
        max-width: 600px;
        width: 100%;
        aspect-ratio: 600 / 475;

        img {
          width: 100%;
          height: 100%;
          object-fit: contain;
        }
      }

      .access-parking__name {
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        color: #FFF;
        background-color: var(--color-gold);
        padding: 5px 10px;
        width: fit-content;
        margin: 10px 0;
        display: block;
        border-radius: 4px;
      }

      .access-parking__notes {
        background-color: #FFF0F4;
        font-size: clamp(14px, 13.029px + 0.259vw, 18px);
        padding: clamp(15px, 13.786px + 0.324vw, 20px) clamp(20px, 17.573px + 0.647vw, 30px);
        display: block;
        line-height: 1.5;
        text-align: left;
        margin-top: clamp(20px, 12.718px + 1.942vw, 50px);
        border-radius: 6px;

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

    /* 市営駐車場道順 */
    .access-flow-section-tab {
      margin: 0 auto;

      .access-flow-section-tab__button-area {
        display: flex;
        margin-bottom: clamp(20px, 16.359px + 0.971vw, 35px);
        gap: clamp(15px, 4.078px + 2.913vw, 60px);
        justify-content: center;
        z-index: 0;

        .access-flow-section-tab__button {
          background-color: #FFF;
          font-family: var(--font-shippori);
          font-size: clamp(16px, 14.058px + 0.518vw, 24px);
          color: #F588B0;
          border: 1px #F588B0 solid;
          border-radius: 6px;
          padding: clamp(12px, 10.665px + 0.356vw, 17.5px);
          z-index: 0;
          text-align: center;
          width: clamp(150px, 96.602px + 14.239vw, 370px);
          transition: ease-in .2s;
          cursor: pointer;
          line-height: 1.5;
          display: grid;
          align-items: center;

          &.active {
            color: #FFF;
            background-color: #F588B0;
            position: relative;

            &::after {
              position: absolute;
              content: "";
              background-image: url("data:image/svg+xml,%3Csvg width='84' height='15' viewBox='0 0 84 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_5855_8358' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='84' height='15'%3E%3Crect width='84' height='15' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_5855_8358)'%3E%3Cpath d='M45.9279 11.5983C43.6733 13.5509 40.3267 13.5509 38.0721 11.5983L17.7924 -5.96443C13.5929 -9.60124 16.165 -16.5 21.7203 -16.5L62.2797 -16.5C67.835 -16.5 70.4071 -9.60124 66.2076 -5.96443L45.9279 11.5983Z' fill='%23F588B0'/%3E%3C/g%3E%3C/svg%3E%0A");
              background-repeat: no-repeat;
              background-position: center bottom;
              background-size: contain;
              bottom: 0;
              left: 50%;
              transform: translate(-50%, clamp(10px, 8.786px + 0.324vw, 15px));
              width: clamp(64px, 59.146px + 1.294vw, 84px);
              height: clamp(9px, 7.786px + 0.324vw, 14px);
              z-index: -1;
            }
          }
        }
      }

      .access-flow-section-tab__panel {
        background-color: #FFF;
        padding: clamp(30px, 22.718px + 1.942vw, 60px) clamp(20px, 10.291px + 2.589vw, 60px);
        box-shadow: 0px 0px 10px 0px #FFEAEF;
        border-radius: 6px;
        height: 0;
        opacity: 0;
        overflow: hidden;
        transition: opacity 0.4s ease;
        display: none;

        .access-flow-list {
          list-style: none;
          counter-reset: li;
          padding: 0;
          margin: 0;
          position: relative;

          .access-flow-list__item {
            position: relative;
            display: grid;
            grid-template-columns: 22.4vw 1fr;
            gap: 2.08vw;
            padding-left: clamp(40px, 32.718px + 1.942vw, 70px);
            align-items: start;

            &::before {
              counter-increment: li;
              content: counter(li);
              position: absolute;
              top: calc((1em * 1.5) / 2);
              transform: translateY(-50%);
              left: 0;
              font-family: var(--font-shippori);
              font-size: clamp(20px, 18.058px + 0.518vw, 28px);
              color: #FFF;
              background-color: #F588B0;
              border-radius: 50%;
              width: clamp(30px, 25.146px + 1.294vw, 50px);
              height: clamp(30px, 25.146px + 1.294vw, 50px);
              margin: 0 auto;
              padding: 0;
              display: flex;
              justify-content: center;
              align-items: center;
              line-height: 1;
              flex-shrink: 0;
              z-index: 1;
            }

            &::after {
              content: "";
              position: absolute;
              top: 0;
              bottom: calc(clamp(60px, 50.291px + 2.589vw, 100px) * -1);
              left: clamp(15px, 12.573px + 0.647vw, 25px);
              width: 1px;
              background: #F588B0;
              z-index: 0;
            }

            &:last-child::after {
              content: none;
            }

            @media (max-width: 767px) {
              display: flex;
              flex-direction: column;
              gap: 2.67vw;
            }

            .access-flow__img {
              grid-column: 1;
              grid-row: 1;
              max-width: 430px;
              width: 100%;
              margin-right: auto;
              aspect-ratio: 430 / 287;

              img {
                width: 100%;
                display: block;
              }
            }

            .access-flow-list__text {
              grid-column: 2;
              grid-row: 1;
              font-size: clamp(14px, 13.029px + 0.259vw, 18px);
              line-height: 2;
              margin: 0;

              strong {
                font-family: inherit;
                font-weight: 400;
                color: var(--color-gold);
              }
            }

            .access-flow-list__notes {
              display: block;
              font-size: clamp(12px, 11.515px + 0.129vw, 14px);
              margin: 0;
              margin-top: 10px;
            }
          }

          .access-flow-list__item+.access-flow-list__item {
            margin-top: clamp(60px, 50.291px + 2.589vw, 100px);
          }
        }

        &.show {
          display: block;
          height: auto;
          opacity: 1;
        }
      }
    }

    /* 駅ビル駐車場 */
    .access-station-parking-wrapper {
      display: grid;
      grid-template-columns: 29.17vw 1fr;
      grid-template-rows: auto auto;
      column-gap: 2.08vw;
      margin-bottom: clamp(60px, 55.146px + 1.294vw, 80px);

      .access-station-parking__img {
        grid-column: 1;
        grid-row: 1;
        max-width: 560px;
        width: 100%;
        height: 100%;

        img {
          object-fit: cover;
        }

        img+img {
          margin-top: clamp(20px, 17.573px + 0.647vw, 30px);
        }
      }

      .access-citation__notes {
        grid-column: 1;
        grid-row: 2;
        margin-top: 10px;
      }

      .access-transportation__text {
        grid-column: 2;
        grid-row: 1;
      }

      .access-transportation__notes {
        margin-top: 5px;
      }

      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;

        .access-transportation__text {
          margin-top: 10px;
        }

        .access-citation__notes {
          margin-bottom: 10px;
        }
      }
    }

    /* 高速道路 */
    .access-highway-wrapper {
      .access-transportation__notes-list {
        margin-top: 5px;
        margin-bottom: 0;
        padding-left: 2.25em;

        li+li {
          margin-top: 5px;
        }
      }
    }

    /* 電車 */
    .access-train-container {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 60px;

      @media (max-width: 767px) {
        grid-template-columns: 1fr;
      }

      .access-transportation__subtitle {
        margin-top: 0;
      }
    }

    .access-train-notes {
      max-width: 800px;
      width: 100%;
      margin: clamp(60px, 50.291px + 2.589vw, 100px) auto 0;
      display: grid;
      grid-template-columns: 10.42vw 1fr;
      gap: clamp(20px, 15.146px + 1.294vw, 40px);
      background-color: #FFF;
      padding: clamp(30px, 27.573px + 0.647vw, 40px) clamp(20px, 10.291px + 2.589vw, 60px);
      align-items: center;
      border-radius: 6px;
      box-shadow: 0 0 10px #FFEAEF;
      position: relative;
      z-index: 0;

      &::before {
        position: absolute;
        content: "";
        background-image: url(../img/access/access-train-notes_bg.png);
        background-repeat: no-repeat;
        background-position: right bottom;
        background-size: contain;
        right: 0;
        bottom: 0;
        width: 9.48vw;
        height: 10.42vw;
        z-index: -1;
      }

      .access-train-notes__img {
        max-width: 200px;
        width: 100%;
        margin: 0 auto;
      }

      @media (max-width: 767px) {
        grid-template-columns: 1fr;

        &::before {
          width: 37.33vw;
          height: 41.07vw;
        }
      }
    }
  }
}

/*------------------------------------
アクセス
------------------------------------*/
.contact-access-wrap {
  padding: clamp(50px, 37.864px + 3.236vw, 100px) 0;
  background: url(../img/contact-access-wrap_bg.webp) center center / cover no-repeat;

  .contact-section {
    .contact-section__inner {
      max-width: 1000px;
      width: calc(100% - 220px);
      margin: 0 auto;

      @media (max-width: 767px) {
        width: 86%;
      }
    }

    .contact-section__block {
      .contact-section__block-title {
        font-family: var(--font-shippori);
        font-weight: 400;
        font-size: clamp(18px, 16.544px + 0.388vw, 24px);
        margin: 0 0 15px;
      }
    }

    .contact-section__block+.contact-section__block {
      margin-top: clamp(30px, 27.573px + 0.647vw, 40px);
    }
  }

  /* アクセス */
  .access-section {
    margin-top: clamp(70px, 53.01px + 4.531vw, 140px);

    .access-section__inner {
      max-width: 1000px;
      width: calc(100% - 220px);
      margin: 0 auto;

      @media (max-width: 767px) {
        width: 86%;
      }
    }

    .access-section__address {
      text-align: center;
      margin-bottom: clamp(20px, 15.146px + 1.294vw, 40px);
    }

    .way-box {
      display: flex;
      gap: 30px;

      @media (max-width: 767px) {
        flex-direction: column;
        gap: 20px;
      }

      .way-box__item {
        width: calc((100% - 30px) / 2);
        background-color: #f8f7f4;
        padding: clamp(20px, 17.573px + 0.647vw, 30px) clamp(20px, 12.718px + 1.942vw, 50px);

        @media (max-width: 767px) {
          width: 100%;
        }
      }

      .way-box__title {
        font-family: var(--font-shippori);
        font-weight: 500;
        font-size: clamp(18px, 16.544px + 0.388vw, 24px);
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
      }

      .title-train {
        &::before {
          content: "";
          background: url(../img/icon_train.svg) center center / contain no-repeat;
          width: 28px;
          height: 31px;
          display: inline-block;
        }
      }

      .title-car {
        &::before {
          content: "";
          background: url(../img/icon_car.svg) center center / contain no-repeat;
          width: 34px;
          height: 25px;
          display: inline-block;
        }
      }

      .way-box__text {
        a {
          color: var(--color-gold);
          text-decoration: underline;
        }

        a:hover {
          text-decoration: none;
        }
      }
    }

    .access-section__googlemap {
      margin-top: 40px;

      .googlemap {
        height: 300px;

        @media (max-width: 767px) {
          height: 170px;
        }

        iframe {
          width: 100%;
          height: 100%;
        }
      }

      .googlemap-btn {
        display: flex;
        justify-content: flex-end;
        margin-top: clamp(10px, 7.573px + 0.647vw, 20px);
      }
    }
  }
}

/*--------------------
footer
--------------------*/
footer {
  background: url("../img/footer_bg.webp") center center / cover no-repeat;

  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .footer__inner {
    display: flex;
    justify-content: space-between;
    padding: clamp(50px, 47.573px + 0.647vw, 60px) 0;
    max-width: 1200px;
    width: calc(100% - 220px);
    margin: 0 auto;

    @media (max-width: 1000px) {
      width: 84%;
      flex-direction: column;
      gap: 30px;
    }

    .footer__logo {
      width: clamp(240px, 215.728px + 6.472vw, 340px);

      @media (max-width: 767px) {
        margin: 0 auto;
      }
    }

    .f-nav {
      .f-nav__list {
        display: grid;
        grid-template-columns: repeat(3, auto);
        gap: 15px 4.17vw;

        @media (max-width: 767px) {
          grid-template-columns: repeat(2, auto);
          gap: 20px 10px;
        }

        .f-nav__item {
          a {
            position: relative;
            font-size: clamp(14px, 13.515px + 0.129vw, 16px);
            padding-left: 15px;

            @media (max-width: 767px) {
              padding-left: 12px;
            }

            &::before {
              content: "";
              position: absolute;
              top: 0.4em;
              left: 0;
              background: url("data:image/svg+xml,%3Csvg width='9' height='11' viewBox='0 0 9 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 5.19629L-4.89399e-07 10.3924L-3.51373e-08 0.000136459L9 5.19629Z' fill='%23EDAAC2'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
              width: 12px;
              height: 12px;
              display: inline-block;
            }

            @media (max-width: 767px) {
              &::before {
                width: 8px;
                height: 8px;
              }
            }
          }

          a:hover {
            color: var(--color-pink);
          }
        }
      }
    }
  }

  .footer__copyright {
    font-size: clamp(14px, 13.515px + 0.129vw, 16px);
    text-align: center;
    font-weight: 300;
    color: #fff;
    background-color: #dfa0b7;
    padding: 10px;

    @media (max-width: 767px) {
      padding-bottom: 70px;
    }
  }
}