@charset "utf-8";

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

/*--------------------
root
--------------------*/
:root {
  --font-mplus: "M PLUS Rounded 1c", sans-serif;
  --font-en: "Caudex", serif;
  --font-en2: "ivyora-display", serif;
  --color-btn: #B58082;
  --color-txt: #583B3B;
  --color-ttl: #9B6D6D;
  --color-cta: #CE9397;
  --color-primary: #EFD0D2;
}

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

body {
  counter-reset: number 0;
  color: var(--color-txt);
  background-size: 50%;
  position: relative;
  overflow-x: hidden;
}

.no-scroll {
  overflow: hidden;
}

a {
  color: var(--color-txt);
  text-decoration: none;
  transition: ease-in .2s;

  &:hover {
    transition: ease-in .2s;
  }
}

picture {
  display: block;

  img {
    width: 100%;
  }
}

.container {
  width: calc(1440px + 4%);
  margin: auto;
  padding: 0 2%;

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

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

.container_m {
  width: calc(1200px + 4%);
  margin: auto;
  padding: 0 2%;

  @media (max-width: 1300px) {
    width: 100%;
    padding: 0 5%;
  }
}

.container_s {
  width: calc(970px + 4%);
  margin: auto;
  padding: 0 2%;

  @media (max-width: 1100px) {
    width: 100%;
    padding: 0 5%;
  }
}

.pc {
  display: block;

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

.sp {
  display: none;

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

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

/*--------------------
title
--------------------*/
.sec_ttl {
  /* 30px-50px:375px-1920px */
  margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
  text-align: center;

  .en {
    font-family: var(--font-en);
    font-weight: 500;
    color: #F5E3E4;
    /* 55px-120px:375px-1920px */
    font-size: clamp(3.438rem, 2.451rem + 4.21vw, 7.5rem);
    margin: 0;
    line-height: 1;
    /* letter-spacing: 0.05em; */
  }

  .ja {
    font-family: var(--font-mplus);
    font-weight: 500;
    color: #814E4F;
    margin: 10px 0 0;
    line-height: 1;
    /* 20px-40px:375px-1920px */
    font-size: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
  }
}

.sec_ttl_underline {
  font-family: var(--font-mplus);
  font-weight: 500;
  /* 20px-40px:375px-1920px */
  font-size: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
  /* 15px-50px:375px-1920px */
  margin: 0 auto clamp(0.938rem, 0.407rem + 2.27vw, 3.125rem);
  text-align: center;

  &::after {
    content: "";
    width: 100%;
    height: 2px;
    display: block;
    background: linear-gradient(90deg, rgba(248, 223, 225, 0.6) 0%, rgba(206, 147, 151, 1) 50%, rgba(248, 223, 225, 0.6) 100%);
    margin-top: 15px;
  }

  @media (max-width: 767px) {
    &::after {
      height: 1px;
      margin-top: 5px;
    }
  }
}

.ttl_style1 {
  position: relative;
  margin: 0 0 15px;
  padding-left: 30px;
  font-family: var(--font-mplus);
  font-weight: 500;
  /* 17px-25px:375px-1920px */
  font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
  color: var(--color-ttl);

  &::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 80%;
    background-color: var(--color-ttl);
    border-radius: 5px 0 0 0;
  }

  &::after {
    content: "";
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 80%;
    background-color: var(--color-ttl);
  }
}

/*--------------------
btn
--------------------*/
.btn_more,
.btn_more_menu {
  a {
    position: relative;
    display: block;
    background-color: var(--color-btn);
    border: 1px var(--color-cta) solid;
    font-family: var(--font-mplus);
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    border-radius: 100px;
    width: fit-content;
    padding: 15px 45px 15px 40px;
    min-width: 350px;
    text-align: center;

    @media (max-width: 767px) {
      min-width: inherit;
      width: 80%;
      padding: 10px 45px 10px 40px;
    }

    &::after {
      content: "";
      position: absolute;
      right: 17px;
      top: 47%;
      width: 10px;
      height: 10px;
      border: 0;
      border-top: solid 2px #fff;
      border-right: solid 2px #fff;
      transform: rotate(45deg) translateY(-50%);
      transition: ease-in .2s;
    }

    &:hover {
      background-color: #fff;
      border: 1px var(--color-cta) solid;
      color: var(--color-cta);

      &::after {
        border-top-color: var(--color-cta);
        border-right-color: var(--color-cta);
      }
    }
  }
}

.btn_more2 {
  a {
    position: relative;
    display: block;
    border: 1px var(--color-cta) solid;
    font-family: var(--font-mplus);
    font-size: 16px;
    font-weight: 500;
    color: var(--color-cta);
    border-radius: 100px;
    width: fit-content;
    padding: 15px 100px 15px 100px;
    text-align: center;

    @media (max-width: 767px) {
      min-width: inherit;
      width: 80%;
      padding: 10px 45px 10px 40px;
    }

    &::after {
      content: "";
      position: absolute;
      display: block;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72.306' height='6.186' viewBox='0 0 72.306 6.186'%3E%3Cpath d='M15924.219,3831.576h70l-8.338-5' transform='translate(-15923.719 -3825.891)' fill='none' stroke='%239b6d6d' stroke-linecap='round' stroke-width='1'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 75px;
      height: 5px;
      top: 47%;
      right: -50px;
      transform: translateY(-50%);
      transition: ease-in .2s;
    }

    &:hover {
      &::after {
        right: -55px;
      }
    }
  }
}

.btn_view_more {
  a {
    position: relative;
    display: block;
    /* 130px-210px:375px-1920px */
    width: clamp(8.125rem, 6.911rem + 5.18vw, 13.125rem);

    .circle {
      display: block;
      margin: auto;
      /* 47px-84px:375px-1920px */
      width: clamp(2.938rem, 2.376rem + 2.39vw, 5.25rem);
      transition: ease-in .2s;
    }

    .arrow {
      position: absolute;
      top: 47%;
      right: 10px;
      transform: translateY(-50%);
      display: block;
      /* 48px-84px:375px-1920px */
      width: clamp(3rem, 2.454rem + 2.33vw, 5.25rem);
      transition: ease-in .2s;
    }

    span {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      font-family: var(--font-en);
      font-weight: 600;
      /* 10px-17px:375px-1920px */
      font-size: clamp(0.625rem, 0.519rem + 0.45vw, 1.063rem);
      color: #CE9397;
      letter-spacing: 0.05rem;
    }

    &:hover {
      .circle {
        transform: scale(1.2);
      }

      .arrow {
        right: 0;
      }
    }
  }
}

.btn_more_menu {
  a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin: 0 auto;
    padding: .9em 2em;
    border: 1px solid var(--color-btn);
    border-radius: 25px;
    background-color: #fff;
    color: var(--color-btn);
    font-size: 1em;

    &::after {
      top: 35%;
      transform: rotate(135deg) translateY(0%);
      border-top: solid 2px var(--color-btn);
      border-right: solid 2px var(--color-btn);
    }

    &:hover {
      background-color: var(--color-btn);
      border: 1px var(--color-btn) solid;
      color: #fff;

      &::after {
        border-top-color: #fff;
        border-right-color: #fff;
      }
    }
  }
}

.btn_more3 {
  a {
    position: relative;
    display: block;
    border: 1px var(--color-cta) solid;
    font-family: var(--font-mplus);
    font-size: 16px;
    font-weight: 500;
    color: var(--color-cta);
    border-radius: 100px;
    width: fit-content;
    padding: 15px 45px 15px 40px;
    min-width: 350px;
    text-align: center;

    @media (max-width: 767px) {
      min-width: inherit;
      width: 80%;
      padding: 10px 45px 10px 40px;
    }

    &::after {
      content: "";
      position: absolute;
      right: 17px;
      top: 47%;
      width: 10px;
      height: 10px;
      border: 0;
      border-top: solid 2px var(--color-cta);
      border-right: solid 2px var(--color-cta);
      transform: rotate(45deg) translateY(-50%);
      transition: ease-in .2s;
    }

    &:hover {
      background-color: var(--color-btn);
      border: 1px var(--color-cta) solid;
      color: #fff;

      &::after {
        border-top-color: #fff;
        border-right-color: #fff;
      }
    }
  }
}

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

  &>li {
    background: url("../img/check_pink.svg") top 2px left / 22px no-repeat;
    padding-left: 30px;
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    font-weight: 500;

    @media (max-width: 767px) {
      background: url("../img/check_pink.svg") top 3px left / 16px no-repeat;
      padding-left: 21px;
    }

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

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

  &>li {
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    font-weight: 500;
    padding-left: 1em;

    @media (max-width: 767px) {
      padding-left: 21px;
    }

    &::before {
      content: "・";
      display: inline-block;
      width: 20px;
      margin-left: -20px;
    }

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

/*--------------------
modal
--------------------*/
.modal {
  position: fixed;
  bottom: -100%;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  visibility: hidden;

  .modal-content {
    position: relative;
    padding: 35px 0;
    background: #fff;
    border-radius: 30px 30px 0 0;

    .modal-close {
      position: absolute;
      top: 10px;
      right: 15px;
      color: #9B6D6D;
      /* 20px-35px:768px-1920px */
      font-size: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
    }
  }

  &.show {
    bottom: 50%;
    /* transform: translateY(50%); */
    visibility: visible;
  }
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
}

/*--------------------
fadein
--------------------*/
.fadein {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.8s ease;

  &.visible {
    opacity: 1;
    transform: translateY(0);
  }
}

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

  .header_inner {
    position: fixed;
    top: 0;
    width: 100%;
    display: flex;
    align-items: center;
    z-index: 102;

    @media (max-width: 767px) {
      /* height: 78px;
    justify-content: space-between; */
    }

    .header_logo {
      width: 300px;
      margin: 0 0 5px 2%;
      align-self: flex-end;

      @media (max-width: 767px) {
        margin: 0;
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
      }

      img {
        width: 100%;
      }

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

    /* グローバルナビ */
    .g_nav {
      display: flex;
      margin-left: auto;
      background-color: rgba(255, 255, 255, 0.9);
      box-shadow: 0px 0px 15px -5px #a1a1a1;
      border-radius: 0 0 0 20px;

      @media (max-width: 1150px) {
        box-shadow: none;
        background: none;
      }

      .g_nav_list {
        display: flex;
        justify-content: center;
        align-items: center;
        /* 20px-60px:768px-1920px */
        gap: clamp(1.25rem, -1.467rem + 4.35vw, 3.75rem);
        /* 30px-80px:768px-1920px */
        padding: 0 clamp(1.875rem, -1.522rem + 5.43vw, 5rem);

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

        .g_nav_item {
          a {
            display: block;
            /* 16px-18px:1000px-1920px */
            font-size: clamp(1rem, 0.864rem + 0.22vw, 1.125rem);
            text-align: center;
            color: var(--color-ttl);
            font-family: var(--font-mplus);
            font-weight: 500;
            position: relative;

            &::after {
              content: "";
              position: absolute;
              left: 50%;
              transform: translateX(-50%);
              bottom: -10px;
              width: 20px;
              height: 3px;
              display: block;
              background-color: #9A7B42;
              opacity: 0;
              transition: ease-in .2s;
            }

            .en {
              font-family: var(--font-en);
              font-size: 12px;
              color: var(--color-btn);
              display: block;
              text-align: center;
            }

            &:hover {
              opacity: 0.6;
            }
          }
        }
      }
    }

    .btn_hamburger {
      width: 80px;
      height: 80px;
      background-color: var(--color-ttl);
      display: flex;
      cursor: pointer;

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

      /* ハンバーガー */
      .hamburger_lines {
        position: relative;
        width: 100%;
        margin: auto;
        /* 7px-10px:375px-1920px */
        /* height: clamp(0.438rem, 0.392rem + 0.19vw, 0.625rem); */
        -webkit-transition-duration: 300ms;
        transition-duration: 300ms;

        .line {
          position: absolute;
          right: 0;
          left: 0;
          display: block;
          width: 60%;
          height: 1px;
          margin: auto;
          -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
          background-color: #fff;
        }

        .line1 {
          top: 0;
        }

        .txt {
          display: block;
          margin: auto;
          line-height: 0;
          padding: 17px 0;
          font-family: var(--font-en);
          font-size: 15px;
          color: #fff;
          text-align: center;

          @media (max-width: 767px) {
            padding: 12px 0;
            font-size: 10px;
          }

          img {
            width: 100%;
          }
        }

        .line2 {
          bottom: 0;
        }
      }
    }
  }

  /* ハンバーガーメニューが開いているとき */
  &.active {
    .header_inner {
      position: fixed;
      background-color: transparent;

      .g_nav .g_nav_list,
      .hamburger_lines .txt {
        display: none;
      }

      @media (max-width: 767px) {
        .header_logo {
          display: flex;
        }
      }

      .g_nav {
        box-shadow: none;
        background: none;

        .btn_hamburger {
          background: none;

          .hamburger_lines {
            .line {
              background-color: #9B6D6D;
            }
          }
        }
      }

      .g_ham_area {
        margin-left: auto;
      }
    }

    .ham_con {
      display: flex;

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

/* 下層ページのグローバルナビ */
.page_under {
  header {
    .header_inner {
      background-color: rgba(255, 255, 255, 0.9);

      .header_logo {
        margin: 0 0 0 2%;
        align-self: center;

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

      .g_nav {
        background: none;
        box-shadow: none;
      }
    }

    &.active {
      .header_inner {
        background: none;
      }
    }
  }
}

/* ハンバーガー 中身 */
.ham_con {
  display: none;
  align-items: center;
  position: fixed;
  width: 100%;
  height: 100%;
  background: url("../img/bg_ham_con.jpg") center center / cover no-repeat;
  background-color: #FAF8F5;
  transition: ease-in .2s;
  z-index: 101;
  overflow-y: scroll;
  overscroll-behavior: none;

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

  .ham_con_inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 100px 0;

    @media (max-width: 767px) {
      padding: 65px 5%;
    }

    .h_nav_list {
      display: flex;
      gap: 20px 40px;
      flex-wrap: wrap;

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

      .h_nav_item {
        width: calc((100% - 120px) / 4);

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

        a {
          /* 16px-20px:375px-1920px */
          font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
          font-weight: 500;
          border-bottom: 1px #9B6D6D solid;
          padding: 10px 0;
          display: block;
          text-align: center;
          border-radius: 10px 10px 0 0;
          color: #9B6D6D;

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

          &:hover {
            background-color: #9B6D6D;
            color: #fff;
          }
        }
      }
    }

    .h_bottom {
      /* 50px-100px:375px-1920px */
      margin-top: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
      max-width: 590px;
      width: 100%;

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

      .cta_btn {
        max-width: 545px;
        width: 100%;
        /* 30px-50px:375px-1920px */
        margin: 0 auto clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
        display: flex;
        gap: 25px;

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

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

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

          a {
            background-color: var(--color-cta);
            /* 13px-19px:375px-1920px */
            font-size: clamp(0.813rem, 0.721rem + 0.39vw, 1.188rem);
            font-weight: 500;
            color: #fff;
            display: flex;
            gap: 15px;
            justify-content: center;
            align-items: center;
            border-radius: 100px;
            height: 65px;

            @media (max-width: 767px) {
              gap: 8px;
              height: 40px;
            }

            &::before {
              content: "";
              display: inline-block;
              width: 23px;
              height: 23px;
            }

            &:hover {
              opacity: 0.8;
            }
          }

          &.web {
            a {
              &::before {
                content: "";
                background: url("../img/icon_calendar_white.svg") center center / contain no-repeat;
                width: 35px;
                height: 35px;

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

          &.tel {
            a {
              gap: 10px;

              &::before {
                content: "";
                background: url("../img/icon_tel_white.svg") center center / contain no-repeat;
                width: 30px;
                height: 30px;

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

              span {
                display: flex;
                flex-direction: column;
              }

              small {
                font-size: 11px;
                line-height: 1;
                font-family: var(--font-mplus);

                @media (max-width: 767px) {
                  font-size: 9px;
                  width: 100%;
                  text-align: center;
                }
              }
            }
          }
        }
      }

      .googlemap_area {
        display: flex;
        /* 15px-20px:375px-1920px */
        margin-top: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);

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

        .map_open {
          display: flex;
          justify-content: flex-end;
          margin: 0 0 0 auto;

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

          a {
            display: flex;
            align-items: center;
            gap: 10px;
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            font-weight: 500;

            &::after {
              content: "";
              background: url("../img/icon_link_blank.svg") center center / contain no-repeat;
              /* 14px-20px:375px-1920px */
              width: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
              height: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
              display: inline-block;
            }

            &:hover {
              opacity: 0.6;
            }
          }
        }

        .address {
          /* 13px-16px:375px-1920px */
          font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
          font-weight: 500;
          margin: 0;

          @media (max-width: 767px) {
            font-weight: 400;
          }
        }
      }
    }
  }
}

/*--------------------
footer
--------------------*/
footer {
  background-color: #553F3F;
  padding: 50px 0 20px;

  .footer_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    width: 90%;
    margin: auto;

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

    .footer_logo {
      width: 250px;

      @media (max-width: 850px) {
        width: 150px;
      }

      img {
        width: 100%;
      }
    }

    .f_nav_list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      width: fit-content;
      grid-template-columns: repeat(3, auto);
      gap: 10px 40px;

      @media (max-width: 850px) {
        grid-template-columns: repeat(2, auto);
      }

      .f_nav_item {
        width: calc((100% / 80px) / 3);

        a {
          color: #fff;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);

          &:hover {
            opacity: 0.6;
          }
        }
      }
    }

    .f_cta {
      align-self: flex-start;
      display: flex;
      flex-direction: column;
      align-items: center;

      @media (max-width: 850px) {
        align-self: center;
      }

      .btn_more {
        a {
          background-color: var(--color-cta);
          min-width: inherit;
          width: 250px;

          &:hover {
            background-color: #fff;
          }
        }
      }

      .tel {
        margin-top: 15px;

        a {
          font-family: var(--font-mplus);
          /* 21px-25px:375px-1920px */
          font-size: clamp(1.313rem, 1.252rem + 0.26vw, 1.563rem);
          color: #fff;
          letter-spacing: 0.05rem;
          display: flex;
          align-items: center;
          gap: 5px;

          &::before {
            content: "";
            background: url("../img/icon_tel_white.svg") center center / contain no-repeat;
            transform: scaleX(-1);
            display: inline-block;
            width: 23px;
            height: 23px;
          }
        }
      }
    }

    .copyright {
      width: 100%;
      color: #fff;
      text-align: center;
      /* 12px-14px:375px-1920px */
      font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
      /* 40px-55px:375px-1920px */
      margin: clamp(2.5rem, 2.272rem + 0.97vw, 3.438rem) 0 0;

      @media (max-width: 850px) {
        margin: 0;
        padding-bottom: 50px;
      }
    }
  }
}

/*--------------------
固定CTA
--------------------*/
.fixed_cta {
  position: fixed;
  bottom: 5%;
  right: 0;
  z-index: 11;
  transition: transform 0.5s ease, opacity 0.5s ease;

  @media (max-width: 767px) {
    bottom: 0;
    width: 100%;
    transform: translateY(100%);
    /* 最初は画面外に隠す */
    opacity: 0;

    &.active {
      transform: translateY(0);
      /* 下からスッと表示 */
      opacity: 1;
    }
  }

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

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

    &>li {
      @media (max-width: 767px) {
        width: 50%;
      }

      a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: var(--color-cta);
        width: 110px;
        height: 100px;
        border-radius: 25px 0 0 25px;
        color: #fff;
        font-family: var(--font-mplus);
        font-weight: 500;
        font-size: 14px;

        @media (max-width: 767px) {
          width: 100%;
          height: 56px;
          border-radius: 15px 15px 0 0;
          flex-direction: row;
          flex-wrap: wrap;
        }

        &:hover {
          opacity: 0.8;
        }
      }

      &.web {
        a {
          &::before {
            content: "";
            background: url("../img/icon_calendar_white.svg") center center / contain no-repeat;
            width: 40px;
            height: 41px;
            margin-bottom: 10px;

            @media (max-width: 767px) {
              width: 22px;
              height: 22px;
              margin-right: 5px;
              margin-bottom: 0;
            }
          }
        }
      }

      &.tel {
        a {
          background-color: var(--color-btn);

          &::before {
            content: "";
            background: url("../img/icon_tel_white.svg") center center / contain no-repeat;
            width: 35px;
            height: 35px;
            margin-bottom: 6px;

            @media (max-width: 767px) {
              width: 15px;
              height: 15px;
              margin-right: 5px;
              margin-bottom: 0;
            }
          }

          small {
            font-size: 11px;
            line-height: 1;
            font-family: var(--font-mplus);

            @media (max-width: 767px) {
              width: 100%;
              text-align: center;
              margin-top: -20px;
            }
          }
        }
      }

      &+li {
        margin-top: 10px;

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

/*--------------------
top
--------------------*/
/* mv */
.mv {
  position: relative;
  width: 100%;
  height: 100svh;
  overflow: hidden;

  @media (max-width: 767px) {
    /* height: 80svh; */
    height: auto;
    aspect-ratio: 375 / 625;
  }

  .mv_img {
    height: 90svh;

    @media (max-width: 767px) {
      /* height: 60svh; */
      height: auto;
      aspect-ratio: 375 / 468;
    }

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

  .mv_copy {
    position: absolute;
    left: 50%;
    bottom: 35%;
    transform: translateX(-50%);
    z-index: 2;
    max-width: 1078px;
    width: 70%;
    margin: 0;

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

    img {
      width: 100%;
    }
  }

  /* 最新のお知らせ */
  .mv_news {
    position: absolute;
    bottom: 10svh;
    z-index: 2;
    max-width: 780px;
    width: 43%;
    border-radius: 0 30px 0 0;
    /* 15px-35px:375px-1920px */
    /* 15px-50px:375px-1920px */
    padding: clamp(0.938rem, 0.634rem + 1.29vw, 2.188rem) clamp(0.938rem, 0.407rem + 2.27vw, 3.125rem);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    background-color: rgba(255, 255, 255, 0.5);
    opacity: 0;
    transform: translateX(-50px);
    /* ← 左にずらす */
    transition: transform 0.8s ease, opacity 0.8s ease;
    pointer-events: none;

    /* アニメーション中の操作防止 */
    @media (max-width: 767px) {
      bottom: 17vw;
      width: 100%;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }

    &.active {
      opacity: 1;
      transform: translateX(0);
      /* ← 元に戻す */
      pointer-events: auto;
    }

    .sec_ttl {
      /* 14px-25px:375px-1920px */
      font-size: clamp(0.875rem, 0.708rem + 0.71vw, 1.563rem);
      font-family: var(--font-mplus);
      font-weight: 400;
      text-align: left;
      /* 5px-15px:375px-1920px */
      margin: 0 0 clamp(0.313rem, 0.161rem + 0.65vw, 0.938rem);
    }
  }

  /* SCROLL DOWN */
  .scroll_down {
    position: absolute;
    left: 50%;
    bottom: 2vw;
    transform: translateX(-50%);
    z-index: 2;

    @media (max-width: 767px) {
      transform: scale(0.5) translateX(-50%);
      transform-origin: bottom left;
    }

    img {
      animation: rotateSlow 20s linear infinite;
      display: block;
      margin: 0 auto;
    }

    .scrollbar {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 30px;
    }

    .scrollbar::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0.5px;
      height: 35px;
      background: #CE9397;
    }

    .scrollbar::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: -4px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #B58082;
      animation: circlemove 2s ease-in-out infinite,
        circlemovehide 2s ease-out infinite;
    }
  }
}

@keyframes circlemove {
  0% {
    bottom: 30px;
  }

  66.66% {
    bottom: 0px;
  }

  100% {
    bottom: 0px;
  }
}

@keyframes circlemovehide {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

@keyframes rotateSlow {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--- キャンペーン ---*/
.top_campaign {
  /* 45px-100px:375px-1920px */
  padding-top: clamp(2.813rem, 1.978rem + 3.56vw, 6.25rem);
  /* 40px-100px:375px-1920px */
  padding-bottom: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);

  .sec_ttl {
    .en {
      color: #F7E6E8;
    }
  }

  .campaign_swiper_area {
    position: relative;

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: linear-gradient(90deg, rgba(248, 223, 225, 0.6) 0%, rgba(206, 147, 151, 1) 50%, rgba(248, 223, 225, 0.6) 100%);
      display: block;
      width: 100%;
      height: 146px;

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

    .campaign_swiper_inner {
      position: relative;
      max-width: 1014px;
      margin: auto;
    }

    .campaign_swiper {
      max-width: 900px;
      padding-top: 10px;
      padding-bottom: 10px;

      .swiper-slide {
        background-position: center;
        background-size: cover;

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

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

    .swiper-button-next,
    .swiper-button-prev {
      width: fit-content;

      &::after {
        content: "";
        background: url("../img/arrow_campaign_navigation.svg") center center / contain no-repeat;
        width: 65px;
        height: 8px;
      }

      @media (max-width: 767px) {
        &::after {
          content: "";
          background: url("../img/arrow_campaign_navigation_sp.svg") center center / contain no-repeat;
          width: 20px;
          height: 4px;
        }
      }
    }

    .swiper-button-prev {
      left: 20px;
      right: inherit;

      &::after {
        transform: scaleX(-1);
      }
    }

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

    @media (max-width: 767px) {
      /* .swiper-slide-prev {
        transform: translate3d(0px, 0px, -100px) rotateX(0deg) rotateY(50deg) scale(0.5) !important;
        transform-origin: center right;
      } */
    }
  }

  .btn_view_more {
    display: flex;
    justify-content: flex-end;

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

/*--- 特徴 ---*/
.top_clinic {
  background-color: #FAF4F2;
  /* 60px-150px:375px-1920px */
  padding-top: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);
  /* 60px-150px:375px-1920px */
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .sec_ttl {
    /* 40px-180px:375px-1920px */
    margin-bottom: clamp(2.5rem, 0.376rem + 9.06vw, 11.25rem);

    .en {
      color: #F3DBDC;
    }
  }

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

    .point_item {
      display: flex;
      gap: 10px;
      background-color: #fff;
      border-radius: 0 40px 0 40px;
      width: calc(100% - 45px);
      margin-left: auto;

      @media (max-width: 767px) {
        flex-direction: column;
        gap: 0;
        width: 100%;
        background: none;
      }

      .img {
        /* width: 550px; */
        /* height: 350px; */
        max-width: 550px;
        width: 50%;
        flex-shrink: 0;
        margin-top: -60px;
        margin-bottom: 40px;
        margin-left: -45px;
        overflow: hidden;

        @media (max-width: 767px) {
          width: 90%;
          height: auto;
          margin: 0 auto;
          z-index: 1;
        }

        img {
          border-radius: 0 40px 0 40px;

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

      .txt_box {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 70px 40px 40px;

        @media (max-width: 767px) {
          background-color: #fff;
          border-radius: 0 0 0 20px;
          margin-top: -10px;
          padding: 30px;
        }

        .point_num {
          position: absolute;
          top: -35px;
          left: 40px;
          margin: 0;

          @media (max-width: 767px) {
            position: static;
            margin-bottom: 20px;
          }

          img {
            width: 100%;
            height: auto;

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

        .ttl {
          font-family: var(--font-mplus);
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          color: var(--color-ttl);
          line-height: 1.4;
          letter-spacing: 0.05em;
          /* 15px-20px:375px-1920px */
          margin: 0 0 clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);

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

        .txt {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          margin: 0;
          line-height: 1.8;
        }
      }

      &:nth-child(even) {
        flex-direction: row-reverse;
        margin-left: inherit;
        margin-right: auto;
        border-radius: 40px 0 40px 0;

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

        .img {
          margin-left: inherit;
          margin-right: -45px;

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

          img {
            border-radius: 40px 0 40px 0;

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

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

      &+.point_item {
        margin-top: 160px;

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

  .clinic_swiper {
    position: relative;
    /* 60px-150px:375px-1920px */
    margin-top: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: #f5e0de;
      display: block;
      width: 100%;
      height: 30%;
    }

    .swiper-wrapper {
      margin: 0;
      padding: 0;

      /* gap: 3%; */
      .swiper-slide {

        /* width: calc((100% - 6%) / 3); */
        img {
          width: 100%;
        }
      }
    }
  }
}

/*--- ご挨拶 ---*/
.top_doctor {
  background: linear-gradient(0deg, rgba(250, 236, 236, 1) 0%, rgba(250, 244, 242, 1) 100%);
  /* 60px-150px:375px-1920px */
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .sec_ttl {
    .en {
      color: #F4E1E1;
    }
  }

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

    .doctor_item {
      display: grid;
      grid-template-rows: 1fr 140px;

      @media (max-width: 767px) {
        background-color: #FCF8F8;
        border-radius: 20px 0 20px 0;
        box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.1);
        padding: 60px 20px 30px;
        display: flex;
        flex-direction: column;
        position: relative;
        margin-top: 230px;

        &::before {
          content: "Doctor";
          position: absolute;
          top: -93px;
          left: 0;
          font-family: var(--font-en);
          font-size: 110px;
          color: #FCF8F8;
          line-height: 1;
        }
      }

      .img {
        grid-column: 1;
        grid-row: 1 / 3;
        z-index: 1;
        max-width: 530px;
        width: 100%;
        margin-top: auto;

        @media (max-width: 767px) {
          position: absolute;
          top: -190px;
          left: 50%;
          transform: translateX(-50%);
          text-align: center;
        }

        img {
          width: 100%;

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

      .message {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        z-index: 1;
        margin-bottom: 50px;

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

        .copy {
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          color: var(--color-ttl);
          line-height: 1.4;
          letter-spacing: 0.05em;
          /* 15px-20px:375px-1920px */
          margin: 0 0 clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
        }

        .txt {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          margin: 0;
          line-height: 1.8;
        }
      }

      .name_area {
        position: relative;
        grid-column: 1 / 3;
        grid-row: 2;
        max-width: 1000px;
        width: 100%;
        background-color: #FCF8F8;
        border-radius: 30px 0 30px 0;
        box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.1);
        display: flex;
        justify-content: flex-end;
        align-items: center;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 12px-20px:375px-1920px */
        font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
        padding-right: 60px;

        @media (max-width: 767px) {
          background: none;
          box-shadow: none;
          margin-top: 15px;
          padding-right: 0;
          justify-content: flex-start;
        }

        &::before {
          content: "Doctor";
          position: absolute;
          bottom: 112px;
          left: 0;
          font-family: var(--font-en);
          /* 110px-230px:375px-1920px */
          /* font-size: clamp(6.875rem, 5.055rem + 7.77vw, 14.375rem); */
          /* 160px-230px:767px-1920px */
          font-size: clamp(10rem, 7.09rem + 6.07vw, 14.375rem);
          color: #FCF8F8;
          line-height: 1;
        }

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

        .name {
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          margin-left: 40px;

          @media (max-width: 767px) {
            margin-left: 20px;
            font-weight: 400;
          }
        }
      }

      &:nth-child(even) {
        .img {
          grid-column: 2;
          margin-left: auto;
        }

        .message {
          grid-column: 1;
        }

        .name_area {
          justify-content: flex-start;
          padding-right: 0;
          padding-left: 60px;
          margin-left: auto;

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

          &::before {
            left: inherit;
            right: 0;
          }
        }
      }

      &+.doctor_item {
        /* 40px-100px:375px-1920px */
        margin-top: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);

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

  .btn_more {
    /* 30px-100px:375px-1920px */
    margin-top: clamp(1.875rem, 0.813rem + 4.53vw, 6.25rem);
    display: flex;
    justify-content: center;
  }
}

.top_menu {
  /* 50px-90px:375px-1920px */
  padding-top: clamp(3.125rem, 2.518rem + 2.59vw, 5.625rem);

  .sec_ttl {
    /* 40px-50px:375px-1920px */
    margin-bottom: clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem);
  }

  .top_menu_inner {
    background: #EDDAD8;
    border-top-left-radius: 60% 320px;
    border-top-right-radius: 60% 320px;
    padding: 80px 20px;
    position: relative;
    overflow: hidden;
    width: 110%;
    margin-left: -5%;

    @media (max-width: 767px) {
      padding: 0;
      border-radius: 0;
      width: 100%;
      margin: 0;
      background: transparent;

      &::before {
        content: "";
        display: block;
        background: #EDDAD8;
        height: 80px;
        border-top-left-radius: 50% 100%;
        border-top-right-radius: 50% 100%;
        margin: 0 -30px;
      }

      .container_m {
        @media (max-width: 767px) {
          background: #EDDAD8;
          margin-top: -30px;
        }
      }
    }

    .subject_ttl {
      /* 30px-50px:375px-1920px */
      margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

      .ttl {
        /* 18px-40px:375px-1920px */
        font-size: clamp(1.125rem, 0.791rem + 1.42vw, 2.5rem);
        font-family: var(--font-mplus);
        font-weight: 500;
        color: #814E4F;
        margin: 0;
        text-align: center;
      }

      .reservation {
        position: relative;
        /* 10px-20px:375px-1920px */
        font-size: clamp(0.625rem, 0.473rem + 0.65vw, 1.25rem);
        font-family: var(--font-mplus);
        color: #814E4F;
        padding: 0 20px;
        border: 1px #814E4F solid;
        width: fit-content;
        /* 25px-45px:375px-1920px */
        height: clamp(1.563rem, 1.259rem + 1.29vw, 2.813rem);
        margin: 35px auto 0;
        border-radius: 100px;
        display: flex;
        align-items: center;

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

        &::before {
          content: "";
          position: absolute;
          top: -35px;
          left: 50%;
          transform: translateX(-50%);
          width: 1px;
          height: 42px;
          background-color: #814E4F;
          display: block;
        }

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

        &:has(span) {
          padding-left: 0;
          padding-right: 12px;

          span {
            background-color: #814E4F;
            color: #fff;
            display: flex;
            justify-content: center;
            align-items: center;
            /* 25px-45px:375px-1920px */
            width: clamp(1.563rem, 1.259rem + 1.29vw, 2.813rem);
            height: clamp(1.563rem, 1.259rem + 1.29vw, 2.813rem);
            border-radius: 100px;
            margin-right: 5px;
          }
        }
      }
    }

    .imagemap {
      img {
        width: 100%;
      }

      &.da_imagemap {
        position: relative;
        width: 100%;

        .scroll_area {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          bottom: 0;
          width: 90%;
          /* height: 245px; */
          height: 65vw;
          overflow-y: scroll;
          display: flex;
          flex-direction: column;
          gap: 15px;
        }

        .scroll_area::-webkit-scrollbar-thumb {
          background-color: #3760d0;
          border-radius: 8px;
        }

        /* スクロールヒント */
        .scroll_hint {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          animation: hint-fade 1.5s ease-in-out infinite;
          z-index: 1;
        }

        @keyframes hint-fade {
          0% {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
          }

          50% {
            opacity: 0.5;
            transform: translateX(-50%) translateY(5px);
          }

          100% {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
          }
        }
      }
    }

    .read_copy {
      position: relative;
      margin: 0;

      @media (max-width: 767px) {
        &::before {
          content: "";
          background: url("../img/imagemap_obj_sp.svg") center center / contain no-repeat;
          width: 100%;
          height: 20vw;
          display: block;
          margin-top: 10px;
        }
      }

      .shadow,
      .gradient {
        font-family: var(--font-mplus);
        font-weight: 500;
        text-align: center;
        /* 25px-45px:375px-1920px */
        font-size: clamp(1.563rem, 1.259rem + 1.29vw, 2.813rem);
        line-height: 1.3;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;

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

      .shadow {
        text-shadow: 0 0 15px rgba(255, 255, 255, 1), 0 0 15px rgba(255, 255, 255, 1), 0 0 15px rgba(255, 255, 255, 1);
        z-index: 0;
      }

      .gradient {
        background: linear-gradient(180deg, #AD6767 0%, #7B4040 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        z-index: 1;
      }
    }

    .consultation {
      margin-top: 110px;
      display: grid;
      grid-template-columns: 1fr 50%;
      grid-template-rows: auto 1fr;
      gap: 0 50px;
      position: relative;

      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;
        padding: 0 5%;
      }

      &::before {
        content: "";
        position: absolute;
        top: -2.5vw;
        left: -6vw;
        background: url("../img/obj_circle.svg") center center / contain no-repeat;
        max-width: 300px;
        width: 19vw;
        height: 19vw;
        display: block;
        z-index: 0;
      }

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

      .copy {
        grid-column: 1;
        grid-row: 1;
        /* 25px-45px:375px-1920px */
        margin: clamp(1.563rem, 1.259rem + 1.29vw, 2.813rem) 0;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 18px-30px:375px-1920px */
        font-size: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
        line-height: 1.6;
        color: #864848;
        z-index: 1;

        @media (max-width: 767px) {
          order: 2;
          position: relative;
          z-index: 1;

          &::before {
            content: "";
            position: absolute;
            top: -9vw;
            left: -8vw;
            background: url("../img/obj_circle.svg") center center / contain no-repeat;
            max-width: 300px;
            width: 32vw;
            height: 32vw;
            display: block;
            z-index: -1;
          }
        }
      }

      .txt {
        grid-column: 1;
        grid-row: 2;
        /* 15px-18px:375px-1920px */
        font-size: clamp(0.938rem, 0.892rem + 0.19vw, 1.125rem);
        line-height: 1.8;
        margin: 0;
        z-index: 1;

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

      .img {
        grid-column: 2;
        grid-row: 1 / 3;
        position: relative;
        height: max-content;

        @media (max-width: 767px) {
          width: 90%;
          margin: 0 auto 30px;
          order: 1;
        }

        img {
          width: 100%;
          border-radius: 20px 0 20px 0;

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

        .name_area {
          position: absolute;
          right: 0;
          bottom: -20px;
          background-color: rgba(255, 255, 255, 0.8);
          border-radius: 30px 0 30px 0;
          box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.1);
          /* 10px-25px:375px-1920px */
          /* 18px-33px:375px-1920px */
          padding: clamp(0.625rem, 0.397rem + 0.97vw, 1.563rem) clamp(1.125rem, 0.897rem + 0.97vw, 2.063rem);

          @media (max-width: 767px) {
            right: -5%;
            border-radius: 10px 0 10px 0;
          }

          .specialty {
            font-family: var(--font-mplus);
            font-weight: 500;
            /* 10px-15px:375px-1920px */
            font-size: clamp(0.625rem, 0.549rem + 0.32vw, 0.938rem);
            margin: 0 0 5px;
            text-align: right;
          }

          .position {
            font-family: var(--font-mplus);
            font-weight: 500;
            /* 12px-20px:375px-1920px */
            font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
            margin: 0 0 2px;
            text-align: right;
          }

          .name {
            font-family: var(--font-mplus);
            font-weight: 500;
            /* 15px-25px:375px-1920px */
            font-size: clamp(0.938rem, 0.786rem + 0.65vw, 1.563rem);
            margin: 0;
            text-align: right;
          }
        }
      }
    }

    .check_box_wrap {
      display: flex;
      gap: 40px;
      margin-top: 80px;

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

      .box {
        position: relative;
        width: calc((100% - 40px) / 2);
        background: linear-gradient(0deg, rgba(253, 239, 235, 1) 0%, rgba(255, 255, 255, 1) 100%);
        border-radius: 20px;
        /* 25px-55px:375px-1920px */
        /* 35px-65px:375px-1920px */
        padding: clamp(1.563rem, 1.107rem + 1.94vw, 3.438rem) clamp(2.188rem, 1.732rem + 1.94vw, 4.063rem);

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

        .ttl {
          position: absolute;
          top: -1.2vw;
          left: 0;
          width: 100%;
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 18px-30px:375px-1920px */
          font-size: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
          text-align: center;
          color: #864848;
          margin: 0;
          text-shadow: 0 0 15px rgba(255, 255, 255, 1), 0 0 15px rgba(255, 255, 255, 1), 0 0 15px rgba(255, 255, 255, 1);

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

        .list_check {
          &>li {
            background-position: top 3px left;
            /* 15px-18px:375px-1920px */
            font-size: clamp(0.938rem, 0.892rem + 0.19vw, 1.125rem);

            @media (max-width: 767px) {
              background-position: top 4px left;
            }
          }
        }
      }
    }
  }

  &.uninsured {
    background-color: #EDDAD8;
    padding-top: 0;

    .top_menu_inner {
      background: #FAF7F7;
      padding-top: 80px;

      @media (max-width: 767px) {
        background: #EDDAD8;

        &::before {
          background: #FAF7F7;
        }
      }

      .container_m {
        @media (max-width: 767px) {
          background: #FAF7F7;
        }
      }

      .uninsured_menu {
        position: relative;

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

        .img {
          width: 84%;

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

          img {
            width: 100%;
            border-radius: 100px 0 0 0;

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

        .box {
          position: absolute;
          bottom: 0;
          right: 0;
          display: flex;
          flex-direction: column;
          justify-content: center;
          width: 58%;
          aspect-ratio: 13 / 10;
          background-color: #fff;
          border-radius: 0 0 100px 0;
          /* 15px-65px:375px-1920px */
          padding: clamp(40px, 35.146px + 1.294vw, 60px) clamp(0.938rem, 0.179rem + 3.24vw, 4.063rem);

          @media (max-width: 767px) {
            position: relative;
            width: 100%;
            z-index: 1;
            border-radius: 0 0 45px 0;
            margin-top: -20px;
            padding: 40px 5%;
            aspect-ratio: initial;
            /* 40px-100px:375px-1920px */
            padding-top: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
            padding-bottom: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
          }

          .category_ttl {
            /* 20px-30px:375px-1920px */
            margin: 0 0 clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
            padding-left: 15px;
            border-left: 10px #B58082 solid;
            font-family: var(--font-mplus);
            /* 22px-35px:375px-1920px */
            font-size: clamp(1.375rem, 1.178rem + 0.84vw, 2.188rem);
            color: var(--color-ttl);
            display: flex;
            align-items: center;
            gap: 20px;

            @media (max-width: 767px) {
              font-weight: 500;
            }
          }

          .read {
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            margin: 0 0 15px;
          }

          .list_check {
            align-self: center;
            display: grid;
            width: fit-content;
            grid-template-columns: repeat(2, auto);
            gap: 15px 45px;

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

          .btn_more,
          .btn_more_menu {
            align-self: center;
            margin-top: 25px;

            a {
              width: 70%;

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

          .btn_more_menu {
            margin-top: 40px;
          }

          .menu_list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 30px;

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

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

              a,
              span {
                display: flex;
                align-items: center;
                gap: 10px;
                position: relative;
                border-bottom: 1px var(--color-btn) solid;
                padding: 5px 45px 5px 0;
                /* 14px-16px:375px-1920px */
                font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
                color: var(--color-txt);
                font-weight: 600;
              }

              a {
                &::after {
                  content: "";
                  position: absolute;
                  top: 50%;
                  right: 5px;
                  transform: translateY(-50%);
                  display: inline-block;
                  background: url("../img/arrow_line_menu_list2.svg") center center / contain no-repeat;
                  width: 30px;
                  height: 4px;
                  transition: ease-in .2s;
                }

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

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

                  &::after {
                    right: 0;
                  }
                }
              }
            }
          }
        }

        &+.uninsured_menu {
          /* 50px-100px:375px-1920px */
          margin-top: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
        }

        &:nth-child(even) {
          .img {
            margin-left: auto;

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

            img {
              border-radius: 0 100px 0 100px;

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

          .box {
            border-radius: 0 0 0 100px;
            right: inherit;
            left: 0;

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

        &.bust {
          .box {
            aspect-ratio: initial;
            /* 40px-100px:375px-1920px */
            padding-top: clamp(40px, 35.146px + 1.294vw, 60px);
            padding-bottom: clamp(40px, 35.146px + 1.294vw, 60px);
          }
        }

        &.keratosis-pilaris {
          .box {
            aspect-ratio: initial;
            padding-top: clamp(40px, 30.291px + 2.589vw, 80px);
            padding-bottom: clamp(40px, 30.291px + 2.589vw, 80px);
          }
        }
      }
    }
  }

  .trouble_menu {
    /* 60px-120px:375px-1920px */
    padding-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);
    padding-bottom: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);

    .sec_ttl {
      .ja {
        margin-top: 0;
        color: var(--color-ttl);
      }
    }
  }

  .trouble_accordion {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 45px 50px;

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

    .category {
      border-radius: 30px 0 0 0;
      overflow: hidden;
      width: calc((100% - 50px) / 2);

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

      .btn {
        background-color: #C7A1A1;
        gap: 15px;
        position: relative;

        .img {
          text-align: right;

          img {
            /* 80px-140px:375px-1920px */
            height: clamp(5rem, 2.505rem + 5.2vw, 8.75rem);

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

        &::after {
          content: "";
          position: absolute;
          top: 50%;
          right: 30px;
          width: 15px;
          height: 15px;
          border: 0;
          border-top: solid 3px #fff;
          border-right: solid 3px #fff;
          transform: translateY(-50%) rotate(135deg);
          transition: ease-in .2s;
        }

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

        .category_name {
          position: absolute;
          top: 50%;
          left: 35px;
          transform: translateY(-50%);
          font-family: var(--font-mplus);
          /* 15px-22px:375px-1920px */
          font-size: clamp(0.938rem, 0.831rem + 0.45vw, 1.375rem);
          font-weight: 500;
          color: #fff;
          margin: 0;

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

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

      .treatment_list {
        list-style: none;
        margin: 0;
        /* 25px-40px:375px-1920px */
        /* 20px-40px:375px-1920px */
        padding: clamp(1.563rem, 1.335rem + 0.97vw, 2.5rem) clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
        background-color: #fff;
        display: flex;
        flex-wrap: wrap;
        gap: 15px 25px;

        .treatment_item {
          width: calc((100% - 25px) / 2);

          a {
            display: flex;
            /* 12px-16px:375px-1920px */
            font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
            display: flex;
            align-items: center;
            gap: 5px;

            &::before {
              content: "";
              width: 5px;
              height: 1px;
              display: inline-block;
              background-color: #C3A39E;
            }

            &::after {
              content: "";
              display: inline-block;
              background: url("../img/icon_modal.svg") center center / contain no-repeat;
              width: 15px;
              height: 15px;
              transition: ease-in .2s;
              margin-left: auto;
              flex-shrink: 0;
            }

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

            &:hover {
              color: #C3A39E;

              &::after {
                background-image: url("../img/icon_modal_hover.svg");
              }
            }
          }
        }
      }

      /* お悩みモーダル */
      .modal {
        background-color: #FAF7F7;
        max-width: 700px;
        width: 90%;
        /* height: 90svh; */
        border-radius: 20px;
        overflow: hidden;

        .modal-content {
          border-radius: 0;
          height: 100%;
          padding: 20px 0;

          .inner {
            max-height: 90svh;
            height: 100%;
            overflow-y: auto;
            margin: auto;
            /* 20px-110px:375px-1920px */
            padding: 0 clamp(1.25rem, -0.115rem + 5.83vw, 6.875rem);
            background: none;

            .ttl {
              color: var(--color-ttl);
              border-top: 1px var(--color-ttl) solid;
              border-bottom: 1px var(--color-ttl) solid;
              text-align: center;
              font-family: var(--font-mplus);
              font-weight: 500;
              /* 18px-30px:375px-1920px */
              font-size: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
              margin: 50px 0 20px;
              padding: 10px;

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

            .img {
              /* 20px-25px:375px-1920px */
              margin-bottom: clamp(1.25rem, 1.174rem + 0.32vw, 1.563rem);

              img {
                width: 100%;
              }
            }

            .txt {
              /* 12px-16px:375px-1920px */
              font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
              margin: 0;
            }

            .menu_list {
              list-style: none;
              /* 20px-45px:375px-1920px */
              margin: clamp(1.25rem, 0.871rem + 1.62vw, 2.813rem) 0;
              padding: 0;
              display: flex;
              flex-wrap: wrap;
              gap: 20px;

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

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

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

                a,
                span {
                  display: flex;
                  align-items: center;
                  gap: 10px;
                  position: relative;
                  border-bottom: 1px var(--color-btn) solid;
                  padding: 5px 0 5px 0;
                  /* 14px-16px:375px-1920px */
                  font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
                  color: var(--color-txt);
                  font-weight: 600;
                }

                a {
                  padding-right: 50px;

                  /* &::before {
                    content: "";
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 10px;
                    height: 100%;
                    background-color: var(--color-btn);
                    border-radius: 3px 0 0 0;
                  } */
                  &::after {
                    content: "";
                    position: absolute;
                    top: 50%;
                    right: 7px;
                    transform: translateY(-50%);
                    display: inline-block;
                    background: url("../img/arrow_line_menu_list2.svg") center center / contain no-repeat;
                    width: 30px;
                    height: 3px;
                    transition: ease-in .2s;
                  }

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

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

                    &::after {
                      right: 0;
                    }
                  }
                }
              }
            }

            .btn_more {
              margin-bottom: 50px;

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

              a {
                min-width: inherit;
                width: 250px;
                margin: auto;
              }
            }
          }
        }

        &.show {
          left: 50%;
          transform: translate(-50%, 50%);
        }
      }
    }
  }
}

/*--- 施術一覧 ---*/
.top_treatment {
  background-color: #FAF1EF;
  /* 50px-100px:375px-1920px */
  padding-top: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
  /* 60px-150px:375px-1920px */
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .sec_ttl {
    .en {
      color: #F3DBDD;

      @media (max-width: 767px) {
        letter-spacing: -0.02em;
      }
    }
  }

  .btn_view_more {
    display: flex;
    justify-content: center;
    /* 30px-50px:375px-1920px */
    margin-top: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
  }
}

.menu_tab {
  .button_area {
    display: flex;
    gap: 20px;
    /* 35px-50px:375px-1920px */
    margin-bottom: clamp(2.188rem, 1.96rem + 0.97vw, 3.125rem);
    max-width: 765px;
    width: 90%;
    margin: auto;

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

    button {
      border: none;
      width: calc((100% - 20px) / 2);
      /* 40px-65px:375px-1920px */
      /* height: clamp(2.5rem, 2.121rem + 1.62vw, 4.063rem); */
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      background-color: #A59B9B;
      font-family: var(--font-mplus);
      font-weight: 500;
      /* 13px-30px:375px-1920px */
      font-size: clamp(0.813rem, 0.555rem + 1.1vw, 1.875rem);
      color: #fff;
      border-radius: 100px;
      cursor: pointer;
      transition: ease-in .2s;
      position: relative;
      /* 35px-50px:375px-1920px */
      margin-bottom: clamp(2.188rem, 1.96rem + 0.97vw, 3.125rem);
      padding: 15px 0;

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

      &::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        border: 15px solid transparent;
        border-bottom: 20px solid var(--color-ttl);
        transform: translateX(-50%) rotate(180deg);
        transition: ease-in .2s;
        opacity: 0;
      }

      small {
        font-size: clamp(10px, 7.573px + 0.647vw, 20px);
        display: block;
        text-align: center;

        @media (max-width: 767px) {
          font-size: 0.6em;
        }
      }

      &.active {
        background-color: var(--color-ttl);

        &::after {
          opacity: 1;
        }

        @media (max-width: 767px) {
          &::after {
            bottom: -17px;
            border: 8px solid transparent;
            border-bottom: 11px solid var(--color-ttl);
          }
        }
      }
    }
  }

  .tab_select {
    display: none;

    &.show {
      display: flex;
    }
  }

  .treatment_accordion {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    flex-wrap: wrap;
    gap: 45px 50px;

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

    .category {
      border-radius: 30px 0 0 0;
      overflow: hidden;
      width: calc((100% - 50px) / 2);

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

      .btn {
        background-color: #F4E1E2;
        display: flex;
        align-items: center;
        gap: 15px;
        padding: 10px 60px 10px 25px;
        position: relative;

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

        &::after {
          content: "";
          position: absolute;
          top: 50%;
          right: 30px;
          width: 15px;
          height: 15px;
          border: 0;
          border-top: solid 3px var(--color-ttl);
          border-right: solid 3px var(--color-ttl);
          transform: translateY(-50%) rotate(135deg);
          transition: ease-in .2s;
        }

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

        .img {
          /* 70px-100px:375px-1920px */
          width: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
          flex-shrink: 0;

          img {
            width: 100%;
          }
        }

        .category_name {
          font-family: var(--font-mplus);
          /* 15px-22px:375px-1920px */
          font-size: clamp(0.938rem, 0.831rem + 0.45vw, 1.375rem);
          font-weight: 500;
          color: var(--color-ttl);
          margin: 0;
        }

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

      .treatment_list {
        list-style: none;
        margin: 0;
        /* 25px-40px:375px-1920px */
        /* 20px-40px:375px-1920px */
        padding: clamp(1.563rem, 1.335rem + 0.97vw, 2.5rem) clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
        background-color: #fff;

        .treatment_item {

          a,
          span {
            display: flex;
            /* 12px-16px:375px-1920px */
            font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
            display: flex;
            align-items: center;
            gap: 5px;
            padding: 0 0 5px;
            border-bottom: 1px #C3A39E solid;

            &::before {
              content: "";
              width: 5px;
              height: 1px;
              display: inline-block;
              background-color: #C3A39E;
            }
          }

          a {
            &::after {
              content: "";
              display: inline-block;
              background: url("../img/arrow_line_menu_list.svg") center center / contain no-repeat;
              width: 25px;
              height: 5px;
              transition: ease-in .2s;
              margin-left: auto;
              margin-right: 10px;
              flex-shrink: 0;
            }

            &:hover {
              color: #C3A39E;

              &::after {
                margin-right: 0;
              }
            }
          }

          &+.treatment_item {
            margin-top: 20px;
          }
        }
      }
    }
  }

  /* モーダル */
  .modal {
    position: fixed;
    bottom: -100%;
    left: 0;
    z-index: 1000;
    display: none;
    width: 100%;
    visibility: hidden;
    transition: bottom 0.5s ease-out, visibility 0s 0.5s;

    .modal-content {
      position: relative;
      padding: 35px 0;
      background: #E8D3D4;
      border-radius: 30px 30px 0 0;

      img {
        width: 80%;
        margin: auto;
        display: block;
      }

      .modal-close {
        position: absolute;
        top: 10px;
        right: 15px;
        color: #9B6D6D;
        font-size: 20px;
      }
    }

    &.show {
      bottom: 0;
      visibility: visible;
      transition: bottom 0.5s ease-out, visibility 0s 0s;
    }
  }
}

/*--- お知らせ ---*/
.top_news {
  background-color: #FAF1EF;
  /* 60px-150px:375px-1920px */
  /* padding-top: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem); */
  padding-left: calc(((100vw - 1200px) / 2) / 2);

  @media (max-width: 1300px) {
    padding-left: 5%;
  }

  .top_news_container {
    background-color: #fcf8f7;
    /* 50px-100px:375px-1920px */
    padding-top: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);
    padding-right: calc(((100vw - 1200px) / 2) / 2);
    border-radius: 60px 0 0 0;

    @media (max-width: 1300px) {
      padding-right: 0;
      border-radius: 40px 0 0 0;
    }

    .container_inner {
      max-width: 1200px;
      width: 90%;
      margin: auto;

      .sec_ttl {
        text-align: left;

        @media (max-width: 1300px) {
          text-align: center;
          padding-right: 5%;
        }
      }

      .btn_more {
        display: flex;
        justify-content: center;
        /* 30px-80px:375px-1920px */
        margin-top: clamp(1.875rem, 1.117rem + 3.24vw, 5rem);
      }
    }
  }
}

/* お知らせリスト */
.news_list {
  list-style: none;
  margin: 0;
  padding: 0;

  .news_item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    border-bottom: 1px var(--color-ttl) solid;
    align-items: center;

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

    time {
      grid-column: 1;
      grid-row: 1;
      /* 12px-15px:375px-1920px */
      font-size: clamp(0.75rem, 0.704rem + 0.19vw, 0.938rem);
    }

    .post_ttl {
      grid-column: 1 / 3;
      grid-row: 2;
      /* 12px-16px:375px-1920px */
      font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
      display: flex;
      align-items: center;
      gap: 15px;
      padding: 0 0 10px;

      &::after {
        content: "";
        display: inline-block;
        background: url("../img/arrow_line.svg") center center / contain no-repeat;
        width: 60px;
        height: 8px;
        transition: ease-in .2s;
        margin-left: auto;
        margin-right: 10px;
        flex-shrink: 0;
      }

      @media (max-width: 767px) {
        &::after {
          background: url(../img/arrow_line_menu_list2.svg) center center / contain no-repeat;
          width: 30px;
          height: 3px;
          margin-right: 0;
        }
      }

      &:hover {
        opacity: 0.6;
        gap: 25px;

        &::after {
          margin-right: 0;
        }
      }
    }

    &+.news_item {
      /* 15px-45px:375px-1920px */
      margin-top: clamp(0.938rem, 0.482rem + 1.94vw, 2.813rem);
    }
  }
}

.post_category_list {
  grid-column: 2;
  grid-row: 1;
  list-style: none;
  margin: 0;
  padding: 0;

  &>li {

    a,
    span {
      color: #fff;
      background-color: var(--color-ttl);
      font-size: 12px;
      font-weight: bold;
      padding: 2px 15px 3px;
      border-radius: 100px;
    }
  }
}

/*--- 診療時間・アクセス ---*/
.common_access {
  background-color: #F5EAEA;
  /* 60px-150px:375px-1920px */
  padding-top: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .sec_ttl {
    .en {
      color: #F0D7D9;
    }
  }

  .access_inner {
    display: flex;
    gap: 4%;

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

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

    .time_table {
      width: 48%;
      height: fit-content;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      gap: 40px 20px;
      align-items: center;

      @media (max-width: 767px) {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 15px 0;
      }

      table {
        grid-column: 1 / 3;
        grid-row: 1;
        border-radius: 2
      }

      .notes {
        grid-column: 1;
        grid-row: 2;
        color: #954348;
        font-weight: 500;
        font-size: 14px;
        margin: 0;

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

      .btn_more {
        grid-column: 2;
        grid-row: 2;

        a {
          background-color: var(--color-cta);
          min-width: inherit;

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

          &:hover {
            background-color: #fff;
          }
        }
      }
    }

    .googlemap_area {
      width: 48%;

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

      .googlemap {
        overflow: hidden;
        border-radius: 20px;
        height: 197px;

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

        iframe {
          width: 100%;
          height: 100%;
        }
      }

      .map_open {
        display: flex;
        justify-content: flex-end;
        margin: 10px 0 0;

        a {
          display: flex;
          align-items: center;
          gap: 10px;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          font-weight: 500;

          &::after {
            content: "";
            background: url("../img/icon_link_blank.svg") center center / contain no-repeat;
            /* 14px-20px:375px-1920px */
            width: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
            height: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
            display: inline-block;
          }

          &:hover {
            opacity: 0.6;
          }
        }
      }

      .address {
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        font-weight: 500;
        margin: 0;

        @media (max-width: 767px) {
          margin-top: 15px;
          font-weight: 400;
        }
      }
    }
  }
}

.time_table {
  table {
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    width: 100%;

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

    thead {
      * {
        color: #fff;
        /* 12px-18px:375px-1920px */
        font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
        font-weight: 500;
        text-align: center;
      }

      tr {
        background-color: var(--color-ttl);

        th {
          width: 160px;
          padding: 20px;

          @media (max-width: 767px) {
            width: 120px;
            padding: 10px 5px;
          }
        }

        td {
          padding: 10px;

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

        td:last-child {
          padding-right: 20px;
        }
      }
    }

    tbody {
      * {
        color: var(--color-ttl);
        font-weight: 500;
        text-align: center;
      }

      tr {
        border-bottom: 1px var(--color-ttl) solid;

        th {
          /* 12px-18px:375px-1920px */
          font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
          padding: 20px;

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

        td {
          padding: 10px;

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

          &.on {
            /* 14px-18px:375px-1920px */
            font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
          }

          &.off {
            /* 14px-18px:375px-1920px */
            font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
          }
        }

        td:last-child {
          padding-right: 20px;
        }
      }
    }
  }
}

/*--------------------
下層ページタイトル
--------------------*/
.page_title {
  background: url("../img/about/page_title.webp") center right / cover no-repeat;
  /* 150px-462px:375px-1920px; */
  height: clamp(9.375rem, 4.642rem + 20.19vw, 28.875rem);
  display: flex;
  justify-content: center;
  position: relative;
  border-radius: 0 0 70px 0;
  overflow: hidden;

  @media (max-width: 767px) {
    background: url("../img/about/page_title_sp.webp") center center / cover no-repeat;
    border-radius: 0 0 30px 0;
  }

  .ja {
    position: absolute;
    bottom: 6.8vw;
    z-index: 2;
    max-width: 1200px;
    width: 90%;
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 16px-30px:375px-1920px; */
    font-size: clamp(1rem, 0.788rem + 0.91vw, 1.875rem);
    color: var(--color-txt);
    margin: 0;
  }

  .en {
    position: absolute;
    bottom: 6vw;
    z-index: 1;
    max-width: 1200px;
    width: 90%;
    display: block;
    font-family: var(--font-en);
    /* 40px-135px:375px-1920px; */
    font-size: clamp(2.5rem, 1.059rem + 6.15vw, 8.438rem);
    /* color: rgba(255, 255, 255, 0.5); */
    color: rgba(243, 232, 233, 1);
    line-height: 1;
    margin: 0;
    margin-left: -40px;
  }

  &::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 7vw;
    background: linear-gradient(90deg, rgba(243, 232, 233, 1) 0%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 100%);
    width: 100%;
    height: 2px;
  }
}

/*--------------------
パンくず
--------------------*/
.breadcrumb {
  max-width: 1200px;
  width: 90%;
  /* 10px-15px:375px-1920px */
  /* 40px-80px:375px-1920px */
  margin: clamp(0.625rem, 0.549rem + 0.32vw, 0.938rem) auto clamp(2.5rem, 1.893rem + 2.59vw, 5rem);

  .breadcrumb_list {
    /* 10px-12px:375px-1920px */
    font-size: clamp(0.625rem, 0.595rem + 0.13vw, 0.75rem);
    display: flex;
    align-items: center;
    margin: auto;
    padding: 0;
    flex-wrap: wrap;
    list-style: none;

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

      &>span {
        color: var(--color-ttl);
      }

      &+.breadcrumb_item {
        &::before {
          content: "";
          display: block;
          width: clamp(0.313rem, 0.241rem + 0.15vw, 0.375rem);
          height: clamp(0.313rem, 0.241rem + 0.15vw, 0.375rem);
          border: 0;
          border-top: solid 1px var(--color-ttl);
          border-right: solid 1px var(--color-ttl);
          transform: rotate(45deg);
          margin: 0 10px;
        }
      }
    }
  }
}

/*--------------------
クリニックについて
--------------------*/
.page_about {
  background-color: rgba(252, 247, 247, 1);

  .top_doctor {
    background: linear-gradient(180deg, rgba(252, 247, 247, 1) 0%, rgba(250, 236, 236, 1) 40%, rgba(250, 236, 236, 1) 100%);

    .doctor_list {
      .doctor_item {
        @media (max-width: 767px) {
          background-color: #FEFDFD;

          &::before {
            content: "ANDO IWAO";
            font-size: 50px;
            color: #FEFDFD;
            top: -42px;
            width: 100%;
            text-align: center;
          }
        }

        .name_area {
          background-color: #FEFCFC;

          &::before {
            /* 50px-75px:375px-1920px */
            font-size: clamp(3.125rem, 2.746rem + 1.62vw, 4.688rem);
            left: inherit;
            right: 0;
            bottom: 130px;
            content: "ANDO IWAO";
            color: #FEFDFD;
          }
        }

        .profile {
          grid-column: 1 / 3;
          grid-row: 3;
          display: flex;
          gap: 5%;
          padding: 50px 5%;

          @media (max-width: 767px) {
            flex-direction: column;
            gap: 30px;
            padding: 0;
            margin-top: 30px;
          }

          .box {
            padding: 30px 50px 40px;
            border-radius: 0 30px 0 30px;
            height: fit-content;

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

            .ttl {
              font-family: var(--font-mplus);
              font-weight: 500;
              /* 17px-25px:375px-1920px */
              font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
              color: var(--color-ttl);
              /* 10px-20px:375px-1920px */
              margin: 0 0 clamp(0.625rem, 0.473rem + 0.65vw, 1.25rem);
            }

            &.career {
              background-color: #FFF9F7;
              width: 55%;

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

              .career_list {
                display: flex;
                flex-wrap: wrap;
                border-left: 1px var(--color-primary) solid;
                padding-left: 20px;

                dt {
                  width: 80px;
                  margin: 10px 0;
                  /* 14px-16px:375px-1920px */
                  font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
                  font-weight: 500;
                  color: var(--color-ttl);

                  @media (max-width: 767px) {
                    width: 60px;
                    font-weight: 400;
                    color: var(--color-txt);
                  }

                  &:nth-of-type(1) {
                    margin-top: 0;
                  }

                  &:nth-last-of-type(1) {
                    margin-bottom: 0;
                  }
                }

                dd {
                  width: calc(100% - 80px);
                  margin: 10px 0;
                  /* 14px-16px:375px-1920px */
                  font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);

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

                  &:nth-of-type(1) {
                    margin-top: 0;
                  }

                  &:nth-last-of-type(1) {
                    margin-bottom: 0;
                  }
                }
              }
            }

            &.license {
              background-color: #fff;
              width: 40%;

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

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

                &>li {
                  position: relative;
                  /* 14px-16px:375px-1920px */
                  font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
                  padding-left: 20px;

                  &::before {
                    content: "";
                    position: absolute;
                    /* 3px-4px:375px-1920px */
                    top: clamp(0.188rem, 0.172rem + 0.06vw, 0.25rem);
                    left: 0;
                    display: inline-block;
                    width: 15px;
                    height: 15px;
                    border-radius: 3px;
                    background-color: #9B6D6D;
                  }

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

        &:nth-child(2) {
          @media (max-width: 767px) {
            background-color: #FDF7F7;

            &::before {
              content: "IIZUKA FUMIKO";
              font-size: 43px;
              top: -35px;
            }

            @media (max-width: 767px) {
              &::before {
                color: #FDF7F7;
              }
            }
          }

          .name_area {
            &::before {
              content: "IIZUKA FUMIKO";
              color: #FDF7F7;
            }
          }
        }

        &:nth-child(even) {
          .name_area {
            background-color: #FDF7F7;

            &::before {
              left: 0;
              right: inherit;
            }
          }
        }
      }
    }
  }

  .about_facility {
    position: relative;
    background-color: #fff;

    &::before {
      content: "";
      display: block;
      background: #FAF4F2;
      /* 50px-100px:375px-1920px */
      height: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
      border-top-left-radius: 50% 100%;
      border-top-right-radius: 50% 100%;
      margin: 0 -30px;
    }

    .about_facility_inner {
      position: relative;
      background: url("../img/about/txt_ando_derma_cosmet.svg") top 15vw center / 100% no-repeat, #FAF4F2;
      /* 60px-150px:375px-1920px */
      padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

      @media (max-width: 767px) {
        background: url("../img/about/txt_ando_derma_cosmet_sp.svg") top 0 left / 87px no-repeat, #FAF4F2;
      }

      /* &::before {
        content: "";
        position: absolute;
        top: 100px;
        background: url("../img/about/txt_ando_derma_cosmet.svg") top center / 100% no-repeat;
        width: 100%;
        height: 200px;
        display: block;
        z-index: -1;
      } */
      .sec_ttl {
        .ja {
          margin-top: 0;
        }
      }

      .facility_list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 90px;

        .facility_item {
          width: calc((100% - 90px) / 2);

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

          .img {
            img {
              width: 100%;
            }
          }

          .ttl {
            margin: 20px 0 15px;
            font-family: var(--font-mplus);
            font-weight: 500;
            /* 17px-18px:375px-1920px */
            font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
            color: var(--color-ttl);
            text-align: center;
            /* &::after {
              content: "";
              width: 100%;
              height: 1px;
              display: block;
              background: linear-gradient(90deg, rgba(248, 223, 225, 0.6) 0%, rgba(206, 147, 151, 1) 50%, rgba(248, 223, 225, 0.6) 100%);
            } */
          }

          .txt {
            margin: 0;
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            line-height: 1.8;
          }
        }
      }
    }
  }
}

.menu_flow {
  background-color: #fff;
  /* 50px-90px:375px-1920px */
  padding-top: clamp(3.125rem, 2.518rem + 2.59vw, 5.625rem);
  /* 60px-150px:375px-1920px */
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .sec_ttl {
    .en {
      color: #F8E8E8;
    }
  }

  .flow_list {
    flex-direction: column;

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

    .flow_item {
      display: grid;
      gap: 15px 25px;
      grid-template-columns: auto 1fr;

      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0 25px;
        background-color: #FCF4F4;
        border-radius: 200px 200px 0 0;
        padding: 30px 25px 75px;
        height: auto;
      }

      .flow_num {
        grid-column: 1;
        grid-row: 1 / 3;
        margin: 0;
        font-family: var(--font-en2);
        font-weight: 500;
        /* 55px-85px:375px-1920px */
        width: clamp(3.438rem, 2.982rem + 1.94vw, 5.313rem);
        height: clamp(3.438rem, 2.982rem + 1.94vw, 5.313rem);
        background-color: var(--color-cta);
        border-radius: 50% 50% 0 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        /* 30px-45px:375px-1920px */
        font-size: clamp(1.875rem, 1.647rem + 0.97vw, 2.813rem);
        letter-spacing: 0.05em;
        color: #fff;
        border: 2px var(--color-cta) solid;
        position: relative;

        &::after {
          content: "";
          position: absolute;
          /* 55px-85px:375px-1920px */
          top: calc(clamp(3.438rem, 2.982rem + 1.94vw, 5.313rem) - 2px);
          width: 2px;
          height: 175px;
          display: block;
          background: linear-gradient(180deg, rgba(206, 147, 151, 1) 0%, rgba(255, 248, 249, 1) 100%);
        }

        @media (max-width: 767px) {
          &::after {
            top: 50%;
            /* 55px-85px:375px-1920px */
            left: clamp(3.438rem, 2.982rem + 1.94vw, 5.313rem);
            width: 70px;
            height: 2px;
            display: block;
            background: linear-gradient(90deg, rgba(206, 147, 151, 1) 0%, rgba(255, 248, 249, 1) 100%);
          }
        }
      }

      .ttl {
        grid-column: 2 / 4;
        grid-row: 1;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 18px-25px:375px-1920px */
        font-size: clamp(1.125rem, 1.019rem + 0.45vw, 1.563rem);
        color: var(--color-ttl);
        margin: 20px 0 0;

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

      .txt_area {
        grid-column: 2;
        grid-row: 2;

        .txt {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          margin: 0;

          a {
            text-decoration: underline;
            color: #CE9397;

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

        .notes {
          color: #954348;
          font-weight: 500;
          font-size: 14px;
          margin: 10px 0;

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

        .btn_more {
          margin: 10px 0;

          a {
            background-color: var(--color-cta);
            min-width: inherit;

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

            &:hover {
              background-color: #fff;
            }
          }
        }
      }

      .img {
        grid-column: 3;
        grid-row: 2;
        max-width: 317px;

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

        img {
          width: 100%;
        }
      }

      &.flow_item {
        margin-top: 25px;

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

      &:nth-child(even) {
        .flow_num {
          background-color: #fff;
          color: #CE9397;
          border-color: #CE9397;
        }
      }
    }
  }

  .pagination_area {
    position: relative;
    width: fit-content;
    margin: -55px auto 0;

    /* ページネーション */
    .swiper-pagination {
      position: inherit;
      width: fit-content;

      .swiper-pagination-bullet {
        margin: 0 2px 3px 2px;
        background: #DFCCCC;
        opacity: 1;
      }

      .swiper-pagination-bullet-active {
        background: #9B6D6D;
      }
    }

    /* 次へ前へボタン */
    .swiper-button-prev,
    .swiper-button-next {
      padding: 0 10px;
      height: 100%;

      &::after {
        font-size: 12px;
        color: #9B6D6D;
      }
    }

    .swiper-button-prev {
      left: -60px;
    }

    .swiper-button-next {
      right: -60px;
    }
  }
}

/*--------------------
よくあるご質問
--------------------*/
.page_faq {
  background-color: #FDF5F5;

  .faq_index {
    /* 60px-150px:375px-1920px */
    margin-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .index_list {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      list-style: none;
      margin: 0;
      padding: 0;

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

      &>li {
        width: calc((100% - 40px) / 3);

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

        a {
          display: flex;
          background-color: var(--color-btn);
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          color: #fff;
          border-radius: 10px 0 10px 0;
          padding: 20px 40px 20px 20px;
          position: relative;

          @media (max-width: 767px) {
            padding: 8px 25px 8px 10px;
          }

          &::after {
            content: "";
            position: absolute;
            top: 45%;
            right: 15px;
            width: 13px;
            height: 13px;
            border: 0;
            border-top: solid 3px #fff;
            border-right: solid 3px #fff;
            transform: translateY(-50%) rotate(135deg);
            transition: ease-in .2s;
          }

          @media (max-width: 767px) {
            &::after {
              right: 10px;
              width: 8px;
              height: 8px;
              border-top: solid 2px #fff;
              border-right: solid 2px #fff;
            }
          }

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

.sec_faq {
  /* 60px-150px:375px-1920px */
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .faq_category {
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 17px-25px:375px-1920px */
    font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
    width: fit-content;
    /* 20px-40px:375px-1920px */
    margin: 0 auto clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
    color: var(--color-ttl);

    &::after {
      content: "";
      width: 100%;
      height: 1px;
      display: block;
      background: linear-gradient(90deg, rgba(248, 223, 225, 0.6) 0%, rgba(206, 147, 151, 1) 50%, rgba(248, 223, 225, 0.6) 100%);
      margin-top: 15px;
    }
  }

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

    .faq_item {
      background-color: #fff;
      border-radius: 30px 0 30px 0;

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

      .faq_q {
        position: relative;
        display: flex;
        align-items: center;
        gap: 20px;
        margin: 0;
        padding: 25px 35px;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 14px-20px:375px-1920px */
        font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
        color: var(--color-ttl);
        cursor: pointer;

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

        &::before {
          content: "";
          background: url("../img/faq/faq_q.svg") center center / contain no-repeat;
          width: 50px;
          height: 50px;
          display: inline-block;
          flex-shrink: 0;
          align-self: flex-start;
        }

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

        &::after {
          content: "";
          width: 13px;
          height: 13px;
          border: 0;
          border-top: solid 3px var(--color-ttl);
          border-right: solid 3px var(--color-ttl);
          transform: translateY(-50%) rotate(135deg);
          flex-shrink: 0;
          margin-left: auto;
          transition: ease-in .2s;
        }

        @media (max-width: 767px) {
          &::after {
            width: 8px;
            height: 8px;
            border-top: solid 2px var(--color-ttl);
            border-right: solid 2px var(--color-ttl);
          }
        }

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

      .faq_a {
        border-top: 1px var(--color-btn) solid;
        margin: 0 20px 20px;
        padding-top: 20px;
        padding-bottom: 20px;

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

        p {
          margin: 0;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        }
      }

      &+.faq_item {
        /* 20px-25px:375px-1920px */
        margin-top: clamp(1.25rem, 1.174rem + 0.32vw, 1.563rem);
      }
    }

    &+.faq_category {
      /* 50px-80px:375px-1920px */
      margin-top: clamp(3.125rem, 2.67rem + 1.94vw, 5rem);
    }
  }
}

/*--------------------
施術メニュー 詳細
--------------------*/
.single-menu {
  main {
    .txt {
      margin: 0;
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      line-height: 1.8;
    }
  }

  /*--- メイン画像 ---*/
  .menu_img {
    /* 40px-80px:375px-1920px */
    margin-bottom: clamp(2.5rem, 1.893rem + 2.59vw, 5rem);

    img {
      width: 100%;
    }
  }

  /*--- とは ---*/
  .menu_about {
    /* 85px-180px:375px-1920px */
    margin-bottom: clamp(5.313rem, 3.871rem + 6.15vw, 11.25rem);

    .txt_area {
      display: flex;
      gap: 25px;

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

      .img {
        max-width: 345px;
        width: 28.75vw;
        flex-shrink: 0;
        margin-left: auto;

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

        img {
          width: 100%;
        }
      }
    }

    .detail {
      /* 50px-80px:375px-1920px */
      margin-top: clamp(3.125rem, 2.67rem + 1.94vw, 5rem);

      .ttl {
        background-color: #EBDCDB;
        border-bottom: 1px #9B6D6D solid;
        border-radius: 20px 0 0 0;
        /* 15px-30px:375px-1920px */
        margin: 0 0 clamp(0.938rem, 0.71rem + 0.97vw, 1.875rem);
        padding: 19px 25px 14px;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 17px-25px:375px-1920px */
        font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
        color: var(--color-ttl);
      }

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

        &+.ttl {
          /* 30px-40px:375px-1920px */
          margin-top: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
        }
      }
    }
  }

  /*--- こんなお悩みにオススメ ---*/
  .menu_recommend {
    background-color: #FFFAFA;
    position: relative;

    &::before {
      content: "";
      width: calc((100% - 970px) / 2);
      height: 1px;
      border-top: 1px #CE9397 solid;
      display: block;
    }

    &::after {
      content: "";
      width: calc((100% - 970px) / 2);
      height: 1px;
      border-top: 1px #CE9397 solid;
      display: block;
      margin-left: auto;
    }

    @media (max-width: 767px) {

      &::before,
      &::after {
        width: 60px;
      }
    }

    .sec_ttl {
      position: absolute;
      top: -25px;
      font-family: var(--font-mplus);
      font-weight: 500;
      /* 20px-40px:375px-1920px */
      font-size: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
      margin: 0;
      text-align: center;
      width: 100%;

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

    .recommend_inner {
      position: relative;

      .list_check {
        position: relative;
        z-index: 1;
        max-width: 700px;
        width: 90%;
        margin: auto;
        /* 60px-80px:375px-1920px */
        padding: clamp(3.75rem, 3.447rem + 1.29vw, 5rem) 0;

        &>li {
          font-family: var(--font-mplus);
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          background-position-y: 7px;

          @media (max-width: 767px) {
            background-position-y: 5px
          }
        }
      }

      &::after {
        content: "RECOMMEND";
        position: absolute;
        bottom: 0;
        font-family: var(--font-en);
        /* 55px-150px:375px-1920px */
        font-size: clamp(3.438rem, 1.996rem + 6.15vw, 9.375rem);
        line-height: 0.7;
        color: #FCF2F2;
        text-align: center;
        display: block;
        width: 100%;
      }

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

  /*--- 当院のこだわり ---*/
  .menu_feature {
    /* 100px-150px:375px-1920px */
    margin-top: clamp(6.25rem, 5.492rem + 3.24vw, 9.375rem);
    position: relative;

    &::before {
      content: "";
      display: block;
      background: #FDF2F3;
      /* 50px-100px:375px-1920px */
      height: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
      border-top-left-radius: 50% 100%;
      border-top-right-radius: 50% 100%;
      margin: 0 -30px;
    }

    .feature_inner {
      background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(253, 242, 243, 1) 100%);
      /* 60px-100px:375px-1920px */
      padding-bottom: clamp(3.75rem, 3.143rem + 2.59vw, 6.25rem);

      .txt {
        &+.ttl_style1 {
          /* 30px-40px:375px-1920px */
          margin-top: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
        }
      }
    }
  }

  /*--- 症例 ---*/
  .sec_case {
    background-color: #FAEFEF;
    /* 0px-100px:375px-1920px */
    margin-top: clamp(0rem, -1.517rem + 6.47vw, 6.25rem);
    /* 70px-90px:375px-1920px */
    padding-top: clamp(4.375rem, 4.072rem + 1.29vw, 5.625rem);
    /* 40px-150px:375px-1920px */
    padding-bottom: clamp(2.5rem, 0.831rem + 7.12vw, 9.375rem);

    .sec_ttl {
      .en {
        color: #fff;
      }
    }

    .btn_more2 {
      display: flex;
      justify-content: center;
      /* 30px-40px:375px-1920px */
      margin-top: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
    }
  }

  /*--- 料金 ---*/
  .sec_price {
    /* 70px-90px:375px-1920px */
    padding-top: clamp(4.375rem, 4.072rem + 1.29vw, 5.625rem);
    /* 40px-150px:375px-1920px */
    padding-bottom: clamp(2.5rem, 0.831rem + 7.12vw, 9.375rem);
  }

  /*--- 施術情報 ---*/
  .menu_info {
    background-color: #FFFAFA;
    /* 70px-90px:375px-1920px */
    padding-top: clamp(4.375rem, 4.072rem + 1.29vw, 5.625rem);
    /* 40px-150px:375px-1920px */
    padding-bottom: clamp(2.5rem, 0.831rem + 7.12vw, 9.375rem);

    .info_inner {
      .info_intro {
        display: grid;
        grid-template-columns: 1fr min-content;
        grid-template-rows: auto 1fr;
        /* 30px-50px:375px-1920px */
        margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

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

        .ttl_style1 {
          grid-column: 1;
          grid-row: 1;
        }

        .txt {
          grid-column: 1;
          grid-row: 2;
        }

        .img {
          grid-column: 2;
          grid-row: 1 / 3;
          max-width: 300px;
          width: 25vw;
          margin-left: 20px;

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

          img {
            width: 100%;
          }
        }
      }

      .info_table {
        width: 100%;
        border: 0.5px #583B3B solid;

        tbody {
          tr {
            border: 0.5px #583B3B solid;

            th {
              /* 14px-16px:375px-1920px */
              font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
              background-color: #F0E6E6;
              width: 215px;
              border: 0.5px #583B3B solid;
              padding: 20px 30px;

              @media (max-width: 767px) {
                width: 40%;
                border: none;
                padding: 10px;
              }
            }

            td {
              /* 14px-16px:375px-1920px */
              font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
              background-color: #fff;
              border: 0.5px #583B3B solid;
              padding: 20px 30px;

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

      .notes_box {
        border-radius: 25px 0 0 0;
        overflow: hidden;
        /* 30px-40px:375px-1920px */
        margin: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem) 0 0;
        background-color: #fff;

        .ttl {
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          background-color: #EBDCDB;
          color: var(--color-ttl);
          text-align: center;
          margin: 0;
          padding: 14px 20px 10px;
          border-bottom: 1px #9B6D6D solid;
        }

        .list_check {
          display: flex;
          flex-wrap: wrap;
          gap: 15px 20px;
          padding: 25px 50px;

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

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

        .list_dot {
          padding: 25px 50px;

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

      &+.info_inner {
        /* 50px-100px:375px-1920px */
        margin-top: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
      }
    }
  }

  /*--- よくあるご質問 ---*/
  .sec_faq {
    background-color: #FDF5F5;
    /* 70px-90px:375px-1920px */
    padding-top: clamp(4.375rem, 4.072rem + 1.29vw, 5.625rem);
    /* 40px-150px:375px-1920px */
    padding-bottom: clamp(2.5rem, 0.831rem + 7.12vw, 9.375rem);

    .sec_ttl {
      .en {
        img {
          width: auto;
          /* 46px-102px:375px-1920px */
          height: clamp(2.875rem, 2.025rem + 3.62vw, 6.375rem);
        }
      }
    }
  }
}

/* 症例リスト */
.sec_case {
  .case_list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
}

/*--------------------
施術 詳細
--------------------*/
.case_main,
.case_item {
  display: grid;
  grid-template-columns: 50% 1fr;
  column-gap: 20px;

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

  .case_photo {
    grid-column: 1;
    grid-row: 1 / 3;
    display: flex;
    gap: 10px;

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

    .case_before,
    .case_after {
      .img {
        aspect-ratio: 1 / 1;

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

      .caption {
        background-color: #A08F8F;
        font-family: var(--font-en);
        /* 12px-26px:375px-1920px */
        font-size: clamp(0.75rem, 0.538rem + 0.91vw, 1.625rem);
        color: #fff;
        text-align: center;
        margin: 0;
        padding: 5px;

        small {
          /* 12px-18px:375px-1920px */
          font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
          margin-left: 5px;
        }
      }
    }

    .case_after {
      .caption {
        background-color: var(--color-ttl);
      }
    }
  }

  .case_ttl {
    grid-column: 2;
    grid-row: 1;
    /* 10px-15px:375px-1920px */
    margin: 0 0 clamp(0.625rem, 0.549rem + 0.32vw, 0.938rem);
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 17px-25px:375px-1920px */
    font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
    color: var(--color-ttl);

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

    &::before {
      content: "";
      display: inline-block;
      width: 30px;
      height: 2px;
      background-color: var(--color-ttl);
    }

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

  .case_detail {
    grid-column: 2;
    grid-row: 2;

    .case_detail_list {
      display: flex;
      flex-wrap: wrap;
      border-radius: 20px 0 0 0;
      overflow: hidden;
      background-color: #fff;
      margin: 0;

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

      dt {
        background-color: #B58082;
        width: 35%;
        text-align: center;
        color: #fff;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        border-top: 1px #fff solid;
        padding: 20px 0;

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

        &:nth-of-type(1) {
          border: none;
        }
      }

      dd {
        margin: 0;
        width: 65%;
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        border-top: 1px #B58082 solid;
        padding: 20px;

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

        &:nth-of-type(1) {
          border: none;
        }
      }
    }
  }

  .btn_more {
    grid-column: 2;
    grid-row: 3;
    justify-self: flex-end;
    margin-top: 20px;

    @media (max-width: 767px) {
      align-self: flex-end;
    }

    a {
      min-width: inherit;
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);

      @media (max-width: 767px) {
        padding: 8px 25px;
        min-width: inherit;
        width: fit-content;
      }

      &::after {
        width: 6px;
        height: 6px;
        border-top-width: 1px;
        border-right-width: 1px;
        right: 13px;
      }
    }
  }
}

.single-case {
  .sec_case {
    /* 60px-120px:375px-1920px; */
    padding-bottom: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);
  }

  .case_comment {
    /* 30px-40px:375px-1920px */
    padding-top: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);

    .ttl {
      font-family: var(--font-mplus);
      font-weight: 500;
      /* 16px-20px:375px-1920px */
      font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
      color: #9B6D6D;
      display: flex;
      align-items: center;
      gap: 10px;
      /* 10px-15px:375px-1920px */
      margin: 0 0 clamp(0.625rem, 0.549rem + 0.32vw, 0.938rem);

      &::before {
        content: "";
        /* 16px-20px:375px-1920px */
        width: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
        height: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
        background-color: #9B6D6D;
        display: inline-block;
      }
    }

    .txt {
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      line-height: 2;
      margin: 0;
    }
  }

  .case_info {
    background-color: #FAF5F5;
    /* 60px-120px:375px-1920px; */
    padding-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);
    padding-bottom: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);

    .inner {
      .sec_ttl_underline {
        /* 17px-25px:375px-1920px */
        font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
        color: #9B6D6D;
      }

      .treatment_table {
        width: 100%;
        border: 0.5px #583B3B solid;

        tbody {
          tr {
            border: 0.5px #583B3B solid;

            th {
              /* 14px-16px:375px-1920px */
              font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
              background-color: #FDF7F7;
              width: 215px;
              border: 0.5px #583B3B solid;
              padding: 20px 30px;

              @media (max-width: 767px) {
                width: 40%;
                border: none;
                padding: 10px;
              }
            }

            td {
              /* 14px-16px:375px-1920px */
              font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
              background-color: #fff;
              border: 0.5px #583B3B solid;
              padding: 20px 30px;

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

      .btn_more {
        a {
          /* 20px-30px:375px-1920px */
          margin: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem) auto 0;
        }
      }

      &+.inner {
        /* 60px-80px:375px-1920px */
        margin-top: clamp(3.75rem, 3.447rem + 1.29vw, 5rem);
      }
    }
  }
}

/*--------------------
症例検索フォーム
--------------------*/
.case_search {
  /* 60px-150px:375px-1920px */
  margin: 0 auto clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

  .sec_ttl {
    .ja {
      margin-top: 0;
    }
  }

  .search_box {
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px;
    margin: 0;
    position: relative;

    &::before {
      content: "";
      position: absolute;
      top: -100px;
      right: -120px;
      z-index: -1;
      background: url("../img/case/circle_obj.svg") top right / contain no-repeat;
      width: 260px;
      height: 260px;
    }

    @media (max-width: 767px) {
      &::before {
        top: -30px;
        right: 0;
        width: 24vw;
        height: 24vw;
      }
    }

    dt {
      width: 70px;
      flex-shrink: 0;
      /* 14px-20px:375px-1920px */
      font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
      font-weight: 600;
      padding-top: 10px;
    }

    dd {
      width: calc(100% - 70px);
      margin: 0;
      /* 14px-20px:375px-1920px */
      font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
      font-weight: 600;

      select {
        width: 100%;
        border-radius: 6px;
        border: none;
        padding: 10px 25px;
        background: #fff;

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

        &:focus-visible {
          outline: none;
        }

        option {}

        option:first-child {
          color: #A2998F;
        }
      }

      label {
        margin: 10px 0;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        min-width: calc(100% / 8);

        @media (max-width: 767px) {
          min-width: 20vw;
          font-size: 16px;
        }

        span {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        }
      }

      input[type="checkbox"] {
        position: relative;
        width: 16px;
        height: 16px;
        background-color: #fff;
        vertical-align: -1px;
        border-radius: 3px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
      }

      input[type="checkbox"]:checked {
        background-color: #B58082;
      }

      input[type="checkbox"]:checked::before {
        position: absolute;
        top: 1px;
        left: 5px;
        transform: rotate(50deg);
        width: 6px;
        height: 10px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        content: '';
      }
    }
  }

  .submit {
    background: #B58082;
    border: none;
    /* 14px-20px:375px-1920px */
    font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
    font-weight: 500;
    /* 200px-300px:375px-1920px */
    width: clamp(12.5rem, 10.983rem + 6.47vw, 18.75rem);
    margin: 40px auto 0;
    padding: 10px;
    border-radius: 100px;
    display: block;
    color: #fff;
    line-height: 2;
    transition: ease-in 0.35s;
    cursor: pointer;
    position: relative;

    &:hover {
      opacity: 0.8;
    }
  }
}

/*--------------------
症例 一覧
--------------------*/
.post-type-archive-case {
  background-color: #F5EFEF;

  .sec_case {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .case_list {
      .case_item {
        border-bottom: 1px #583B3B solid;
        /* 35px-50px:375px-1920px */
        padding-bottom: clamp(2.188rem, 1.96rem + 0.97vw, 3.125rem);
        margin-bottom: clamp(2.188rem, 1.96rem + 0.97vw, 3.125rem);
      }
    }
  }
}

/*--------------------
ページネーション
--------------------*/
.pagination {
  text-align: center;
  margin-top: clamp(2.5rem, 2.06rem + 1.88vw, 3.75rem);

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

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

  .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .page-numbers {
    padding: 0.5em;
    min-width: 2em;
    font-size: clamp(0.938rem, 0.827rem + 0.47vw, 1.25rem);
  }

  .current {
    display: inline-block;
    background-color: #583B3B;
    line-height: 1;
    border-radius: 100px;
    color: #fff;
  }

  .prev {
    color: #583B3B;
    display: inline-flex;
    align-items: center;
    border-radius: 100px;
    border: 1px #583B3B solid;
    aspect-ratio: 1;
    min-width: 0.8em;
    margin-right: 30px;

    &::before {
      content: "";
      width: 5px;
      height: 5px;
      border: 0;
      border-top: solid 1px #583B3B;
      border-right: solid 1px #583B3B;
      transform: rotate(-135deg);
    }
  }

  .next {
    color: #583B3B;
    display: inline-flex;
    align-items: center;
    border-radius: 100px;
    border: 1px #583B3B solid;
    aspect-ratio: 1;
    min-width: 0.8em;
    margin-left: 30px;

    &::after {
      content: "";
      width: 5px;
      height: 5px;
      border: 0;
      border-top: solid 1px #583B3B;
      border-right: solid 1px #583B3B;
      transform: rotate(45deg);
    }
  }
}

/*--------------------
症例 一覧/詳細 共通
--------------------*/
.post-type-archive-case,
.single-case {

  .case_item,
  .case_main {
    .case_ttl {
      grid-column: 1 / 3;
      grid-row: 1;
      position: relative;
      margin: 0 0 15px;
      padding-left: 30px;
      font-family: var(--font-mplus);
      font-weight: 500;
      /* 17px-25px:375px-1920px */
      font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
      color: var(--color-ttl);

      &::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 15px;
        height: 80%;
        background-color: var(--color-ttl);
        border-radius: 5px 0 0 0;
      }

      &::after {
        content: "";
        position: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        width: 2px;
        height: 80%;
        background-color: var(--color-ttl);
      }
    }

    .case_photo {
      grid-row: 2;
    }

    .case_detail {
      grid-row: 2;

      .case_detail_list {
        dt {
          background-color: #ECDFE0;
          color: #9B6D6D;
          border-top-color: #9B6D6D
        }

        dd {
          background-color: #FDF8F8;
        }
      }
    }

    .btn_more {
      grid-row: 3;

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

/*------------------------------------
お知らせ/コラム/キャンペーン 一覧
------------------------------------*/
.post-type-archive-news,
.post-type-archive-column,
.post-type-archive-campaign {
  .post_archive {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);
  }
}

/*------------------------------------
キャンペーン 一覧
------------------------------------*/
.post-type-archive-campaign {
  .campaign_list {
    display: flex;
    flex-wrap: wrap;
    /* 40px-80px:375px-1920px */
    gap: clamp(2.5rem, 1.893rem + 2.59vw, 5rem) 35px;
    list-style: none;
    margin: 0;
    padding: 0;

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

    .campaign_item {
      width: calc((100% - 70px) / 3);

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

      a {
        .img {
          aspect-ratio: 1;
          margin-bottom: 15px;

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

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

        time {
          /* 12px-15px:375px-1920px */
          font-size: clamp(0.75rem, 0.704rem + 0.19vw, 0.938rem);
          margin-bottom: 5px;
          display: block;
        }

        .post_ttl {
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 16px-20px:375px-1920px */
          font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
          color: #9B6D6D;
          margin: 0;
        }

        &:hover {
          .post_ttl {
            color: #CE9397;
          }
        }
      }
    }
  }
}

/*------------------------------------
コラム 一覧
------------------------------------*/
.post-type-archive-column,
.tax-column-category {
  .column_list {
    display: flex;
    flex-wrap: wrap;
    /* 40px-80px:375px-1920px */
    gap: clamp(2.5rem, 1.893rem + 2.59vw, 5rem) 35px;
    list-style: none;
    margin: 0;
    padding: 0;

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

    .column_item {
      width: calc((100% - 35px) / 2);

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

      a {
        display: block;

        .post_category_list {
          display: inline-flex;
          gap: 10px;
          margin-left: 10px;
          margin-bottom: 5px;
        }

        .img {
          aspect-ratio: 350 / 200;
          margin-bottom: 15px;

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

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

        time {
          /* 12px-15px:375px-1920px */
          font-size: clamp(0.75rem, 0.704rem + 0.19vw, 0.938rem);
          display: inline-block;
        }

        .post_ttl {
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 16px-20px:375px-1920px */
          font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
          color: #9B6D6D;
          margin: 0;
          transition: ease-in .2s;
        }

        &:hover {
          .post_ttl {
            color: #CE9397;
          }
        }
      }
    }
  }
}

/*------------------------------------
お知らせ/コラム/キャンペーン 詳細
------------------------------------*/
.single-news,
.single-column,
.single-campaign {
  .post_header {
    /* 40px-50px:375px-1920px */
    margin-bottom: clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem);

    .post_category_list {
      margin-bottom: 20px;
    }

    .post_ttl {
      margin: 0 0 15px;
      font-family: var(--font-mplus);
      font-weight: 500;
      color: #9B6D6D;
      /* 17px-25px:375px-1920px */
      font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);

      &::after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background: linear-gradient(90deg, rgba(206, 147, 151, 1) 0%, rgba(206, 147, 151, 1) 50%, rgba(248, 223, 225, 0.6) 100%);
        margin-top: 15px;
      }
    }

    .post_date {
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      margin: 0;
    }
  }

  .post_main {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .eyecatch {
      /* 25px-40px:375px-1920px */
      margin-bottom: clamp(1.563rem, 1.335rem + 0.97vw, 2.5rem);

      img {
        max-width: 100%;
      }
    }

    .btn_back {
      /* 40px-80px:375px-1920px */
      margin-top: clamp(2.5rem, 1.893rem + 2.59vw, 5rem);
    }
  }
}

.btn_back {
  a {
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    padding-left: 60px;
    position: relative;
    border-bottom: 1px #B58082 solid;
    padding-bottom: 5px;

    &::before {
      content: "";
      position: absolute;
      bottom: 10px;
      left: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='51.873' height='6.204' viewBox='0 0 51.873 6.204'%3E%3Cpath id='パス_1864' data-name='パス 1864' d='M15974.219,3831.576h-50l5.955-5' transform='translate(-15922.846 -3825.872)' fill='none' stroke='%23b58082' stroke-linecap='round' stroke-width='1'/%3E%3C/svg%3E ");
      background-size: contain;
      background-repeat: no-repeat;
      display: block;
      width: 50px;
      height: 6px;
      transition: ease-in .2s;
    }

    &:hover {
      opacity: 0.8;

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

.wysiwyg_area {
  em {
    font-style: italic;
  }

  h2 {
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 20px-25px:375px-1920px */
    font-size: clamp(1.25rem, 1.174rem + 0.32vw, 1.563rem);
    color: var(--color-ttl);
    background-color: #EBDCDB;
    border-top: 1px #9B6D6D solid;
    border-bottom: 1px #9B6D6D solid;
    padding: 20px;
    /* 50px-80px:375px-1920px */
    margin-top: clamp(3.125rem, 2.67rem + 1.94vw, 5rem);
  }

  h3 {
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 16px-20px:375px-1920px */
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    color: #9B6D6D;
    position: relative;
    /* 25px-30px:375px-1920px */
    padding-left: clamp(1.563rem, 1.487rem + 0.32vw, 1.875rem);
    margin-top: 30px;

    &::before {
      content: "";
      position: absolute;
      top: 4px;
      left: 0;
      /* 16px-20px:375px-1920px */
      width: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
      height: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
      background-color: #9B6D6D;
      display: inline-block;
    }
  }

  h4 {
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 16px-20px:375px-1920px */
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    color: #9B6D6D;
  }

  h5 {
    font-family: var(--font-mplus);
    font-weight: 500;
    /* 16px-18px:375px-1920px */
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    color: #9B6D6D;
  }

  table {
    width: 100%;
    border: 0.5px #583B3B solid;

    tbody {
      tr {
        border: 0.5px #583B3B solid;

        th {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          background-color: #F0E6E6;
          border: 0.5px #583B3B solid;
          padding: 20px 30px;

          @media (max-width: 767px) {
            width: 40%;
            border: none;
            padding: 10px;
          }
        }

        td {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          background-color: #fff;
          border: 0.5px #583B3B solid;
          padding: 20px 30px;

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

  ul,
  ol {
    &>li {
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    }
  }

  p {
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
  }

  a {
    text-decoration: underline;
    font-weight: 500;
    color: var(--color-ttl);

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

  hr {
    height: 0;
    margin: 20px 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #9B6D6D;
  }
}

/*------------------------------------
キャンペーン 詳細
------------------------------------*/
.single-campaign {
  main {
    max-width: 750px;
    width: 90%;
    margin: auto;

    .post_main {
      .eyecatch {
        max-width: 600px;
        width: 100%;
        margin: auto;
      }
    }
  }
}

/*------------------------------------
サイドバー
------------------------------------*/
.page_post_inner {
  max-width: 1200px;
  width: 90%;
  margin: auto;
  /* 60px-150px:375px-1920px */
  padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);
  display: flex;
  justify-content: space-between;

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

  main {
    width: calc(100% - 450px);

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

  aside {
    width: 300px;

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

    .aside_ttl {
      background-color: #F4E8E9;
      font-family: var(--font-mplus);
      font-weight: 500;
      font-size: 18px;
      color: #9B6D6D;
      margin: 0;
      padding: 15px 20px;
      border-radius: 15px 15px 0 0;

      &:nth-of-type(2) {
        background-color: #F1E6E7;
        margin-top: 60px;
      }

      &:nth-of-type(3) {
        background-color: #EFEFEF;
        margin-top: 60px;
      }
    }

    .post_list,
    .sidebar_category_list,
    .sidebar_archive_list {
      list-style: none;
      margin: 0;
      padding: 0;

      &>li {
        border-bottom: 1px #F4E8E9 solid;

        a {
          display: block;
          padding: 20px 0;
          font-size: 14px;

          time {
            display: block;
            font-size: 14px;
          }

          .post_ttl {
            font-size: 14px;
          }

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

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

          &::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            display: inline-block;
            width: 5px;
            height: 1px;
            border-top: 1px #583B3B solid;
          }
        }
      }
    }
  }
}

/*------------------------------------
料金表 一覧
------------------------------------*/
.post-type-archive-price {
  background-color: #FDF5F5;

  .price_index {
    .index_list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: clamp(20px, 17.573px + 0.647vw, 30px) 15px;

      .index_item {
        width: calc((100% - 30px) / 3);

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

        a {
          display: flex;
          height: 100%;
          align-items: center;
          background-color: #C7A1A1;
          color: #fff;
          font-family: var(--font-mplus);
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          font-weight: 500;
          border-radius: 10px 0 0 0;
          border: 1px #C7A1A1 solid;
          padding: 20px clamp(30px, 25.146px + 1.294vw, 50px) 20px clamp(10px, 7.573px + 0.647vw, 20px);
          position: relative;

          &::after {
            content: "";
            position: absolute;
            top: 50%;
            right: clamp(10px, 7.573px + 0.647vw, 20px);
            transform: translateY(-50%);
            width: clamp(8px, 6.301px + 0.453vw, 15px);
            height: clamp(4px, 3.272px + 0.194vw, 7px);
            display: inline-block;
            background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.826' height='9.783' viewBox='0 0 17.826 9.783'%3E%3Cpath id='パス_188' data-name='パス 188' d='M7053.988,4339.357l7.082,7,7.918-7' transform='translate(-7052.574 -4337.943)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='2'/%3E%3C/svg%3E ") center center / contain no-repeat;
            transition: ease-in .2s;
          }

          &:hover {
            background-color: #fff;
            color: #C7A1A1;

            &::after {
              background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.826' height='9.783' viewBox='0 0 17.826 9.783'%3E%3Cpath id='パス_188' data-name='パス 188' d='M7053.988,4339.357l7.082,7,7.918-7' transform='translate(-7052.574 -4337.943)' fill='none' stroke='%23c7a1a1' stroke-linecap='round' stroke-width='2'/%3E%3C/svg%3E%0A");
            }
          }
        }
      }
    }

    .menu_tab {
      .treatment_accordion {
        gap: 20px;

        .category {
          width: calc((100% - 20px) / 2);

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

          .btn {
            .img {
              width: 60px;
            }
          }
        }
      }
    }
  }

  .sec_basic_price {
    /* 60px-150px:375px-1920px */
    margin-top: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);
  }

  .sec_price:last-child {
    /* 60px-120px:375px-1920px; */
    margin-bottom: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);
  }
}

.sec_price {
  /* 60px-120px:375px-1920px; */
  margin-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);

  .price_group {
    .price_group_ttl {
      font-family: var(--font-mplus);
      font-weight: 500;
      font-size: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
      color: #9B6D6D;
      text-align: center;
      margin: 0 0 clamp(1.563rem, 1.183rem + 1.62vw, 3.125rem);
    }

    .price_box {
      .price_ttl {
        position: relative;
        /* 20px-30px:375px-1920px */
        margin: 0 0 clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
        padding-left: 30px;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 17px-25px:375px-1920px */
        font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
        color: var(--color-ttl);

        &::before {
          content: "";
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          width: 15px;
          height: 80%;
          background-color: var(--color-ttl);
          border-radius: 5px 0 0 0;
        }

        &::after {
          content: "";
          position: absolute;
          left: 20px;
          top: 50%;
          transform: translateY(-50%);
          width: 2px;
          height: 80%;
          background-color: var(--color-ttl);
        }
      }

      .price_box_inner {
        .price_sub_ttl {
          font-family: var(--font-mplus);
          font-weight: 500;
          background-color: #C7A1A1;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          color: #fff;
          /* 30px-50px:375px-1920px */
          margin: 0 0 clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
          padding: 15px 25px;
          border-radius: 20px 0 0 0;
        }

        dl {
          display: flex;
          flex-wrap: wrap;
          margin: 0;

          dt {
            width: 50%;
            border-bottom: 1px #B58082 solid;
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            color: #B58082;
            padding: 30px 0;

            @media (max-width: 767px) {
              width: 100%;
              padding: 20px 0;
              border-bottom: 0;
              padding-bottom: 0;
            }

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

          dd {
            width: 50%;
            margin: 0;
            padding: 30px 0;
            border-bottom: 1px #B58082 solid;
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            text-align: right;

            @media (max-width: 767px) {
              padding: 10px 0 20px;
              width: 100%;
            }

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

            p {
              text-align: right;
              margin: 0;

              &:has(span) {
                display: flex;
                justify-content: space-between;
                text-align: right;

                span {
                  width: 70%;
                  text-align: right;
                }
              }

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

          &.border-presence {
            border-top: 1px #B58082 solid;
            padding-top: 30px;

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

      .price_tax {
        text-align: right;
        /* 12px-13px:375px-1920px */
        font-size: clamp(0.75rem, 0.735rem + 0.06vw, 0.813rem);
        margin: 15px 0;
      }

      .price_notes {
        background-color: #F4E6E6;
        /* 12px-13px:375px-1920px */
        font-size: clamp(0.75rem, 0.735rem + 0.06vw, 0.813rem);
        margin: 0 0 15px;
        padding: 20px;
      }

      &+.price_box {
        /* 40px-80px:375px-1920px */
        margin-top: clamp(2.5rem, 1.893rem + 2.59vw, 5rem);
      }
    }

    &+.price_group {
      /* 60px-120px:375px-1920px; */
      margin-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);
    }

    .btn_more3 {
      margin-top: 40px;

      a {
        margin: auto;
      }
    }
  }
}

/*------------------------------------
アクセス
------------------------------------*/
.page_access {
  .access_info {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .sec_ttl {
      .en {
        /* 40px-100px:375px-1920px */
        font-size: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
      }
    }

    .access_info_inner {
      display: flex;
      max-width: 935px;
      margin: auto;
      gap: 50px;

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

      dl {
        display: flex;
        flex-wrap: wrap;
        margin: 0;

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

        dt {
          width: 35%;
          border-bottom: 0.5px #CE9397 solid;
          padding: 30px 0;
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          color: #9B6D6D;

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

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

          &:last-of-type {
            border-bottom: none;
          }
        }

        dd {
          width: 65%;
          border-bottom: 0.5px #CE9397 solid;
          margin: 0;
          padding: 30px 0;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);

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

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

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

          &:last-of-type {
            border-bottom: none;
          }
        }
      }

      .img {
        width: 53%;
        flex-shrink: 0;

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

        img {
          width: 100%;
        }
      }
    }
  }

  .access_way {
    background-color: #FAF4F2;
    /* 60px-120px:375px-1920px; */
    padding-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);
    padding-bottom: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);

    .googlemap_area {
      @media (max-width: 767px) {
        margin-top: 50px;
        width: 100%;
      }

      .googlemap {
        overflow: hidden;
        border-radius: 20px;
        height: 500px;

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

        iframe {
          width: 100%;
          height: 100%;
        }
      }

      .map_open {
        display: flex;
        justify-content: flex-end;
        margin: 10px 0 0;

        a {
          display: flex;
          align-items: center;
          gap: 10px;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          font-weight: 500;

          &::after {
            content: "";
            background: url("../img/icon_link_blank.svg") center center / contain no-repeat;
            /* 14px-20px:375px-1920px */
            width: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
            height: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
            display: inline-block;
          }

          &:hover {
            opacity: 0.6;
          }
        }
      }
    }

    .way_subway {
      .ttl {
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 16px-20px:375px-1920px */
        font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
        margin: 0;

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

      .extension_list {
        /* 30px-50px:375px-1920px */
        margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

        .box {
          display: inline-block;
          background-color: #BB8B8D;
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 14px-18px:375px-1920px */
          font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
          color: #fff;
          margin: 0;
          padding: 3px 15px;
          letter-spacing: 0.05em;

          @media (max-width: 767px) {
            padding: 3px 8px;
          }

          small {
            font-weight: 500;
            /* 11px-14px:375px-1920px */
            font-size: clamp(0.688rem, 0.642rem + 0.19vw, 0.875rem);
            margin-left: 5px;
          }
        }

        .arrow {
          display: inline-flex;
          align-items: baseline;
          margin: 0 0 0 15px;
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          letter-spacing: 0.05em;

          @media (max-width: 767px) {
            flex-direction: column;
            align-items: center;
            margin-top: 10px;
            margin-left: 0;
            width: 100%;
          }

          &::before {
            content: "";
            display: inline-block;
            background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='25' viewBox='0 0 18 25'%3E%3Cpath id='多角形_4' data-name='多角形 4' d='M12.5,0,25,18H0Z' transform='translate(18) rotate(90)' fill='%23d1aeae'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
            width: 25px;
            height: 18px;
            margin-right: 10px;
          }

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

          p {
            font-family: var(--font-mplus);
            font-weight: 500;
            margin: 0;

            .color {
              font-family: var(--font-mplus);
              font-weight: 500;
              color: #9B6D6D;

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

              .large {
                font-family: var(--font-mplus);
                font-weight: 500;
                /* 22px-35px:375px-1920px */
                font-size: clamp(1.375rem, 1.178rem + 0.84vw, 2.188rem);
              }
            }
          }
        }
      }

      .directions {
        .ttl_sideline {
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          color: #9B6D6D;
          display: flex;
          align-items: center;
          gap: 10px;
          /* 15px-20px:375px-1920px */
          margin: 0 0 clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);

          &::before,
          &::after {
            content: "";
            flex-grow: 1;
            height: 1px;
            border-bottom: 1px #CE9397 solid;
          }
        }

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

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

          .directions_item {
            display: grid;
            grid-template-columns: clamp(0px, 7.08vw, 85px) 1fr clamp(0px, 25vw, 300px);
            gap: 50px;
            padding: 40px 60px;
            background-color: #EDDAD8;
            align-items: center;
            position: relative;

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

            &::before {
              content: "";
              position: absolute;
              top: 0;
              left: 0;
              width: 100%;
              height: 70px;
              background-color: #FAF4F2;
              clip-path: polygon(50% 100%, 0 0, 100% 0);
            }

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

            &::after {
              content: "";
              position: absolute;
              bottom: -70px;
              left: 0;
              width: 100%;
              height: 70px;
              background-color: #EDDAD8;
              clip-path: polygon(50% 100%, 0 0, 100% 0);
              z-index: 2;
            }

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

            .step_num {
              margin: 0;
              grid-column: 1;
              grid-row: 1;

              @media (max-width: 767px) {
                height: 60px;
                position: absolute;
                top: 10px;
              }

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

            .txt {
              grid-column: 2;
              grid-row: 1;
              font-family: var(--font-mplus);
              /* 16px-20px:375px-1920px */
              font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
              margin: 0;
            }

            .img {
              grid-column: 3;
              grid-row: 1;

              img {
                width: 100%;
              }
            }

            &:nth-child(1) {
              border-radius: 25px 25px 0 0;
              padding-bottom: 20px;

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

              &::before {
                display: none;
              }

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

            &:nth-child(2) {
              background-color: #F2E2DF;
              padding-top: 90px;
              padding-bottom: 20px;

              &::after {
                background-color: #F2E2DF;
              }
            }

            &:nth-child(3) {
              background-color: #F6EBE9;
              padding-top: 90px;
              padding-bottom: 20px;

              &::after {
                background-color: #F6EBE9;
              }
            }

            &:nth-child(4) {
              background-color: #FFFCFC;
              border-radius: 0 0 25px 25px;
              padding-top: 90px;

              &::after {
                display: none;
              }
            }

            &+.directions_item {
              margin-top: 15px;

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

    .way_bus {
      /* 60px-120px:375px-1920px; */
      margin-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);

      .inner {
        display: grid;
        grid-template-columns: 1fr 50%;
        grid-template-rows: auto auto 1fr;
        column-gap: 50px;

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

      .ttl_style1 {
        grid-column: 1;
        grid-row: 1;
        height: fit-content;
      }

      .large {
        grid-column: 1;
        grid-row: 2;
        font-family: var(--font-mplus);
        font-weight: 500;
        /* 16px-25px:375px-1920px; */
        font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
        /* 10px-15px:375px-1920px; */
        margin: 0 0 clamp(0.625rem, 0.549rem + 0.32vw, 0.938rem);
      }

      .txt {
        grid-column: 1;
        grid-row: 3;
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        margin: 0;
      }

      .img {
        grid-column: 2;
        grid-row: 1 / 4;

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

        img {
          width: 100%;
        }
      }
    }

    .way_taxi {
      /* 60px-120px:375px-1920px; */
      margin-top: clamp(3.75rem, 2.84rem + 3.88vw, 7.5rem);

      .txt {
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        margin: 0;
      }
    }
  }
}

/*------------------------------------
404
------------------------------------*/
.error404 {
  .sec_notfound {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .txt {
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      margin: 0;
      line-height: 2;
      text-align: center;
    }

    .btn_more {
      /* 20px-40px:375px-1920px */
      margin-top: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);

      a {
        margin: auto;
      }
    }
  }
}

/*------------------------------------
プライバシーポリシー
------------------------------------*/
.page_privacypolicy {
  main {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .ttl {
      font-family: var(--font-mplus);
      font-weight: 500;
      background-color: #C7A1A1;
      /* 17px-25px:375px-1920px */
      font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
      color: #fff;
      /* 30px-60px:375px-1920px */
      margin: clamp(1.875rem, 1.42rem + 1.94vw, 3.75rem) 0 20px;
      padding: 15px 25px;
      border-radius: 20px 0 0 0;
    }

    .txt {
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      margin: 0;
      line-height: 2;
    }
  }
}

/*------------------------------------
お問い合わせ
------------------------------------*/
.page_contact,
.page_contact-confirm,
.page_thanks {
  background-color: #FDF5F5;

  .contact_inner {
    /* 60px-150px:375px-1920px */
    padding-bottom: clamp(3.75rem, 2.385rem + 5.83vw, 9.375rem);

    .mail_step {
      list-style: none;
      /* 40px-50px:375px-1920px */
      margin: 0 0 clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem);
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;

      &>li {
        /* 12px-16px:375px-1920px */
        font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
        display: flex;
        align-items: center;

        &+li {
          &::before {
            content: "";
            display: inline-block;
            margin: 0 10px;
            /* 20px-55px:375px-1920px */
            width: clamp(1.25rem, 0.719rem + 2.27vw, 3.438rem);
            height: 1px;
            border-bottom: 1px #583B3B solid;
          }
        }

        &.current {
          color: #B58082;
        }
      }
    }

    .lead {
      font-family: var(--font-mplus);
      font-weight: 500;
      /* 17px-25px:375px-1920px */
      font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
      /* 40px-50px:375px-1920px */
      margin: 0 auto clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem);
      text-align: center;
    }

    .notice {
      font-family: var(--font-mplus);
      font-weight: 500;
      /* 17px-25px:375px-1920px */
      font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
      color: #B58082;
      /* 40px-50px:375px-1920px */
      margin: 0 auto clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem);
      padding: 10px 0;
      text-align: center;
      border-top: 1px #B58082 solid;
      border-bottom: 1px #B58082 solid;
      position: relative;
      max-width: 680px;
      width: 100%;

      &::before {
        content: "";
        position: absolute;
        top: -5px;
        width: 100%;
        height: 1px;
        border-top: 1px #B58082 solid;
        display: block;
      }

      &::after {
        content: "";
        position: absolute;
        bottom: -5px;
        width: 100%;
        height: 1px;
        border-top: 1px #B58082 solid;
        display: block;
      }
    }

    .contact_form {
      dt {
        margin-bottom: 10px;

        &>p {
          margin: 0;
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 17px-25px:375px-1920px */
          font-size: clamp(1.063rem, 0.941rem + 0.52vw, 1.563rem);
          color: #9B6D6D;
          display: flex;
          align-items: center;

          .required {
            font-family: var(--font-mplus);
            /* 10px-16px:375px-1920px */
            font-size: clamp(0.625rem, 0.534rem + 0.39vw, 1rem);
            color: #fff;
            background-color: #CE9397;
            border-radius: 5px;
            padding: 1px 10px;
            margin-left: 10px;
            height: fit-content;
          }
        }
      }

      dd {
        margin-left: 0;

        &>p {
          margin: 0;
          font-family: var(--font-mplus);
          font-weight: 500;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);

          input[name="your-name"],
          input[name="your-kana"],
          input[name="your-tel"],
          input[name="your-email"],
          textarea {
            width: 100%;
            padding: 10px;
            border-radius: 5px;
            border: 1px #9B6D6D solid;
            font-family: var(--font-mplus);
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          }

          .wpcf7-radio {
            label {
              display: flex;
            }
          }
        }

        .notes {
          font-size: 14px;
          display: flex;
          justify-content: space-between;
        }

        &+dt {
          margin-top: 40px;
        }
      }
    }

    .submit_area {
      position: relative;
      margin-top: clamp(2.5rem, 2.06rem + 1.88vw, 3.75rem);

      /* 送信ボタン */
      .btn_submit {
        display: flex;
        justify-content: center;
        transition: ease-in .2s;

        p {
          margin: 0;
          position: relative;
          transition: ease-in .2s;

          input {
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #B58082;
            border: none;
            font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
            color: #fff;
            min-width: 300px;
            width: 100%;
            padding: 1em;
            border-radius: 100px;
            cursor: pointer;
            transition: ease-in .2s;

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

          &::after {
            content: "";
            position: absolute;
            right: 20px;
            bottom: 45%;
            width: clamp(0.313rem, 0.241rem + 0.15vw, 0.375rem);
            height: clamp(0.313rem, 0.241rem + 0.15vw, 0.375rem);
            border: 0;
            border-top: solid 1px #fff;
            border-right: solid 1px #fff;
            transform: rotate(45deg);
            transition: ease-in .2s;
          }

          .wpcf7-spinner {
            display: none;
          }

          &:hover {
            opacity: 0.8;
            transition: ease-in .2s;
          }
        }
      }

      /* 修正 */
      .btn_previous {
        position: absolute;
        left: 0;
        top: 0;

        @media (max-width: 767px) {
          position: static;
          display: flex;
          justify-content: center;
          margin-top: 30px;
        }

        p {
          margin: 0;
          position: relative;
          transition: ease-in .2s;

          input {
            background-color: #cab9ba;
            border: none;
            color: #fff;
            font-size: 14px;
            padding: 1em;
            width: 140px;
            border-radius: 100px;
            cursor: pointer;
            transition: ease-in .2s;

            @media (max-width: 767px) {
              padding: 0.5em;
            }
          }

          &::before {
            content: "";
            position: absolute;
            left: 20px;
            bottom: 45%;
            width: clamp(0.313rem, 0.241rem + 0.15vw, 0.375rem);
            height: clamp(0.313rem, 0.241rem + 0.15vw, 0.375rem);
            border: 0;
            border-top: solid 1px #fff;
            border-left: solid 1px #fff;
            transform: rotate(-45deg);
            transition: ease-in .2s;
          }

          &:hover {
            opacity: 0.8;
            transition: ease-in .2s;
          }
        }
      }
    }
  }
}

.page_thanks {
  .contact_inner {
    .lead {
      /* 20px-40px:375px-1920px */
      font-size: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
      text-align: center;
      color: #9B6D6D;
    }

    .txt {
      text-align: center;
    }

    .btn_more {
      /* 30px-50px:375px-1920px */
      margin-top: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

      a {
        margin: auto;
      }
    }
  }
}