@charset "utf-8";

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

:root {
  --font-en: "Roboto", sans-serif;
  --font-min: "Noto Serif JP", serif;
  --color-main: #36648B;
}

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

img {
  max-width: 100%;
}

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

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

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

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

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

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

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

.pc {
  display: block;

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

.sp {
  display: none;

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

a {
  text-decoration: none;
  transition: ease-in .2s;
}

.cancer_main {
  .sec_ttl {
    text-align: center;
    margin-top: 0;
    /* 40px-50px:375px-1920px */
    margin-bottom: clamp(2.5rem, 2.348rem + 0.65vw, 3.125rem);

    .en {
      font-family: var(--font-en);
      font-weight: 500;
      /* 13px-18px:375px-1920px */
      font-size: clamp(0.813rem, 0.737rem + 0.32vw, 1.125rem);
      color: var(--color-main);
      display: flex;
      align-items: center;
      justify-content: center;
      letter-spacing: 0.05rem;
      margin-top: 0;
      margin-bottom: 10px;

      &::before {
        content: "\25C6";
        font-size: 11px;
        color: #61C1CC;
        margin-right: 10px;
      }
    }

    .ja {
      font-family: var(--font-min);
      font-weight: 600;
      /* 24px-40px:375px-1920px */
      font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
      color: var(--color-main);
      letter-spacing: 0.05rem;
      line-height: 1.5;
      margin: 0;
    }
  }

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

.page {
  .cancer_main {
    .seo_ttl {
      font-weight: normal;
      font-size: 13px;
      text-align: right;
      max-width: 1200px;
      width: 90%;
      margin: auto;
      /* 20px-30px:375px-1920px */
      margin-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);

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

    .sec_about {
      background: url("../img/akagi-method/akagi_main_bg.webp") center center / cover no-repeat;
      max-width: 1200px;
      width: 100%;
      margin: auto;

      @media (max-width: 767px) {
        background-image: url("../img/akagi-method/akagi_main_bg_sp.webp")
      }

      .about_inner {
        max-width: 1000px;
        width: 90%;
        min-height: 500px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: auto;

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

        .ttl {
          font-family: var(--font-min);
          font-weight: 500;
          /* 32px-48px:375px-1920px */
          font-size: clamp(2rem, 1.757rem + 1.04vw, 3rem);
          line-height: 1.5;
          color: #fff;
          text-align: center;
          margin-top: 0;
          margin-bottom: 30px;

          &::after {
            content: "";
            display: block;
            width: 34px;
            height: 4px;
            background: #fff;
            margin: 25px auto 0;
          }

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

        .txt {
          color: #fff;
        }

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

          a {
            width: 330px;

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

    /* とは */
    .sec_detection {
      background: linear-gradient(0deg, rgba(232, 241, 248, 1) 0%, rgba(255, 255, 255, 1) 100%);
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      .contents_area {
        display: grid;
        grid-template-columns: 50% 1fr;
        gap: 30px;

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

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

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

        .ttl {
          grid-column: 2;
          grid-row: 1;
          margin: auto 0 0;
          font-family: var(--font-min);
          font-weight: 500;
          /* 20px-24px:375px-1920px */
          font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
          letter-spacing: 0.05em;
          line-height: 1.8;
        }

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

    /* 特長・メリット */
    .sec_point_merit {
      background-color: var(--color-main);
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      .sec_ttl {
        .en {
          color: #fff;

          &::before {
            color: #fff;
          }
        }

        .ja {
          color: #fff;
        }
      }

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

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

        .point_merit_item {
          width: calc((100% - 40px) / 2);
          padding: 40px;
          background-color: #fff;
          border-radius: 15px;

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

          .img {
            width: 195px;
            margin: 0 auto 20px;

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

          .ttl {
            text-align: center;
            font-family: var(--font-min);
            font-weight: 500;
            /* 20px-24px:375px-1920px */
            font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
            color: var(--color-main);
            letter-spacing: 0.05rem;
            margin: 0 0 20px;
          }
        }
      }
    }

    .sec_mechanism {
      background: url("../img/heat-therapy/mechanism_bg.webp") bottom center / cover no-repeat;
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      @media (max-width: 767px) {
        background-image: url("../img/heat-therapy/mechanism_bg_sp.webp")
      }

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

        .mechanism_item {
          display: grid;
          grid-template-columns: 37% 1fr;
          column-gap: 50px;

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

          .ttl {
            grid-column: 2;
            grid-row: 1;
            font-family: var(--font-min);
            font-weight: 500;
            /* 20px-32px:375px-1920px */
            font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
            letter-spacing: 0.05em;
            color: var(--color-main);
            margin: auto 0 25px;

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

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

            img {
              border-radius: 15px;

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

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

          &:nth-child(even) {
            grid-template-columns: 1fr 37%;

            .ttl {
              grid-column: 1;
            }

            .img {
              grid-column: 2;
            }

            .txt {
              grid-column: 1;
            }
          }

          &+.mechanism_item {
            margin-top: 50px;
          }
        }
      }
    }

    /* 特長 */
    .sec_feature {
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

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

        .feature_item {
          width: 94%;
          display: grid;
          grid-template-columns: 50% 1fr;
          grid-template-rows: auto 1fr;
          border-radius: 0 30px 0 0;
          overflow: hidden;
          box-shadow: 0px 0px 10px 0px #dadada;

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

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

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

            .point_num {
              position: absolute;
              top: 0;
              left: 0;
              margin: 0;
              display: flex;
              flex-direction: column;
              align-items: center;
              font-family: var(--font-min);
              font-weight: 500;
              font-size: 18px;
              color: var(--color-main);
              background-color: #EFF7FD;
              padding: 10px;
              border-radius: 0 0 30px 0;
              letter-spacing: 0.05em;

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

              .num {
                font-family: var(--font-min);
                font-weight: 500;
                font-size: 34px;
                color: var(--color-main);
                line-height: 1;
                margin-top: -3px;

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

          .ttl {
            grid-column: 2;
            grid-row: 1;
            background-color: var(--color-main);
            font-family: var(--font-min);
            font-weight: 500;
            /* 20px-24px:375px-1920px */
            font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
            color: #fff;
            letter-spacing: 0.05em;
            line-height: 1.8;
            margin: 0;
            padding: 30px 50px;

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

          .txt {
            grid-column: 2;
            grid-row: 2;
            padding: 30px 50px;

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

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

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

    .sec_eligibility {
      background-color: #EFF7FD;
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      .eligibility_box {
        border-radius: 30px;
        overflow: hidden;
        background-color: #fff;

        .box_hgroup {
          background-color: var(--color-main);
          padding: 30px;

          .box_ttl {
            font-family: var(--font-min);
            font-weight: 500;
            /* 20px-32px:375px-1920px */
            font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
            letter-spacing: 0.05em;
            color: #fff;
            margin: 0 0 10px;
            text-align: center;
          }

          .lead {
            font-family: var(--font-min);
            /* 16px-24px:375px-1920px */
            font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
            letter-spacing: 0.05em;
            color: #fff;
            margin: 0;
            text-align: center;
          }
        }

        .contents_area {
          max-width: 768px;
          width: 84%;
          margin: auto;
          padding: 40px 0;

          .ttl {
            background-color: #EFF7FD;
            font-weight: normal;
            /* 16px-20px:375px-1920px */
            font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
            margin: 0 0 20px;
            padding: 20px 20px 20px 70px;
            letter-spacing: 0.05em;
            position: relative;

            &::before {
              content: "";
              position: absolute;
              top: 17px;
              left: 20px;
              background: url("../img/heat-therapy/icon_check.svg") center center / contain no-repeat;
              /* 28px-32px:375px-1920px */
              width: clamp(1.75rem, 1.689rem + 0.26vw, 2rem);
              height: clamp(1.75rem, 1.689rem + 0.26vw, 2rem);
              display: inline-block;
            }
          }

          .txt {
            &+.ttl {
              margin-top: 40px;
            }
          }
        }
      }

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

        .notes_ttl {
          font-family: var(--font-min);
          font-weight: 500;
          /* 20px-32px:375px-1920px */
          font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
          letter-spacing: 0.05em;
          color: var(--color-main);
          width: fit-content;
          border-bottom: 1px #000 solid;
          margin: 0 auto 20px;
          padding-bottom: 2px;
        }
      }
    }

    /* 副作用 */
    .sec_side_effect {
      background: url("../img/heat-therapy/side_effect_bg.webp") center center / cover no-repeat;
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      .side_effect_box {
        background-color: #fff;
        padding: 60px 0;

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

        .inner {
          max-width: 768px;
          width: 90%;
          margin: auto;

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

        .ttl {
          background-color: #F0FAFA;
          margin: 0 0 20px;
          padding: 20px 20px 20px 45px;
          position: relative;
          font-weight: normal;
          /* 16px-20px:375px-1920px */
          font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);

          &::before {
            content: "";
            position: absolute;
            top: 20px;
            left: 20px;
            display: inline-block;
            width: 5px;
            height: calc(100% - 40px);
            background-color: var(--color-main);
          }
        }

        .txt {
          margin-bottom: 40px;

          &:last-of-type {
            margin-bottom: 0;
          }
        }
      }
    }

    /* 費用等について */
    .sec_care {
      /* 80px-100px:375px-1920px */
      padding-top: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      .care_box {
        background: url("../img/heat-therapy/care_bg.webp") center center / cover no-repeat;
        padding: 50px 70px;
        border-radius: 30px;

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

        .sec_ttl {
          .en {
            color: #fff;

            &::before {
              color: #fff;
            }
          }

          .ja {
            color: #fff;
          }
        }

        ol {
          padding-left: 25px;

          &>li {
            color: #fff;
            letter-spacing: 0.05em;
            font-family: var(--font-min);
            /* 14px-20px:375px-1920px */
            font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
            line-height: 1.8;

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

        .txt {
          color: #fff;
          font-family: var(--font-min);
          /* 14px-20px:375px-1920px */
          font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);

          .underline {
            border-bottom: 1px #fff solid;
          }

          &.txt {
            margin-top: 30px;
          }
        }
      }
    }

    .sec_plan {
      /* 80px-100px:375px-1920px */
      padding-bottom: clamp(5rem, 4.697rem + 1.29vw, 6.25rem);

      .price_ttl {
        font-family: var(--font-min);
        font-weight: 500;
        /* 20px-24px:375px-1920px */
        font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
        background-color: #EFF7FD;
        border-left: 6px var(--color-main) solid;
        margin: 0;
        padding: 7px 20px;
        color: var(--color-main);
      }

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

        dt {
          width: 50%;
          font-weight: 600;
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          padding: 20px 0;
          border-bottom: 1px var(--color-main) solid;
          color: var(--color-main);

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

        dd {
          width: 50%;
          margin: 0;
          padding: 20px 0;
          border-bottom: 1px var(--color-main) solid;

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

          &>p {
            margin: 0;
            font-weight: 600;
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            text-align: right;

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

              &>span {
                width: 70%;
                font-weight: 600;
              }
            }

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

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

    /*--- 赤木メソッド ---*/
    &.akagi_method {
      .sec_about {
        .about_inner {
          .ttl {
            color: var(--color-main);

            &::after {
              background: var(--color-main);
            }
          }

          .txt {
            color: inherit;
          }

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

            a {
              width: 330px;

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

      /* 導入した理由 */
      .sec_reason {
        background: linear-gradient(0deg, rgba(232, 241, 248, 1) 0%, rgba(255, 255, 255, 1) 100%);
        /* 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);

        .figure {
          max-width: 430px;
          width: 70%;
          /* 40px-100px:375px-1920px */
          margin: 0 auto clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
        }

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

          .reason_item {
            .ttl {
              color: var(--color-main);
              font-weight: 600;
              /* 18px-24px:375px-1920px */
              font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
              display: flex;
              align-items: center;
              /* 20px-30px:375px-1920px */
              gap: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
              /* 20px-30px:375px-1920px */
              padding-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
              border-bottom: 2px var(--color-main) solid;

              .num {
                font-family: var(--font-min);
                font-weight: 500;
                /* 38px-64px:375px-1920px */
                font-size: clamp(2.375rem, 1.981rem + 1.68vw, 4rem);
                color: var(--color-main);
                line-height: 1;
                flex-shrink: 0;
              }
            }

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

        .new_choices {
          display: grid;
          grid-template-columns: 1fr 58%;
          column-gap: 50px;
          /* 70px-100px:375px-1920px */
          padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);

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

          .sec_ttl {
            grid-column: 1 / 3;
            grid-row: 1;
          }

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

          .cancer_graph {
            grid-column: 2;
            grid-row: 2;
            margin-top: -10px;

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

            .exhibition {
              text-align: center;

              a {
                color: var(--color-main);
                font-weight: 600;
                text-decoration: underline;

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

      .sec_composition {
        .sec_ttl {
          background: url("../img/ttl_speech_bubble_bg.svg") bottom center / cover no-repeat, var(--color-main);
          height: 330px;
          display: flex;
          flex-direction: column;
          align-items: center;
          padding-top: 80px;
          margin: 0;

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

          .en {
            color: #fff;

            &::before {
              color: #fff;
            }
          }

          .ja {
            color: #fff;
          }
        }

        .composition_box {
          background-color: #46759C;
          padding: 50px 0;

          .box_inner {
            display: grid;
            grid-template-columns: 37% 1fr;
            grid-template-rows: 1fr auto 1fr;
            column-gap: 50px;
            max-width: 1200px;
            width: 90%;
            margin: auto;

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

            .ttl {
              grid-column: 2;
              grid-row: 1;
              margin: auto 0 30px;
              font-family: var(--font-min);
              font-weight: 500;
              /* 20px-32px:375px-1920px */
              font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
              color: #fff;
              letter-spacing: 0.05em;

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

            .txt {
              grid-column: 2;
              grid-row: 2;
              color: #fff;

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

            .btn_more {
              grid-column: 2;
              grid-row: 3;
              margin-top: 30px;

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

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

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

              img {
                border-radius: 20px;
              }
            }
          }

          &:nth-of-type(even) {
            background-color: var(--color-main);

            .box_inner {
              grid-template-columns: 1fr 37%;

              .ttl {
                grid-column: 1;
              }

              .txt {
                grid-column: 1;
              }

              .btn_more {
                grid-column: 1;
              }

              .img {
                grid-column: 2;
              }
            }
          }
        }
      }

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

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

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

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

            img {
              overflow-x: scroll;
              display: block;
              max-width: 550px;
            }
          }
        }

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

          .cycle_item {
            display: grid;
            grid-template-columns: 110px 1fr;
            gap: 20px 35px;
            align-items: center;
            width: calc((100% - 60px) / 2);

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

            .ttl {
              grid-column: 1 / 3;
              grid-row: 1;
              background-color: #D1DDE7;
              border-radius: 100px 0 0 100px;
              overflow: hidden;
              font-weight: bold;
              /* 18px-24px:375px-1920px */
              font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
              color: var(--color-main);
              margin: 0;

              .num {
                background-color: var(--color-main);
                aspect-ratio: 1;
                display: inline-flex;
                justify-content: center;
                align-items: center;
                width: 66px;
                color: #fff;
                font-family: var(--font-en);
                font-weight: bold;
                /* 24px-30px:375px-1920px */
                font-size: clamp(1.5rem, 1.409rem + 0.39vw, 1.875rem);
                border-radius: 100px;
                /* 10px-25px:375px-1920px */
                margin-right: clamp(0.625rem, 0.397rem + 0.97vw, 1.563rem);

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

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

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

      /* オプション */
      .sec_aiim_program {
        /* 70px-150px:375px-1200px */
        padding-top: clamp(4.375rem, 2.102rem + 9.7vw, 9.375rem);
        /* 70px-100px:375px-1920px */
        padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
        background-color: #EFF7FD;
        position: relative;

        &::before {
          content: "";
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%);
          display: block;
          background-image: url("data:image/svg+xml,%3Csvg width='1200' height='120' viewBox='0 0 1200 120' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M600 120L1200 0H0L600 120Z' fill='white'/%3E%3C/svg%3E%0A");
          background-repeat: no-repeat;
          background-size: contain;
          background-position: top center;
          max-width: 1200px;
          width: 80%;
          height: 120px;
        }

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

          .step_item {
            display: flex;
            gap: 12px;
            position: relative;

            &::before {
              content: "";
              position: absolute;
              top: 0;
              left: 44px;
              height: 100%;
              width: 1px;
              background-color: var(--color-main);
              display: block;
            }

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

            .step_num {
              position: relative;
              z-index: 2;
              background: url("../img/akagi-method/step_num_bg.svg") center center / contain no-repeat;
              color: #fff;
              font-family: var(--font-min);
              font-weight: 500;
              /* 9px-16px:375px-1200px */
              font-size: clamp(0.563rem, 0.456rem + 0.45vw, 1rem);
              letter-spacing: 0.05em;
              width: 88px;
              height: 99px;
              display: flex;
              flex-direction: column;
              justify-content: center;
              align-items: center;
              flex-shrink: 0;

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

              .num {
                font-family: var(--font-min);
                color: #fff;
                /* 18px-32px:375px-1200px */
                font-size: clamp(1.125rem, 0.913rem + 0.91vw, 2rem);
                line-height: 1;
                margin-bottom: 15px;

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

            .contents_area {
              .icon {
                font-weight: 600;
                /* 16px-24px:375px-1920px */
                font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
                color: var(--color-main);
                display: flex;
                align-items: center;
                gap: 12px;
                margin-bottom: 15px;

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

                img {
                  width: 70px;

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

              .ttl {
                /* 30px-40px:375px-1920px */
                margin: 0 0 clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
                font-family: var(--font-min);
                font-weight: 600;
                /* 24px-32px:375px-1920px */
                font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
                color: var(--color-main);
                line-height: 1.5;
                width: fit-content;
                border-bottom: 1px #000 solid;
                padding-bottom: 10px;
              }

              .method_ttl {
                font-family: var(--font-min);
                font-weight: 600;
                /* 18px-24px:375px-1920px */
                font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
                color: var(--color-main);
                background-color: #D0DDE7;
                padding: 10px 30px;
                width: fit-content;
                border-radius: 100px;
              }

              .sub_effect {
                background-color: #eeeeee;
                /* 30px-40px:375px-1920px */
                margin-top: clamp(1.875rem, 1.723rem + 0.65vw, 2.5rem);
                /* 15px-30px:375px-1920px */
                padding: clamp(0.938rem, 0.71rem + 0.97vw, 1.875rem);
                border-radius: 10px;

                .underline {
                  text-decoration: underline;
                }
              }

              .txt_area {
                .txt {
                  small {
                    font-size: 13px;
                  }

                  &+.btn_blank {
                    margin-top: 15px;
                  }
                }

                .btn_blank {
                  a {
                    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.428571 0H4.28571V0.857143H0.857143V11.1429H11.1429V7.71429H12V11.5714L11.5714 12H0.428571L0 11.5714V0.428571L0.428571 0Z' fill='white'/%3E%3Cpath d='M12 0.428571V6H11.1428V1.46314L5.35112 7.25571L4.74512 6.64886L10.5368 0.857143H5.99997V0H11.5714L12 0.428571Z' fill='white'/%3E%3C/svg%3E%0A");
                    background-repeat: no-repeat;
                    background-position: center right 17px;
                    display: block;
                    background-color: var(--color-main);
                    color: #fff;
                    padding: 10px 40px 10px 17px;
                    border-radius: 100px;
                    width: fit-content;
                    font-weight: 400;
                    font-size: 13px;
                    box-shadow: 5px 5px 10px -8px #333;

                    @media (max-width: 767px) {
                      padding: 6px 40px 7px 17px;
                    }

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

            &+.step_item {
              /* 30px-50px:375px-1200px */
              margin-top: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
            }
          }
        }
      }

      /* 料金プラン */
      .sec_option {
        background: url("../img/option_bg-scaled.webp") center center / cover no-repeat;
        /* 70px-100px:375px-1200px */
        padding-top: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);
        padding-bottom: clamp(4.375rem, 3.92rem + 1.94vw, 6.25rem);

        .img {
          max-width: 630px;
          width: 80%;
          /* 30px-50px:375px-1200px */
          margin: 0 auto clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
          overflow: hidden;
          border-radius: 1000px;
        }

        .ttl {
          font-family: var(--font-min);
          font-weight: 600;
          /* 20px-32px:375px-1200px */
          font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
          color: var(--color-main);
          margin: 0 0 30px;
          text-align: center;
        }

        .txt {
          font-family: var(--font-min);
          /* 16px-24px:375px-1200px */
          font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
        }

        .btn_more_blue {
          margin-top: 30px;

          a {
            margin: auto;
          }
        }
      }

      .sec_plan {
        /* 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);
        background-color: #EFF7FD;

        .plan_table {
          border: none;
          width: 100%;

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

          thead {
            tr {
              td {
                border: none;
                background-color: #37A5D7;
                vertical-align: middle;
                text-align: center;
                font-weight: 500;
                /* 14px-16px:375px-1920px */
                font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
                letter-spacing: 0.05em;
                color: #fff;
                padding: 5px 20px;
                border-left: 1px #fff solid;

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

                &:first-child {
                  border: none;
                }

                @media (max-width: 767px) {
                  &:nth-child(1) {
                    width: 80px;
                  }

                  &:nth-child(2) {
                    width: 160px;
                  }

                  &:nth-child(3) {
                    width: 110px;
                  }

                  &:nth-child(4) {
                    width: 180px;
                  }
                }
              }
            }
          }

          tbody {
            tr {
              td {
                border: none;
                text-align: center;
                font-weight: 600;
                /* 14px-16px:375px-1920px */
                font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
                letter-spacing: 0.05em;
                padding: 5px 20px;
                vertical-align: middle;
                background-color: #fff;
                border-left: 1px #000 solid;

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

                &.left {
                  text-align: left;
                }

                &:first-child {
                  border: none;
                }
              }

              &:nth-child(even) {
                td {
                  background-color: #F7F7F7;
                }
              }
            }
          }
        }

        .notes {
          /* 14px-16px:375px-1920px */
          font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
          letter-spacing: 0.05em;
        }
      }

      /* 未承認医薬品の表記について */
      .sec_caution {
        /* 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);

        .caution_box {
          background-color: #F9F9F9;
          max-width: 1200px;
          width: 90%;
          margin: auto;
          padding: 100px 120px 70px;

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

          .ttl {
            font-family: var(--font-min);
            font-weight: 600;
            /* 20px-24px:375px-1920px */
            font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
            color: var(--color-main);
            line-height: 1.5;
            margin: 0 0 30px;
            display: flex;
            gap: 10px;
            padding-bottom: 10px;
            border-bottom: 1px #000 solid;

            .num {
              font-weight: 600;
              /* 24px-32px:375px-1920px */
              font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
              line-height: 1.1;
            }
          }

          *+.ttl {
            margin-top: 50px;
          }

          .txt {
            color: var(--color-main);
            font-weight: 500;
            font-size: 16px;
          }

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

            &>li {
              padding-left: 30px;
              background-image: url("data:image/svg+xml,%3Csvg width='19' height='20' viewBox='0 0 19 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9.5' cy='10' r='5.5' fill='%2336648B'/%3E%3Ccircle cx='9.5' cy='10' r='9' stroke='%2336648B'/%3E%3C/svg%3E%0A");
              background-position: top 1px left;
              background-repeat: no-repeat;
              font-weight: 500;
              font-size: 16px;
              color: var(--color-main);
              line-height: 1.8;

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

    /*--- 温熱療法 ---*/
    &.heat_therapy {
      .sec_about {
        background-image: url("../img/heat-therapy/heat-therapy_main_bg.webp");

        @media (max-width: 767px) {
          background-image: url("../img/heat-therapy/heat-therapy_main_bg_sp.webp");
        }
      }
    }
  }
}

.btn_more {
  a {
    position: relative;
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    background-color: #fff;
    color: var(--color-main);
    font-weight: bold;
    padding: 15px 45px;
    width: 250px;
    display: block;
    border-radius: 100px;
    transition: ease-in .2s;

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

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      right: 38px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='30' height='31' viewBox='0 0 30 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.4678 20.9791C26.3189 26.1466 21.2225 29.7797 15.2774 29.7797C7.39243 29.7797 1 23.3873 1 15.4981C1 7.60896 7.39243 1.2207 15.2774 1.2207C21.1932 1.2207 26.2687 4.81619 28.4344 9.94184' stroke='%2336648B' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      transition: ease-in .2s;
    }

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

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 29px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='26' height='13' viewBox='0 0 26 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.733887 6.49805H24' stroke='%2336648B' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M18.5984 11.582L24 6.49812L18.5984 1.41846' stroke='%2336648B' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 23px;
      height: 10px;
      transition: ease-in .2s;
    }

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

    &:hover {
      color: #3C90A4;
      box-shadow: 4px 4px 15px -4px #061b2e82;

      &::before {
        background-image: url("data:image/svg+xml,%3Csvg width='30' height='31' viewBox='0 0 30 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.4678 20.9789C26.3189 26.1463 21.2225 29.7795 15.2774 29.7795C7.39243 29.7795 1 23.387 1 15.4979C1 7.60871 7.39243 1.22046 15.2774 1.22046C21.1932 1.22046 26.2687 4.81594 28.4344 9.94159' stroke='%233C90A4' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      }

      &::after {
        background-image: url("data:image/svg+xml,%3Csvg width='26' height='13' viewBox='0 0 26 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.733887 6.49771H24' stroke='%233C90A4' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M18.5984 11.5817L24 6.49785L18.5984 1.41818' stroke='%233C90A4' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
        right: 25px;
      }

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

.btn_more_blue {
  a {
    position: relative;
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    background-color: var(--color-main);
    color: #fff;
    font-weight: bold;
    padding: 15px 45px;
    width: 250px;
    display: block;
    border-radius: 100px;
    transition: ease-in .2s;

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

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      right: 38px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='30' height='31' viewBox='0 0 30 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.4678 20.9791C26.3189 26.1466 21.2225 29.7797 15.2774 29.7797C7.39243 29.7797 1 23.3873 1 15.4981C1 7.60896 7.39243 1.2207 15.2774 1.2207C21.1932 1.2207 26.2687 4.81619 28.4344 9.94184' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      transition: ease-in .2s;
    }

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

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 29px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='26' height='13' viewBox='0 0 26 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.733887 6.49805H24' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M18.5984 11.5815L24 6.49763L18.5984 1.41797' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 23px;
      height: 10px;
      transition: ease-in .2s;
    }

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

    &:hover {
      background-color: #3C90A4;
      color: #fff;
      box-shadow: 4px 4px 15px -4px #061b2e82;

      &::after {
        right: 25px;
      }

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

.btn_more_orange {
  a {
    position: relative;
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    background-color: #C96F4A;
    color: #fff;
    font-weight: bold;
    padding: 15px 45px;
    width: 250px;
    display: block;
    border-radius: 100px;
    transition: ease-in .2s;

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

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      right: 38px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='30' height='31' viewBox='0 0 30 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.4678 20.9791C26.3189 26.1466 21.2225 29.7797 15.2774 29.7797C7.39243 29.7797 1 23.3873 1 15.4981C1 7.60896 7.39243 1.2207 15.2774 1.2207C21.1932 1.2207 26.2687 4.81619 28.4344 9.94184' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      transition: ease-in .2s;
    }

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

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 29px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='26' height='13' viewBox='0 0 26 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.733887 6.49805H24' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M18.5984 11.5815L24 6.49763L18.5984 1.41797' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 23px;
      height: 10px;
      transition: ease-in .2s;
    }

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

    &:hover {
      background-color: #E29F83;
      color: #fff;
      box-shadow: 4px 4px 15px -4px #061b2e82;

      &::after {
        right: 25px;
      }

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

.btn_more_red {
  a {
    position: relative;
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    background-color: #8B4B5A;
    color: #fff;
    font-weight: bold;
    padding: 15px 45px;
    width: 250px;
    display: block;
    border-radius: 100px;
    transition: ease-in .2s;

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

    &::before {
      content: "";
      position: absolute;
      top: 50%;
      right: 38px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='30' height='31' viewBox='0 0 30 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M28.4678 20.9791C26.3189 26.1466 21.2225 29.7797 15.2774 29.7797C7.39243 29.7797 1 23.3873 1 15.4981C1 7.60896 7.39243 1.2207 15.2774 1.2207C21.1932 1.2207 26.2687 4.81619 28.4344 9.94184' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 28px;
      height: 28px;
      transition: ease-in .2s;
    }

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

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 29px;
      transform: translateY(-50%);
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='26' height='13' viewBox='0 0 26 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.733887 6.49805H24' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3Cpath d='M18.5984 11.5815L24 6.49763L18.5984 1.41797' stroke='white' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 23px;
      height: 10px;
      transition: ease-in .2s;
    }

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

    &:hover {
      background-color: #A96675;
      color: #fff;
      box-shadow: 4px 4px 15px -4px #061b2e82;

      &::after {
        right: 25px;
      }

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

.home {
  .cancer_main {
    * {
      font-family: "Noto Sans JP", sans-serif;
      font-weight: 400;
    }
  }

  /* NEWS */
  .top_news {
    /* 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);

    .news_box {
      display: grid;
      column-gap: 50px;
      grid-template-columns: 1fr 315px;
      background-color: #EFF7FD;
      /* 30px-50px:375px-1920px */
      padding: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

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

      .ttl {
        grid-column: 1 / 3;
        grid-row: 1;
        margin: 0 0 30px;
        font-family: var(--font-min);
        font-weight: 500;
        /* 20px-32px:375px-1920px */
        font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
      }

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

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

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

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

        .btn {
          margin-top: 30px;

          a {
            position: relative;
            /* 16px-20px:375px-1920px */
            font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
            background-color: var(--color-main);
            color: #fff;
            font-weight: bold;
            padding: 15px 45px;
            width: 100%;
            display: block;
            border-radius: 100px;
            text-align: center;
            transition: ease-in .2s;

            &::after {
              content: "";
              position: absolute;
              top: 50%;
              right: 20px;
              transform: translateY(-50%);
              display: inline-block;
              background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30Z' fill='white'/%3E%3Cpath d='M12.7468 22.098L19.2827 16.489C20.1963 15.7071 20.1963 14.2928 19.2827 13.5065L12.7468 7.89746' stroke='%2336648B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
              background-repeat: no-repeat;
              background-size: contain;
              width: 22px;
              height: 22px;
            }

            &:hover {
              opacity: 1;
              background-color: #3C90A4;
              color: #fff;
              box-shadow: 4px 4px 15px -4px #061b2e82;
            }
          }
        }
      }

      &+.news_box {
        margin-top: clamp(30px, 25.146px + 1.294vw, 50px);
      }

      /* 移転のお知らせ */
      &.transfer {
        display: block;

        .ttl,.txt {
          text-align: center;
        }
        .map {
          max-width: 600px;
          width: 100%;
          margin: 0 auto 30px;
        }
      }
    }
  }

  /* CANCER TREATMENT */
  .sec_cancer_treatment {
    background: linear-gradient(0deg, rgba(54, 100, 139, 1) 50%, rgba(125, 170, 208, 1) 100%);
    /* 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);

    * {
      color: #fff;
    }

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

      .en {
        color: #fff;

        &:before {
          color: #fff;
        }
      }
    }

    .lead_txt {
      font-family: var(--font-min);
      /* 20px-32px:375px-1920px */
      font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
      text-align: center;
      /* 30px-50px:375px-1920px */
      margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
      line-height: 1.8;
      letter-spacing: 0.05em;
    }

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

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

    .txt {
      text-align: center;

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

    .director_medical {
      border: 1px #fff solid;
      padding: 30px;
      max-width: 960px;
      width: 90%;
      /* 40px-55px:375px-1920px */
      margin: clamp(2.5rem, 2.272rem + 0.97vw, 3.438rem) auto 0;
      display: grid;
      grid-template-columns: 320px 1fr;
      grid-template-rows: auto;
      column-gap: 30px;

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

      .img {
        grid-column: 1;
        grid-row: 1 / 3;
        margin-bottom: 0;

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

      .ttl {
        grid-column: 2;
        grid-row: 1;
        font-family: var(--font-min);
        font-weight: 500;
        /* 20px-24px:375px-1920px */
        font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
        margin-top: auto;
        margin-bottom: 20px;
        line-height: 1.8;
        letter-spacing: 0.05em;
      }

      .txt {
        grid-column: 2;
        grid-row: 2;
        text-align: left;
      }
    }
  }

  /* MENU */
  .sec_menu {
    background-color: #6D99BF;
    /* 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);

    * {
      color: #fff;
    }

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

      .en {
        color: #fff;

        &:before {
          color: #fff;
        }
      }
    }

    .lead_txt {
      text-align: center;
      /* 30px-50px:375px-1920px */
      margin: 0 0 clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
      /* 14px-16px:375px-1920px */
      font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
      line-height: 1.8;
      letter-spacing: 0.05em;

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

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

      .therapy_item {
        width: calc((100% - 40px) / 2);
        display: flex;

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

        .therapy_item_inner {
          background-color: var(--color-main);
          display: grid;
          grid-template-columns: 180px 1fr;
          grid-auto-rows: max-content auto;
          align-items: flex-start;
          border-radius: 20px;
          padding: 0 40px 40px;
          transition: ease-in .2s;

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

          .therapy_name {
            grid-column: 1 / 3;
            grid-row: 1;
            position: relative;
            font-family: var(--font-min);
            font-weight: 500;
            /* 20px-24px:375px-1920px */
            font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
            letter-spacing: 0.05em;
            width: 100%;
            height: fit-content;
            border-bottom: 1px #fff solid;
            padding-top: 30px;
            padding-bottom: 30px;
            margin-bottom: 30px;
            margin-top: 10px;

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

            small {
              font-family: var(--font-min);
              font-weight: 500;
              /* 16px-18px:375px-1920px */
              font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
              letter-spacing: 0.05em;
            }

            &::after {
              content: "";
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%);
              display: inline-block;
              background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 30 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30Z' fill='white'/%3E%3Cpath d='M12.7468 22.098L19.2827 16.489C20.1963 15.7071 20.1963 14.2928 19.2827 13.5065L12.7468 7.89746' stroke='%2336648B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
              background-repeat: no-repeat;
              background-size: contain;
              width: 30px;
              height: 30px;
            }

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

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

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

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

        a.therapy_item_inner:hover {
          background-color: #3C90A4;
          box-shadow: 4px 4px 15px -4px #061b2e82;
        }

        &:last-child {
          width: 100%;

          .therapy_item_inner {
            .therapy_name {
              &::after {
                display: none;
              }
            }
          }
        }
      }
    }

    .feature_list {
      list-style: none;
      margin: 0;
      padding: 0;
      /* 50px-70px:375px-1920px */
      margin-top: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);

      .feature_item {
        display: grid;
        grid-template-columns: 1fr 400px;
        grid-template-rows: auto 1fr;
        gap: 30px 50px;

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

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

        .ttl {
          grid-column: 1;
          grid-row: 1;
          font-family: var(--font-min);
          font-weight: 500;
          letter-spacing: 0.05em;
          /* 20px-32px:375px-1920px */
          font-size: clamp(1.25rem, 1.068rem + 0.78vw, 2rem);
          line-height: 1.8;
          margin: 0;
        }

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

        &:nth-child(even) {
          grid-template-columns: 400px 1fr;

          .img {
            grid-column: 1;
          }

          .ttl {
            grid-column: 2;
          }

          .txt {
            grid-column: 2;
          }
        }

        &+.feature_item {
          /* 40px-70px:375px-1920px */
          margin-top: clamp(2.5rem, 2.045rem + 1.94vw, 4.375rem);
          padding-top: clamp(2.5rem, 2.045rem + 1.94vw, 4.375rem);
          border-top: 1px #fff solid;
        }
      }
    }
  }

  /* FAQ */
  .sec_faq {
    /* 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);

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

      .faq_item {
        position: relative;
        border: 1px var(--color-main) solid;
        padding: 20px;

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

        .faq_q,
        .faq_a {
          position: relative;
          font-family: var(--font-min);
          font-weight: 500;
          /* 16px-24px:375px-1920px */
          font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
          margin: 0;
          padding: 0 50px 0 150px;

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

          &::before {
            content: "";
            position: absolute;
            top: 0;
            left: 50px;
            background: url("../img/faq_q.svg") center center / contain no-repeat;
            display: inline-block;
            width: 75px;
            height: 75px;
          }

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

        .faq_q {
          min-height: 75px;
          padding-top: 20px;

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

          &::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 50px;
            transform: translateY(-50%);
            display: inline-block;
            background-image: url("data:image/svg+xml,%3Csvg width='35' height='36' viewBox='0 0 35 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='17.0493' x2='35' y2='17.0493' stroke='%2336648B'/%3E%3Cline x1='18' y1='0.0493164' x2='18' y2='35.0493' stroke='%2336648B'/%3E%3C/svg%3E%0A");
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center center;
            width: 35px;
            height: 35px;
          }

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

          &.show {
            &::after {
              background-image: url("data:image/svg+xml,%3Csvg width='35' height='2' viewBox='0 0 35 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='1.04932' x2='35' y2='1.04932' stroke='%2336648B'/%3E%3C/svg%3E%0A");
            }
          }
        }

        .faq_a {
          background-color: #EAF1F6;
          display: none;
          margin-top: 20px;
          padding-top: 40px;
          padding-bottom: 40px;
          min-height: 115px;

          @media (max-width: 767px) {
            padding-top: 10px;
            padding-right: 10px;
            padding-bottom: 10px;
            min-height: inherit;
          }

          .txt {
            font-family: var(--font-min);
            font-weight: 500;
            /* 16px-24px:375px-1920px */
            font-size: clamp(1rem, 0.879rem + 0.52vw, 1.5rem);
            margin: 0;
          }

          &::before {
            content: "";
            position: absolute;
            top: 20px;
            left: 50px;
            background: url("../img/faq_a.svg") center center / contain no-repeat;
            display: inline-block;
            width: 75px;
            height: 75px;
          }

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

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

  /* ACCESS */
  .sec_access {
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(232, 241, 248, 1) 100%);
    /* 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);

    .access_inner {
      display: flex;
      gap: 50px;

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

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

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

      .contents_area {
        width: calc((100% - 40%) - 50px);

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

        .clinic_table {
          width: 100%;
          border: 1px var(--color-main) solid;

          thead {
            tr {

              th,
              td {
                font-family: var(--font-min);
                font-weight: 500;
                /* 14px-24px:375px-1920px */
                border: 1px var(--color-main) solid;
                font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.5rem);
                text-align: center;
                vertical-align: middle;
                background-color: var(--color-main);
                color: #fff;
                padding: 10px 0;
              }

              th {
                width: 150px;

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

          tbody {
            tr {

              th,
              td {
                font-weight: 500;
                border: 1px var(--color-main) solid;
                /* 12px-20px:375px-1920px */
                font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
                text-align: center;
                vertical-align: middle;
                background-color: #fff;
                color: var(--color-main);
                padding: 10px 0;
              }
            }
          }
        }

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

        .address {
          font-weight: 600;
          /* 16px-20px:375px-1920px */
          font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
          margin-top: 20px;
          margin-bottom: 10px;
          line-height: 1.8;

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

        .tel_area {
          display: flex;
          gap: 40px;

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

          a {
            font-family: var(--font-min);
            font-weight: 600;
            /* 20px-27px:375px-1920px */
            font-size: clamp(1.25rem, 1.144rem + 0.45vw, 1.688rem);
            color: var(--color-main);

            i {
              margin-right: 10px;

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

          .free {
            margin: 0;

            i {
              svg {
                width: 31px;
                height: 18px;
              }
            }
          }

          .tel {
            margin: 0;

            i {
              svg {
                width: 22px;
                height: 22px;
                margin-bottom: -2px;
              }
            }
          }
        }
      }
    }
  }
}

/* DOCTOR */
.sec_doctor {
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(232, 241, 248, 1) 100%);
  /* 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);

  .doctor_inner {
    max-width: 1200px;
    width: 90%;
    margin: auto;
    display: grid;
    grid-template-columns: 50% 1fr;
    column-gap: 50px;

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

    .profile_area {
      container-type: inline-size;

      .sec_ttl {
        text-align: left;

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

        .en {
          justify-content: flex-start;

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

      @media (max-width: 767px) {
        .dr_img {
          margin-bottom: 30px;
          border-radius: 15px;
          overflow: hidden;
        }

        .dr_img_sub {
          margin-top: 30px;
          border-radius: 15px;
          overflow: hidden;
        }
      }

      .name_area {
        /* 25px-35px:375px-1920px */
        margin-bottom: clamp(1.563rem, 1.411rem + 0.65vw, 2.188rem);

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

        .name {
          font-family: var(--font-min);
          font-weight: 500;
          /* 20px-24px:375px-1920px */
          font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
          margin: 0;

          small {
            font-family: var(--font-min);
            font-weight: 500;
            /* 14px-16px:375px-1920px */
            font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
            margin-left: 10px;
          }
        }
      }

      .comment {
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        line-height: 1.8;
        background-color: #fff;
        padding: 20px;
        border-radius: 10px;
        color: var(--color-main);

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

      .ttl_line {
        /* 25px-35px:375px-1920px */
        margin-top: clamp(1.563rem, 1.411rem + 0.65vw, 2.188rem);
      }

      .ttl_line {
        font-family: var(--font-min);
        font-weight: 500;
        /* 20px-24px:375px-1920px */
        font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
        color: var(--color-main);
        /* 15px-20px:375px-1920px */
        margin-bottom: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
        padding-bottom: 10px;
        position: relative;
        width: fit-content;
        border-bottom: 3px var(--color-main) solid;

        &::before {
          content: "";
          position: absolute;
          bottom: -2px;
          left: 0;
          display: block;
          width: 100cqw;
          height: 1px;
          border-top: 1px var(--color-main) solid;
        }
      }
    }
  }
}

/* VISIT */
.sec_visit {
  background-color: #EFF7FD;
  /* 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);

  .lead_txt {
    text-align: center;
    /* 30px-50px:375px-1920px */
    margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);
    /* 14px-16px:375px-1920px */
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .contact_box {
    background-color: #fff;
    border-radius: 20px;
    /* 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);
    display: flex;
    /* 30px-50px:375px-1920px */
    margin-bottom: clamp(1.875rem, 1.572rem + 1.29vw, 3.125rem);

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

    .ttl {
      font-family: var(--font-min);
      font-weight: 600;
      /* 20px-24px:375px-1920px */
      font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
      text-align: center;
      color: var(--color-main);
      margin-top: 0;
      /* 20px-30px:375px-1920px */
      margin-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);
    }

    .img {
      text-align: center;
      /* 20px-30px:375px-1920px */
      margin-bottom: clamp(1.25rem, 1.098rem + 0.65vw, 1.875rem);

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

    .txt {
      text-align: center;

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

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

      a {
        margin: auto;
      }
    }

    .web {
      width: 50%;

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

    .tel {
      width: 50%;
      border-left: 1px var(--color-main) solid;

      @media (max-width: 767px) {
        width: 100%;
        border-top: 1px var(--color-main) solid;
        border-left: none;
        padding-top: 40px;
        margin-top: 40px;
      }

      .ttl {
        color: #8B4B5A;
      }

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

        a {
          margin: auto;
        }
      }
    }

    .reservation_web {
      width: 100%;

      .ttl {
        color: #C96F4A;
      }

      .notes {
        font-weight: 600;
        /* 14px-16px:375px-1920px */
        font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
        color: var(--color-main);
        text-align: center;
        margin-top: 20px;

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

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

        a {
          margin: auto;
        }
      }
    }
  }
}

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

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

    &::before {
      content: "";
      position: absolute;
      top: 4px;
      left: 0;
      display: inline-block;
      background-image: url("data:image/svg+xml,%3Csvg width='10' height='12' viewBox='0 0 10 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 6L0.25 11.1962V0.803847L10 6Z' fill='%2336648B'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      width: 12px;
      height: 13px;
    }

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

header,
footer {
  a {
    text-decoration: none;
  }
}

header {
  .header_inner {
    max-width: 1200px;
    width: 90%;
    margin: auto;
    padding: 20px 0;

    .header_top {
      display: flex;
      align-items: center;
      border-bottom: 1px #000 solid;
      padding-bottom: 30px;
      flex-wrap: wrap;

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

      .logo {
        margin: 0;

        @media (max-width: 1200px) {
          width: 34%;
        }

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

        a {
          display: block;

          img {
            vertical-align: baseline;
          }
        }
      }

      .tel_area {
        display: flex;
        flex-direction: column;
        align-items: end;
        margin-left: auto;
        margin-right: 24px;

        @media (max-width: 1200px) {
          flex-direction: row;
          align-items: center;
          gap: 10px;
        }

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

        .free_dial {
          margin: 0;

          a {
            span {
              font-family: var(--font-min);
              font-weight: 500;
              font-size: 31px;
              color: var(--color-main);
              letter-spacing: 0.05em;

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

            &::before {
              content: "";
              display: inline-block;
              background: url("data:image/svg+xml,%3Csvg width='32' height='18' viewBox='0 0 32 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27.2391 0H0V17.7767H27.2391V0Z' fill='%2336648B'/%3E%3Cpath d='M28.0557 16.297C28.0557 17.2354 28.8181 18 29.7564 18C30.6948 18 31.4594 17.2354 31.4594 16.297C31.4594 15.3587 30.6948 14.5963 29.7564 14.5963C28.8181 14.5963 28.0557 15.3587 28.0557 16.297ZM28.2519 16.297C28.2519 15.4669 28.9263 14.7902 29.7564 14.7902C30.5865 14.7902 31.2609 15.4669 31.2609 16.297C31.2609 17.1271 30.5865 17.8015 29.7564 17.8015C28.9263 17.8015 28.2519 17.1248 28.2519 16.297Z' fill='%2336648B'/%3E%3Cpath d='M30.5842 17.3977H30.2571L29.5962 16.3759H29.3052V17.3977H29.0436V15.1489H29.6797C29.894 15.1489 30.0609 15.2007 30.1849 15.3045C30.309 15.4083 30.3699 15.5526 30.3699 15.7376C30.3699 15.8752 30.3248 15.997 30.2346 16.103C30.1443 16.209 30.018 16.2812 29.8601 16.3195L30.5797 17.3977M29.3075 16.1504H29.6368C29.7744 16.1504 29.8872 16.112 29.9752 16.0376C30.0609 15.9609 30.1037 15.8684 30.1037 15.7534C30.1037 15.503 29.9503 15.3767 29.6436 15.3767H29.3075V16.1481V16.1504Z' fill='%2336648B'/%3E%3Cpath d='M6.84361 13.7887C5.35038 13.7887 3.49399 12.6474 3.49399 10.2902C3.49399 8.4609 5.30526 7.0015 6.84361 6.12631C8.38196 6.99924 10.191 8.4609 10.191 10.2902C10.191 12.6474 8.33684 13.7887 6.84361 13.7887ZM17.1068 10.2519C17.1068 8.42255 18.918 6.9609 20.4541 6.08796C21.9925 6.9609 23.8015 8.42255 23.8015 10.2519C23.8015 12.6068 21.9474 13.7504 20.4541 13.7504C18.9609 13.7504 17.1068 12.609 17.1068 10.2519ZM27.2346 2.7654C24.4669 2.7654 22.015 3.45563 20.3481 4.32179C18.6835 3.45563 16.3827 2.7654 13.615 2.7654C10.8474 2.7654 8.54662 3.45563 6.88196 4.32179C5.21729 3.45563 2.76767 2.7654 0 2.7654V4.32179C1.63534 4.32179 3.6203 4.62856 5.17895 5.30526C3.49624 6.43082 1.83158 8.13609 1.83158 10.288C1.83158 13.1323 4.25414 15.3068 6.88196 15.3068C9.50978 15.3068 11.815 13.1323 11.815 10.288C11.815 8.13609 10.2677 6.43082 8.58496 5.30526C10.1436 4.62856 11.9797 4.32179 13.6173 4.32179C15.2549 4.32179 17.091 4.62856 18.6474 5.30526C16.9647 6.43082 15.4173 8.13609 15.4173 10.288C15.4173 13.1323 17.7226 15.3068 20.3504 15.3068C22.9782 15.3068 25.3624 13.1323 25.3624 10.288C25.3624 8.13609 23.7361 6.43082 22.0511 5.30526C23.6098 4.62856 25.5993 4.32179 27.2346 4.32179V2.7654Z' fill='white'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
              width: 31px;
              height: 18px;
              margin-right: 5px;
            }

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

        .tel {
          margin: 0;

          a {
            span {
              font-family: var(--font-min);
              font-weight: 500;
              font-size: 27px;
              color: var(--color-main);
              letter-spacing: 0.05em;

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

            &::before {
              content: "";
              display: inline-block;
              background: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.9875 17.362C21.9351 17.0376 21.7317 16.7603 21.4272 16.5956L16.9219 13.9404L16.8848 13.9196C16.6959 13.825 16.4873 13.7766 16.276 13.7782C15.8986 13.7782 15.5381 13.9212 15.2879 14.1721L13.9582 15.5028C13.9013 15.5569 13.7158 15.6352 13.6596 15.638C13.6442 15.6368 12.1123 15.5264 9.29225 12.7052C6.47719 9.88996 6.35681 8.35297 6.35681 8.35297C6.35839 8.27438 6.4357 8.08953 6.4907 8.03231L7.62465 6.89835C8.0241 6.49784 8.14385 5.83388 7.90688 5.31956L5.40264 0.606117C5.22067 0.231381 4.8671 0 4.47487 0C4.19735 0 3.92958 0.115062 3.72026 0.324122L0.629255 3.40909C0.332882 3.70398 0.0776811 4.21956 0.0220524 4.63453C-0.00497628 4.8329 -0.553406 9.56804 5.93661 16.0608C11.4464 21.5715 15.7427 21.9997 16.9291 21.9997C17.0736 22.0016 17.218 21.9941 17.3616 21.9774C17.7752 21.9221 18.29 21.6674 18.5845 21.3722L21.6729 18.2832C21.925 18.0298 22.04 17.695 21.9875 17.362Z' fill='%2336648B'/%3E%3C/svg%3E%0A") center center / contain no-repeat;
              width: 22px;
              height: 22px;
              margin-right: 5px;
            }

            @media (max-width: 1200px) {
              &::before {
                background-image: url("data:image/svg+xml,%3Csvg width='29' height='30' viewBox='0 0 29 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14.4998' cy='15.2416' r='14' stroke='%2336648B'/%3E%3Cpath d='M23.0225 19.6797C22.9858 19.4533 22.8439 19.2598 22.6313 19.1449L19.4868 17.2922L19.4609 17.2777C19.3291 17.2117 19.1835 17.1779 19.036 17.179C18.7726 17.179 18.521 17.2788 18.3464 17.4539L17.4183 18.3824C17.3786 18.4201 17.2491 18.4748 17.2099 18.4767C17.1991 18.4759 16.13 18.3989 14.1616 16.4303C12.1968 14.466 12.1128 13.3935 12.1128 13.3935C12.1139 13.3387 12.1679 13.2097 12.2063 13.1698L12.9977 12.3785C13.2765 12.0991 13.3601 11.6358 13.1947 11.2769L11.4469 7.98805C11.3198 7.72658 11.0731 7.56513 10.7993 7.56513C10.6056 7.56513 10.4187 7.64541 10.2726 7.79129L8.11522 9.94386C7.90836 10.1496 7.73024 10.5094 7.69142 10.7989C7.67255 10.9373 7.28977 14.2413 11.8195 18.7718C15.6651 22.6169 18.6638 22.9157 19.4919 22.9157C19.5927 22.917 19.6935 22.9118 19.7937 22.9001C20.0824 22.8615 20.4417 22.6838 20.6472 22.4779L22.8029 20.3224C22.9788 20.1456 23.0591 19.912 23.0225 19.6797Z' fill='%2336648B'/%3E%3C/svg%3E%0A");
                width: 29px;
                height: 29px;
                margin-right: 0;
              }
            }
          }
        }
      }

      .cta_area {
        display: flex;
        align-items: center;
        gap: 20px;

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

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

          a {
            width: 159px;
            display: block;

            &:hover {
              opacity: 0.8;
            }
          }
        }

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

          a {
            display: block;
            background-color: #8B4B5A;
            font-family: var(--font-min);
            font-weight: 500;
            font-size: 20px;
            color: #fff;
            padding: 10px 27px;
            border-radius: 100px;

            @media (max-width: 767px) {
              font-size: 14px;
              padding: 15px 27px;
              text-align: center;
            }

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

  .header_bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 30px auto 0;

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

    &.fixed {
      position: fixed;
      top: 0;
      left: auto;
      z-index: 1000;
      max-width: 1200px;
      width: 90%;

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

    .btn_hamburger {
      display: none;

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

      /* ハンバーガー */
      .hamburger_lines {
        position: relative;
        width: 100%;
        margin: auto;
        height: 30px;
        -webkit-transition-duration: 300ms;
        transition-duration: 300ms;

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

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

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

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

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

      .g_nav_list {
        display: flex;
        align-items: center;
        gap: 40px;
        margin: 0;

        .g_nav_item {
          position: relative;

          a,
          span {
            font-family: var(--font-min);
            font-weight: 500;
            font-size: 16px;
            color: #000;
            padding: 15px 0;
            transition: ease-in .2s;

            &:hover {
              color: #61c1cc;
            }
          }

          &>span {
            display: flex;
            align-items: center;
            gap: 10px;

            &::after {
              content: "";
              display: inline-block;
              width: 9px;
              height: 9px;
              border: 0;
              border-bottom: solid 2px var(--color-main);
              border-right: solid 2px var(--color-main);
              transform: rotate(45deg);
              transition: ease-in .2s;
            }
          }
        }

        .g_nav_dropdown {
          display: none;
          position: absolute;
          top: 50px;
          left: 0;
          background: #fff;
          z-index: 10;
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
          min-width: 300px;
          padding: 30px;

          .dropdown_list {
            &>li {
              a {
                font-size: 14px;
              }

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

        /* ドロップダウンを表示 */
        .g_nav_item:hover .g_nav_dropdown,
        .g_nav_item:focus-within .g_nav_dropdown {
          display: block;
        }
      }
    }

    .btn_instagram {
      a {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 10px;
        color: #000;

        svg {
          width: 30px;
          margin-bottom: 5px;
        }

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

  .slide_menu {
    position: fixed;
    top: 0;
    left: -360px;
    width: 360px;
    height: 100%;
    background: rgb(224, 243, 245);
    color: #fff;
    z-index: 1000;
    padding: 20px;
    box-sizing: border-box;

    .btn_close {
      color: rgb(97, 193, 204);
      font-weight: bold;
      font-size: 30px;
      text-align: right;
    }

    .logo {
      width: 230px;
    }

    .slide_menu_nav {
      margin-top: 30px;

      ul {
        list-style: none;
        margin: 0;
        padding: 0;
        overflow-y: scroll;
        height: 70vh;

        &>li {
          a {
            font-family: var(--font-min);
            color: #000;
            font-size: 16px;
          }

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

  .openbtn,
  .closebtn {
    cursor: pointer;
  }
}

footer {
  background: linear-gradient(180deg, #7DAAD0 0%, var(--color-main) 20%);

  .footer_inner {
    max-width: 1200px;
    width: 90%;
    margin: auto;
    padding: 80px 0 20px;
    display: flex;
    flex-wrap: wrap;

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

    .f_logo {
      margin: 0px 100px 0px 0px;
      width: 230px;

      @media (max-width: 1024px) {
        margin: 0 0 50px;
        width: 150px;
      }

      img {
        width: 100%;
      }
    }

    .f_nav_list {
      list-style: none;
      margin: 0;
      padding: 0;
      width: calc((100% - 450px) / 3);

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

      .f_nav_item {
        a {
          font-family: var(--font-min);
          font-size: 16px;
          color: #fff;
          display: flex;
          align-items: center;
          gap: 10px;

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

          &::before {
            content: "";
            display: inline-block;
            width: clamp(0.5rem, 0.412rem + 0.38vw, 0.75rem);
            height: clamp(0.5rem, 0.412rem + 0.38vw, 0.75rem);
            border: 0;
            border-bottom: solid 1px #fff;
            border-right: solid 1px #fff;
            transform: rotate(-45deg);
            transition: ease-in .2s;
            flex-shrink: 0;
          }

          &:hover {
            opacity: 0.8;
          }
        }

        &+.f_nav_item {
          margin-top: 15px;
        }
      }

      &+.f_nav_list {
        margin-left: 50px;

        @media (max-width: 1024px) {
          margin-left: 0;
          margin-top: 15px;
        }
      }
    }

    .f_nav_last {
      margin-left: 50px;
      width: calc((100% - 450px) / 3);

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

      .f_nav_list {
        width: 100%;
      }

      .btn_instagram {
        margin-top: 20px;

        a {
          display: flex;
          align-items: center;
          gap: 10px;
          font-family: var(--font-min);
          font-size: 16px;
          color: #fff;

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

          svg {
            width: 30px;
          }

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

    .copyright {
      font-family: var(--font-min);
      font-size: 10px;
      color: #fff;
      text-align: center;
      width: 100%;
      margin-top: 40px;
    }
  }
}

.pagetop {
  opacity: 0.5;
  position: fixed;
  bottom: 20px;
  right: 20px;
}