:root {
  --main-color-01: rgba(221, 162, 98, 1);
  --gradient-01: linear-gradient(
    90deg,
    rgba(126, 183, 235, 1),
    rgba(97, 165, 228, 1)
  );
  --gradient-01-text: rgba(97, 165, 228, 1);
  --gradient-02: linear-gradient(
    90deg,
    rgba(231, 164, 218, 1),
    rgba(227, 137, 210, 1)
  );
  --gradient-02-text: rgba(227, 137, 210, 1);
  --gradient-03: linear-gradient(
    90deg,
    rgba(107, 181, 131, 1),
    rgba(75, 184, 111, 1)
  );
  --gradient-03-text: rgba(75, 184, 111, 1);
  --gradient-04: linear-gradient(91.41deg, #feb95f 7.81%, #f6a96a 78.22%);
  --gradient-04-text: #f6a96a;
  --gradient-05: linear-gradient(95.52deg, #7bcacd 19.19%, #56b7c4 82.37%);
  --gradient-05-text: #56b7c4;
  --gradient-06: linear-gradient(100.79deg, #ffa18c 8.52%, #f79081 80.94%);
  --gradient-06-text: #f79081;
  --line-color-01: rgba(239, 225, 209, 1);
  --text-color-01: rgba(102, 93, 82, 1);
  --light-base-color-01: rgba(252, 249, 245, 1);
  --white-color-01: rgba(254, 252, 251, 1);
  --white-opacity-01: rgba(255, 255, 255, 0.7);
  --border-radius-01: 20px;
  --border-radius-02: 15px;
  --border-radius-03: 10px;
  --border-radius-04: 5px;
}
.d-003 {
  /* ボタンなどのwordpress汎用パーツを指定 */
  .cmn-b {
    box-sizing: border-box;
    color: var(--text-color-01);

    font-family: var(--font-sans);
    * {
      box-sizing: border-box;
      transition: 0.3s;
    }
    button {
    }
    h2 {
    }
    & .c-title-area-001 {
      &.c-title-area-001--001 {
        margin-bottom: 5rem;
        display: grid;
        place-content: center;
        grid-template-columns: auto auto;
        gap: 0.5rem;
        & .c-title-001,
        & .c-sub-title-001 {
          width: fit-content;
          display: grid;
          h1,
          h2,
          h3,
          h4,
          h5 {
            margin: 0 !important;
          }
        }
        & .c-sub-title-001 {
          align-items: flex-end !important;
          padding-bottom: 1rem;
          font-family: var(--font-en) !important;
          font-weight: 500 !important;
        }
      }
    }
    .c-title-001 {
      /* Poppins */
      h1,
      h2,
      h3,
      h4 {
        font-family: "Poppins", sans-serif;
        font-size: 5.6rem;
        font-weight: bold;
        letter-spacing: 0.2rem;
        text-align: center;
        line-height: 1.3;
        margin-bottom: 0rem;
        font-family: var(--font-en) !important;
        font-weight: 500 !important;
        @media screen and (max-width: 768px) {
          font-size: 3.6rem;
        }
      }
    }
    .c-sub-title-001 {
      h1,
      h2,
      h3,
      h4,
      p {
        font-weight: normal;
        font-size: 1.4rem;
        letter-spacing: 0.3rem;
        text-align: center;
        margin-top: 1rem;
        margin-bottom: 4rem;
      }
    }
    .c-title-002 {
      h1,
      h2,
      h3,
      h4,
      p {
        font-size: 2.1rem;
        padding: 1rem 1rem 1rem 2rem;
        background: rgba(252, 249, 245, 1);
        position: relative;
        margin-bottom: 2rem;
        &:after {
          content: "";
          height: 2.1rem;
          width: 0.2rem;
          border-radius: 10px;
          background: var(--main-color-01);
          position: absolute;
          left: 0.9rem;
          top: 0;
          bottom: 0;
          margin-top: auto;
          margin-bottom: auto;
        }
      }
    }
    table {
      border: 1px solid var(--line-color-01);
      border-collapse: collapse;
      margin: 2rem 0;
      & th,
      & td {
        border: 1px solid var(--line-color-01) !important;
        font-size: 1.4rem;
      }
    }
    ul {
      padding: 2rem 0;
      border-top: 1px solid var(--line-color-01);
      border-bottom: 1px solid var(--line-color-01);
      margin: 2rem 0;
      list-style: circle;
      padding-left: 2rem;
      li {
      }
    }
    .wp-block-button {
      .wp-block-button__link {
        text-decoration: none;
        &.is-style-button002 {
          width: fit-content;
          padding: 1rem 4rem 1rem 2rem;
          background: #fff;
          color: var(--main-color-01);
          position: relative;
          font-size: 1.4rem;
          letter-spacing: 0.2rem;
          text-decoration: none;
          &:hover {
            opacity: 0.8;
            &:after {
              right: 1rem;
            }
          }
          &:after {
            content: "";
            width: 0.8rem;
            height: 0.8rem;
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            position: absolute;
            right: 1.4rem;
            top: 0;
            bottom: 0;
            margin-top: auto;
            margin-bottom: auto;
          }
        }
      }
      &.is-style-button000 {
        width: fit-content !important;
        .wp-block-button__link {
          position: relative;
          color: #fff;
          padding: 1rem 4rem 1rem 2rem;
          border-radius: 5px;
          font-size: 1.4rem;
          margin: 0 auto;
          width: fit-content !important;
          background: var(--main-color-01);
          &:after {
            content: "";
            width: 0.8rem;
            height: 0.8rem;
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            position: absolute;
            right: 1.4rem;
            top: 0;
            bottom: 0;
            margin-top: auto;
            margin-bottom: auto;
          }
        }
      }
      &.is-style-button001 {
        .wp-block-button__link {
          color: var(--text-color-01);
          background: #fff;
          border-radius: 5px;
          padding: 1rem 4rem 1rem 2rem;
          font-size: 1.4rem;
          letter-spacing: 0.3rem;
          &:after {
            content: "";
            width: 0.8rem;
            height: 0.8rem;
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            position: absolute;
            right: 1.4rem;
            top: 0;
            bottom: 0;
            margin-top: auto;
            margin-bottom: auto;
            border-color: var(--main-color-01);
          }
        }
      }
      &.is-style-button004 {
        .wp-block-button__link {
          display: block;
          position: relative;
          /* アイコンなし */
          border-radius: var(--border-radius-03);
          background: #fff;
          padding: 2.2rem 5rem 2.2rem;
          margin: 1rem 0;
          width: 100%;
          text-decoration: none;
          text-align: left;
          color: var(--text-color-01);
          :hover {
            opacity: 0.7;
          }
          img {
            width: 2rem;
            height: 2rem;
            position: absolute;
            left: 1.5rem;
            display: block;
            margin-top: auto;
            margin-bottom: auto;
            top: 0;
            bottom: 0;
          }
          &.is-style-button004--plus:after {
          }
          &:after {
            content: "";
            width: 0.7rem;
            height: 0.7rem;
            border-right: 2px solid var(--text-color-01);
            border-bottom: 2px solid var(--text-color-01);
            transform: rotate(-45deg);
            position: absolute;
            right: 2rem;
            top: 0;
            bottom: 0;
            margin-top: auto;
            margin-bottom: auto;
            transform: rotate(-45deg);
            display: grid;
            grid-template-columns: 3rem 1fr;
          }
          &:not(:has(img)) {
            display: block;
            width: 100%;
            padding: 1rem 5rem 1rem 1rem;
          }
        }
      }
    }
  }
  .c-back-001 {
    background: linear-gradient(
      220.11deg,
      #ffdfbb 41.92%,
      #ffecdc 47.86%,
      #d6f4f5 58.47%
    );
  }
  .c-wrapper-001 {
    max-width: 124.8rem;
    width: 100%;
    margin: 0 auto;
    border-radius: var(--border-radius-01);
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(239, 225, 209, 1);
    padding: 5rem 1rem;
  }
  .c-wrapper-002 {
    max-width: 102.4rem;
    width: 100%;
    margin: 0 auto;
    padding: 2rem;
  }
  .cmp-b {
    * {
      width: 100%;
      max-width: 100%;
      margin: 0;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
    *,
    :after,
    :before {
      box-sizing: border-box;
      transition: 0.3s;
    }

    a {
      &:hover {
        text-decoration: none;
        opacity: 0.8;
        cursor: pointer;
      }
    }
    position: relative;
    margin: 2rem 0;
    ont-family: "FOT-ニューセザンヌ Pro M", "Noto Serif JP", serif, "Yu Mincho",
      Yumincho, serif;
    background: #fff;
    .cmb-b__tip {
      position: absolute;
      top: 0;
      width: fit-content;
      right: 1.5rem;
      z-index: 2;
      color: #fff;
      font-size: 2rem;
      font-weight: bold;
    }
    &:before {
      z-index: 1;
      content: "";
      display: block;
      max-width: 23rem;
      width: 40%;
      aspect-ratio: 1/1;
      border-radius: 100%;
      background: rgba(255, 255, 255, 0.2);
      left: -12rem;
      top: 1rem;
      position: absolute;
    }
    .cmp-b__card {
      background: #333;
      background-image: var(--gradient-01);
      color: #fff;
      width: 100%;
      overflow: hidden;
      max-width: 100%;
      border-radius: 10px;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      .cmp-b__card-inner {
        position: relative;
        z-index: 2;
        &:before,
        &:after {
          content: "";
          position: absolute;
          top: 0;
          width: calc(100% - 3rem);
          height: 0.1rem;
          background: rgba(255, 255, 255, 0.5);
          margin-left: auto;
          margin-right: auto;
          left: 0;
          right: 0;
        }
        &:before {
          top: auto;
          bottom: 0;
        }
        display: grid;
        grid-template-columns: minmax(15rem, 30%) 1fr;
      }

      .cmp-b__image-area {
        position: relative;
        padding: 1.5rem;
        gap: 1.5rem;
        img {
          overflow: hidden;
          border-radius: 100% 100% 0 0;
          aspect-ratio: 1/1;
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }
      .cmb-b__card-text-area {
        .cmb-b__cart-text-inner {
          display: grid;
          gap: 0.5rem;
        }
        padding-right: 1.5rem;
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
        width: 100%;
        margin: 0;
        display: grid;
        align-items: center;
      }
      .cmp-b__title {
        padding: 0rem 1rem;
        border-radius: 5px;
        width: fit-content;
        margin-right: auto !important;
        margin-left: 0 !important;
        background: #fff;
        color: var(--gradient-01-text);
        font-size: 1.6rem;
        font-weight: bold;
        @media screen and (min-width: 767px) {
          font-size: 3.2rem;
        }
      }
      .cmp-b__desc {
        font-size: 1.4rem;
        @media screen and (min-width: 767px) {
          font-size: 1.8rem;
        }
      }
      .cmp-b__catch {
        font-size: 1.8rem;
        font-weight: bold;
        @media screen and (min-width: 767px) {
          font-size: 2.4rem;
        }
      }
    }
    .cmp-b__add-desc {
    }
    .cmp-b__text-area {
      line-height: 1.4;
      padding: 1.5rem;
      padding-top: 0;
      p {
        margin-bottom: 1em;
      }
      h3 {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 2rem;
        color: var(--gradient-01-text);
        padding: 1rem;
        border-bottom: 1px solid var(--gradient-01-text);
        &:not(:first-child) {
          margin-top: 2rem;
        }
      }
      .cmp-b__text-area-inner {
        background: #fff;
        border-radius: 10px;
        color: #555;
        padding: 1.5rem;
      }
    }
    .wp-block-button {
      margin: 2rem 0;
      &.is-style-button000 {
        .wp-block-button__link {
          background: #fff;
          border-radius: 5px;
          font-size: 1.4rem;
          color: var(--gradient-01-text);
          &:after {
            border-color: var(--gradient-01-text);
          }
        }
      }
    }
    /* 色違い赤 */
    &.cmp-b--01 {
      .cmp-b__card {
        background-image: var(--gradient-02);
        .cmp-b__title {
          color: var(--gradient-02-text);
        }
      }
      .cmp-b__text-area {
        .cmp-b__text-area-inner {
          h3 {
            color: var(--gradient-02-text);
            border-bottom-color: var(--gradient-02-text);
          }
        }
      }
      .wp-block-button {
        &.is-style-button000 {
          .wp-block-button__link {
            color: var(--gradient-02-text);
            &:after {
              border-color: var(--gradient-02-text);
            }
          }
        }
      }
    }
    /* 色違い緑 */
    &.cmp-b--02 {
      .cmp-b__card {
        background-image: var(--gradient-03);
        .cmp-b__title {
          color: var(--gradient-03-text);
        }
      }
      .cmp-b__text-area {
        .cmp-b__text-area-inner {
          h3 {
            color: var(--gradient-03-text);
            border-bottom-color: var(--gradient-03-text);
          }
        }
      }
      .wp-block-button {
        &.is-style-button000 {
          .wp-block-button__link {
            color: var(--gradient-03-text);
            &:after {
              border-color: var(--gradient-03-text);
            }
          }
        }
      }
    }
    &.cmp-b--03 {
      .cmp-b__card {
        background-image: var(--gradient-04);
        .cmp-b__title {
          color: var(--gradient-04-text);
        }
      }
      .cmp-b__text-area {
        .cmp-b__text-area-inner {
          h3 {
            color: var(--gradient-04-text);
            border-bottom-color: var(--gradient-04-text);
          }
        }
      }
      .wp-block-button {
        &.is-style-button000 {
          .wp-block-button__link {
            color: var(--gradient-04-text);
            &:after {
              border-color: var(--gradient-04-text);
            }
          }
        }
      }
    }
    &.cmp-b--04 {
      .cmp-b__card {
        background-image: var(--gradient-05);
        .cmp-b__title {
          color: var(--gradient-05-text);
        }
      }
      .cmp-b__text-area {
        .cmp-b__text-area-inner {
          h3 {
            color: var(--gradient-05-text);
            border-bottom-color: var(--gradient-05-text);
          }
        }
      }
      .wp-block-button {
        &.is-style-button000 {
          .wp-block-button__link {
            color: var(--gradient-05-text);
            &:after {
              border-color: var(--gradient-05-text);
            }
          }
        }
      }
    }
    &.cmp-b--05 {
      .cmp-b__card {
        background-image: var(--gradient-06);
        .cmp-b__title {
          color: var(--gradient-06-text);
        }
      }
      .cmp-b__text-area {
        .cmp-b__text-area-inner {
          h3 {
            color: var(--gradient-06-text);
            border-bottom-color: var(--gradient-06-text);
          }
        }
      }
      .wp-block-button {
        &.is-style-button000 {
          .wp-block-button__link {
            color: var(--gradient-06-text);
            &:after {
              border-color: var(--gradient-06-text);
            }
          }
        }
      }
    }
  }
  .c-101 {
    background-size: 80%;
    background-position: center;
    background-repeat: no-repeat;
    /* 背景固定 */
    background-attachment: fixed;
    min-height: 40vh;
    position: relative;
    margin: 0;
    * {
      position: relative;
    }

    padding: 15rem 0;
    @media screen and (max-width: 768px) {
      padding: 10rem 0;
    }
    .c-101__cover {
      position: absolute;
      margin: 0;
      padding: 0 !important;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.7);
      z-index: 0;
      backdrop-filter: blur(1.5rem);
    }
    .c-101__inner {
      z-index: 0;
      position: relative;
      max-width: 104.7rem;
      padding-left: 2rem;
      margin: 0 auto;
      display: grid;
      grid-template-areas:
        "top image"
        "title image"
        "text image"
        "button image"
        "bottom image";
      gap: 2rem 10rem;
      grid-template-rows: repeat(5, auto);
      grid-template-columns: 1fr 1fr;
      @media screen and (max-width: 768px) {
        grid-template-columns: 1fr;
        grid-template-areas:
          "title"
          "image"
          "text"
          "button";
      }
    }
    .c-101__image-area {
      grid-area: image;
      position: relative;
      .c-101__main-image {
        z-index: 0;
        max-width: 40.7rem;
        border-radius: 9999px 999.9rem 0 0;
        overflow: hidden;
        position: relative;
      }
      .c-101__sub-image {
        z-index: 0;
        position: absolute;
        right: -25%;
        bottom: -17%;
        max-width: 21.5rem;
        border-radius: 9999px;
        overflow: hidden;
        @media screen and (max-width: 768px) {
          display: none;
        }
      }
      img {
        width: 100%;
        height: auto;
      }
    }
    .c-101__title-area {
      grid-area: title;

      width: 100%;

      font-weight: normal !important;

      h2 {
        font-size: 3.2rem;
        letter-spacing: 1.8rem;
        font-weight: normal !important;
        @media screen and (max-width: 768px) {
          font-size: 2.7rem;
          line-height: 1.7;
          text-align: center;
        }
      }
    }
    .c-101__text-area {
      grid-area: text;
      width: 100%;
      letter-spacing: 0.3rem;
      font-size: 1.4rem;
      p {
        line-height: 1.9;
      }
      @media screen and (max-width: 768px) {
        text-align: center;
      }
    }

    .c-101__button-area {
      grid-area: button;
      width: 100%;

      .wp-block-buttons {
        @media screen and (max-width: 768px) {
          justify-content: center;
        }
      }
    }
    .c-101__top-area {
      grid-area: top;
    }
    .c-101__bottom-area {
      grid-area: bottom;
      width: 100%;
    }
    .c-101__banner-area {
      img {
        margin: 20rem auto 0;
        max-width: 100%;
        height: auto;
        display: block;
        border-radius: 5px;
        position: relative;
        z-index: 1;
        @media screen and (max-width: 768px) {
          margin: 2rem auto;
          max-width: 100%;
          height: auto;
        }
      }
    }
  }
  .c-102 {
    overflow: hidden;
    background: linear-gradient(
      220.11deg,
      #ffdfbb 41.92%,
      #ffecdc 47.86%,
      #d6f4f5 58.47%
    );
    padding: 15rem 0;
    position: relative;
    @media screen and (max-width: 768px) {
      padding: 0;
    }

    .c-102__inner {
      z-index: 1;
      max-width: 95rem;
      margin: 0 auto;
      width: 100%;
      video {
        position: relative;
        border-radius: 10px;
        z-index: 1;
        @media screen and (max-width: 768px) {
          border-radius: 0px;
        }
      }
      &:before {
        width: 80rem;
        right: -40rem;
        top: -35rem;
        min-width: 40rem;
        aspect-ratio: 1/1;
        content: "";
        border-radius: 9999px;
        border: 2px solid rgba(255, 255, 255, 0.8);
        position: absolute;
        z-index: 0;
      }
    }
  }

  /* Pickup */
  .c-103 {
    padding: 20rem 0;
    @media screen and (max-width: 768px) {
      padding: 0rem 0;
    }
    .c-103__wrapper {
      max-width: 124.8rem;
      width: 100%;
      background: rgba(255, 255, 255, 0.8);
      border-radius: 10px;
      padding: 2rem;
      border: 1px solid var(--line-color-01);
      padding: 10rem 0;
      @media screen and (max-width: 768px) {
        padding: 5rem 2rem;
      }
    }
    .c-title-001 {
      h2 {
        @media screen and (max-width: 768px) {
          text-align: left;
        }
      }
    }
    .c-sub-title-001 {
      h2 {
        @media screen and (max-width: 768px) {
          text-align: left;
        }
      }
    }
    .c-103__scroll-area {
      * {
        user-select: none;
      }
      @media screen and (max-width: 768px) {
        overflow-x: scroll;
        width: 100%;
        padding: 2rem 0;
        cursor: grab;
      }
      -webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
      /* スクロールバーのトラック部分 */
      &::-webkit-scrollbar-track {
        background-color: #f0f0f0; /* トラック背景色 */
      }
      &::-webkit-scrollbar {
        height: 8px; /* 横スクロールバーの高さ */
      }
      /* スクロールバーのつまみ部分 */
      &::-webkit-scrollbar-thumb {
        background-color: var(--color-primary); /* つまみ背景色 */
        border-radius: 4px;
      }
    }
    .c-103__inner {
      max-width: 90rem;
      margin: 0 auto;
      margin-top: 6rem;
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
      grid-template-rows: repeat(auto-fill, auto);
      gap: 3rem;
      @media screen and (max-width: 768px) {
        max-width: none;
        display: flex;
        width: fit-content;
      }

      .c-103__block {
        max-width: 37rem;
        @media screen and (max-width: 768px) {
          width: 20.4rem;
        }
        .c-103__block-image {
          position: relative;
          border-radius: 9999px 999.9rem 0 0;
          overflow: hidden;
          img {
            width: 100%;
            height: auto;
            &:hover {
              transform: scale(1.05);
            }
          }
          &:before {
            position: absolute;
            z-index: 1;
            right: 0;
            bottom: 0;
            width: 3rem;
            height: 3rem;
            background: var(--main-color-01);
            border-radius: 5px 0 0 0;
          }

          &:after {
            position: absolute;
            content: "";
            z-index: 2;
            width: 0.8rem;
            height: 0.8rem;
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            transform: rotate(-45deg);
            position: absolute;
            right: 1rem;
          }
        }
        .c-103__block-title {
          margin-top: 1.3rem;
          margin-bottom: 1.3rem;
          font-weight: bold;
          font-size: 2.1rem;
          * {
            letter-spacing: 0.4rem;
          }
          @media screen and (max-width: 768px) {
            font-size: 1.4rem;
            letter-spacing: 0.2rem;
          }
        }
        .c-103__block-text {
          font-size: 1.4rem;
          letter-spacing: 0rem;
          @media screen and (max-width: 768px) {
            font-size: 1.2rem;
            letter-spacing: 0rem;
          }
        }
      }
      .c-103__main-title-area {
      }
      .c-103__main-title {
        text-align: center;
      }
      .c-103__sub-title {
        text-align: center;
      }
    }
  }
  /* 症例 */
  .c-case-001 {
    /* 一覧 */
    .c-case-001__list {
      .c-case-001__list-wrapper {
      }
      .c-case-001__list-inner {
      }
      .c-case-001__list-menu {
      }
      .c-case-001__list-block {
        .c-case-001__list-title {
        }
        .c-case-001__list-image-area {
        }
        .c-case-001__list-image-before {
        }
        .c-case-001__list-image-before-text {
        }
        .c-case-001__list-image-after {
        }
        .c-case-001__list-image-after-text {
        }
        .c-case-001__list-text-area {
        }
        .c-case-001__list-text-tr {
        }
        .c-case-001__list-text-th {
        }
        .c-case-001__list-text-td {
        }
      }
    }

    /* 個別 */
  }
  /* Menu */
  .c-menu-001 {
    .c-menu-001__list {
      padding: 10rem 0;
    }
    .c-menu-001__list-wrapper {
    }
    .c-menu-001__sub-list {
      border: none;
      margin: 0;
      padding: 1rem 0;
      /* grid 1行3つ*/
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      li {
        font-size: 1.4rem;
        list-style: none;
        width: 100%;
        a {
          font-size: 1.4rem;
          display: block;
          padding: 1.5rem 3rem 1.5rem 1.5rem;
          color: var(--color-text);
          position: relative;
          text-decoration: none;
          &:hover {
            opacity: 0.8;
            &:after {
              right: 1rem;
            }
          }
          &:after {
            content: "";
            transition: 0.3s;
            width: 0.8rem;
            height: 0.8rem;
            border-right: 2px solid var(--main-color-01);
            border-bottom: 2px solid var(--main-color-01);
            transform: rotate(-45deg);
            position: absolute;
            right: 2rem;
            top: 0;
            bottom: 0;
            margin-top: auto;
            margin-bottom: auto;
          }
        }
      }
    }
    .c-menu-001__list-inner {
    }
    .c-menu-001__list-tab-area {
      display: flex;
      gap: 1rem;
      margin-bottom: 4rem;
    }
    .c-menu-001__list-tab {
      user-select: none;
      cursor: pointer;
      padding: 1.4rem;
      text-align: center;
      border-radius: 9999px;
      width: 100%;

      font-size: 1.6rem;
      color: var(--main-color-01);
      border: 1px solid var(--main-color-01);
      &:hover {
        opacity: 0.3s;
        cursor: pointer;
      }
      &.js__active {
        background: var(--main-color-01);
        color: #fff;
      }
    }
    .c-menu-001__list-tab-content-area {
      max-width: 105.6rem;
    }
    .c-menu-001__list-tab-content {
      display: none;
      &.js__active {
        display: block;
      }
      .editor-styles-wrapper & {
        display: block !important;
        border: 4px solid red;
      }
    }
    .c-menu-001__list-toggle-button-area {
      width: 100%;
    }
    .c-menu-001__list-toggle-button {
      display: block;
      width: 100%;
      font-size: 1.6rem;
      letter-spacing: 0.2rem;
      font-weight: bold;
    }
    .c-menu-001__list-toggle-content {
    }
  }

  /* Doctor */
  .c-doctor-001 {
    .c-doctor-001__list {
      padding: 10rem 0;
    }
    .c-doctor-001__list-wrapper {
    }
    .c-doctor-001__list-inner {
    }
    .c-doctor-001__list-menu {
    }
    .c-doctor-001__list-block {
      margin: 5rem 0;
      @media screen and (max-width: 768px) {
        margin: 9rem 0;
      }
      max-width: 103.4rem;
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-auto-flow: dense;
      gap: 2rem;
      @media screen and (max-width: 768px) {
        grid-template-columns: 1fr;
        grid-template-areas: "image" "text";
      }
      &.c-doctor-001__list-block--reverse {
        .c-doctor-001__list-block-image-area {
          order: 1;
          @media screen and (max-width: 768px) {
            order: 0;
          }
        }
        .c-doctor-001__list-block-image-area {
          img {
            @media screen and (max-width: 768px) {
              width: 80%;
              display: block;
              height: auto;
              right: 0;
              margin-right: 0;
              position: relative;
              margin-left: auto;
            }
          }
        }
      }

      .c-doctor-001__list-block-image-area {
        width: 50rem;
        order: -1;
        @media screen and (max-width: 768px) {
          width: 100%;
          order: 0;
        }
        img {
          @media screen and (max-width: 768px) {
            width: 80%;
            display: block;
            height: auto;
            left: 0;
            position: relative;
            margin-left: 0;
            margin-right: auto;
          }
        }
      }
      .c-doctor-001__list-block-text-area {
        max-width: 39rem;
        margin: 0 auto;
        display: grid;
        place-content: center;
      }
      .c-doctor-001__list-block-text-name {
        width: 100%;
        max-width: 100%;
        font-size: 3.2rem;
        font-weight: bold;
        letter-spacing: 0.4rem;
        margin-bottom: 2rem;
        em {
          text-decoration: none;
          font-size: 1.6rem;
          font-style: normal;
          font-weight: normal;
        }
      }
      .c-doctor-001__list-block-text-position {
        width: 100%;
        max-width: 100%;
        font-size: 1.5rem;
        color: var(--main-color-01);
        line-height: 1;
      }
      .c-doctor-001__list-block-text-desc {
        width: 100%;
        max-width: 100%;
        font-size: 1.4rem;
        letter-spacing: 0.2rem;
        p {
          line-height: 1.7;
        }
      }
      .c-coctor-001__list-block-link {
        margin-top: 2rem;
        width: 100%;
        max-width: 100%;
      }
    }
  }
  /* スライダー */
  .c-slider-001 {
    padding: 0 !important;
    * {
      width: unset;
      max-width: unset;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
    .c-slider-001__wrapper {
      padding: 20rem 0;
      position: relative;
      overflow: hidden;
    }

    .c-slider-001__inner {
      width: 100%;
      display: flex;
    }

    .c-slider-001__scroll-wrapper {
      display: flex;
      gap: 2rem;
    }
    .c-slider-001__scroll-list {
      animation: infinity-scroll-left 40s infinite linear 0.5s both;
      gap: 1rem;
      display: flex;
      .editor-styles-wrapper & {
        animation: none;
        flex-wrap: wrap;
      }
    }
  }
  .c-slider-001__block {
    flex-shrink: 0;
    width: 36rem;
    height: 24rem;
    aspect-ratio: 4/3;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    img,
    video {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover;
    }
    video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      /* 操作パネルなし */
      pointer-events: none;
    }
  }

  /* コラム */
  .c-column-001 {
    .c-column-list {
    }
    .c-column-001__list-wrapper {
      padding: 20rem 0;
    }
    .c-column-001__list-inner {
      display: grid;
      grid-template-columns: 1fr 3fr;
      gap: 2rem;
    }
    .c-column-001__menu-area {
    }
    .c-column-001__list-area {
    }
  }
  /* クリニック */
  .c-clinic-001 {
    .c-clinic-001__list {
      padding: 10rem 0;
    }
    .c-clinic-001__list-wrapper {
      padding: 20rem 0;
    }
    .c-clinic-001__list-inner {
    }
    .c-clinic-001__list-block {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto auto;
      gap: 3rem;
      grid-template-areas: "top top" "image text";
    }

    .c-clinic-001__list-block-top-area {
      grid-area: top;
      width: 100%;
    }
    .c-clinic-001__list-block-image-area {
    }
    .c-clinic-001__list-block-image-01 {
      aspect-ratio: 16/9;
      border-radius: var(--border-radius-03);
      margin-bottom: 20px;
      position: relative;
      overflow: hidden;
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .sub-img {
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        width: 100%;
        height: 100%;
        animation: fade 12s infinite;
        animation-delay: 6s;
      }
    }
    .c-clinic-001__list-block-map-01 {
      iframe {
        border-radius: var(--border-radius-03);
        width: 100%;
        aspect-ratio: 16/9;
        -webkit-filter: grayscale(100%);
        -moz-filter: grayscale(100%);
        -ms-filter: grayscale(100%);
        -o-filter: grayscale(100%);
        filter: grayscale(100%);
      }
    }

    .c-clinic-001__list-block-text-area {
      .c-clinic-001__list-block-text-title {
        font-size: 1.4rem;
        font-weight: bold;
        color: var(--main-color-01);
      }
      .c-clinic-001__list-block-text-desc {
        font-size: 1.4rem;
        line-height: 1.7;
        margin-bottom: 2rem;
        letter-spacing: 0.2rem;
        &.c-clinic-001__list-block-text-desc--icons {
          display: flex;
          gap: 1rem;
          justify-content: flex-start;
          figure {
            display: block;
            margin-left: 0 !important;
            margin-right: 0 !important;
          }
        }
      }
      .c-clinic-001__list-block-schedule-area {
        table {
          border-collapse: collapse;
          width: 100%;
          border: none;
          th,
          td {
            padding: 0.5rem;
            background: transparent !important;
            border: none !important;
            text-align: center;
            &.cell-normal {
              color: var(--text-color-01) !important;
            }
          }
          th {
            border-top: 1px solid var(--main-color-01) !important;
            border-bottom: 1px solid var(--main-color-01) !important;
            color: var(--main-color-01);
          }
          td {
            color: var(--main-color-01);
            border-bottom: 1px solid var(--line-color-01) !important;
          }
        }
      }
    }
  }
  .c-footer-001 {
  }
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
