@charset "utf-8";

/*--------------------
root
--------------------*/
:root {
  --font-noto: "Noto Sans JP", serif;
  --font-belleza: "Belleza", serif;
  --font-marcellus: "Marcellus", serif;
}

/*--------------------
webfont
--------------------*/
* {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

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

body {
  counter-reset: number 0;
  color: #271609;
}

.no-scroll {
  overflow: hidden;
}

main {
  /* 70px-100px:375px-1920px */
  margin-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
}

a {
  color: #8B572F;
  text-decoration: none;
  transition: ease-in .2s;

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

picture {
  display: block;

  img {
    width: 100%;
  }
}

.grecaptcha-badge {
  display: none !important;
}

/* .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(1100px + 4%);
  margin: auto;
  padding: 0 2%;

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

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

  @media (max-width: 900px) {
    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;
  }
}

/*--------------------
固定CTA
--------------------*/
.fixed_cta {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 11;

  .btn_hamburger {
    background-color: #D5B297;
    /* 20px-30px:767px-1920px */
    padding: 20px 25px;
    width: 83px;

    /* ハンバーガー */
    .hamburger_lines {
      position: relative;
      height: 7px;
      -webkit-transition-duration: 300ms;
      transition-duration: 300ms;

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

      .line:nth-child(1) {
        top: 0;
      }

      .line:nth-child(2) {
        bottom: 0;
      }

      /* .line:nth-child(3) {
        top: 50%;
        transform: translateY(-50%);
      } */
      &.active {

        /* position: fixed;
        z-index: 102;
        right: 0; */
        .line {
          background-color: #fff;
        }
      }
    }
  }

  /* 各ボタン */
  .fixed_cta_list {
    list-style: none;
    margin: 0;
    padding: 0;

    @media (max-width: 767px) {
      position: fixed;
      bottom: 0;
      left: 0;
      display: flex;
      width: 100%;
    }

    .fixed_cta_item {
      width: 83px;
      background-color: rgba(255, 255, 255, 0.5);

      @media (max-width: 767px) {
        width: calc(100% / 3);
        background-color: rgba(255, 255, 255, 0.8);

        &.line,
        &.web,
        &.tel {
          display: none;
        }
      }

      a {
        height: 86px;
        font-family: var(--font-noto);
        font-size: 13px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;

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

        img {
          width: 35px;

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

        &:hover {
          opacity: 0.8;
        }
      }

      &+.fixed_cta_item {
        border-top: 1px #DEC09D solid;

        @media (max-width: 767px) {
          border-top: none;
          border-left: 1px #DEC09D solid;

          &.each_menu {
            border-left: none;
          }
        }
      }
    }
  }
}

/*--------------------
header
--------------------*/
header {
  .header_inner {
    position: absolute;
    width: 100%;

    @media (max-width: 767px) {
      background-color: #D5B297;
      position: fixed;
      top: 0;
      z-index: 11;
      display: flex;
      height: 47px;
    }

    /* ロゴ */
    .header_logo {
      margin: 0 0 40px 4%;
      padding-top: 20px;
      width: 242px;
      display: flex;
      align-items: center;

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

      a {
        display: block;

        img {
          width: 100%;
          vertical-align: baseline;
        }
      }
    }

    .sp.cta_line {
      margin: 13px 85px 0 auto;

      a {
        display: flex;
        align-items: center;
        gap: 7px;
        font-family: var(--font-noto);
        font-weight: 500;
        font-size: 13px;
        color: #fff;

        img {
          width: 20px;
        }
      }
    }
  }

  /* mv */
  .mv {
    position: relative;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;

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

    .copy {
      border-left: 1px #fff solid;
      padding-left: 20px;
      margin: 0 0 30px;
      position: relative;
      z-index: 3;

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

      .ja {
        margin: 0 0 5px;
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        font-family: var(--font-noto);
        color: #fff;
        letter-spacing: 1px;
      }

      .en {
        margin: 0;
        /* 13px-16px:375px-1920px */
        font-size: clamp(1.438rem, 0.955rem + 2.06vw, 2.5rem);
        font-family: var(--font-belleza);
        color: #fff;
        letter-spacing: 2px;
        line-height: 1;
      }
    }

    .mv_obj {
      position: absolute;
      top: -30px;
      right: -50px;
      z-index: 2;
      width: 573px;

      @media (max-width: 767px) {
        width: 247px;
        top: inherit;
        bottom: 30px;
        right: inherit;
        left: -40px;
      }

      img {
        width: 100%;
      }
    }

    .mv_swiper {
      overflow: hidden;
      height: 642px;

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

      .swiper-wrapper {
        list-style: none;
        padding: 0;

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

/*--------------------
ハンバーガー中身
--------------------*/
.ham_con {
  display: none;
  position: fixed;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #D5B297;
  transition: ease-in .2s;
  z-index: 101;
  overflow-y: scroll;
  overscroll-behavior: none;

  * {
    color: #fff;
  }

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

  .ham_con_inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 50px 8%;

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

    .ham_logo {
      width: 350px;
      margin: 0 0 80px;

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

      img {
        width: 100%;
      }
    }

    .ham_nav_list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      row-gap: 70px;

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

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

        a {
          display: block;
          padding: 0 30px;
          border-right: 1px #fff solid;

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

          .en {
            margin: 0;
            font-family: var(--font-belleza);
            /* 24px-29px:375px-1920px */
            font-size: clamp(1.5rem, 1.424rem + 0.32vw, 1.813rem);
            line-height: 1;
          }

          .ja {
            margin: 6px 0 0;
            /* 12px-14px:375px-1920px */
            font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
            line-height: 1;
          }

          &:hover {
            opacity: 0.8;
          }
        }

        &:last-child {
          a {
            border-right: none;
          }
        }
      }
    }

    .ham_bottom {
      display: grid;
      align-items: center;
      /* 20px-30px:375px-1920px */
      row-gap: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
      /* 30px-100px:375px-1920px */
      margin-top: clamp(1.875rem, 0.813rem + 4.53vw, 6.25rem);

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

      .cta_tel {
        grid-column: 1;
        grid-row: 1;

        @media (max-width: 767px) {
          grid-column: 1 / 3;
          grid-row: 1;
        }

        a {
          /* 24px-27px:375px-1920px */
          font-size: clamp(1.5rem, 1.454rem + 0.19vw, 1.688rem);
          display: flex;
          align-items: center;
          gap: 10px;
          letter-spacing: 2px;

          &::before {
            content: "";
            display: inline-block;
            background: url("../img/icon_tel_white.svg") center center / contain no-repeat;
            width: 30px;
            height: 30px;
            margin-top: 10px;
          }

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

      .access_area {
        grid-column: 1;
        grid-row: 2;
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        line-height: 1.8;
        margin: 0;

        @media (max-width: 767px) {
          grid-column: 1 / 3;
          grid-row: 2;
        }

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

        .address,
        .fax {
          /* @media (max-width: 767px) {
            margin-left: 0;
            display: block;
          } */
        }
      }

      .cta_area {
        grid-column: 2;
        grid-row: 2;
        display: flex;
        /* 10px-30px:375px-1920px */
        gap: clamp(0.625rem, 0.322rem + 1.29vw, 1.875rem);

        @media (max-width: 767px) {
          grid-column: 1;
          grid-row: 3;
        }

        .cta_btn {
          a {
            background-color: #fff;
            display: block;
            color: #D5B297;
            /* 16px-22px:375px-1920px */
            font-size: clamp(1rem, 0.909rem + 0.39vw, 1.375rem);
            padding: 10px 30px;

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

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

      .sns_list {
        grid-column: 3;
        grid-row: 2;
        justify-content: flex-end;

        @media (max-width: 767px) {
          grid-column: 2;
          grid-row: 3;
          gap: 15px;
          margin-left: auto;
        }

        .sns_item {
          a {
            img {
              @media (max-width: 767px) {
                width: 25px;
              }
            }
          }
        }
      }
    }
  }

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

header.active {
  .ham_con {
    display: flex;
    transition: ease-in .2s;
  }

  .header_logo {
    display: none;
  }

  .fixed_cta {
    z-index: 200;
  }

  .fixed_cta_list {
    display: none;
  }

  .header_inner {
    z-index: 102;

    .sp.cta_line {
      display: none;
    }
  }
}

/*--------------------
footer
--------------------*/
.sns_list {
  display: flex;
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;

  .sns_item {
    text-align: center;

    a {
      width: 35px;
      height: 35px;
      display: block;
      margin: auto;

      &:hover {
        opacity: 0.8;
      }

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

    small {
      display: block;
      font-size: 13px;
      margin-top: 5px;
    }

    &.x {
      a {
        img {
          padding: 2px 0;
        }
      }
    }
  }
}

footer {
  background-color: #3B291C;
  /* 50px-100px:375px-1920px */
  padding-top: clamp(3.125rem, 2.367rem + 3.24vw, 6.25rem);
  padding-bottom: 70px;

  * {
    color: #fff;
  }

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

  .f_top {
    border-bottom: 1px #646464 solid;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 50px;
    margin-bottom: 60px;

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

    .f_logo {
      width: 362px;

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

      img {
        width: 100%;
      }
    }
  }

  .f_bottom {
    display: flex;
    justify-content: space-between;
    /* 20px-50px:375px-1920px */
    margin-bottom: clamp(1.25rem, 0.795rem + 1.94vw, 3.125rem);

    @media (max-width: 767px) {
      flex-wrap: wrap;
      padding: 0 5%;
      row-gap: 30px;
    }

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

      .f_nav_item {
        line-height: 2.3;

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

        a {
          font-family: var(--font-noto);
          /* 13px-16px:375px-1920px */
          font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        }
      }
    }

    .cta_area {
      width: 200px;
      display: flex;
      flex-direction: column;
      gap: 25px;

      @media (max-width: 767px) {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        gap: 30px 10px;
      }

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

        a {
          display: block;
          border: 1px #fff solid;
          padding: 15px;
          text-align: center;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);

          &:hover {
            opacity: 0.8;
          }
        }
      }

      .cta_tel {
        margin-top: -5px;

        a {
          position: relative;
          padding-left: 40px;
          font-size: 21px;
          letter-spacing: 2px;

          &::before {
            content: "";
            display: block;
            position: absolute;
            top: 5px;
            left: 0;
            background: url(../img/icon_tel_white.svg) center center / contain no-repeat;
            width: 25px;
            height: 25px;
            z-index: 2;
            transition: ease-in.2s;
          }

          &::after {
            content: "";
            display: block;
            position: absolute;
            top: -10px;
            left: -20px;
            width: 53px;
            height: 53px;
            border-radius: 100px;
            background-color: #2F1B10;
            transition: ease-in.2s;
            transform: scale(0);
            opacity: 0;
          }

          &:hover {
            opacity: 0.8;

            &::before {
              width: 19px;
              height: 19px;
              top: 7px;
              left: -3px;
            }

            &::after {
              opacity: 1;
              transform: scale(1);
            }
          }
        }
      }
    }
  }

  .copyright {
    font-family: var(--font-noto);
    /* 12px-14px:375px-1920px */
    font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
    font-weight: 300;
    text-align: center;
  }
}

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

  .en {
    /* 45px-64px:375px-1920px */
    font-size: clamp(2.813rem, 2.524rem + 1.23vw, 4rem);
    font-family: var(--font-belleza);
    margin: 0;
    letter-spacing: 0.25rem;
    line-height: 1.5;

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

    &::after {
      content: "";
      width: 30px;
      height: 2px;
      background-color: #8B572F;
      display: block;
      margin: auto;
    }
  }

  .ja {
    font-size: 13px;
    font-family: var(--font-noto);
    margin: 20px 0 0;
  }
}

.bg_beige {
  background-color: #FFF6EC;
}

.bg_brown {
  background-color: #D5B297;

  .sec_ttl {
    color: #fff;

    .en {
      &::after {
        background-color: #fff;
      }
    }
  }
}

/*--------------------
btn
--------------------*/
.btn_more_white {
  display: flex;
  justify-content: center;

  a {
    height: 50px;
    border: 1px #fff solid;
    display: inline-flex;
    align-items: center;
    position: relative;

    span {
      width: fit-content;
      height: 50px;
      padding: 0 20px;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      font-family: var(--font-belleza);
      color: #fff;
      letter-spacing: 0.05rem;
      line-height: 1;
      border-right: 1px #fff solid;
      z-index: 1;
    }

    &::before {
      content: "";
      position: absolute;
      display: block;
      width: 0;
      height: 100%;
      background-color: #fff;
      left: 0;
      transition: all .2s ease-in-out;
      z-index: 0;
    }

    &::after {
      content: "";
      display: flex;
      background: url("../img/arrow_white.svg") center center / 14px no-repeat;
      width: 45px;
      height: 50px;
      z-index: 1;
    }

    &:hover {
      span {
        border-right-color: #CBA890;
        color: #CBA890;
      }

      &::before {
        width: 100%;
      }

      &::after {
        background: url("../img/arrow_beige.svg") center center / 14px no-repeat;
      }
    }
  }
}

.btn_more_brown {
  display: flex;
  justify-content: center;

  a,
  button {
    height: 50px;
    border: 1px #8B572F solid;
    display: inline-flex;
    align-items: center;
    position: relative;

    span {
      width: fit-content;
      height: 50px;
      padding: 0 20px;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      font-family: var(--font-belleza);
      color: #8B572F;
      letter-spacing: 0.05rem;
      line-height: 1;
      border-right: 1px #8B572F solid;
      z-index: 1;
    }

    &::before {
      content: "";
      position: absolute;
      display: block;
      width: 0;
      height: 100%;
      background-color: #8B572F;
      left: 0;
      transition: all .2s ease-in-out;
      z-index: 0;
    }

    &::after {
      content: "";
      display: flex;
      background: url("../img/arrow_brown.svg") center center / 14px no-repeat;
      width: 45px;
      height: 50px;
      z-index: 1;
    }

    &:hover {
      span {
        border-right-color: #fff;
        color: #fff;
      }

      &::before {
        width: 100%;
      }

      &::after {
        background: url("../img/arrow_white.svg") center center / 14px no-repeat;
      }
    }
  }
}

.btn_back_brown {
  a {
    /* 16px-18px:375px-1920px */
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    color: #BEA17A;
    display: inline-flex;
    align-items: center;

    &::before {
      content: "";
      width: 10px;
      height: 10px;
      border: 0;
      border-top: solid 1px #BEA17A;
      border-right: solid 1px #BEA17A;
      transform: rotate(-135deg);
      margin-right: 5px;
      margin-left: 2px;
      transition: ease-in .2s;
    }

    &:hover {
      opacity: 0.8;

      &::before {
        margin-right: 7px;
        margin-left: 0;
      }
    }
  }
}

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

  &>li {
    font-family: var(--font-noto);
    font-weight: 400;
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    margin: 15px 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11' viewBox='0 0 7 11'%3E%3Cpath d='M5.5,0,11,7H0Z' transform='translate(7) rotate(90)' fill='%23d5b297'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    padding-left: 15px;
    background-position-y: 5px;
    /* &::before {
      content: "";
      width: 0;
      height: 0;
      border-left: 7px solid #D5B297;
      border-top: 5px solid transparent;
      border-bottom: 5px solid transparent;
      margin-top: 7px;
    } */
  }
}

/*--------------------
top
--------------------*/
body.home {
  header {
    background-color: #D5B297;

    .header_inner {
      position: inherit;

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

      .header_logo {
        padding-top: 30px;

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

  main {
    margin-bottom: 0;
  }

  section {
    /* 70px-100px:375px-1920px */
    padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
  }
}

/* おすすめ施術 */
.top_recommend {
  .recommend_list {
    display: flex;
    flex-wrap: wrap;
    gap: 80px 55px;
    list-style: none;
    /* 30px-50px:375px-1920px */
    margin: 0 0 clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
    padding: 0;

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

    .recommend_item {
      width: calc((100% - 155px) / 2);

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

      a {
        color: #fff;
        position: relative;

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

        .img {
          aspect-ratio: 236 / 171;
          background-color: #fff;

          @media (max-width: 767px) {
            aspect-ratio: inherit;
          }

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: ease-in.2s;
          }
        }

        .ttl {
          position: absolute;
          margin: 0;
          /* 48px-64px:375px-1920px */
          font-size: clamp(3rem, 2.757rem + 1.04vw, 4rem);
          top: -50px;
          width: 100%;
          text-align: center;
          letter-spacing: 0.25rem;
          z-index: 2;

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

        .btn {
          position: absolute;
          bottom: 10px;
          left: 10px;
          margin: 0;

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

          span {
            position: relative;
            display: flex;
            align-items: center;
            font-family: var(--font-belleza);
            /* 14px-18px:375px-1920px */
            font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
            color: #8B572F;
            transition: all .3s ease-in-out;

            @media (max-width: 767px) {
              color: #fff;
            }

            &::before {
              content: '';
              position: absolute;
              bottom: 0;
              background: #8B572F;
              display: block;
              height: 1px;
              left: 0;
              transition: all .3s ease-in-out;
              width: 0;
              z-index: 0;
            }

            &::after {
              content: "";
              background: url("../img/arrow_brown.svg") center center / contain no-repeat;
              display: inline-block;
              width: 13px;
              height: 13px;
              font-size: 16px;
              margin-left: 7px;
              margin-right: 8px;
              transition: all .3s ease-in-out;
            }

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

        /* ホバー時のスタイル */
        &:hover {
          .img {
            img {
              opacity: 0.8;
            }
          }

          .btn {
            span {
              &::before {
                width: 100%;
              }

              &::after {
                margin-left: 15px;
                margin-right: 0;
              }
            }
          }
        }
      }

      &:nth-child(1) {
        margin-left: 100px;

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

      &:nth-child(2) {
        margin-top: 70px;

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

      &:nth-child(3) {
        margin-top: -70px;

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

        .btn {
          left: inherit;
          right: 10px;
        }
      }
    }
  }
}

/* MENU */
.top_menu {
  .button_area {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    max-width: 600px;
    width: 100%;
    /* 30px-45px:375px-1920px */
    margin: 0 auto clamp(1.875rem, 1.647rem + 0.97vw, 2.813rem);

    button {
      background: none;
      border: none;
      color: #8B572F;
      font-size: 24px;
      width: 50%;
      padding: 0 0 20px;
      cursor: pointer;
      transition: ease-in .2s;

      &:hover {
        opacity: 0.8;
      }
    }

    &::before {
      content: "";
      position: absolute;
      bottom: 0;
      width: 100%;
      /* 3px-5px:375px-1920px */
      height: clamp(0.188rem, 0.157rem + 0.13vw, 0.313rem);
      background-color: #F0DCD3;
    }

    &::after {
      content: "";
      position: absolute;
      bottom: 0;
      width: 50%;
      /* 3px-5px:375px-1920px */
      height: clamp(0.188rem, 0.157rem + 0.13vw, 0.313rem);
      background-color: #8B572F;
      transition: all .2s ease-in-out;
    }

    /* ボタン2がクリックされたときの移動 */
    &:has(button:nth-child(2).active)::after {
      transform: translateX(100%);
    }
  }

  /* .menu_tab_list {
    list-style: none;
    display: none;
    flex-wrap: wrap;
    gap: 27px;
    margin: 0 0 50px;
    padding: 0;

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

    .menu_tab_item {
      width: calc((100% - 81px) / 4);

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

      a {
        img {
          width: 100%;
        }

        .ttl {
          margin: 0;
          color: #8B572F;
          background-color: #fff;
          padding: 15px;
          text-align: center; */
  /* 14px-18px:375px-1920px */
  /* font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
        }

        &:hover {
          opacity: 0.8;
        }
      }
    }

    &.show {
      display: flex;
    }
  } */
  .menu_tab_box {
    display: none;

    &.show {
      display: block;
    }
  }

  .menu_accordion {
    background-color: #fff;

    .menu_category {
      background: url("../img/menu/menu_category_eyes.webp") center left / contain no-repeat, #F0DCD3;
      /* 20px-24px:375px-1920px */
      font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
      height: 93px;
      display: flex;
      align-items: center;
      margin: 0;
      padding-left: 230px;
      color: #8B572F;

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

      &.nose {
        background-image: url("../img/menu/menu_category_nose.webp");
      }

      &.mouth {
        background-image: url("../img/menu/menu_category_mouth.webp");
      }

      &.ear {
        background-image: url("../img/menu/menu_category_ear.webp");
      }

      &.sagging {
        background-image: url("../img/menu/menu_category_sagging.webp");
      }

      &.contour {
        background-image: url("../img/menu/menu_category_contour.webp");
      }

      &.scar_correction {
        background-image: url("../img/menu/menu_category_scar_correction.webp");
      }

      &.skin {
        background-image: url("../img/menu/menu_category_skin.webp");
      }

      &.other {
        background-image: url("../img/menu/menu_category_other.webp");
      }

      &.face {
        background-image: url("../img/menu/menu_category_face.webp");
      }

      &.scar {
        background-image: url("../img/menu/menu_category_scar.webp");
      }

      &.injury {
        background-image: url("../img/menu/menu_category_injury.webp");
      }

      &.trunk {
        background-image: url("../img/menu/menu_category_trunk.webp");
      }

      &.limb {
        background-image: url("../img/menu/menu_category_limb.webp");
      }

      &.skin_tumor {
        background-image: url("../img/menu/menu_category_skin_tumor.webp");
      }
    }

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

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

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

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

        a {
          font-size: 16px;
          font-family: var(--font-noto);
          display: flex;
          gap: 10px;
          align-items: center;
          position: relative;
          padding: 5px 5px 10px 5px;
          transition: all .3s ease-in-out;

          &::before {
            content: "";
            position: absolute;
            bottom: 0;
            background: #EBD0BB;
            display: block;
            height: 1px;
            left: 0;
            transition: all .3s ease-in-out;
            width: 0;
            z-index: 0;
          }

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

          &:hover {
            opacity: 0.6;

            &::before {
              width: 100%;
            }

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

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

  .btn_more_brown {
    margin-top: 50px;
  }
}

/* POINT */
.top_point {
  .container_m {
    @media (max-width: 767px) {
      padding: 0;
    }
  }

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

    .point_item {
      display: grid;
      grid-template-rows: 1fr max-content 1fr;
      column-gap: clamp(3.125rem, 2.557rem + 2.42vw, 4.375rem);
      margin-bottom: clamp(3.125rem, 2.557rem + 2.42vw, 4.375rem);

      @media (max-width: 767px) {
        display: block;
        margin-left: auto;
        width: 85%;
      }

      .num {
        display: flex;
        align-items: center;
        gap: 30px;
        grid-column: 1;
        grid-row: 1;
        /* 24px-32px:375px-1920px */
        font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
        color: #fff;
        /* 10px-25px:375px-1920px */
        margin: auto 0 clamp(0.625rem, 0.397rem + 0.97vw, 1.563rem);

        &::after {
          content: "";
          width: 100%;
          height: 1px;
          border-bottom: 1px #fff solid;
        }
      }

      .ttl {
        grid-column: 1;
        grid-row: 2;
        /* 27px-56px:375px-1920px */
        font-size: clamp(1.688rem, 1.248rem + 1.88vw, 3.5rem);
        color: #fff;
        text-align: left;
        /* 20px-25px:375px-1920px */
        margin: 0 0 clamp(1.25rem, 1.174rem + 0.32vw, 1.563rem);
      }

      .txt {
        grid-column: 1;
        grid-row: 3;
        /* 13px-18px:375px-1920px */
        font-size: clamp(0.813rem, 0.737rem + 0.32vw, 1.125rem);
        color: #fff;
        text-align: left;
        line-height: 1.8;
        margin: 0 0 auto;

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

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

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

      .img {
        grid-column: 2;
        grid-row: 1 / 4;
        width: 440px;
        height: 400px;

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

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

      &:nth-child(even) {
        @media (max-width: 767px) {
          margin-left: inherit;
          margin-right: auto;
        }

        .num {
          grid-column: 2;

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

        .ttl {
          grid-column: 2;

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

        .txt {
          grid-column: 2;

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

        .img {
          grid-column: 1;
          grid-row: 1 / 4;
        }
      }
    }
  }
}

/* ABOUT */
.top_about {
  .message_box {
    &>.inner {
      position: relative;
      display: grid;
      gap: 50px 0;
      grid-template-columns: calc((100% + 60px) / 2) 1fr 1fr;

      /* grid-template-columns: 35% 1fr 1fr; */
      @media (max-width: 1000px) {
        display: flex;
        flex-direction: column;
        gap: 0;
        overflow: hidden;
      }

      &::before {
        content: "";
        position: absolute;
        left: -60px;
        top: 45px;
        z-index: 0;
        background: url("../img/bg_logo_white.svg") top left no-repeat;
        width: 918px;
        height: 526px;
      }

      @media (max-width: 1000px) {
        &::before {
          background-size: contain;
          width: 420px;
          height: 240px;
          top: inherit;
          left: 60px;
          bottom: 100px;
        }
      }

      .img {
        grid-column: 1;
        grid-row: 1 / 3;
        z-index: 1;
        margin-right: 60px;

        @media (max-width: 1000px) {
          margin-bottom: 30px;
          max-width: 400px;
          width: 80%;
          margin: 0 auto 30px;
        }

        img {
          width: 100%;
        }
      }

      .message {
        grid-column: 2 / 4;
        grid-row: 1;
        z-index: 1;

        @media (max-width: 1000px) {
          margin-bottom: 30px;
        }

        p {
          margin: 0;
          line-height: 1.6;
          /* 13px-18px:375px-1920px */
          font-size: clamp(0.813rem, 0.737rem + 0.32vw, 1.125rem);

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

      .name_area {
        grid-column: 2;
        grid-row: 2;
        margin-top: auto;
        z-index: 1;
        display: grid;

        @media (max-width: 1000px) {
          margin-bottom: 50px;
        }

        .position {
          grid-column: 1 / 3;
          grid-row: 1;
          /* 16px-18px:375px-1920px */
          font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
          margin: 0;
        }

        .name {
          grid-column: 1;
          grid-row: 2;
          /* 24px-32px:375px-1920px */
          font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
          margin: 0;
        }

        .sns_list {
          grid-column: 2;
          grid-row: 2;
          align-items: center;

          @media (max-width: 1000px) {
            justify-content: flex-end;
          }

          .sns_item {
            a {
              width: 32px;
            }
          }
        }
      }

      .btn_more_brown {
        grid-column: 3;
        grid-row: 2;
        margin-top: auto;
      }
    }
  }
}

.career_box,
.activity_box {
  /* 50px-70px:375px-1920px */
  margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);

  .ttl {
    /* 20px-24px:375px-1920px */
    font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
    color: #8B572F;
    border-bottom: 1px #8B572F solid;
    margin: 0 0 20px;
    padding: 0 10px 10px;
  }

  .triangle_list {
    margin: 0 10px;
  }
}

.career_box {
  display: flex;
  gap: 60px;

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

  .inner {
    width: calc((100% - 60px) / 2);

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

    .triangle_list {
      &+.triangle_list {
        border-top: 1px #8b572f dotted;
      }
    }
  }
}

.activity_box {
  background-color: #fff;
  padding: 30px 50px;
  max-height: 145px;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;

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

  .ttl {
    display: flex;
    align-items: center;
    cursor: pointer;

    &::after {
      content: "";
      background: url("../img/arrow_circle_beige.svg") center center / contain no-repeat;
      width: 25px;
      height: 25px;
      margin-left: auto;
      transition: transform 0.2s ease-in;
    }
  }

  .triangle_list {
    &>li {
      .certificate {
        width: 100px;
        margin-top: 10px;

        img {
          width: 100%;
        }
      }
    }
  }

  &.show {
    max-height: 3000px;
    overflow: hidden;

    .ttl {
      &::after {
        transform: rotate(-180deg);
      }
    }
  }
}

.top_instagram {
  display: flex;
  justify-content: center;

  .instagram_area {
    margin-bottom: 30px;

    @media (max-width: 767px) {
      overflow-x: scroll;
    }

    iframe {
      @media (max-width: 767px) {
        width: 750px !important;
      }
    }
  }

  .btn {
    a {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      font-family: var(--font-belleza);
      color: #BA9477;
      font-size: 24px;
      letter-spacing: 0.1rem;

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

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

/* お知らせ */
.top_news {
  .btn_more_brown {
    /* 50px-60px:375px-1920px */
    margin-top: clamp(3.125rem, 2.973rem + 0.65vw, 3.75rem);
  }
}

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

  .news_item {
    a {
      position: relative;
      display: flex;
      align-items: center;
      gap: 40px;
      padding: 35px 20px;

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

      &::before {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 1px;
        background-color: rgba(139, 87, 47, 0.3);
      }

      &::after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        width: 0;
        height: 1px;
        background-color: #8B572F;
        transition: all .5s ease-in-out;
      }

      time {
        font-family: var(--font-noto);
        font-size: 13px;
        color: #D5B297;
        flex-shrink: 0;
      }

      .post_ttl {
        font-family: var(--font-noto);
        font-size: 16px;
        color: #271609;
      }

      &:hover {
        &::after {
          width: 100%;
        }
      }
    }
  }
}

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

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

    .column_item {
      width: calc((100% - 40px) / 3);
      font-size: 13px;

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

      .eyecatch {
        aspect-ratio: 1 / 1;

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

      .post_ttl {
        margin: 20px 0 10px;

        a {
          font-family: var(--font-noto);
          font-size: 13px;
          color: #271609;
        }
      }

      .column_category {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;

        .category_item {
          a {
            font-family: var(--font-belleza);
            font-size: 13px;
            letter-spacing: 1px;
            vertical-align: text-bottom;

            &:hover {
              opacity: 0.8;
            }
          }

          &+.category_item {
            border-left: 1px #8B572F solid;
            padding-left: 10px;
            margin-left: 10px;
          }
        }
      }

      time {
        display: block;
        font-family: var(--font-belleza);
        letter-spacing: 1px;
        color: #8B572F;
        margin-top: 7px;
      }
    }
  }

  .btn_more_brown {
    /* 50px-60px:375px-1920px */
    margin-top: clamp(3.125rem, 2.973rem + 0.65vw, 3.75rem);
  }
}

/* アクセス */
.top_access {
  .inner {
    background-color: #FFF4E8;
    display: grid;
    grid-template-columns: 1fr 610px;
    max-width: 1100px;
    width: 100%;
    margin: auto;
    /* 50px-70px:375px-1920px */
    padding-bottom: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);

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

    .img {
      grid-column: 1;
      grid-row: 1;

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

      img {
        width: 100%;
      }
    }

    .googlemap {
      grid-column: 1 / 3;
      grid-row: 2;
      max-width: 750px;
      width: 94%;
      height: 400px;
      margin: auto;
      /* 20px-70px:375px-1920px */
      margin-top: clamp(1.25rem, 0.492rem + 3.24vw, 4.375rem);

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

    .map_caption {
      grid-column: 1 / 3;
      grid-row: 3;
      max-width: 750px;
      width: 96%;
      margin: 20px auto 0;
      /* 13px-14px:375px-1920px */
      font-size: clamp(0.813rem, 0.797rem + 0.06vw, 0.875rem);
      font-family: var(--font-noto);
      text-align: center;
    }

    .access_info {
      grid-column: 2;
      grid-row: 1;
      padding: 45px 50px 50px;

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

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

      .logo {
        text-align: center;
        margin: 0 0 40px;
      }

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

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

        .address,
        .fax {
          margin-left: 20px;

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

      .medical_hours_table {
        font-size: 13px;
        width: 100%;
        margin: 30px 0;

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

        thead {
          background-color: #BA9477;
          color: #fff;

          tr {
            th {
              text-align: left;
              padding: 20px;

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

            td {
              padding: 20px;
              border-left: 1px #fff solid;
              text-align: center;

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

        tbody {
          background-color: #fff;

          tr {
            th {
              padding: 20px;

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

            td {
              color: #BA9477;
              padding: 20px;
              text-align: center;

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

            &+tr {
              border-top: 1px #F0DCD3 solid;
            }
          }
        }
      }

      .notes {
        font-size: 13px;
        margin: 0;
        line-height: 1.8;
      }
    }
  }
}

/*--------------------
下層ページタイトル
--------------------*/
.page_title {
  background: url("../img/about/page_title.jpg") center center / cover no-repeat;
  /* 198px-300px:375px-1920px; */
  height: clamp(12.375rem, 10.828rem + 6.6vw, 18.75rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  @media (max-width: 767px) {
    background: url("../img/about/page_title_sp.jpg") top 48px center / 100% no-repeat;
    padding-top: 48px;
  }

  .en {
    font-family: var(--font-belleza);
    /* 48px-68px:375px-1920px; */
    font-size: clamp(3rem, 2.697rem + 1.29vw, 4.25rem);
    color: #fff;
    letter-spacing: 2px;
    line-height: 1;
    /* 15px-20px:375px-1920px; */
    margin: 30px 0 clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);

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

    &::after {
      content: "";
      /* 25px-30px:375px-1920px; */
      width: clamp(1.563rem, 1.487rem + 0.32vw, 1.875rem);
      height: 2px;
      background-color: #fff;
      display: block;
      /* 10px-15px:375px-1920px; */
      margin: clamp(0.625rem, 0.549rem + 0.32vw, 0.938rem) auto 0;
    }
  }

  .ja {
    font-family: var(--font-noto);
    font-size: 13px;
    color: #fff;
    letter-spacing: 1px;
    margin: 0;
  }
}

/*--------------------
パンくず
--------------------*/
.breadcrumb {
  max-width: calc(1200px + 4%);
  width: 100%;
  margin: 10px auto 40px;
  padding: 0 2%;

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

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

  .breadcrumb_list {
    font-size: clamp(0.625rem, 0.537rem + 0.38vw, 0.875rem);
    display: flex;
    align-items: center;
    margin: auto;
    padding: 0;
    flex-wrap: wrap;
    list-style: none;

    .breadcrumb_item {
      display: flex;
      align-items: center;
      font-family: var(--font-noto);

      & * {
        color: #D5B297;
        font-family: var(--font-noto);
      }

      &+.breadcrumb_item {
        &::before {
          content: "";
          width: 6px;
          height: 6px;
          border: 0;
          border-top: solid 1px #D5B297;
          border-right: solid 1px #D5B297;
          transform: translateY(-50%) rotate(45deg);
          transition: ease-in .2s;
          margin: 6px 20px 0;
        }

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

/*--------------------
ページネーション
--------------------*/
.navigation.pagination {
  text-align: center;
  /* 30px-60px:375px-1920px; */
  margin-top: clamp(1.875rem, 1.42rem + 1.94vw, 3.75rem);

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

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

  .prev {
    color: #D5B297;
    display: inline-flex;
    align-items: center;
    gap: 0.2em;

    &::before {
      content: "";
      width: clamp(0.438rem, 0.393rem + 0.19vw, 0.563rem);
      height: clamp(0.438rem, 0.393rem + 0.19vw, 0.563rem);
      border: 0;
      border-top: solid 1px #D5B297;
      border-right: solid 1px #D5B297;
      transform: rotate(-135deg);
    }
  }

  .next {
    color: #D5B297;
    display: inline-flex;
    align-items: center;
    gap: 0.2em;

    &::after {
      content: "";
      width: clamp(0.438rem, 0.393rem + 0.19vw, 0.563rem);
      height: clamp(0.438rem, 0.393rem + 0.19vw, 0.563rem);
      border: 0;
      border-top: solid 1px #D5B297;
      border-right: solid 1px #D5B297;
      transform: rotate(45deg);
    }
  }
}

/*--------------------
404, thanks
--------------------*/
.error404,
.page_thanks {
  main {
    .txt {
      text-align: center;
      line-height: 2;
      /* 40px-60px:375px-1920px; */
      margin-bottom: clamp(2.5rem, 2.197rem + 1.29vw, 3.75rem);
    }
  }
}

/*--------------------
よくある質問
--------------------*/
.page_faq {
  .page_title {
    background-image: url("../img/faq/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/faq/page_title_sp.jpg");
    }
  }
}

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

    .faq_item {
      .faq_q {
        display: flex;
        align-items: center;
        gap: 30px;
        color: #8B572F;
        /* 16px-24px:375px-1920px; */
        font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
        background-color: #F8EAE4;
        margin: 0;
        padding: 25px 45px;
        transition: ease-in .2s;

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

        &::before {
          content: "Q";
          color: #8B572F;
          /* 24px-32px:375px-1920px; */
          font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
          line-height: 1.2;
          margin-top: -5px;
          flex-shrink: 0;
          transition: ease-in .2s;
        }

        &::after {
          content: "";
          /* 20px-35px:375px-1920px; */
          width: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
          height: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
          background: url("../img/icon_plus_bronw.svg") center center / contain no-repeat;
          display: block;
          margin-left: auto;
          flex-shrink: 0;
          transition: ease-in .2s;
        }

        &.show {
          background-color: #8B572F;
          color: #fff;

          &::before {
            color: #fff;
          }

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

      .faq_a {
        border: 1px #8B572F solid;
        /* 16px-21px:375px-1920px; */
        font-size: clamp(1rem, 0.924rem + 0.32vw, 1.313rem);
        margin: 0;
        padding: 25px 45px;

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

        p {
          margin: 0;
          display: flex;
          gap: 30px;

          &::before {
            content: "A";
            display: block;
            color: #8B572F;
            /* 24px-32px:375px-1920px; */
            font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
            margin-top: -10px;
            transition: ease-in .2s;
          }
        }
      }

      &+.faq_item {
        margin-top: 30px;
      }
    }
  }
}

/*--------------------
お知らせ
--------------------*/
.post-type-archive-news,
.single-news {
  .page_title {
    background-image: url("../img/news/page_title.jpg");

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

  .news_list {
    .news_item:first-child {
      a {
        padding-top: 0;
      }
    }
  }
}

/*--------------------
コラム
--------------------*/
.post-type-archive-column,
.single-column,
.tax-column-category {
  .page_title {
    background-image: url("../img/column/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/column/page_title_sp.jpg");
    }
  }

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

    .blog_card {
      width: 100%;
      height: 100%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin-bottom: 5.36vw;
      gap: 2vw;
      align-items: center;

      @media (max-width: 767px) {
        width: 86.67vw;
        padding: 5.22vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-color: #FFF6EC;
        margin-bottom: 0;

        &:not(:last-child) {
          margin-bottom: 5.36vw;
        }
      }

      .blog_card_img {
        /* 300px-353px:375px-1920px */
        height: clamp(18.75rem, 17.946rem + 3.43vw, 22.063rem);

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

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

      .card_item {
        /* 11px-13px:375px-1920px */
        font-size: clamp(0.688rem, 0.657rem + 0.13vw, 0.813rem);

        span {
          color: #271609;
          font-family: var(--font-noto);
          font-weight: 500;
          /* 20px-30px:375px-1920px */
          margin-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);

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

        p {
          font-family: var(--font-noto);
          /* 30px-50px:375px-1920px */
          margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

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

        time {
          list-style: none;
          font-family: var(--font-belleza);
          color: #8B572F;
        }
      }
    }
  }

  .blog_category_wrap {
    display: flex;
    grid-template-columns: repeat(2, 1fr);
    align-items: self-start;
    /* 30px-40px:375px-1920px */
    gap: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);

    .blog_card_category {
      display: flex;
      flex-wrap: wrap;
      margin: 0;
      padding: 0;
      list-style: none;
      align-items: center;

      li {
        margin-top: 3px;
        margin-right: 15px;
        display: flex;
        align-items: center;
        font-family: var(--font-belleza);
        color: #D5B297;
        /* 11px-13px:375px-1920px */
        font-size: clamp(0.688rem, 0.657rem + 0.13vw, 0.813rem);
      }

      .category_tags li:first-child {
        margin-left: 0;
      }

      li:not(:last-child)::after {
        content: '|';
        margin-left: 10px;
        line-height: 1;
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        color: #D5B297;
      }
    }
  }
}

.blog_card_category {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
  /* 10px-13px:375px-1920px */
  margin-bottom: clamp(0.625rem, 0.579rem + 0.19vw, 0.813rem);

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

  li {
    margin-right: 15px;
    display: flex;
    align-items: center;

    a {
      font-family: var(--font-belleza);
      color: #8B572F;
      /* 11px-13px:375px-1920px */
      font-size: clamp(0.688rem, 0.657rem + 0.13vw, 0.813rem);
    }
  }

  .category_tags li:first-child {
    margin-left: 0;
  }

  li:not(:last-child)::after {
    content: '|';
    margin-left: 10px;
    line-height: 1;
    /* 13px-16px:375px-1920px */
    font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
    color: #333;
  }
}

/*--------------------
キャンペーン
--------------------*/
.post-type-archive-campaign,
.single-campaign {
  .page_title {
    background-image: url("../img/campaign/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/campaign//page_title_sp.jpg");
    }
  }

  .blog_card_wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 20px-60px:375px-1920px; */
    gap: clamp(1.25rem, 0.643rem + 2.59vw, 3.75rem);

    @media (max-width: 767px) {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 6.67vw;
    }

    .campaign_card {
      max-width: 327px;

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

      .campaign_img {
        aspect-ratio: 1 / 1;

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

      p {
        font-family: var(--font-noto);
        /* 11px-13px:375px-1920px */
        font-size: clamp(0.688rem, 0.657rem + 0.13vw, 0.813rem);
        font-weight: 500;
        color: #271609;
      }
    }
  }
}

/*--------------------
サイドバー
--------------------*/
.page_post_inner {
  display: grid;
  /* 40px-70px:767px-1920px; */
  gap: 0 clamp(2.5rem, 2.045rem + 1.94vw, 4.375rem);
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;

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

  /* サイドバー */
  .sidebar_post {
    grid-row: 1 / 3;
    grid-column: 1;
    min-width: 300px;
    width: calc(300px + ((100vw - 1100px) / 2));
    background-color: #D5B297;
    position: sticky;
    top: 0;
    min-height: 100svh;
    height: max-content;
    flex-shrink: 0;

    @media (max-width: 767px) {
      order: 3;
      width: 100%;
      position: inherit;
      border-top: 7px #F0DCD3 solid;
    }

    .aside_ttl {
      background-color: #fff;
      margin: 0;

      span {
        display: block;
        margin-left: auto;
        padding: 15px 0;
        max-width: 300px;
        width: 90%;
        color: #8B572F;
        /* 21px-24px:375px-1920px; */
        font-size: clamp(1.313rem, 1.267rem + 0.19vw, 1.5rem);

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

    /* 最近の投稿 */
    .post_list {
      list-style: none;
      margin: 0 0 60px;
      padding: 0;
      max-width: 300px;
      width: 90%;
      margin-left: auto;

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

      .post_item {
        a {
          display: block;
          border-bottom: 1px #fff solid;
          padding: 20px 20px 20px 0;

          time {
            display: block;
            color: #fff;
            font-family: var(--font-noto);
            font-size: 12px;
          }

          .post_ttl {
            display: block;
            color: #fff;
            font-family: var(--font-noto);
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          }

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

    /* カテゴリ */
    /* 月間アーカイブ */
    .post_sidebar_list {
      list-style: none;
      margin: 0 0 60px;
      padding: 0;
      max-width: 300px;
      width: 90%;
      margin-left: auto;

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

      li {
        border-bottom: 1px #fff solid;
        font-family: var(--font-noto);
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        color: #fff;

        a {
          display: inline-block;
          font-family: var(--font-noto);
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          color: #fff;
          padding: 20px 0;

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

  .breadcrumb {
    grid-row: 1;
    grid-column: 2;
    padding: 0;

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

  main {
    grid-row: 2;
    grid-column: 2;
    width: 100%;
    padding-right: calc((100vw - 1100px) / 2);

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

.single-news,
.single-column,
.single-campaign {
  .page_post_inner {
    main {
      .post_info {
        display: flex;
        align-items: center;
        /* 20px-40px:375px-1920px; */
        gap: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
        /* 20px-30px:375px-1920px; */
        margin-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);

        .blog_card_category {
          margin: 3px 0 0;

          li {
            a {
              color: #D5B297;
            }
          }
        }

        time {
          font-family: var(--font-belleza);
          color: #D5B297;
          /* 14px-16px:375px-1920px; */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        }
      }

      .h1_post_ttl {
        /* 16px-24px:375px-1920px; */
        font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
        color: #8B572F;
        /* 40px-60px:375px-1920px; */
        margin: 0 0 clamp(2.5rem, 2.197rem + 1.29vw, 3.75rem);
      }

      .btn_back_brown {
        /* 40px-60px:375px-1920px; */
        margin-top: clamp(2.5rem, 2.197rem + 1.29vw, 3.75rem);
      }
    }

    .eyecatch {
      /* 300px-400px:375px-1920px; */
      width: clamp(18.75rem, 17.233rem + 6.47vw, 25rem);
      /* 300px-400px:375px-1920px; */
      height: clamp(18.75rem, 17.233rem + 6.47vw, 25rem);
      /* 30px-40px:375px-1920px; */
      margin-bottom: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);

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

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

.wysiwyg_area {
  p {
    /* 13px-16px:375px-1920px; */
    font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
    line-height: 1.8;
    font-family: var(--font-noto);
  }

  em {
    font-family: var(--font-noto);
    font-style: italic;
  }

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

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

  a {
    font-family: var(--font-noto);
    text-decoration: underline;

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

  h2 {
    background-color: #8B572F;
    color: #fff;
    /* 16px-20px:375px-1920px */
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    font-weight: 500;
    margin-bottom: 10px;
    padding: 10px 20px;
  }

  h3 {
    border-bottom: 1px #8B572F solid;
    color: #8B572F;
    /* 16px-20px:375px-1920px */
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    font-weight: 500;
    margin-bottom: 10px;
    padding: 0 0 10px;
  }

  h4 {
    border-left: 8px #8B572F solid;
    color: #8B572F;
    /* 16px-20px:375px-1920px */
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    font-weight: 500;
    margin-bottom: 10px;
    padding: 0 0 0 10px;
  }

  h5 {
    color: #8B572F;
    /* 16px-18px:375px-1920px */
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    font-weight: 500;
    margin-bottom: 10px;
  }

  ul {
    list-style: none;
    margin: 0;
    padding: 0;

    &>li {
      display: flex;
      gap: 10px;
      font-family: var(--font-noto);
      font-weight: 400;
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      margin: 15px 0;

      &::before {
        content: "";
        width: 0;
        height: 0;
        border-left: 7px solid #D5B297;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        margin-top: 7px;
      }
    }
  }

  ol {
    list-style: none;
    margin: 0;
    padding: 0;

    &>li {
      display: flex;
      gap: 10px;
      font-family: var(--font-noto);
      font-weight: 400;
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      margin: 15px 0;

      &::before {
        counter-increment: number 1;
        content: counter(number) " ";
        display: flex;
        justify-content: center;
        align-items: center;
        width: 23px;
        height: 23px;
        background-color: #D5B297;
        border-radius: 50px;
        color: #fff;
        line-height: 0;
        font-size: 14px;
        flex-shrink: 0;
      }
    }
  }
}

/*--------------------
クリニックについて
--------------------*/
.page_about {
  .page_title {
    background-image: url("../img/about/page_title.jpg");

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

  main {
    margin-bottom: 0;
  }

  /* コンセプト */
  .top_about {
    background-color: #FFF6EC;
    /* 70px-100px:375px-1920px */
    padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    margin-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);

    .sec_ttl {
      display: none;
    }

    .message_box {
      .btn_more_brown {
        display: none;
      }
    }
  }

  .about_artmake {
    background-color: #FFFBF7;
    /* 70px-100px:375px-1920px */
    padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);

    .message_box {
      .inner {
        display: grid;
        grid-template-columns: 1fr 275px;
        gap: 30px 70px;

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

        .name_area {
          grid-column: 1;
          grid-row: 1;
          display: flex;
          gap: 30px;
          align-items: flex-end;

          .position {
            /* 16px-18px:375px-1920px */
            font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
            margin: 0;
          }

          .name {
            /* 24px-32px:375px-1920px */
            font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
            margin: 0;
          }
        }

        .message {
          grid-column: 1;
          grid-row: 2;

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

        .img {
          grid-column: 2;
          grid-row: 1 / 3;

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

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

  /* クリニック案内 */
  .about_clinic {
    /* 70px-100px:375px-1920px */
    margin: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem) auto 0 auto;

    .clinic_ttl {
      color: #8B572F;
      /* 21px-30px:375px-1920px */
      font-size: clamp(1.313rem, 1.176rem + 0.58vw, 1.875rem);
      /* 40px-54px:375px-1920px */
      line-height: clamp(2.5rem, 2.288rem + 0.91vw, 3.375rem);
      text-align: center;
    }

    .clinic_info_wrap {
      display: flex;
      flex-wrap: wrap;
      /* 15px-59px:375px-1920px */
      column-gap: clamp(0.938rem, 0.27rem + 2.85vw, 3.688rem);
      /* 30px-50px:375px-1920px */
      row-gap: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
      justify-content: space-between;
      /* 30px-50px:375px-1920px */
      margin-top: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
      margin-left: auto;
      margin-right: auto;
      width: 1100px;

      @media (max-width: 1200px) {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 4vw;
      }

      .clinic_info {
        /* 15px-59px:375px-1920px */
        flex: 0 1 calc((100% - clamp(0.938rem, 0.27rem + 2.85vw, 3.688rem) * 2) / 3);
        flex-direction: column;
        margin: 0;

        @media (max-width: 1200px) {
          flex: 0 1 calc((100% - clamp(0.938rem, 0.27rem + 2.85vw, 3.688rem) * 2) / 2);
          flex-direction: column;
        }

        img {
          width: 100%;
        }

        .info_text {
          font-family: var(--font-noto);
          /* 13px-16px:375px-1920px */
          font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
          color: #8B572F;
          margin: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem) 0;

          .info_ttl {
            /* 18px-24px:375px-1920px */
            font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
            color: #8B572F;
          }
        }
      }
    }
  }
}

/* コンセプト */
.about_concept {
  display: flex;
  /*grid-template-columns: 1fr 50%;*/
  gap: clamp(1.875rem, 0.833rem + 1.39vw, 2.5rem);
  align-items: center;

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

  .about_sec_ttl {
    text-align: left;
    color: #D5B297;
    /* 30px-50px:375px-1920px */
    margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
    display: flex;
    flex-direction: column;

    @media (max-width: 960px) {
      margin-bottom: clamp(1.875rem, 1.474rem + 1.71vw, 2.5rem);
    }

    .en {
      /* 45px-64px:375px-1920px */
      font-size: clamp(2.813rem, 2.524rem + 1.23vw, 4rem);
      font-family: var(--font-belleza);
      margin: 0;
      letter-spacing: 0.25rem;
      line-height: 1.5;
      text-align: left;
      color: #8B572F;

      &::after {
        all: unset;
        content: none;
        ;
      }
    }

    .ja {
      font-size: 13px;
      font-family: var(--font-noto);
      margin: 0;
      margin-top: 0.5em;
      display: block;
      line-height: 1.5;
      position: relative;
      color: #8B572F;

      &::before {
        content: "";
        display: block;
        float: left;
        width: 30px;
        height: 2px;
        background-color: #8B572F;
        margin-top: 0.7em;
        margin-right: 8px;
      }

      &::after {
        content: "";
        display: block;
        clear: both;
      }
    }

    .concept_item {
      min-width: 500px;
      width: 100%;
      padding-left: 50px;
      padding-right: 50px;
      padding-bottom: 50px;
      /* 30px-35px:375px-1920px */
      margin-top: clamp(1.875rem, 1.799rem + 0.32vw, 2.188rem);
      position: relative;

      @media (max-width: 960px) {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        min-width: 0;
        width: 100%;
      }

      &::before {
        content: "";
        position: absolute;
        /* 30px-35px:375px-1920px */
        top: clamp(1.875rem, 1.799rem + 0.32vw, 2.188rem);
        left: 0;
        width: 100%;
        /* 30px-35px:375px-1920px */
        height: calc(100% - clamp(1.875rem, 1.799rem + 0.32vw, 2.188rem));
        background-color: #F8EAE4;
        z-index: -1;

        @media (max-width: 960px) {
          content: "";
          position: absolute;
          /* 80px-100px:375px-960px */
          top: clamp(5rem, 4.199rem + 3.42vw, 6.25rem);
          width: 100vw;
          margin-left: calc(-50vw + 50%);
          margin-right: calc(-50vw + 50%);
          /* 80px-100px:375px-960px */
          height: clamp(17.5rem, 15.897rem + 6.84vw, 20rem);
        }
      }

      .concept_ttl {
        color: #8B572F;
        /* 35px-40px:375px-1920px */
        font-size: clamp(2.188rem, 2.112rem + 0.32vw, 2.5rem);
        margin-top: 0;
        /* 55px-72px:375px-1920px */
        line-height: clamp(3.438rem, 3.18rem + 1.1vw, 4.5rem);
        letter-spacing: 0.05em;
        font-weight: 400;
      }

      .concept_text {
        color: #271609;
        /* 13px-18px:375px-1920px */
        font-size: clamp(0.813rem, 0.737rem + 0.32vw, 1.125rem);
        font-weight: 500;
        margin-bottom: 0;
        line-height: 1.8;
      }
    }
  }

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

.about_concept> :nth-child(3) {
  justify-self: end;
  align-self: start;
}

/*--------------------
診療案内
--------------------*/
.post-type-archive-menu {
  background-color: #FFF6EC;

  .page_title {
    background-image: url("../img/menu/page_title.jpg");

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

/*--------------------
施術詳細
--------------------*/
.single-menu {
  .breadcrumb {
    max-width: calc(1100px + 4%);
    width: 100%;
    margin: 10px auto 40px;
    padding: 0 2%;
  }

  .seo_ttl_area {
    position: relative;

    @media (max-width: 767px) {
      position: inherit;
      padding-top: 60px;
      margin-bottom: 30px;
    }

    .seo_ttl {
      /* 10px-13px:375px-1920px */
      font-size: clamp(0.625rem, 0.579rem + 0.19vw, 0.813rem);
      color: #8B572F;
      text-align: right;
      position: absolute;
      top: 40px;
      right: 130px;
      margin: 0;

      @media (max-width: 767px) {
        position: inherit;
        text-align: left;
        padding: 0 5%;
      }
    }
  }

  .page_title {
    background: none;
    align-items: flex-start;
    max-width: calc(1100px + 4%);
    width: 100%;
    margin: auto;
    padding: 0 2%;
    height: 370px;

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

    @media (max-width: 767px) {
      height: 200px;
      justify-content: flex-start;
    }

    .ja {
      font-family: inherit;
      /* 28px-64px:375px-1920px */
      font-size: clamp(1.75rem, 1.204rem + 2.33vw, 4rem);
      color: #8B572F;
      margin-top: 70px;
      width: 60%;

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

  .main_img {
    max-width: 460px;
    width: 30%;
    aspect-ratio: 23 / 19;
    position: absolute;
    top: 120px;
    right: 130px;
    box-shadow: -3vw 3vw #F8EAE4;

    @media (max-width: 767px) {
      width: 250px;
      height: 206px;
      top: 200px;
      right: 5%;
      box-shadow: -30px 30px #F8EAE4;
    }

    /* &::before {
      content: "";
      position: absolute;
      width: 460px;
      height: 380px;
      background-color: #F8EAE4;
      top: 60px;
      right: 60px;
    } */
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  main {
    background-color: #FFF6EC;
    margin-bottom: 0;
    padding-top: 30px;

    .breadcrumb {
      margin-bottom: 60px;

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

    .bg_beige {
      /* 70px-100px:375px-1920px */
      padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
      padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    }

    .bg_lightbeige {
      background-color: #FAF5EF;
      /* 70px-100px:375px-1920px */
      padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
      padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    }

    .bg_white {
      background-color: #fff;
      /* 70px-100px:375px-1920px */
      padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
      padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    }

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

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

      .en {
        /* 48px-64px:375px-1920px */
        font-size: clamp(3rem, 2.757rem + 1.04vw, 4rem);
        font-family: var(--font-belleza);
        margin: 0;
        line-height: 1;
        letter-spacing: 0.05em;
      }

      .ja {
        font-size: 13px;
        margin: 0;
        display: flex;
        align-items: center;
        gap: 10px;
        font-family: var(--font-noto);
        margin-top: 10px;

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

        &::before {
          content: "";
          width: 38px;
          height: 2px;
          background-color: #8B572F;
          display: block;
        }

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

      &.center {
        display: flex;
        flex-direction: column;
        align-items: center;

        .ja {
          flex-direction: column;
          gap: 20px;
          margin-top: 20px;

          &::before {
            width: 30px;
          }
        }
      }
    }

    .txt {
      font-family: var(--font-noto);
      /* 13px-16px:375px-1920px */
      font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
      line-height: 1.8;
      margin: 30px 0;
    }

    .wysiwyg_area {
      p {
        font-family: var(--font-noto);
        line-height: 1.8;
      }

      li {
        font-family: var(--font-noto);
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        margin: 10px 0;
        font-weight: 500;
      }
    }

    .notes_box {
      background-color: #fff;
      /* 40px-50px:375px-1920px */
      /* 20px-50px:375px-1920px */
      padding: clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem) clamp(1.25rem, 0.795rem + 1.94vw, 3.125rem);

      .ttl {
        font-family: var(--font-noto);
        font-weight: 500;
        /* 15px-18px:375px-1920px */
        font-size: clamp(0.938rem, 0.892rem + 0.19vw, 1.125rem);
        color: #8B572F;
        border-left: 5px #D5B297 solid;
        /* 20px-30px:375px-1920px */
        margin: 0 0 clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
        padding: 5px 0 5px 15px;
      }

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

        &+.ttl {
          /* 50px-70px:375px-1920px */
          margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
        }
      }

      &+.underline_ttl {
        /* 50px-70px:375px-1920px */
        margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
      }
    }

    /* とは？ */
    .menu_details {
      padding-top: 0;

      .read {
        margin-bottom: 50px;
      }
    }

    .menu_features {
      .read_box {
        position: relative;
        width: calc(1100px + 4%);
        margin: auto;
        padding: 0 2%;

        @media (max-width: 1200px) {
          width: 90%;
          padding: 0;
        }

        .menu_sec_ttl {
          position: relative;
        }

        .txt {
          position: relative;
          /* 13px-16px:375px-1920px */
          font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
          margin: 0;
          padding: 30px;
          background-color: #FAF5EF;
          width: 56%;

          @media (max-width: 767px) {
            width: 100%;
            margin-top: -45px;
            padding: 70px 5% 25px;
          }
        }

        .img {
          position: absolute;
          right: 0;
          top: 0;
          width: 47%;

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

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

        &:has(.img) {
          min-height: 390px;
        }

        &:not(:has(.img)) {
          .txt {
            width: 100%;
            padding-top: 25px;
            margin-top: 0;
          }
        }
      }

      .features_box {
        /* 50px-70px:375px-1920px */
        margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);

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

        .txt {
          margin: 0;
        }
      }

      .features_box:has(.img) {
        display: grid;
        grid-template-rows: auto auto;
        gap: 0 50px;

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

        .underline_ttl {
          grid-column: 2;
          grid-row: 1;
          /* 20px-30px:375px-1920px */
          margin: auto 0 clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
        }

        .img {
          grid-column: 1;
          grid-row: 1 / 3;
          width: 370px;
          height: 300px;

          @media (max-width: 767px) {
            width: 100%;
            /* 20px-30px:375px-1920px */
            margin-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
          }

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

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

      .features_box:nth-child(odd):has(.img) {
        .underline_ttl {
          grid-column: 1;
        }

        .img {
          grid-column: 2;
        }

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

    /* 治療法 */
    .menu_surgery {
      @media (max-width: 767px) {
        .container_m {
          padding: 0;
        }
      }

      .surgery_box {
        /* 50px-70px:375px-1920px */
        margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);

        .box_ttl {
          background-color: #8B572F;
          color: #fff;
          font-weight: 500;
          box-shadow: -10px 10px #EBD0BB;
          width: fit-content;
          padding: 15px 20px;
          margin: 0 0 0 -10px;
          position: relative;
          z-index: 1;

          @media (max-width: 767px) {
            box-shadow: -7px 7px #EBD0BB;
            max-width: 85%;
            margin: 0 auto -10px;
          }
        }

        .inner {
          background-color: #fff;
          margin-top: -10px;
          padding: 40px 50px;

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

          .read_area {
            .txt {
              margin: 0;
            }
          }

          .read_area:has(.img) {
            display: flex;
            align-items: center;
            gap: 50px;

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

            .img {
              width: 50%;
              flex-shrink: 0;

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

              img {
                width: 100%;
              }
            }
          }
        }

        .surgery_sub_box {
          background-color: #FFF6EC;
          margin-top: 50px;
          padding: 50px;

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

          .mark_ttl {
            margin: 0;
          }
        }

        .surgery_sub_box:has(.img) {
          display: grid;
          grid-template-columns: 1fr 350px;
          grid-template-rows: auto auto;
          align-items: center;
          gap: 30px 50px;
          padding: 0 0 0 50px;

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

          .mark_ttl {
            grid-column: 1;
            grid-row: 1;
            margin: auto 0 0;

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

          .txt {
            grid-column: 1;
            grid-row: 2;
            margin: 0 0 auto;

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

          .img {
            grid-column: 2;
            grid-row: 1 / 3;

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

    /* ダウンタイム */
    .menu_downtime {
      padding-top: 0;

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

        thead {
          tr {
            background-color: #8B572F;

            th {
              /* 15px-20px:375px-1920px */
              font-size: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
              color: #fff;
              padding: 10px;

              &:first-child {
                width: 300px;
                border-right: 1px #FAF5EF solid;

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

        tbody {
          tr {
            border-bottom: 1px #D5B297 solid;

            th {
              padding: 20px;
              /* 13px-16px:375px-1920px */
              font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
              font-weight: 500;
              color: #8B572F;

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

            td {
              padding: 20px 50px;
              /* 13px-16px:375px-1920px */
              font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
              text-align: left;

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

    /* 漫画 */
    .menu_manga {
      .manga_swiper_area {
        padding: 0 50px;

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

        .manga_swiper {
          .swiper-wrapper {
            .swiper-slide {
              .img {
                width: 100%;

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

    /* コンセプト */
    .menu_concept {
      .about_concept {
        /* background: url(../img/bg_logo_white.svg) top 85px left -30px no-repeat; */
        position: relative;

        &::before {
          content: "";
          position: absolute;
          left: -60px;
          top: 85px;
          z-index: 1;
          background: url(../img/bg_logo_white.svg) top left no-repeat;
          width: 918px;
          height: 526px;
        }

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

        .about_sec_ttl {
          .concept_item {
            .concept_ttl {
              position: relative;
              z-index: 2;
            }

            .concept_text {
              position: relative;
              z-index: 2;
            }

            &::before {
              background-color: #F8EAE4;
              z-index: 1;
            }
          }
        }

        .img {
          position: relative;
          z-index: 1;
        }
      }

      .top_point {
        margin-top: 150px;

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

        .point_list {
          .point_item {
            .num {
              color: #8B572F;

              &::after {
                border-bottom-color: #8B572F;
              }
            }

            .ttl {
              color: #8B572F;
            }

            .txt {
              color: #271609;
              font-family: inherit;

              a {
                color: #8B572F;
              }
            }

            &:last-child {
              margin-bottom: 0;
            }
          }
        }
      }
    }

    /* クリニック紹介 */
    .top_about {
      .message_box {
        &>.inner {
          &::before {
            display: none;
          }
        }
      }

      .activity_box {
        background-color: #FAF5EF;
      }
    }

    /* ご相談・ご予約はこちら */
    .menu_counseling {
      background: url("../img/menu/counseling_bg.jpg") center center / cover no-repeat;
      /* 70px-100px:375px-1920px */
      padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
      padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);

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

      .sec_ttl {
        color: #fff;

        .en {
          &::after {
            background-color: #fff;
          }
        }
      }

      .ttl {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        /* 18px-24px:375px-1920px */
        font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
        color: #fff;
        /* 30px-45px:375px-1920px */
        margin: clamp(1.875rem, 1.647rem + 0.97vw, 2.813rem) 0;

        &::before,
        &::after {
          content: "";
          display: inline-block;
          width: 30px;
          height: 1px;
          background-color: #fff;
        }
      }

      .cta_area {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 30px;
        list-style: none;
        margin: 0;
        padding: 0;

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

        &>li {
          .btn_more_white {
            a {
              height: 72px;

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

              span {
                height: 72px;
                /* 18px-24px:375px-1920px */
                font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
                gap: 15px;
                font-family: inherit;
                padding: 0 25px;

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

              &::after {
                width: 60px;
                height: 72px;
                background-size: 20px;
              }

              @media (max-width: 767px) {
                &::after {
                  width: 50px;
                  height: 60px;
                  background-size: 17px;
                }
              }

              &:hover {
                span {
                  color: #8B572F;
                  border-right-color: #8B572F;
                }

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

            &.line {
              a {
                span {
                  &::before {
                    content: "";
                    background: url("../img/icon_line_white.svg") center center / contain no-repeat;
                    width: 42px;
                    height: 42px;
                    display: inline-block;
                  }

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

                &:hover {
                  span {
                    &::before {
                      background-image: url("../img/icon_line.svg");
                    }
                  }
                }
              }
            }

            &.web {
              a {
                span {
                  &::before {
                    content: "";
                    background: url("../img/icon_web_white.svg") center center / contain no-repeat;
                    width: 42px;
                    height: 42px;
                    display: inline-block;
                  }

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

                &:hover {
                  span {
                    &::before {
                      background-image: url("../img/icon_web_brown.svg");
                    }
                  }
                }
              }
            }
          }

          .tel {
            display: flex;
            gap: 5px;
            color: #fff;
            letter-spacing: 0.05rem;
            /* 22px-24px:375px-1920px */
            font-size: clamp(1.375rem, 1.345rem + 0.13vw, 1.5rem);

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

            &::before {
              content: "";
              display: inline-block;
              /* 30px-33px:375px-1920px */
              width: clamp(1.875rem, 1.829rem + 0.19vw, 2.063rem);
              height: clamp(1.875rem, 1.829rem + 0.19vw, 2.063rem);
              background: url("../img/icon_tel_white.svg") center center / contain no-repeat;
              margin-top: 3px;
            }
          }
        }
      }
    }

    .top_access {
      /* 70px-100px:375px-1920px */
      padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
      padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    }
  }
}

.flow_swiper_area {
  padding: 0 50px;

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

  .flow_swiper {
    .swiper-wrapper {
      .swiper-slide {
        display: grid;
        grid-template-columns: 400px 1fr;
        grid-template-rows: auto auto;
        gap: 0 30px;
        position: relative;

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

        .ttl {
          grid-column: 2;
          grid-row: 1;
          font-family: var(--font-noto);
          font-weight: 500;
          /* 15px-18px:375px-1920px */
          font-size: clamp(0.938rem, 0.892rem + 0.19vw, 1.125rem);
          color: #8B572F;
          border-left: 5px #D5B297 solid;
          /* 15px-30px:375px-1920px */
          margin: auto 0 clamp(0.938rem, 0.71rem + 0.97vw, 1.875rem);
          padding: 5px 0 5px 15px;
          height: fit-content;

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

        .img {
          grid-column: 1;
          grid-row: 1 / 3;
          display: block;
          width: 400px;
          aspect-ratio: 4 / 3;
          flex-shrink: 0;

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

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

        .txt {
          grid-column: 2;
          grid-row: 2;
          margin: 0 0 auto;
          /* 13px-16px:375px-1920px */
          font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
          line-height: 2;

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

/* 次へ前へ */
.swiper_area {
  position: relative;

  .swiper-button-next,
  .swiper-button-prev {
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 27px;
    height: 27px;
    margin: 0;
    z-index: 2;

    &::after {
      content: "";
      display: block;
      width: 27px;
      height: 27px;
    }

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

      &::after {
        width: 24px;
        height: 24px;
      }
    }
  }

  .swiper-button-prev {
    left: -10px;

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

    &::after {
      background: url("../img/arrow_circle_beige.svg") top left no-repeat;
      background-size: contain;
      transform: rotate(90deg);
    }
  }

  .swiper-button-next {
    right: -10px;
    left: auto;

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

    &::after {
      background: url("../img/arrow_circle_beige.svg") top left no-repeat;
      background-size: contain;
      transform: rotate(-90deg);
    }
  }

  .swiper-button-disabled {
    display: none !important;
  }

  /* pagination */
  .swiper-pagination {
    bottom: -30px;

    .swiper-pagination-bullet {
      background: #F0DCD3;
      opacity: 1;
      margin: 0 6px;

      &.swiper-pagination-bullet-active {
        background: #D5B297;
      }
    }
  }
}

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

  &>li {
    position: relative;
    padding-left: 35px;
    font-family: var(--font-noto);
    /* 13px-16px:375px-1920px */
    font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
    font-weight: 500;
    color: #8B572F;

    &::after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 1px;
      left: 0;
      background: url("../img/icon_check.svg") center center / contain no-repeat;
      width: 20px;
      height: 20px;
    }
  }
}

.simple_ttl {
  /* 24px-30px:375px-1920px */
  font-size: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
  color: #8B572F;
  font-weight: 500;
  margin-bottom: clamp(1.25rem, 0.947rem + 1.29vw, 2.5rem);
}

.underline_ttl {
  /* 18px-24px:375px-1920px */
  font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
  color: #8B572F;
  border-bottom: 1px #8B572F solid;
  padding-bottom: 7px;
}

.mark_ttl {
  font-family: var(--font-noto);
  font-weight: 500;
  color: #8B572F;
  /* 16px-18px:375px-1920px */
  font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
  /* 20px-30px:375px-1920px */
  margin: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem) 0 0;
  display: flex;
  align-items: center;
  gap: 10px;

  &::before {
    content: "";
    display: inline-block;
    /* 45px-56px:375px-1920px */
    width: clamp(2.813rem, 2.646rem + 0.71vw, 3.5rem);
    /* 31px-40px:375px-1920px */
    height: clamp(1.938rem, 1.801rem + 0.58vw, 2.5rem);
    background: url("../img/icon_pallet_beige.svg") center center / contain no-repeat;
    flex-shrink: 0;
  }
}

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

  .case_item {
    display: grid;
    gap: 0 30px;

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

    .case_ttl {
      grid-column: 1 / 3;
      grid-row: 1;
      /* 16px-25px:375px-1920px */
      font-size: clamp(1rem, 0.863rem + 0.58vw, 1.563rem);
      color: #8B572F;
      display: flex;
      gap: 5px;
      font-weight: 500;
      margin: 0 0 15px;

      &::before {
        content: "";
        display: inline-block;
        background: url("../img/icon_moon_yellow.svg") center center / contain no-repeat;
        /* 30px-40px:375px-1920px */
        width: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
        height: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
        flex-shrink: 0;
        margin-top: -2px;
      }
    }

    .btn_more_brown {
      grid-column: 1 / 3;
      grid-row: 3;
      /* 20px-30px:375px-1920px */
      margin-top: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
      display: flex;
      justify-content: flex-end;

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

    &+.case_item {
      /* 50px-70px:375px-1920px */
      margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
      padding-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
      position: relative;
      border-top: 1px #656565 solid;
    }
  }
}

.case_photo {
  grid-column: 1;
  grid-row: 2;
  display: flex;

  @media (max-width: 1000px) {
    margin-bottom: 20px;
    justify-content: center;
  }

  .case_before,
  .case_after {
    .img {
      max-width: 200px;
      aspect-ratio: 1 / 2;

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

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

    .caption {
      background-color: #D5B297;
      text-align: center;
      color: #fff;
      font-family: var(--font-belleza);
      font-size: 16px;
      margin: 0;
      padding: 5px 0;
      letter-spacing: 0.05rem;
    }
  }

  .case_after {
    .caption {
      background-color: #BA9477;
    }
  }

  /* 横長画像Ver. */
  &.horizontal {
    flex-direction: column;

    .case_before,
    .case_after {
      position: relative;

      .img {
        max-width: 400px;
        aspect-ratio: 2 / 1;
      }

      .caption {
        position: absolute;
        top: 0;
        left: 0;
        width: fit-content;
        /* 85px-100px:375px-1920px */
        width: clamp(5.313rem, 5.085rem + 0.97vw, 6.25rem);
      }
    }
  }
}

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

.case_detail_list {
  display: flex;
  flex-wrap: wrap;

  dt {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-noto);
    width: 120px;
    flex-shrink: 0;
    color: #8B572F;
    border-bottom: 1px #D5B297 solid;
    /* 15px-20px:375px-1920px */
    padding-top: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
    padding-bottom: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
    /* 13px-16px:375px-1920px */
    font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
    font-weight: 500;

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

  dd {
    display: flex;
    align-items: center;
    font-family: var(--font-noto);
    width: calc(100% - 120px);
    margin: 0;
    border-bottom: 1px #D5B297 solid;
    /* 15px-20px:375px-1920px */
    padding-top: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
    padding-bottom: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
    padding-left: 10px;
    /* 13px-16px:375px-1920px */
    font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);

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

    &.small {
      font-size: 13px;
    }

    &.price {
      .price_detail {
        color: #fff;
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        margin: 10px 0 0;
        font-weight: normal;
      }
    }
  }
}

/*--------------------
症例一覧
--------------------*/
.post-type-archive-case {
  .page_title {
    background-image: url("../img/case/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/case/page_title_sp.jpg");
    }
  }

  .sec_case {
    .case_list {
      .case_item {
        /* 50px-70px:375px-1920px */
        margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
        padding-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
        border-top: 1px #656565 solid;
      }
    }
  }

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

/*--------------------
症例検索フォーム
--------------------*/
.case_search {
  /* 40px-110px:375px-1920px */
  margin: 0 auto clamp(2.5rem, 1.438rem + 4.53vw, 6.875rem);

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

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

    dt {
      width: 70px;
      flex-shrink: 0;
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      color: #8B572F;
      font-weight: 500;
      padding-top: 10px;
    }

    dd {
      width: calc(100% - 70px);
      margin: 0;
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      color: #8B572F;
      font-weight: 600;

      select {
        width: 100%;
        border: 1px #8B572F solid;
        padding: 10px 15px;
        color: #000;
        background: #fff;

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

        &:focus-visible {
          outline: none;
        }

        option {
          color: #000;
        }

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

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

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

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

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

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

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

  .btn_more_brown {
    margin-top: 40px;

    button {
      padding: 0;
      background: none;

      span {
        padding: 0 30px;
      }
    }
  }
}

/*--------------------
症例詳細
--------------------*/
.single-case {
  .page_title {
    background-image: url("../img/case/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/case/page_title_sp.jpg");
    }
  }

  main {
    margin-bottom: 0;
  }

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

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

    .case_ttl {
      /* 16px-30px:375px-1920px */
      font-size: clamp(1rem, 0.788rem + 0.91vw, 1.875rem);
      color: #8B572F;
      font-weight: 500;
      margin: 0;

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

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

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

      .case_photo {
        @media (max-width: 1000px) {
          margin-bottom: 0;
        }

        .case_before,
        & .case_after {
          .img {
            max-width: 250px;
          }
        }

        &.horizontal {

          .case_before,
          & .case_after {
            .img {
              max-width: 500px;
            }
          }
        }
      }

      .swiper-button-prev,
      .swiper-button-next {
        top: 50%;

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

      .swiper-button-prev {
        left: -40px;

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

      .swiper-button-next {
        right: -40px;

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

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

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

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

      .ttl {
        color: #8B572F;
        font-size: 18px;
        font-weight: 500;
        margin: 0 0 20px;
      }

      .txt {
        font-size: 16px;
        line-height: 1.8;
      }
    }
  }

  .case_info {
    background-color: #FAF5EF;
    /* 70px-100px:375px-1920px */
    padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);

    .inner {
      .treatment_name {
        /* 21px-24px:375px-1920px */
        font-size: clamp(1.313rem, 1.267rem + 0.19vw, 1.5rem);
        color: #8B572F;
        margin: 0;

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

      &+.inner {
        /* 50px-65px:375px-1920px */
        margin-top: clamp(3.125rem, 2.897rem + 0.97vw, 4.063rem);
      }
    }

    .btn_more_brown {
      /* 20px-30px:375px-1920px */
      margin-top: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
      justify-content: flex-end;

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

      a {
        span {
          font-family: inherit;
          padding: 0 30px;
        }
      }
    }
  }

  .case_detail_list {
    dt {
      width: 140px;

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

    dd {
      width: calc(100% - 140px);

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

/*--------------------
料金
--------------------*/
.page_price {
  .page_title {
    background-image: url("../img/price/page_title.jpg");

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

  /* 診療・施術料金 */
  .sec_basic_price {
    background-color: #F8EAE4;
    /* 50px-70px:375px-1920px; */
    margin-bottom: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
    /* 20px-30px:375px-1920px; */
    padding: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);

    .ttl {
      border-left: 4px #8B572F solid;
      /* 22px-27px:375px-1920px */
      font-size: clamp(1.375rem, 1.299rem + 0.32vw, 1.688rem);
      color: #8B572F;
      margin: 0 0 15px;
      padding-left: 10px;
    }

    .basic_price {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      margin: 0;

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

      dt {
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        color: var(--text-color);
        padding: 30px 20px;
        text-align: left;
        width: 50%;
        border-bottom: 1px #BA9477 solid;

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

      dd {
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        font-weight: 500;
        margin-left: 0;
        padding: 30px 20px;
        text-align: right;
        width: 50%;
        border-bottom: 1px #BA9477 solid;

        @media (max-width: 767px) {
          width: 100%;
          display: block;
          padding: 6px 0 10px;
        }

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

    .price_notes {
      font-family: var(--font-noto);
      font-size: 12px;
      /* 15px-20px:375px-1920px */
      margin: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem) 0 0;
    }
  }

  /* 料金表 */
  .sec_price {
    &+.sec_price {
      /* 60px-70px:375px-1920px; */
      margin-top: clamp(3.75rem, 3.598rem + 0.65vw, 4.375rem);
    }
  }
}

.page_price_inner {
  display: grid;
  /* 40px-70px:767px-1920px; */
  gap: 0 clamp(2.5rem, 2.045rem + 1.94vw, 4.375rem);

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

  /* パンくず */
  .breadcrumb {
    grid-column: 2;
    grid-row: 1;
    padding: 0;

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

  /* サイドバー */
  .sidebar_price {
    grid-column: 1;
    grid-row: 2;
    min-width: 300px;
    position: sticky;
    top: 20px;
    min-height: 100svh;
    height: max-content;
    flex-shrink: 0;

    @media (max-width: 767px) {
      width: 100%;
      position: inherit;
      order: 2;
      margin-bottom: 50px;
    }

    .aside_main_ttl {
      background-color: #D5B297;
      color: #fff;
      font-size: 20px;
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      padding: 5px 15px;

      &::before {
        content: "";
        display: inline-block;
        background: url("../img/icon_search.svg") center center / contain no-repeat;
        width: 22px;
        height: 22px;
        margin-top: 1px;
      }
    }

    .aside_ttl {
      font-family: var(--font-noto);
      border-bottom: 1px #271609 solid;
      /* 16px-18px:375px-1920px */
      font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
      margin: 0 0 10px;
      padding: 20px;
      display: flex;
      align-items: baseline;

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

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

    .radio_list {
      list-style: none;
      margin: 0;
      padding: 0 0 0 20px;

      .radio_item {
        label {
          span {
            font-family: var(--font-noto);
            margin-left: 10px;
          }
        }

        &+.radio_item {
          margin-top: 10px;
        }
      }
    }
  }

  main {
    order: 3;
    grid-column: 2;
    grid-row: 2;

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

.sec_price {
  .price_category {
    border-left: 4px #8B572F solid;
    /* 22px-27px:375px-1920px */
    font-size: clamp(1.375rem, 1.299rem + 0.32vw, 1.688rem);
    color: #8B572F;
    margin: 0 0 15px;
    padding-left: 10px;

    small {
      font-family: var(--font-noto);
      font-weight: 500;
      /* 10px-13px:375px-1920px */
      font-size: clamp(0.625rem, 0.579rem + 0.19vw, 0.813rem);
      display: block;
    }
  }

  .price_box {
    .insurance_type {
      background-color: #D5B297;
      color: #fff;
      font-size: 12px;
      width: fit-content;
      margin: 0 0 10px auto;
      padding: 5px 10px;
    }

    .menu_name {
      font-family: var(--font-noto);
      background-color: #8B572F;
      color: #fff;
      /* 16px-20px:375px-1920px */
      font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
      margin: 0 0 10px;
      padding: 10px 20px;
    }

    dl {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      margin: 0;

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

      dt {
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        color: var(--text-color);
        padding: 30px 20px;
        text-align: left;
        width: 50%;
        border-bottom: 1px #BA9477 solid;

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

      dd {
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        font-weight: 500;
        margin-left: 0;
        padding: 30px 20px;
        text-align: right;
        width: 50%;
        border-bottom: 1px #BA9477 solid;

        @media (max-width: 767px) {
          width: 100%;
          display: block;
          padding: 6px 0 10px;
        }

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

          p {
            margin: 0;

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

              span {
                width: 70%;
              }
            }

            &+p {
              /* 10px-20px:375px-1920px */
              margin-top: clamp(0.625rem, 0.473rem + 0.65vw, 1.25rem);
            }
          }
        }
      }

      &:not(:has(dt)) {
        dd {
          width: 100%;
        }
      }
    }

    &+.price_box {
      /* 70px-100px:375px-1920px */
      margin-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
    }

    .price_notes {
      font-family: var(--font-noto);
      color: #BA9477;
      font-size: 12px;
      /* 15px-20px:375px-1920px */
      margin: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem) 0 0;

      &+.mark_ttl {
        /* 60px-70px:375px-1920px */
        margin-top: clamp(3.75rem, 3.598rem + 0.65vw, 4.375rem);
      }
    }
  }
}

/*--------------------
お問い合わせ
--------------------*/
.page_contact,
.page_contact-confirm {
  .page_title {
    background-image: url("../img/contact/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/contact/page_title_sp.jpg");
    }
  }

  .contact_form {
    display: flex;
    flex-wrap: wrap;

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

    p {
      margin: 0;
    }

    dt {
      width: 230px;
      padding: 10px 0;

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

      p {
        font-family: var(--font-noto);
        color: #8B572F;

        .required {
          display: inline-block;
          background-color: #8B572F;
          font-family: var(--font-noto);
          font-weight: 500;
          color: #fff;
          font-size: 13px;
          line-height: 1;
          padding: 3px 5px 4px;
          margin-left: 15px;
        }
      }
    }

    dd {
      width: calc(100% - 230px);
      margin-left: 0;
      padding: 10px 0;

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

      p {
        font-family: var(--font-noto);
        color: #8B572F;
        /* 16px-18px:375px-1920px */
        font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);

        input[type=text],
        textarea {
          width: 100%;
          font-family: var(--font-noto);
          padding: 5px 10px;
        }

        .wpcf7-list-item-label {
          font-family: var(--font-noto);
          font-size: 13px;
        }
      }
    }
  }

  .wpcf7-list-item {
    margin: 0;
  }

  .notes {
    font-family: var(--font-noto);
    color: #8B572F;
    margin: 0;
    font-size: 13px;
    text-align: center;
    line-height: 2;

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

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

    .btn_submit {
      p {
        text-align: center;

        input[type=submit] {
          background: #fff;
          color: #8B572F;
          border: 1px #8B572F solid;
          padding: 15px 25px;
          transition: ease-in .2s;

          &:hover {
            background: #8B572F;
            color: #fff;
          }
        }

        .wpcf7-spinner {
          display: none;
        }
      }
    }

    /* 修正 */
    .btn_previous {
      position: absolute;
      left: 0;
      top: 0;

      @media (max-width: 767px) {
        position: static;
        display: flex;
        justify-content: center;
        margin-top: 30px;
      }

      p {
        display: inline-flex;
        align-items: center;

        &::before {
          content: "";
          width: 10px;
          height: 10px;
          border: 0;
          border-top: solid 1px #BEA17A;
          border-right: solid 1px #BEA17A;
          transform: rotate(-135deg);
          margin-right: 5px;
          margin-left: 2px;
          transition: ease-in .2s;
        }

        &:hover {
          opacity: 0.8;

          &::before {
            margin-right: 7px;
            margin-left: 0;
          }
        }

        input {
          /* 16px-18px:375px-1920px */
          font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
          color: #BEA17A;
          background: none;
          border: none;
        }
      }
    }
  }
}

/*--------------------
お問い合わせ確認
--------------------*/
.page_contact-confirm {
  main {
    .txt {
      /* 13px-16px:375px-1920px */
      font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
      text-align: center;
      /* 30px-50px:375px-1920px */
      margin: 0 0 clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
    }
  }

  .contact_form {
    dd {
      p {
        background-color: #FAF5EF;
        /* 13px-16px:375px-1920px */
        font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
        padding: 5px 10px;
        color: #271609;
      }
    }
  }
}

/*--------------------
アクセス
--------------------*/
.page_access {
  .top_access {
    &.bg_brown {
      background-color: #fff;
    }

    .inner {
      background-color: #fff;
    }

    .access_directions {
      display: flex;
      gap: 40px;
      max-width: 750px;
      width: 90%;
      margin: auto;

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

      .directions_inner {
        width: calc((100% - 40px) / 2);

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

        .ttl {
          /* 20px-24px:375px-1920px */
          font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
          color: #8B572F;
          /* 20px-30px:375px-1920px */
          margin: 0 auto clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
          padding-bottom: 5px;
          border-bottom: 1px #8B572F solid;
          width: fit-content;
        }

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

        .caption {
          /* 13px-14px:375px-1920px */
          font-size: clamp(0.813rem, 0.797rem + 0.06vw, 0.875rem);
          font-family: var(--font-noto);
        }
      }
    }
  }
}

/*--------------------
プライバシーポリシー
--------------------*/
.page_privacypolicy {
  .page_title {
    background-image: url("../img/contact/page_title.jpg");

    @media (max-width: 767px) {
      background-image: url("../img/contact/page_title_sp.jpg");
    }
  }

  main {
    .read {
      color: #8B572F;
      /* 16px-18px:375px-1920px */
      font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
      line-height: 2;
      /* 50px-70px:375px-1920px */
      margin-bottom: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
    }

    .ttl {
      color: #8B572F;
      border-bottom: 1px #8B572F solid;
      /* 20px-24px:375px-1920px */
      font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
      margin: 0 0 20px;
      padding-bottom: 15px;
      font-weight: 500;
    }

    .txt {
      /* 13px-16px:375px-1920px */
      font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
      line-height: 2;
      margin: 0 0 clamp(2.5rem, 2.197rem + 1.29vw, 3.75rem);

      &:last-child {
        margin-bottom: 0;
      }
    }
  }
}

/*--------------------
アクセス
--------------------*/
.page_access {
  .page_title {
    background-image: url("../img/access/page_title.jpg");

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

/*--------------------
サイトマップ
--------------------*/
.page_sitemap {
  .sitemap_wrap {
    display: flex;
    gap: 4%;

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

    &>.triangle_list {
      width: 48%;

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