:root {
  --bp-xxl: 1400px;
  --bp-xl: 1200px;
  --bp-lg: 992px;
  --bp-md: 768px;
  --bp-sm: 576px;
  --bp-xs: 375px;

  --fs-pc-min: 0.9rem;
  /* ← 9px */
  --fs-pc-max: 1rem;
  /* ← 10px */
  --fs-tab-min: 0.8rem;
  /* ← 8px */
  --fs-tab-max: 0.9rem;
  /* ← 9px */
  --fs-sp-min: 0.7rem;
  /* ← 7px */
  --fs-sp-max: 0.8rem;
  /* ← 8px */

  --w-full: 100%;
  --w-container: 120rem;
  --w-content: 96rem;
  --w-narrow: 64rem;
  --w-wide: 140rem;
  --w-box-large: 120rem;
  --w-box-medium: 96rem;
  --w-box-small: 64rem;
  --w-custom-01: 110rem;
  --w-custom-02: 54rem;

  --max-w-container: 120rem;
  --max-w-content: 96rem;
  --max-w-narrow: 64rem;
  --max-w-box-large: 105.4rem;
  --max-w-box-medium: 96rem;
  --max-w-box-small: 64rem;
  --max-w-custom-01: 110rem;
  --max-w-custom-02: 54rem;

  --space-3xs: 0.4rem;
  --space-2xs: 0.8rem;
  --space-xs: 1.2rem;
  --space-sm: 1.6rem;
  --space-md: 2.4rem;
  --space-lg: 3.2rem;
  --space-xl: 4.8rem;
  --space-2xl: 6.4rem;
  --space-3xl: 9.6rem;

  --color-text: #5a5d52;
  --color-text-strong: #665d52;
  --color-text-sub: rgba(147, 141, 134, 1);
  --color-bg: rgba(250, 244, 237, 1);
  --color-bg-light: rgba(252, 249, 245, 1);
  --color-white: rgba(254, 252, 251, 1);
  --color-line: rgba(239, 225, 209, 1);
  --color-bg-sub: rgba(249, 249, 249, 1);
  --color-border: rgba(239, 225, 209, 1);
  --color-primary: rgba(232, 145, 64, 1);
  --color-primary-gradient: linear-gradient(
    90deg,
    #e89140 3.62%,
    #ff9d61 96.42%
  );
  --color-line-gradient: linear-gradient(90deg, #41bb73 1.6%, #43c679 97.41%);

  --color-button-gray-01: #776958;
  --shadow-button: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  --color-primary-light: rgba(252, 249, 245, 1);
  --color-primary-light-02: rgba(227, 177, 135, 1);
  --color-primary-light-03: rgb(255, 241, 231);
  --color-secondary: rgba(76, 217, 100, 1);
  --color-accent: rgba(255, 107, 107, 1);
  --color-success: rgba(76, 175, 80, 1);
  --color-warning: rgba(255, 152, 0, 1);
  --color-error: rgba(244, 67, 54, 1);
  --color-info: rgba(33, 150, 243, 1);
  --color-bg-gradient: linear-gradient(
    273.12deg,
    #fef4e9 40.6%,
    #fff8f0 93.39%
  );
  --color-bg-gradient-01: linear-gradient(
    220.11deg,
    #ffdfbb 41.92%,
    #ffecdc 47.86%,
    #d6f4f5 58.47%
  );

  --font-sans: "FOT-ニューセザンヌ Pro M", "Noto Sans JP", "Poppins", serif,
    "Yu Mincho", Yumincho, serif;
  --font-sans-bold: "FOT-ニューセザンヌ Pro B", "Noto Sans JP", "Poppins", serif,
    "Yu Mincho", Yumincho, serif;
  --font-sans-semibold: "FOT-ニューセザンヌ Pro DB", "Noto Sans JP", "Poppins",
    serif, "Yu Mincho", Yumincho, serif;
  --font-sans-thin: "FOT-ニューセザンヌ Pro M", "Noto Sans JP", "Poppins", serif,
    "Yu Mincho", Yumincho, serif;
  --font-serif: "Noto Serif JP", "Georgia", serif;
  --font-en: "Poppins", "FOT-ニューセザンヌ Pro M", "Noto Serif JP";

  --lh-compact: 1;
  --lh-tight: 1.2;
  --lh-tight: 1.35;
  --lh-normal: 1.5;
  --lh-base: 1.9;
  --lh-loose: 1.8;
  --lh-loose: 2.4;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;

  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.05em;
  --ls-wider: 0.1em;
  --ls-widest: 0.2em;
  --ls-ultra: 0.5em;

  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --radius-pill: 9999px;
  --shadow-button: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.15);

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 0.15s;
  --duration: 0.3s;
  --duration-slow: 0.5s;

  --z-header: 200;
  --z-menu: 150;
  --z-under-modal: 300;
  --z-dropdown: 200;
  --z-fixed: 500;
  --z-modal: 1000;
  --z-tooltip: 2000;

  --fs-xs: 1.2rem;
  --fs-sm: 1.4rem;
  --fs-md: 1.6rem;
  --fs-lg: 1.8rem;
  --fs-xl: 2.1rem;
  --fs-2xl: 2.4rem;
  --fs-3xl: 3.2rem;
  --fs-4xl: 3.6rem;

  --fw-thin: 100;
  --fw-extra-light: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semi-bold: 600;
  --fw-bold: 700;
  --fw-extra-bold: 800;
  --fw-black: 900;
}

.cms-parts {
  font-size: 1.5rem;

  .wp-block-button {
    .wp-block-button__link {
      position: relative;
      color: var(--color-white);
      text-decoration: none;
      padding: 1.2rem 4rem 1.2rem 2.4rem;
      font-family: var(--font-sans-semibold);
      line-height: 1.5;
      border-radius: 5px;
      font-size: 1.4rem;
      margin: 0 auto;
      letter-spacing: 0.2rem;
      width: fit-content;
      background: var(--color-primary);
      display: inline-block;
      font-weight: 500;

      &:after {
        content: "";
        width: 0.8rem;
        height: 0.8rem;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        position: absolute;
        right: 1.4rem;
        top: 50%;
        transform: rotate(-45deg) translateY(-50%);
        transition: 0.3s ease-in-out;
      }
    }

    &:hover {
      .wp-block-button__link {
        opacity: 0.8;
      }
    }
  }

  .is-style-button000 {
    .wp-block-button__link {
      /* 矢印下向き */
      &:after {
        transform: rotate(45deg) translateY(-0.5rem);
      }
    }
  }

  /* コンポーネント */
  /* ボタン */
  &.wp-block-buttons,
  .wp-block-buttons {
    gap: 16px;
    margin: 16px;
    @media screen and (max-width: 600px) {
      gap: 0.8rem;
    }
    .wp-block-button__link {
      .is-style-button000 & {
        color: var(--text-color, #5a5d52);
        font-size: var(--btn_p, 14px);
        border-radius: 0;
        font-style: normal;
        font-weight: 500;
        line-height: 200%;
        /* 28px */
        letter-spacing: 2.8px;
        display: flex !important;
        padding: 12px !important;
        justify-content: center !important;
        align-items: center !;
        gap: 12px !important;
        border-bottom: 1px solid var(--line-color, #efe1d1) !important;
        background: #fffbf7 !important;
        padding: 12px 32px 12px 12px !important;
        position: relative;

        &:after {
          content: "";
          width: 6px;
          height: 6px;
          position: absolute;
          border-bottom: 2px solid var(--color-primary);
          border-right: 2px solid var(--color-primary);
          right: 12px;
          top: 0;
          bottom: 0;
          margin-top: auto;
          margin-bottom: auto;
          transform: rotate(45deg);
        }
      }
    }

    .wp-block-button__link {
      font-family: var(--font-sans-semibold);
      &:hover {
        opacity: 0.7;
      }

      line-height: 1;
      display: flex;
      padding: 12px 24px 14px 25px;
      justify-content: center;
      align-items: center;
      gap: 16px;
      border-radius: 4px;
      background: var(--orange, #e89140);
      color: var(--white-color, #fefcfb);
      font-family: var(--font-sans);
      font-size: 1.4rem;
      font-style: normal;
      font-weight: 500;
      line-height: 200%;
      /* 36px */
      letter-spacing: 3.6px;

      @media (max-width: 768px) {
        font-size: 15px;
        padding: 8px 24px;
        line-height: 150%;
      }

      /* size: small */
      .wp-block-button.small & {
        padding: 0.4rem 1.2rem 0.6rem 1.2rem;
        font-size: 1.2rem;
        letter-spacing: 2.4px;
      }

      /* variant: right arrow */
      .wp-block-button.right-arrow & {
        position: relative;
        padding-right: 32px;

        &:after {
          content: "";
          width: 8px;
          height: 8px;
          position: absolute;
          border-bottom: 1.5px solid var(--white-color, #fefcfb);
          border-right: 1.5px solid var(--white-color, #fefcfb);
          right: 12px;
          top: calc(50% - 0px);
          transform: translateY(-50%) rotate(-45deg);
        }
      }

      .wp-block-button.right-arrow.small & {
        padding-right: 24px;

        &:after {
          border-bottom: 1px solid var(--white-color, #fefcfb);
          border-right: 1px solid var(--white-color, #fefcfb);
          right: 10px;
          width: 6px;
          height: 6px;
        }
      }

      /* variant: down arrow */
      .wp-block-button.down-arrow & {
        position: relative;
        padding-right: 32px;

        &:after {
          content: "";
          width: 6px;
          height: 6px;
          position: absolute;
          border-right: 2px solid var(--white-color, #fefcfb);
          border-bottom: 2px solid var(--white-color, #fefcfb);
          right: 12px;
          top: 50%;
          transform: translateY(-50%) rotate(45deg);
        }
      }

      .wp-block-button.down-arrow.small & {
        padding-right: 24px;

        &:after {
          border-right: 1px solid var(--white-color, #fefcfb);
          border-bottom: 1px solid var(--white-color, #fefcfb);
          right: 8px;
          width: 4px;
          height: 4px;
        }
      }

      /* color variants */
      .wp-block-button.orange2 & {
        background: var(
          --cta,
          linear-gradient(90deg, #e89140 3.62%, #ff9d61 96.42%)
        );
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
      }

      .wp-block-button.dark-color & {
        background: #776958;
      }

      .wp-block-button.block-base-color & {
        color: var(--text-color, #5a5d52);
        background: var(--block-base-color, #faf6f2);

        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.block-base-color.small & {
        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.line-color & {
        color: var(--text-color, #5a5d52);
        background: var(--line-color, #efe1d1);

        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.line-color.small & {
        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.line-color2 & {
        color: var(--white-color, #fefcfb);
        background: var(--light-text, #938d86);
      }

      .wp-block-button.text-color & {
        background: var(--text-color, #5a5d52);
      }

      .wp-block-button.bg-gradation & {
        color: var(--text-color, #5a5d52);
        background: var(--bg_gradation, #faf4ed);

        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.bg-gradation.small & {
        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.white-color & {
        color: var(--text-color, #5a5d52);
        background: var(--white-color, #fefcfb);

        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.white-color.small & {
        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.nav-button & {
        border-bottom: 1px solid var(--line-color, #efe1d1) !important;
        background: #fffbf7 !important;
        color: var(--text-color, #5a5d52);

        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      .wp-block-button.nav-button.small & {
        &:after {
          border-right-color: var(--orange, #e89140);
          border-bottom-color: var(--orange, #e89140);
        }
      }

      /* common: icon inside button */
      & > img {
        width: 24px;
        height: 24px;
        object-fit: contain;
        margin-right: 8px;
      }

      .wp-block-button.web &,
      .wp-block-button.line &,
      .wp-block-button.tel & {
        font-size: 15px;
        font-weight: 500;
        min-width: 180px;
        width: 100%;
        line-height: 135%;
        /* 20.25px */
        letter-spacing: 1.2px;
        height: 64px;
        flex: 1;
        line-height: 1.4;
        position: relative;
        font-family: var(--font-sans);
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);

        img {
          position: absolute;
          left: 12px;
        }
      }

      /* WEB reservation button */
      .wp-block-button.web & {
        background: var(
          --cta,
          linear-gradient(90deg, #e89140 3.62%, #ff9d61 96.42%)
        );
        padding-left: 48px;
      }

      /* multi-line text (LINE / TEL) 調整 */

      /* LINE reservation button */
      .wp-block-button.line & {
        border-radius: 4px;
        background: linear-gradient(90deg, #41bb73 1.6%, #43c679 97.41%);
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
        display: flex;
        height: 64px;
        align-items: center;
        padding: 0 12px 0 48px;
      }

      .wp-block-button.line &,
      .wp-block-button.web & {
        img {
          height: 22px;
          width: auto;
          left: 26px;

          top: 50%;
          transform: translateY(-50%);
        }
      }

      .wp-block-button.tel & {
        background: #776958;
        /* dark accent */
        padding: 0 12px 0 32px;
        align-items: center;

        img {
          height: 15px;
          width: auto;
          left: 13px;
          bottom: 12px;
        }
      }
    }
  }
}

/* 通常表示（PC）はそのまま */
.fold-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.fold-table th,
.fold-table td {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
}

/* モバイルレイアウト（768px以下） */
@media screen and (max-width: 768px) {
  .fold-table table {
    display: block;
    width: 100%;
  }

  .fold-table thead {
    display: none;
  }

  .fold-table tbody {
    display: block;
  }

  .fold-table tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    padding: 10px;
    background: #fafafa;
  }

  /* 1列目（施術名）を h3風に */
  .fold-table tr td:first-child {
    display: block;
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 8px;
    border: none;
    padding: 0;
  }

  /* 2列目以降（回数・料金）を簡易テーブル表示 */
  .fold-table tr td:nth-child(2),
  .fold-table tr td:nth-child(3) {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border: none;
    border-top: 1px solid #ddd;
  }

  .fold-table tr td:nth-child(2)::before {
    content: "回数";
    font-weight: bold;
  }

  .fold-table tr td:nth-child(3)::before {
    content: "料金";
    font-weight: bold;
  }

  /* 右寄せされている金額の表示崩れ対策 */
  .fold-table td[style*="text-align:right"] {
    text-align: left !important;
  }

  .fold-table td[style*="text-align:center"] {
    text-align: left !important;
  }
}

.page-template-page-2026 main {
  margin: 0 auto !important;
  width: 100%;

  h2 {
  }
}

.cv-buttons {
  &.wp-block-buttons {
    margin: 0;
  }

  padding: 1.6rem;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  .wp-block-button__link {
    &:after {
      display: none !important;
    }
  }

  @media screen and (max-width: 1100px) {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 8px;

    .wp-block-button,
    .wp-block-button__link {
      font-size: 1.2rem;
      width: 100%;
    }

    .wp-block-button__link {
      height: 4rem !important;
      font-size: 1.2rem !important;
      padding: 0 !important;
      max-width: 38rem !important;
      margin: 0 auto;

      img {
        position: absolute !important;
        left: 1.5rem !important;
        top: 50%;
        transform: translateY(-50%);
        height: 1.7rem !important;
        width: auto !important;
        margin: 0 !important;
      }
    }

    .wp-block-button.tel {
      .wp-block-button__link {
        padding: 8px 13px;
        height: 4.7rem !important;
      }
    }

    .wp-block-button.line {
      .wp-block-button__link {
        br {
          display: none;
        }
      }
    }
  }
}

.wrapper-01 {
  width: 100%;
  height: auto;
  flex-shrink: 0;
  background: url(<path-to-image>) lightgray -115.048px 0px / 112.593% 98.808% no-repeat;
}

/*　枠デザイン　 */
.wp-block-group {
  &.container-01,
  &.container-02,
  &.container-03 {
    > * {
      width: 100%;
    }
  }
  &.container-05 {
    position: relative;
    max-width: 124.8rem;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: 9.6rem;
    margin-left: auto;
    margin-right: auto;
    @media screen and (max-width: 768px) {
      padding: var(--space-xl) var(--space-md) var(--space-lg);
      border-radius: 16px;
    }
  }

  &.container-01 {
    margin: 90px auto;
    max-width: 1120px;
    width: 100%;
    padding: var(--section_pading, 64px);
    border-radius: 32px;
    border: 1px solid var(--line-color, #efe1d1);
    background: var(--white-color, #fefcfb);

    @media screen and (max-width: 768px) {
      padding: 24px;
      border-radius: 24px;
      margin: 4.8rem 0.8rem;
      width: calc(100% - 16px);
    }
    > p {
      margin: 3.2rem 0;
      &:first-child {
        margin-top: 0;
      }
      &:last-child {
        margin-bottom: 0;
      }
    }
    &.container-01--01 {
      @media screen and (max-width: 768px) {
        margin-top: 1.2rem;
      }
    }
  }

  &.container-02 {
    padding: 48px;
    margin-bottom: 3.2rem;

    display: flex;
    flex-direction: column;
    border-radius: 16px;
    background: var(--block-base-color, #faf6f2);
    &:last-child {
      margin-bottom: 0;
    }
    @media screen and (max-width: 768px) {
      padding: 24px;
      margin-bottom: 0.8rem;

      &.container-02--sp-none {
        display: contents;
      }
    }
  }

  &.container-03 {
    padding: 48px !important;
    border-radius: 16px;
    background: #faf6f2;

    @media screen and (max-width: 768px) {
      &.container-03--sp-none {
        display: contents;
      }

      padding: 16px !important;
    }
  }

  &.container-04__wrapper {
    counter-reset: num;
  }

  &.container-04 {
    position: relative;
    padding: 3.2rem 3.2rem 3.2rem 10.4rem;
    margin: 0 auto 3.2rem;
    width: 100%;
    border-radius: 16px;
    background: var(--block-base-color, #faf6f2);
    &:last-child {
      margin-bottom: 0;
    }

    /* カウント疑似要素 */
    &:before {
      counter-increment: num;
      font-family: var(--font-sans);
      width: 5.6rem;
      height: 5.6rem;
      position: absolute;
      color: #fefcfb;
      left: 2.4rem;
      line-height: 0;
      top: 1.2rem;
      padding-bottom: 0.5rem;
      font-size: 2.1rem;
      border-radius: 9999px;
      aspect-ratio: 1/1;
      display: grid;
      z-index: 2;
      place-items: center;
      background: var(--color-primary-gradient);
      content: counter(num, decimal-leading-zero);
    }

    &:after {
      content: "";
      width: 2px;
      z-index: 1;
      height: calc(100% + 2rem);
      /* 点線　　linear-gradient */
      /* background: var(--color-primary); */
      background-image: linear-gradient(
        to bottom,
        var(--color-primary) 3px,
        /* 色付き部分 */ transparent 3px /* 透明部分 */
      );
      background-size: 100% 8px;
      /* 1サイクルの高さ (点線の間隔) */
      background-repeat: repeat-y;
      position: absolute;
      left: 5.1rem;
      top: 4.2rem;
    }

    &:last-child:after {
      display: none;
    }

    @media screen and (max-width: 768px) {
      padding-left: 8rem;
      padding: 1.6rem 1.6rem 1.6rem 8rem;
      margin-bottom: 0.8rem;

      &:before {
        left: 1.6rem;
        top: 1.6rem;
        width: 4rem;
        height: 4rem;
        font-size: 1.7rem;
        padding-left: 0.2rem;
        padding-bottom: 0.3rem;
      }

      &:after {
        left: 3.6rem;
        top: 5.6rem;
        height: calc(100% + 1.6rem);
      }
    }
  }

  &.back-01 {
    padding: 12rem 0;
    position: relative;
    overflow: hidden;

    &:before {
      content: "";
      position: absolute;
      max-width: 55rem;
      aspect-ratio: 1/1;
      border-radius: 50%;
    }

    @media screen and (max-width: 768px) {
      padding: 5.5rem 0;
    }
  }
}

/* wp-block-heading */
.wp-block-heading {
  mark {
    background: var(--color-primary-gradient);
    color: var(--color-white);
    border-radius: 9999px;
    padding: 4px 8px 6px;
    margin: 0 4px;
    display: inline-block;
    font-size: 12px;
    font-style: normal !important;
    line-height: 1;
    letter-spacing: 1.2px;
  }
}

.heading-h-01 {
  font-size: 48px;
  font-family: var(--font-sans-semibold) !important;
  font-weight: 500;
  line-height: 150%;
  /* 72px */
  letter-spacing: 9.6px;
  margin-bottom: 32px !important;
}

.heading-h-02 {
  width: 100%;
  font-family: var(--font-sans-semibold) !important;
  letter-spacing: var(--ls-widest);
  line-height: var(--lh-normal) !important;
  padding: 0 0 16px;
  margin-top: 4.8rem;
  margin-bottom: 4.8rem;
  font-family: var(--font-sans-semibold);
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: 135%;
  /* 40.5px */
  letter-spacing: 3px;

  &:first-child {
    margin-top: 0;
  }

  position: relative;

  &::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 96px;
    height: 1px;
    background-color: var(--color-primary);
  }

  &::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-border);
  }

  @media screen and (max-width: 768px) {
    font-size: 21px;
    font-weight: 700;
    line-height: 135%;
    /* 28.35px */
    letter-spacing: 2.1px;
    margin-top: 3.2rem;
    margin-bottom: 3.2rem;
  }
}

.heading-h-02-01 {
  text-align: center;
  justify-content: center;
  padding: 0 0 2.4rem 0;
  font-family: var(--font-sans-bold);
  font-size: 3rem;
  margin-bottom: 4.1rem;
  position: relative;

  &::after {
    content: "";
    position: absolute;
    bottom: 0.7rem;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 96px;
    height: 1px;
    background-color: var(--color-primary);
  }

  @media screen and (max-width: 768px) {
    font-size: 2.1rem;
    margin-bottom: 0rem;
    padding-bottom: 3.5rem;

    &:after {
      bottom: 2.8rem;
      width: 10rem;
    }
  }
}
.heading-h-02-02 {
  .heading-h-02-02--en {
    font-family: "Poppins", sans-serif;
    font-size: 5.6rem;
    font-weight: 500;
    letter-spacing: 0.02rem;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 0;
    color: var(--color-text);
    &.heading-h-02-02--left {
      text-align: left;
    }
    @media screen and (max-width: 768px) {
      font-size: 3.6rem;
      line-height: 1.2;
      &.heading-h-02-02--sp-left {
        text-align: left;
      }
    }
  }

  .heading-h-02-02--ja {
    font-weight: normal;
    font-size: 1.4rem;
    text-align: center;
    letter-spacing: 1.6px;
    margin-bottom: var(--space-md);
    color: var(--color-text);
    margin-top: 0;
    &.heading-h-02-02--left {
      text-align: left;
    }
    @media screen and (max-width: 768px) {
      font-size: 1.2rem;
      &.heading-h-02-02-sub--sp-left {
        text-align: left;
      }
    }
  }
}
.heading-h-03 {
  background: var(--light-base-color, #fcf9f5);
  padding: 12px 26px;
  font-size: 24px;
  font-style: normal;
  font-family: var(--font-sans-semibold);
  font-weight: 500;
  line-height: 135%;
  /* 32.4px */
  letter-spacing: 2.4px;
  margin-bottom: 2.4rem;
  position: relative;

  &:before {
    position: absolute;
    left: 12px;
    content: "";
    width: 2px;
    height: calc(100% - 36px);
    background: var(--color-primary);
    margin-top: auto;

    margin-bottom: auto;
    top: 0;
    bottom: 0;
  }
  &:first-child {
    margin-top: 0 !important;
  }
  &:last-child {
    margin-bottom: 0 !important;
  }

  @media screen and (max-width: 768px) {
    font-size: 18px;
    line-height: 135%;
    /* 24.3px */
    letter-spacing: 1.8px;
    padding: 8px 16px 8px 32px;
    margin-top: 4.8rem;
    margin-bottom: 2.4rem;

    &:before {
      left: 15px;
      height: calc(100% - 24px);
    }
  }
}

.heading-h-04 {
  border-bottom: 1px solid var(--line-color, #efe1d1);
  position: relative;
  line-height: 135%;
  /* 24.3px */
  letter-spacing: 1.8px;
  font-size: 2.2rem;
  font-family: var(--font-sans-semibold);
  padding: 0 0 24px 20px;
  margin-top: 8px;
  margin-bottom: 32px;
  display: flex;
  gap: 1.6rem;

  * {
    margin: 0 !important;
  }

  .wp-block-heading {
    display: inline-block;
  }

  .heading-h-04__tip-area {
    display: inline-block;
    vertical-align: middle;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .heading-h-04__tip {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 1.2px;
    display: block;
    padding: 4px 12px;
    color: var(--color-primary);
    background: var(--color-white);
    border-radius: 9999px;
  }

  &:before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: var(--color-primary);
    left: 0;
    margin-bottom: auto;
    top: 13px;
    bottom: 0;
  }

  @media screen and (max-width: 768px) {
    font-size: 18px;
    line-height: 135%;
    flex-direction: column;
    /* 24.3px */
    letter-spacing: 1.8px;
    padding: 0px 16px 16px 22px;
    margin-bottom: 24px;

    &:before {
      top: 11px;
    }
  }
}

.heading-h-05 {
  font-size: 16px;
  font-family: var(--font-sans-semibold);
  font-style: normal;
  font-weight: 500;
  line-height: 135%;
  /* 21.6px */
  letter-spacing: 1.6px;
}

.wp-block-list {
  margin: 3.2rem 0;

  &.list-01 {
    margin-bottom: 32px;

    li {
      font-size: 15px;
      font-style: normal;
      margin-left: 26px;

      list-style: disc outside;
      font-weight: 500;
      line-height: 180%;
      /* 27px */
      letter-spacing: 1.5px;
    }
  }

  &.list-02 {
    margin-bottom: 32px;

    li {
      list-style: decimal outside;
      margin-left: 26px;

      font-size: 15px;
      font-style: normal;
      font-weight: 500;
      line-height: 180%;
      /* 27px */
      letter-spacing: 1.5px;
    }
  }

  &.list-03 {
    margin-bottom: 32px;

    li {
      padding-left: 32px;
      font-size: 15px;
      font-style: normal;
      list-style: none;
      font-weight: 500;
      margin: 12px 0;
      line-height: 180%;
      /* 27px */
      letter-spacing: 1.5px;
      background: url(/wp/wp-content/themes/sincere/assets/image/icon/icon-list-01.svg)
        no-repeat left 0 top 2px;
      background-size: 2.4rem;
    }
  }
}

/* table */
/* wp-block-flexible-table-block-table flex-table-table-01 */
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
  > table
  tr
  th {
  padding: 16px 24px;

  @media (max-width: 768px) {
    padding: 12px;
    font-size: 1.3rem;
  }
}

@media (max-width: 768px) {
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table
    > table
    tr
    th {
    width: auto !important;
  }
}

.wp-block-flexible-table-block-table {
  > table,
  > table > tbody > tr > th,
  > table > tbody > tr > td {
    padding: 0;
    margin: 0;
    border: none;
    border: none;
    background: none;
  }

  > table > tbody > tr > th,
  > table > tbody > tr > td {
  }
  > table > tbody > tr > th {
    font-family: var(--font-sans-semibold);
    letter-spacing: 1.5px;
  }
  &.flex-table-table-01 {
    th,
    td {
      border: none !important;
      padding-bottom: 4px;
      vertical-align: middle;
      font-size: 1.5rem;
    }

    tr {
      border-bottom: 1px solid var(--line-color, #efe1d1);
      gap: 0.8rem;
    }

    th {
      font-family: var(--font-sans-semibold);
      letter-spacing: 1.5px;
      max-width: 20rem;
      width: 20%;
    }

    td {
    }
  }
}

.flex-table-table-02 {
}

.table--sp-block {
  @media (max-width: 768px) {
    th {
      border-bottom: none !important;
      padding-bottom: 0 !important;
      padding: 16px 16px 0 16px !important;
    }

    td {
      padding: 4px 16px 16px 16px !important;
      border: none !important;
    }

    display: block !important;

    * {
      display: block !important;
      width: 100% !important;
    }
  }
}

.list-04 {
  margin: 3.2rem 0;
}

/* 個別 */
.smv-01 {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: -184px !important;
  padding: 0;

  @media (max-width: 768px) {
    padding: 0 !important;
    margin-bottom: -56px !important;
  }

  .smv-01__inner {
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto !important;

    top: -135px;

    @media (max-width: 768px) {
      top: -64px;
    }
  }

  .smv-01__image {
    padding: 0;
    margin: 0 auto;
    height: 576px;
    width: 100%;
    max-width: 100%;
    position: relative;
    display: grid;
    place-items: center;
    figure {
      width: 100%;
      height: 100%;
    }
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
    }

    .editor-styles-wrapper & {
      img {
        position: relative;
      }
    }

    @media (max-width: 768px) {
      aspect-ratio: 375/218;
      height: auto;
      width: 100%;
    }
    @media (min-width: 1440px) {
      height: 80rem;
    }
  }

  .smv-01__back {
    position: absolute;

    max-width: 680px;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff7ef !important;
    z-index: 0;
    border-radius: 0 48px 48px 0;
    margin-right: auto !important;
    margin-left: 0 !important;
    z-index: 0;
    @media (max-width: 768px) {
      padding: 32px 24px !important;
      border-radius: 0 24px 24px 0;
      width: 85%;
    }
    &:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      right: 100%;
      background: #fff7ef !important;
      z-index: 0;
    }
  }
  .smv-01__text-area {
    position: relative;
    max-width: 680px;
    width: 100%;
    padding: 96px;
    padding-bottom: 94px !important;
    border-radius: 0 48px 48px 0;
    margin-right: auto !important;
    margin-left: 0 !important;
    z-index: 1;
    @media (max-width: 768px) {
      padding: 32px 0px !important;
      width: 100%;
    }

    /* &:before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      border-radius: 0 48px 48px 0;
      background: var(--color-bg-gradient) !important;
      z-index: 0;
      @media (max-width: 768px) {
        border-radius: 0 24px 24px 0

      }
    } */
  }

  .smv-01__tag {
    margin: 0 !important;
    gap: 0.8rem;
    position: relative;

    font-size: 1.2rem;

    @media (max-width: 768px) {
      font-size: 1.1rem !important;
      width: 85%;
      padding: 0 24px;
    }
    &:after {
      width: 20rem;
      height: 1px;
      content: "";
      position: absolute;
      background: var(--color-primary);
      right: calc(100% + 1.6rem);
      top: 50%;
      transform: translateY(-50%);
    }
  }

  .smv-01__sub {
    margin: 5px 0 !important;
    letter-spacing: 0.05em;
    @media (max-width: 768px) {
      font-size: 1.5rem !important;
      width: 85%;
      padding: 0 24px;
    }
    @media (min-width: 768px) {
      letter-spacing: 0.5em;
    }
  }

  .smv-01__title {
    margin: 0px 0 !important;
    font-size: 4.8rem;
    font-family: var(--font-sans-semibold) !important;
    letter-spacing: var(--ls-widest);
    line-height: var(--lh-normal) !important;

    @media (max-width: 768px) {
      font-size: 2.7rem !important;
      padding: 0 24px;
    }
  }

  .smv-01__desc {
    margin-top: 26px;
    font-weight: 500;
    line-height: 185%;
    /* 27.75px */
    letter-spacing: 1.5px;

    @media (max-width: 768px) {
      margin-top: 16px !important;
      padding: 0 24px;
    }
  }

  .smv-01__point {
    letter-spacing: 0.02em;
    font-family: "poppins", sans-serif !important;
    font-weight: 500;
    line-height: 100%;
    margin-top: 2.4rem;
    /* 24px */
    letter-spacing: 0.48px;

    @media (max-width: 768px) {
      font-size: 2.4rem !important;
      padding: 0 24px;
      margin-top: 1.6rem;
    }
  }
}

.smv-01__menu-button-wrapper {
  width: 100%;
  gap: 16px;
  max-width: 1228px;
  margin: 10px auto 120px !important;
  position: relative;
  z-index: 1;

  .wp-block-button {
    width: 215px;
    .wp-block-button__link {
      width: 100%;
    }
  }

  @media (max-width: 768px) {
    width: 100%;
    padding: 0 24px;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-gap: 16px;
    margin-bottom: 37px !important;

    .wp-block-button {
      width: auto;
    }

    .wp-block-button__link {
      font-size: 1.3rem !important;
      line-height: 150%;
      /* 19.5px */
      letter-spacing: 2.6px;
    }
  }
}
.fixed-background-01 {
  position: relative;
  padding-bottom: 0.1rem;
  &:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-attachment: fixed !important;
    background-image: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-002.webp");
    background-size: cover;
    top: 0;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    @media (max-width: 768px) {
      background-image: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-003.png");
    }
  }
}
.points-01__wrapper {
  padding: 12rem 0;

  @media (max-width: 768px) {
    padding: 6rem 0 2.4rem;
  }
}
.points-01 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto !important;

  .points-01__inner {
    gap: 3.2rem !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    @media (max-width: 768px) {
      flex-direction: column;
      align-items: center;
      padding: 0.4rem 3.9rem 3.5rem;
      margin-top: 0;
      gap: 1.6rem !important;
    }
  }

  .points-01__item {
    background: #fefcfb;
    max-width: 340px;
    width: 100%;
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    border-radius: 9999px;
    padding: 4.2rem;

    @media (max-width: 768px) {
      min-height: 0 !important;

      * {
        margin: 0 !important;
      }

      padding: 24px !important;
      border-radius: 8px !important;
      max-width: 100%;
      aspect-ratio: auto;
      text-align: center;
      align-items: center;
    }
  }

  .points-01__tag {
    margin-top: 14px;
  }

  .points-01__tag p {
    padding: 4px 12px 4px !important;
    font-size: 14px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    color: var(--color-white);
    line-height: 1;
    background: var(--color-primary-gradient) !important;
    font-family: Poppins !important;
    letter-spacing: 0.28px;
    border-radius: 9999px;
  }

  .points-01__title {
    margin-top: 1.9rem;
    letter-spacing: var(--ls-widest);
    font-family: var(--font-sans-semibold) !important;

    @media (max-width: 768px) {
      display: block;
      width: 100% !important;
      font-size: 1.8rem !important;
      font-style: normal;
      font-weight: 600;
      line-height: 135%; /* 24.3px */
      letter-spacing: 1.8px;
    }
  }

  .points-01__tag {
    @media (max-width: 768px) {
      margin-bottom: 16px !important;
    }
  }

  .points-01__text {
    margin-top: 1.4rem;
    font-size: 1.6rem !important;
    line-height: 180%;
    /* 27px */
    letter-spacing: 1.5px;

    @media (max-width: 768px) {
      margin-top: 0.8rem !important;
    }
  }
  .c-points-01__button {
    margin: 0;
  }
  .wp-block-buttons {
    margin: 4.8rem auto 0;
    @media (max-width: 768px) {
      margin: 0 auto 0;
    }
  }
}

.block-01 {
  max-width: 1120px;
  margin: 0 auto !important;
  background: var(--color-bg-sub);
  border-radius: 24px;
  padding: 64px !important;
  border: 1px solid var(--color-border);
}

.wp-block-quote {
  background-color: #faf6f2;
  border-radius: 16px;
  padding: 4.8rem 4.8em 4.8rem 13.9rem;
  background-image: url(../../image/gutenberg/quote-01.svg);
  background-repeat: no-repeat;
  background-position: top 4.8rem left 4.8rem;
  text-decoration: none;
  font-style: normal;
  margin: 3.2rem 0;

  &:before {
    display: none;
  }
}

.c-tab-01 {
  .c-tab-01__buttons {
    padding: 6px 14px;
    display: flex;
    width: fit-content;
    gap: 0;
    background: #f2eeea;
    margin-left: 0 !important;
    border-radius: 32px 32px 0 0;
    user-select: none;

    p {
      display: inline-block;
      margin: 0 -8px;
      padding: 12px 24px;
      justify-content: center;
      align-items: center;
      border-radius: 9999px;

      letter-spacing: 2.8px;

      &.active {
        background: var(
          --cta,
          linear-gradient(90deg, #e89140 3.62%, #ff9d61 96.42%)
        );
        color: #fff;
      }

      &:hover {
        cursor: pointer;
        opacity: 0.6;
      }
    }

    .editor-styles-wrapper & {
      p {
        width: 100%;
      }
    }
  }

  .c-tab-01__contents {
    margin-top: 0;
    padding: 4.8rem 4.8rem 4.8rem 4.8rem;
    border-radius: 0 16px 16px 16px;
    background: #faf6f2;

    > div {
      display: none;
      width: 100%;

      &.active {
        display: block;
      }
    }
  }

  .editor-styles-wrapper & {
    .c-tab-01__contents {
      > div {
        display: block;
        border: 3px dotted #333;
      }
    }
  }

  @media (max-width: 768px) {
    .c-tab-01__button-wrapper {
      overflow-x: auto;
      width: 100%;
    }

    .c-tab-01__buttons {
      p {
        white-space: nowrap;
        font-size: 1.4rem;
        letter-spacing: 2.8px;
        padding: 8px 24px;
        text-align: center;
      }
    }
  }

  .c-tab-01__contents {
    padding: 4.8rem 2.4rem;
  }
}

.c-blist-01 {
  .c-blist-01__wrapper {
    margin: 2.4rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 1.6rem;
    &:first-child {
      margin-top: 0;
    }
    &:last-child {
      margin-bottom: 0;
    }

    @media (max-width: 768px) {
      grid-template-columns: 1fr;
    }
  }

  * {
    margin-block-start: 0;
  }

  .c-blist-01__item {
    padding: 12px;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background: #faf6f2;
    display: flex;
    gap: 1.6rem;
    margin-block-start: 0;

    @media (max-width: 769px) {
      height: 100%;
      background: #faf6f2 !important;
    }

    p {
      flex: 1;
      display: flex;
      align-items: center;
    }

    figure {
      width: 3.2rem;
      display: flex;
      align-items: center;
    }

    img {
      display: block;
      max-width: 3.2rem;
      height: auto;
      align-items: center;
    }

    @media (max-width: 768px) {
      figure,
      img {
        max-width: 2.4rem;
      }

      p {
        font-size: 1.6rem;
        font-family: var(--font-sans-semibold);
        line-height: 150%;
        /* 24px */
        letter-spacing: 0.96px;
      }
    }
  }

  @media (max-width: 768px) {
    figure {
      width: 2.4rem;
    }

    img {
      display: block;
      max-width: 2.4rem;
    }
  }
}

.c-card-001 {
  .c-card-001__wrapper {
  }

  .c-card-001__inner {
  }

  .c-card-001__item {
  }
}

.c-card-002 {
  .c-card-002__wrapper {
  }

  .c-card-002__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 2.4rem;

    @media (max-width: 768px) {
      grid-template-columns: 1fr;
    }
  }

  .c-card-002__item {
    padding: 2.4rem;
    margin: 0;
    border-radius: 8px;
    background: #fefcfb;
    display: flex;
    gap: 2.4rem;
    position: relative;

    @media (max-width: 768px) {
      width: 100%;
      flex-direction: column;
      align-items: center;
      text-align: center;
      background: #faf6f2;
    }
  }

  .c-card-002__icon {
    position: absolute;
    top: 0.8rem;
    left: 0.8rem;
    width: 3.2rem;
    height: 3.2rem;

    img {
      display: block;
      max-width: 3.2rem;
      height: auto;
    }
  }

  .c-card-002__media {
    width: 14.5rem;
    margin: 0;

    img {
      border-radius: 12px;
      width: 100%;
      height: auto;
    }

    @media (max-width: 768px) {
      width: 100%;

      figure,
      img {
        width: 100% !important;
      }
    }
  }

  .c-card-002__content {
    flex: 1;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    @media (max-width: 768px) {
      width: 100%;
      > * {
        width: 100%;
        text-align: left;
      }
    }
  }

  .c-card-002__title {
    font-size: 1.6rem;
    font-family: var(--font-sans-semibold);
    line-height: 135%;
  }

  .c-card-002__desc {
    font-size: 1.4rem;
  }
  .wp-block-buttons {
    margin-left: 0;
  }
}

.c-card-003 {
  .c-card-003__wrapper {
  }

  .c-card-003__inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 1.6rem;

    @media (max-width: 1024px) {
      grid-template-columns: 1fr 1fr;
    }

    @media (max-width: 768px) {
      grid-template-columns: 1fr;
    }
  }

  .c-card-003__item {
    margin: 0;
    padding: 2.4rem;
    background: #faf6f2;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    border-radius: 16px;
    position: relative;

    @media (max-width: 768px) {
      border-radius: 8px;
    }
  }

  .c-card-003__media-text {
    margin: 0;
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 2.4rem;
  }

  .c-card-003__media {
    width: 100%;
    margin: 0;
    border-radius: 12px;
    overflow: hidden;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  .c-card-003__content {
    flex: 1;
    margin: 0;
    display: flex;
    flex-direction: column;
    margin: 0;

    @media (max-width: 768px) {
      gap: 8px;
    }
  }

  .c-card-003__point {
    width: 100%;
    font-size: 1.4rem;
    color: var(--color-primary);
    font-family: "Poppins", sans-serif;
    font-weight: 500;
  }

  .c-card-003__title {
    font-size: 1.8rem;
    width: 100%;
    margin: 0;
    line-height: 135%;
    font-family: var(--font-sans-semibold);
  }

  .c-card-003__desc {
    margin-top: 0.8rem;
    font-size: 1.5rem;
    margin: 0;
    width: 100%;
    margin-bottom: 1.2rem;
    &:last-child {
      margin-bottom: 0 !important;
    }
  }

  .c-card-003__button {
    margin-top: auto;
  }
}

.c-media-text-001 {
  margin: 3.2rem 0;
  &:first-child {
    margin-top: 0 !important;
  }
  &:last-child {
    margin-bottom: 0 !important;
  }
  @media screen {
    margin: 2.4rem 0;
  }
  .c-media-text-001__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 6.4rem;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 3.2rem;
    }

    &.c-media-text-001__inner--reverse {
      flex-direction: row-reverse;

      @media (max-width: 768px) {
        flex-direction: column;
        gap: 3.2rem;
      }
    }
  }

  .c-media-text-001__media {
    width: 32rem;

    img {
      border-radius: 12px;
      width: 100%;
      height: auto;
    }
    @media (max-width: 768px) {
      width: 100%;
      figure,
      img {
        width: 100% !important;
      }
    }
  }

  .c-media-text-001__content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    font-size: 1.5rem;

    > * {
      width: 100%;
    }
  }

  .c-media-text-001__img-sub {
    margin: 0.8rem 0 0;
    text-align: center;
    font-size: 1.3rem;
  }

  .c-media-text-001__img-link {
    text-align: center;
    font-size: 1.1rem;

    margin: 0rem 0;

    a {
      color: var(--color-primary);
      text-decoration: none;
    }
  }
}

.c-media-text-002 {
  .c-media-text-002__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 6.4rem;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 3.2rem;
    }

    &.c-media-text-002__inner--reverse {
      flex-direction: row-reverse;

      @media (max-width: 768px) {
        flex-direction: column;
        gap: 3.2rem;
      }
    }
  }

  .c-media-text-002__media {
    margin: 0;
    flex: 1;

    img {
      border-radius: 12px;
      width: 100%;
      height: auto;
    }
  }

  .c-media-text-002__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    font-size: 1.5rem;

    > * {
      width: 100%;
    }
  }

  .c-media-text-002__title {
    font-size: 2.1rem;
    line-height: 135%;
    font-family: var(--font-sans-semibold);
  }
}

.c-media-text-003 {
  .c-media-text-003__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 6.4rem;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 3.2rem;
    }
  }

  .c-media-text-003__media {
    max-width: 26rem;
    width: 100%;

    img {
      border-radius: 12px;
      width: 100%;
      height: auto;
    }
  }

  .c-media-text-003__content {
    margin: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    font-size: 1.5rem;

    > * {
      width: 100%;
    }
  }

  .c-media-text-003__title {
    font-size: 2.2rem;
    line-height: 135%;
    font-family: var(--font-sans-semibold);

    @media (max-width: 768px) {
      font-size: 1.8rem;
    }
  }

  .c-media-text-003__desc {
  }
}

.c-qa-001 {
  display: flex;
  flex-direction: column;
  gap: 32px;

  .c-qa-001__block {
    margin: 0;
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 24px;
  }

  .c-qa-001__q {
    position: relative;
    width: 100%;

    &:before {
      content: "Q.";
      position: absolute;
      z-index: 1;
      left: 32px;
      top: 24px;
      font-family: var(--font-sans);
      font-size: 1.8rem;
      color: var(--color-primary);
    }

    @media (max-width: 768px) {
      gap: 0.8rem;
      &:before {
        left: 14px;
        top: 12px;
      }
    }
  }

  .c-qa-001__q-inner {
    padding: 24px 72px 24px 72px;
    font-size: 18px;
    background: #faf6f2;
    border-radius: 8px;
    width: 100%;

    position: relative;
    font-family: var(--font-sans-semibold);

    &:before {
      content: "";
      width: 20px;
      height: 2px;
      position: absolute;
      right: 22px;
      top: 38px;

      background: var(--color-primary);
    }

    &::after {
      content: "";
      width: 2px;
      height: 20px;
      position: absolute;
      right: 30px;
      top: 30px;
      background: var(--color-primary);
      transition: 0.3s;
    }

    &:hover {
      cursor: pointer;
      opacity: 0.8;
    }

    .js-qa__active & {
      &::after {
        height: 0;
        top: 40px;
      }
    }

    @media (max-width: 768px) {
      font-size: 1.5rem;
      padding: 1.6rem 4rem;

      &:before {
        width: 16px;
        right: 15px;
        top: 31px;
      }

      &::after {
        font-size: 1.6rem;
        height: 16px;
        right: 21px;
        top: 24px;
      }

      .js-qa__active & {
        &::after {
          height: 0;
          top: 24px;
        }
      }
    }
  }

  .c-qa-001__a {
    width: 100%;
    padding-left: 72px;
    padding-right: 32px;
    padding-bottom: 48px;
    position: relative;
    p {
      margin: 0;
    }

    &:before {
      content: "A.";
      position: absolute;
      left: 32px;
      top: 0px;
      font-family: var(--font-sans);
      font-size: 1.8rem;
      color: var(--color-primary);
    }

    @media (max-width: 768px) {
      padding: 0 16px 0 40px;
      font-size: 1.5rem;

      &:before {
        font-size: 1.6rem;
        left: 14px;
      }
    }
  }

  .c-qa-001__a-flex {
    display: flex;
    gap: 32px;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 1.6rem;
    }
  }

  .c-qa-001__a-flex-left {
    flex: 1;
  }

  .c-qa-001__a-flex-right {
    width: 16rem;

    @media (max-width: 768px) {
      min-width: 20rem;
      display: flex;
      gap: 1.6rem;
      align-items: center;
      justify-content: center;
    }
  }

  .c-qa-001__a-flex-right-icon {
    @media (max-width: 768px) {
      width: 100%;
      max-width: 8rem;
      max-height: 8rem;
    }
  }

  .c-qa-001__a-flex-right-text {
    @media (max-width: 768px) {
      flex: 1;
    }
  }

  .c-qa-001__a-flex-right-sub {
    margin: 0.8rem 0 0;
    text-align: center;
    font-size: 1.3rem;

    @media (max-width: 768px) {
      margin: 0;
      font-size: 1rem;
    }
  }

  .c-qa-001__a-flex-right-link {
    text-align: center;
    font-size: 1.1rem;

    margin: 0rem 0;

    a {
      color: var(--color-primary);
      text-decoration: none;
    }
  }

  .c-qa-001__a-box {
    margin-top: 16px;
    padding-top: 32px;
    font-size: 13px;
    border-top: 1px dotted #938d86;

    @media (max-width: 768px) {
      font-size: 1.3rem !important;
      padding-top: 16px;
    }
  }

  .c-qa-001__a-box-flex {
    display: flex;
    gap: 16px;

    .c-qa-001__a-box-flex-right {
      .wp-block-button__link {
        min-width: 19rem;
      }
    }
    @media (max-width: 768px) {
      flex-direction: column;
      gap: 1rem;
      .c-qa-001__a-box-flex-right {
        width: 100%;
        .wp-block-buttons {
          margin: 0;
        }
        .wp-block-button {
          width: 100%;
          margin: 0;
        }
        .wp-block-button__link {
          min-width: 19rem;
          margin-right: auto;
          margin-left: 0;
          width: fit-content;
          min-width: auto;
          padding: 4px 12px 5px;
        }
      }
    }
  }
  .c-qa-001__a-box-back {
    padding: 1.6rem;
    background: #fcf9f5;
  }
}

.c-media-text-004 {
  .c-media-text-004__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 3.2rem;

    &.c-media-text-004__inner--reverse {
      flex-direction: row-reverse;
    }
  }

  @media (max-width: 768px) {
    .c-media-text-004__inner,
    .c-media-text-004__inner--reverse {
      gap: 1.6rem;
    }
  }

  .c-media-text-004__media {
    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }

    .c-media-text-004__image {
      width: 27.8rem;
      position: relative;
      border-radius: 9999px;
      aspect-ratio: 1/1;
      overflow: hidden;

      img {
        position: absolute;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
      }
    }

    @media (max-width: 768px) {
      width: 8.4rem;

      .c-media-text-004__image {
        width: 5.2rem;
        aspect-ratio: 1/1;
      }
    }
  }

  .c-media-text-004__content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    font-size: 1.5rem;
    padding: 4.8rem;
    background: #faf6f2;
    border-radius: 16px;
    position: relative;

    > * {
      width: 100%;
    }

    :after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border: 1.2rem solid #faf6f2;
      border-right-color: transparent;
      border-bottom-color: transparent;
      top: 4.8rem;
      right: -1.6rem;
    }

    @media (max-width: 768px) {
      padding: 2.4rem;
      flex: 1;

      p {
        font-size: 1.5rem !important;
      }

      :after {
        top: 1.6rem;
      }
    }
  }

  .c-media-text-004__title {
    font-family: var(--font-sans-semibold);
    font-size: 1.8rem;

    @media (max-width: 769px) {
      font-size: 1.6rem !important;
      letter-spacing: 1px;
    }
  }

  .c-media-text-004__img-sub {
    margin: 0.8rem 0 0;
    text-align: center;
    font-size: 1.3rem;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }
  }

  .c-media-text-004__img-link {
    text-align: center;
    font-size: 1.1rem;

    margin: 0rem 0;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }

    a {
      color: var(--color-primary);
      text-decoration: none;
    }
  }
  .editor-styles-wrapper & {
    .c-media-text-004__image {
      .components-resizable-box__container,
      img,
      figure {
        position: relative;
        height: 100% !important;
        width: 100% !important;
      }
    }
  }
}

.c-media-text-008 {
  .c-media-text-008__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 3.2rem;

    &.c-media-text-008__inner--reverse {
      flex-direction: row-reverse;
    }
  }

  @media (max-width: 768px) {
    .c-media-text-008__inner,
    .c-media-text-008__inner--reverse {
      gap: 1.6rem;
    }
  }

  .c-media-text-008__media {
    width: 16rem;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }

    .c-media-text-008__image {
      width: 16rem;
      position: relative;
      border-radius: 9999px;
      aspect-ratio: 1/1;
      overflow: hidden;

      img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
      }
    }

    @media (max-width: 768px) {
      width: 8.4rem;

      .c-media-text-008__image {
        width: 5.2rem;
        aspect-ratio: 1/1;
      }
    }
  }

  .c-media-text-008__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    font-size: 1.5rem;
    padding: 4.8rem;
    background: #faf6f2;
    border-radius: 16px;
    position: relative;

    > * {
      width: 100%;
    }

    &:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border: 1.2rem solid #faf6f2;
      border-right-color: transparent;
      border-bottom-color: transparent;
      top: 4.8rem;
      right: -1.6rem;
    }

    @media (max-width: 768px) {
      padding: 2.4rem;
      flex: 1;

      p {
        font-size: 1.5rem !important;
      }

      &:after {
        top: 1.6rem;
      }
    }
  }
  .c-media-text-008__inner--reverse {
    .c-media-text-008__content {
      &:after {
        right: auto;
        left: -1.6rem;
        transform: rotate(90deg);
      }
    }
  }

  .c-media-text-008__title {
    font-family: var(--font-sans-semibold);
    font-size: 1.8rem;

    @media (max-width: 769px) {
      font-size: 1.6rem !important;
      letter-spacing: 1px;
    }
  }

  .c-media-text-008__img-sub {
    margin: 0.8rem 0 0;
    text-align: center;
    font-size: 1.3rem;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }
  }

  .c-media-text-008__img-link {
    text-align: center;
    font-size: 1.1rem;

    margin: 0rem 0;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }

    a {
      color: var(--color-primary);
      text-decoration: none;
    }
  }
  .editor-styles-wrapper & {
    .c-media-text-008__image {
      .components-resizable-box__container,
      img,
      figure {
        position: relative;
        height: 100% !important;
        width: 100% !important;
      }
    }
  }
}
.c-media-text-009 {
  margin: 3.2rem 0;
  &:first-child {
    margin-top: 0 !important;
  }
  &:last-child {
    margin-bottom: 0 !important;
  }
  @media screen {
    margin: 2.4rem 0;
  }
  .c-media-text-009__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 3.2rem;

    &.c-media-text-009__inner--reverse {
      flex-direction: row-reverse;
    }
  }

  @media (max-width: 768px) {
    .c-media-text-009__inner,
    .c-media-text-009__inner--reverse {
      gap: 1.6rem;
    }
  }

  .c-media-text-009__media {
    margin: 0 !important;
    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }

    .c-media-text-009__image {
      width: 16rem;
      position: relative;
      border-radius: 9999px;
      aspect-ratio: 1/1;
      overflow: hidden;

      img {
        position: absolute;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
      }
    }

    @media (max-width: 768px) {
      width: 8.4rem;

      .c-media-text-009__image {
        width: 6rem;
        aspect-ratio: 1/1;
      }
    }
  }

  .c-media-text-009__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    font-size: 1.5rem;
    padding: 4.8rem;
    background: #faf6f2;
    border-radius: 16px;
    position: relative;
    margin: 0 !important;

    > * {
      width: 100%;
    }

    :after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      border: 1.2rem solid #faf6f2;
      border-right-color: transparent;
      border-bottom-color: transparent;
      top: 4.8rem;
      right: -1.6rem;
    }

    @media (max-width: 768px) {
      padding: 2.4rem;
      flex: 1;

      p {
        font-size: 1.5rem !important;
      }

      :after {
        top: 1.6rem;
      }
    }
  }

  .c-media-text-009__title {
    font-family: var(--font-sans-semibold);
    font-size: 1.8rem;

    @media (max-width: 769px) {
      font-size: 1.6rem !important;
      letter-spacing: 1px;
    }
  }

  .c-media-text-009__img-sub {
    margin: 0.8rem 0 0;
    text-align: center;
    font-size: 1.3rem;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }
  }

  .c-media-text-009__img-link {
    text-align: center;
    font-size: 1.1rem;

    margin: 0rem 0;

    @media (max-width: 769px) {
      font-size: 1rem !important;
      letter-spacing: 1px;
    }

    a {
      color: var(--color-primary);
      text-decoration: none;
    }
  }
  .editor-styles-wrapper & {
    .c-media-text-009__image {
      .components-resizable-box__container,
      img,
      figure {
        position: relative;
        height: 100% !important;
        width: 100% !important;
        top: 0;
      }
    }
  }
}
.wp-block-embed.is-type-video {
  border-radius: 8px;
  overflow: hidden;
}

.c-media-text-005 {
  .c-media-text-005__inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 4.8rem;

    > * {
      flex: 1;
    }

    &.c-media-text-005__inner--reverse {
      flex-direction: row-reverse;
    }

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 1.6rem;
    }
  }

  .c-media-text-005__youtube-short {
    border-radius: 8px;
    overflow: hidden;

    .wp-block-embed__wrapper {
      aspect-ratio: 1/1.8 !important;
    }
  }
}

.c-youtube-001 {
  border-radius: 8px;
  overflow: hidden;
  background: #000;

  .wp-block-embed__wrapper {
    width: auto !important;
    aspect-ratio: 1/1.8 !important;
    max-height: 80vh;
    margin: 0 auto;
  }
}

.table-03 {
  width: 100%;
  margin: 0;

  .table-03__tr {
    @media (min-width: 767px) {
      display: flex;
      align-items: stretch;
    }
  }

  .table-03__th {
    margin: 0;
    padding: 12px;
    width: 100%;
    background: #f1e8dd;
    text-align: center;

    border-bottom: none;
    &:last-child {
      border-bottom: none;
    }
    @media (min-width: 767px) {
      flex: 1;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      padding: 24px;
      max-width: 330px;

      border-bottom: 1px solid var(--color-white);
      p {
        width: 100%;
        text-align: left;
      }
    }
  }

  .table-03__td {
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* gap: 4px; */

    @media (min-width: 767px) {
      flex: 1;

      &:first-child {
        border-left: none;
      }
    }
  }

  .table-03__td-tr {
    margin: 0;
    flex: 1;
    background: #fcf9f5;
    padding: 16px;
    border-bottom: 1px solid var(--line-color, #efe1d1);
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;

    &:first-child {
      border-top: 1px solid var(--line-color, #efe1d1);
    }

    @media (min-width: 767px) {
      padding: 10px 16px;
      display: flex;
      flex-direction: column;
    }
  }

  .table-03__td-in {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 4px 10px;

    @media (min-width: 767px) {
      gap: 4px 10px;
    }
  }

  .table-03__td-list-01 {
    line-height: 150%;
    /* 19.5px */
    letter-spacing: 1.3px;
    font-size: 13px;
    margin: 0 !important;

    text-align: right;
    font-family: var(--font-sans-semibold);
  }

  .table-03__td-list-02 {
    line-height: 150%;
    /* 19.5px */
    letter-spacing: 1.3px;
    font-size: 16px;
    margin: 0 !important;
    font-family: var(--font-sans-semibold) !important;
    text-align: left;

    @media (min-width: 767px) {
      font-size: 18px;
    }
  }

  .table-03__td-list-03 {
    line-height: 180%;
    /* 21.6px */
    letter-spacing: 1.3px;
    font-size: 12px;
    letter-spacing: 1.2px;
    color: #5a5d52;
    width: 100%;
    text-align: right;
  }
}

.c-media-text-006 {
  text-decoration: none !important;
  * {
    text-decoration: none !important;
  }
  .c-media-text-006__wrapper {
    gap: 3.2rem;
  }

  .c-media-text-006__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 16px;
    flex-wrap: wrap;
  }

  .c-media-text-006__block {
    margin: 0;
    width: 100%;
    padding: 24px 88px 24px 24px;
    border-radius: 8px;
    max-width: 900px;
    display: flex;
    gap: 16px;
    flex-direction: column;
    background: #fefcfb;
    position: relative;

    &:before {
      content: "";
      position: absolute;
      width: 32px;
      height: 32px;
      background: #776958;
      border-radius: 9999px;
      top: 50%;
      transform: translateY(-50%);
      right: 24px;
    }

    &:after {
      content: "";
      position: absolute;
      width: 8px;
      height: 8px;
      right: 37px;
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
      top: 50%;
      transform: translateY(-50%) rotate(-45deg);
    }

    .c-media-text-006__tag-area {
    }

    .editor-styles-wrapper & {
      .c-media-text-006__tag-area {
        display: flex;
      }
    }

    @media (max-width: 768px) {
      background: #faf6f2;
      padding: 24px;
      &:before,
      &:after {
        display: none;
      }

      .c-media-text-006__tag-area {
        display: flex;
      }
    }
  }

  .c-media-text-006__media-text {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    width: 100%;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 16px;
    }
  }

  .c-media-text-006__media {
    width: 100%;
    max-width: 145px;

    img {
      border-radius: 8px;
      width: 100%;
      height: 100%;
      aspect-ratio: 1.5/1;
      object-fit: cover;
    }

    @media (max-width: 768px) {
      max-width: 100%;
      width: 100% !important;
    }
  }

  .c-media-text-006__text {
    margin: 0;
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
  }

  .c-media-text-006__title {
    font-size: 16px;
    font-family: var(--font-sans-semibold);
    font-weight: 500;
    line-height: 180%;
    /* 28.8px */
    letter-spacing: 1.6px;
    width: 100%;
  }

  .c-media-text-006__desc {
    width: 100%;
    font-size: 14px;
    margin: 0;
  }

  .c-media-text-006__tag-area {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: flex-start;
    flex-wrap: wrap;

    > * {
      margin: 0 !important;
      padding: 4px 12px;
      border-radius: 32px;
      background: #faf6f2;
      font-size: 12px;
      color: var(--color-primary);
    }

    @media (max-width: 768px) {
      gap: 12px;

      > * {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        background: #fff;
      }
    }
  }
  .wp-block-buttons.c-media-text-006__button-area {
    display: none;
    margin-bottom: 0;
    margin-top: 0;
    @media (max-width: 768px) {
      display: block;
    }
  }

  .editor-styles-wrapper & {
    .wp-block-buttons.c-media-text-006__button-area {
      display: block;
      margin-bottom: 0;
      margin-top: 0;
    }
  }
}

.mv-002 {
  height: 100%;
  .mv-002__wrapper {
    height: 100%;
  }

  .mv-002__inner {
    height: 100%;
  }

  .mv-002__slider {
    position: relative;
    overflow: hidden;
    /* 必要なら調整 */
    opacity: 0;
    transition: 0.6s;
    height: 100%;
  }
  .editor-styles-wrapper & {
    .mv-002__slider {
      opacity: 1;
      aspect-ratio: auto;
    }
  }

  .mv-002__slider-item:first-child {
    position: relative;
    /* 最初のアイテムだけ通常フローに残す */
  }

  .mv-002__slider-item {
    position: absolute;
    inset: 0;
    opacity: 1;
    height: 100%;
    transition: opacity 2s ease-in-out;

    &.is-opacity {
      opacity: 0;
    }
  }
  .editor-styles-wrapper & {
    .mv-002__slider-item {
      position: relative;
      display: flex;
    }
    .mv-002__slider-image--sp {
      display: block !important;
    }
    .mv-002__slider-item {
      max-width: 32rem !important;
    }
  }
  .mv-002__slider-image {
    padding: 0;
    max-width: 100%;
    opacity: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    mask-repeat: no-repeat;
    mask-size: 200% 100%;
    mask-position: 100% 0;
    transition: 12s;
    mask-image: linear-gradient(
      -45deg,
      rgba(0, 0, 0, 1) 60%,
      rgba(0, 0, 0, 0) 100%
    );
    &.mv-002__slider-image--sp {
      display: none;
      @media (max-width: 768px) {
        display: block;
      }
    }
    &.mv-002__slider-image--pc {
      @media (max-width: 768px) {
        display: none;
      }
    }

    .is-fadeout & {
      mask-position: -20% 0;
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    .is-zoom & {
      animation: zoomIn 20s ease-in-out infinite;

      img {
        transition: transform 20s ease-in-out;
        transform: scale(1.1);
      }
    }
  }
}

.case {
  position: relative;
  .case__wrapper {
    padding: 0 0.8rem;
  }
  &.p-case {
    .case__title {
      @media (max-width: 768px) {
        display: block !important;
        font-size: 1.6rem !important;
      }
    }

    .case__image-area {
      margin-top: 6.4rem;
      margin-bottom: 2.4rem;
    }

    .case__inner {
      margin: 0 auto;
      flex-direction: column;
      gap: 2rem;
    }

    .case__inner {
      flex-direction: column;
      gap: 0;
    }
  }

  .case__tag {
    display: flex;
    gap: 1.2rem;

    a {
      display: inline-block;
      padding: 0.8rem 3.2rem;
      font-size: 1.4rem;
      color: var(--color-primary);
      background-color: var(--color-bg-light);
      border-radius: 9999px;
      text-decoration: none;

      @media (max-width: 768px) {
        font-size: 1.2rem;
        padding: 0.8rem 2.4rem;
      }
    }
  }

  .case__back {
    position: absolute;
    top: -50rem;
    left: 0;
    z-index: -1;

    @media screen and (max-width: 768px) {
      opacity: 0;
    }
  }

  @media screen and (max-width: 768px) {
    padding: 0 !important;
  }

  .case__area {
    max-width: 124.8rem;
    margin: var(--space-2xl) auto;
    padding: var(--space-2xl);
    border: 1px solid var(--color-border);
    background: var(--color-bg-light);
    border-radius: var(--radius-xl);

    @media screen and (max-width: 768px) {
      padding: var(--space-lg) var(--space-md) var(--space-xl);
      border-radius: var(--radius-sm);
    }

    .u-tab-button-area {
      margin: 3rem 0 2.8rem 0;
      gap: 0.9rem;

      @media (max-width: 768px) {
        display: grid;
        gap: 0.8rem;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
      }
    }

    .u-tab-button {
      @media (max-width: 768px) {
        width: 100%;
        padding: 0.3rem 1rem 0.5rem;
        min-height: 4.4rem;
        line-height: 1.35;
      }
    }
  }

  .case__tab-content {
    display: none;
  }

  .case__tab-content.js__active {
    display: block;
  }

  .case__block {
    max-width: 112rem;
    border: 1px solid var(--color-line);
    padding: 2.4rem var(--space-lg);
    background-color: var(--color-white);
    border-radius: var(--radius-md);
    color: var(--color-text);
    margin: 2.8rem auto;

    @media screen and (max-width: 768px) {
      margin: var(--space-sm) auto;
      padding: 0;
      border: none;
      background: transparent;
    }
  }

  .case__title {
    font-size: var(--fs-xl);
    font-weight: bold;
    margin-bottom: var(--space-lg);
    padding: 0.5rem 1rem 0.5rem 3.2rem;
    position: relative;
    letter-spacing: 0.25em;
    background: var(--color-bg-light);
    font-family: var(--font-sans-semibold);

    &:after {
      content: "";
      position: absolute;
      left: 1.5rem;
      height: calc(100% - 3.2rem);
      min-height: 1.2rem;
      width: 2px;
      background-color: var(--color-primary);
      top: 0;
      bottom: 0;
      border-radius: var(--radius-md);
      margin-top: auto;
      margin-bottom: auto;
    }

    @media (max-width: 768px) {
      display: none;
    }
  }

  .case__inner {
    display: flex;
    gap: 4rem;

    @media screen and (max-width: 768px) {
      flex-direction: column;
      gap: 2rem;
    }
  }

  .case__image-area {
    flex: 0.85;
    display: flex;
    position: relative;
    gap: 5rem;
    height: fit-content;

    @media (max-width: 768px) {
      gap: 2rem;
    }

    &:after {
      content: "";
      position: absolute;
      transform: rotate(-90deg);
      left: 0;
      right: 0;
      margin-right: auto;
      margin-left: auto;
      top: 50%;
      width: 0;
      height: 0;
      border-left: 1rem solid transparent;
      border-right: 1rem solid transparent;
      border-top: 1.6rem solid #776958;

      @media (max-width: 768px) {
        border-left: 0.6rem solid transparent;
        border-right: 0.6rem solid transparent;
        border-top: 0.8rem solid #776958;
      }
    }
  }

  .case__image {
    flex: 1;
    border-radius: var(--radius-md);
    position: relative;
    overflow: hidden;
    width: 100%;

    &:after {
      content: "＋";
      position: absolute;
      right: 0;
      display: grid;
      place-items: center;
      line-height: 1;
      padding-bottom: 0.4rem;

      bottom: 0;
      width: 4rem;
      height: 4rem;
      color: var(--color-white);
      font-size: 2rem;
      border-radius: 4px 0 0 0;
      background: var(--color-primary-gradient);

      @media (max-width: 768px) {
        width: 5rem;
        height: 5rem;
        right: -1.3rem;
        bottom: -1.3rem;
        border-radius: 9999px;
        background: var(--color-primary-gradient);
        font-size: 1.8rem;
        padding-right: 0.6rem;
        padding-bottom: 1.2rem;
      }
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      transition: all 0.3s;

      &:hover {
        cursor: pointer;
        transform: scale(1.05);
        opacity: 0.8;
      }
    }
  }

  .case__image--before {
    position: relative;
  }

  .case__before-image {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    border-radius: var(--radius-md);
  }

  .case__text-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    .wp-block-buttons {
      margin-top: auto;
      margin-left: auto !important;
      margin-right: 0 !important;
      margin-bottom: 0 !important;
    }
    @media screen and (max-width: 768px) {
      gap: 0;
      .wp-block-buttons {
        margin-top: 1.6rem;
        margin-left: auto !important;
        margin-right: auto !important;
      }
    }
  }

  .case__text-tr {
    display: flex;
    gap: 2rem;

    @media screen and (max-width: 768px) {
      border-bottom: 1px solid var(--color-border);
      padding: 0.8rem 0;
    }
  }

  .case__text-th {
    flex: 1;
    max-width: 8rem;
    font-weight: bold;
    font-size: var(--fs-xs);
    color: var(--color-text);
    font-family: var(--font-sans-semibold);
    line-height: 1.35;

    border-bottom: 1px solid var(--color-white);
  }

  .case__text-td {
    flex: 2;
    font-size: var(--fs-xs);
    line-height: var(--lh-base);
    color: var(--color-text);
  }

  .case__text-td a {
    color: var(--color-primary);
    text-decoration: underline;
  }

  .case__modal {
    transition: all 0.3s ease-in-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;

    z-index: var(--z-modal);

    &.js__active {
      opacity: 1;
      overflow: hidden;
      pointer-events: auto;
    }

    .case__modal-cover {
      height: 100vh;
      width: 100vw;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, 0.4);
      pointer-events: none;
      opacity: 0;
      place-items: center;
      z-index: var(--z-modal);
      transition: all 0.3s ease-in-out;
    }

    &.js__active {
      .case__modal-cover {
        opacity: 1;
        overflow: hidden;
        display: block;
        pointer-events: auto;
      }
    }

    &.js__active {
      display: grid;
      z-index: var(--z-modal);
      opacity: 1;
      overflow: hidden;
    }

    &.js__active {
      .case__modal-inner {
        opacity: 1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        pointer-events: auto;
      }
    }

    .case__modal-inner {
      background-color: var(--color-white);
      padding: 3rem;
      z-index: var(--z-modal);
      position: fixed;
      top: calc(50% + 1rem);
      left: 50%;
      transform: translate(-50%, calc(-50% + 5rem));
      border-radius: var(--radius-md);
      max-width: 74rem;
      width: calc(100vw - 4rem);
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
      opacity: 0;
      transition: all 0.3s ease-in-out;
      transition-delay: 0.2s;
      pointer-events: none;

      @media (max-width: 768px) {
        padding: var(--space-md);
      }

      .case__modal-close {
        user-select: none;
        position: absolute;
        top: -3rem;
        right: -3rem;
        font-size: 3rem;
        line-height: var(--lh-compact);
        background: var(--color-primary-gradient);
        cursor: pointer;
        color: var(--color-white);
        width: 6.4rem;
        height: 6.4rem;
        font-size: 2.8rem;
        border-radius: 999px;
        display: grid;
        place-items: center;
        transition: all 0.3s;

        &:hover {
          background-color: rgba(193, 187, 180, 0.8);
        }

        @media screen and (max-width: 768px) {
          width: 4.8rem;
          height: 4.8rem;
          font-size: 2.4rem;
          top: -2rem;
          right: -0.6rem;
        }

        span {
          line-height: 1;
          position: relative;
          top: -0.3rem;
          left: 0.2rem;
        }
      }

      .case__modal-title {
        font-size: var(--fs-xl);
        font-weight: bold;
        margin-bottom: 1rem;
        padding: 0.7rem 1rem 1rem 2rem;
        position: relative;
        letter-spacing: 0.25em;
        background: var(--color-bg-light);

        &:after {
          content: "";
          position: absolute;
          left: 1rem;
          width: 2px;
          background-color: var(--color-primary);
          height: calc(100% - 3.2rem);
          top: 0;
          bottom: 0;
          border-radius: var(--radius-md);
          margin-top: auto;
          margin-bottom: auto;
        }

        @media (max-width: 768px) {
          font-size: 1.5rem;

          &:after {
            height: calc(100% - 3.2rem);
          }
        }
      }
    }

    .case__modal-scroll-area {
      max-height: 100%;
    }

    .case__modal-switch-area {
      display: flex;
      margin-bottom: 3rem;
      border-radius: var(--radius-md);
      overflow: hidden;

      .case__modal-switch-before,
      .case__modal-switch-after {
        position: relative;
        overflow: hidden;
        flex: 1;
        padding: 1rem 1rem 1.2rem 1rem;
        text-align: center;
        font-size: 2rem;
        color: var(--color-white);
        background-color: rgba(193, 187, 180, 0.8);
        cursor: pointer;

        user-select: none;
        letter-spacing: 0.06em;

        @media screen and (max-width: 768px) {
          font-size: var(--fs-sm);
          padding: var(--space-xs);
        }
      }

      .case__modal-switch-back {
        position: absolute;
        top: 0;
        height: 100%;
        width: 100%;
        background: var(--color-primary-gradient);

        transition: all 0.3s ease-in-out;
      }

      .case__modal-switch-before {
        .case__modal-switch-back {
          right: -100%;
          border-radius: var(--radius-md) 0 0 10px;
        }

        &.js__active {
          .case__modal-switch-back {
            right: 0;
          }
        }
      }

      .case__modal-switch-after {
        .case__modal-switch-back {
          left: -100%;
          border-radius: 0 10px 10px 0;
        }

        &.js__active {
          .case__modal-switch-back {
            left: 0;
          }
        }
      }

      .case__modal-switch-text {
        position: relative;
        line-height: 1;
      }
    }

    .case_modal-tab-wrapper {
      position: relative;
      overflow: hidden;
      width: 100%;
      /* 必要に応じて幅指定 */
    }

    .case_modal-tab-inner {
      position: relative;
      width: 200%;
      transition: transform 0.2s ease-in-out;
      display: flex;
    }

    .case_modal-tab {
      flex: 1;
    }

    .case_modal-tab-inner:has(.case_modal-tab-content--after.js__active) {
      transform: translateX(-50%);
    }

    .case_modal-tab-content {
      flex-shrink: 0;
    }

    .case_modal-tab-content.js__active {
      opacity: 1;
    }

    .case__modal-image {
      display: flex;
      justify-content: center;
      align-items: center;

      @media screen and (max-width: 768px) {
      }

      img {
        max-height: calc(100svh - 40rem);
        width: auto;
        border-radius: var(--radius-md);

        @media screen and (max-width: 768px) {
          max-height: calc(100svh - 30rem);
        }
      }
    }

    .case__modal-text-area {
      display: flex;
      flex-direction: column;
      gap: 2rem;

      .case__modal-text-title {
        font-size: var(--fs-md);
        font-weight: bold;
        text-align: center;
        margin-top: 2.4rem;
        font-family: var(--font-sans-semibold);
        color: var(--color-text);
      }

      .case__modal-desc {
        font-size: var(--fs-sm);
        line-height: var(--lh-base);
        color: var(--color-text);
      }
    }
  }

  .case__button-area {
    margin-bottom: 0;
  }

  .case__else-image-area {
    display: flex;
  }

  .case__image-area:has(.case__image--else) {
    &:after {
      display: none;
    }
  }

  .case__tag {
    margin-bottom: 2.4rem;
  }

  .case__else-image-area {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 1.6rem;
    margin-bottom: 2.4rem;

    @media (max-width: 768px) {
      grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
    }
  }

  .case__else-image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;

    img {
      border-radius: 16px;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: all 0.3s ease-in-out;

      &:hover {
        cursor: pointer;
        transform: scale(1.05);
        opacity: 0.8;
      }
    }

    &:after {
      content: "＋";
      position: absolute;
      right: 0;
      display: grid;
      place-items: center;
      line-height: 1;
      padding-bottom: 0.4rem;
      bottom: 0;
      width: 2rem;
      height: 2rem;
      color: var(--color-white);
      font-size: 1rem;
      border-radius: 4px;
      background: var(--color-primary-gradient);
    }
  }

  &.p-case {
    .case__text-th {
      max-width: 18rem;

      @media (max-width: 768px) {
        max-width: 10rem;
      }
    }
  }

  .case__else-modal-wrapper {
    position: fixed;
    padding: 2.4rem;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    display: grid;
    place-items: center;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease-in-out;

    &.js__active {
      opacity: 1;
      pointer-events: auto;
      z-index: var(--z-modal);
    }
  }

  .case__else-modal-back {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: var(--z-modal);
    pointer-events: none;
    opacity: 0;
    transition: all 0.3s ease-in-out;

    .js__active & {
      opacity: 1;
      pointer-events: auto;
      z-index: var(--z-modal);
    }
  }

  .case__else-modal-scroll-area {
    height: 100%;
  }

  .case__else-modal-inner {
    position: relative;
    background-color: var(--color-white);
    padding: 3rem;
    height: calc(100svh - 16rem);

    width: 100%;
    border-radius: var(--radius-md);
    max-width: 98rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: all 0.3s ease-in-out;
    transition-delay: 0.2s;
    pointer-events: none;

    .js__active & {
      opacity: 1;
      pointer-events: auto;
      z-index: var(--z-modal);
    }
  }

  .swiper {
    width: 100% !important;
  }

  #modal-swiper {
    height: 100%;
  }

  .swiper-slide {
    width: 100% !important;
    height: 100% !important;
  }

  .case__else-modal-close {
    user-select: none;
    position: absolute;
    top: -3rem;
    right: -3rem;
    font-size: 3rem;
    line-height: var(--lh-compact);
    background: var(--color-primary);
    cursor: pointer;
    color: var(--color-white);
    width: 6.4rem;
    height: 6.4rem;
    font-size: 2.8rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    transition: all 0.3s;

    &:hover {
      background-color: rgba(193, 187, 180, 0.8);
    }

    @media screen and (max-width: 768px) {
      width: 4.8rem;
      height: 4.8rem;
      font-size: 2.4rem;
      top: -2rem;
      right: -0.6rem;
    }

    span {
      line-height: 1;
      position: relative;
      top: -0.3rem;
      left: 0.2rem;
    }
  }

  .case_else__image-container {
    height: 100%;
  }

  .case__else-modal-image {
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
    /* 画像を枠内に収めたい場合 */
  }

  .case__else-modal-image-list {
    width: fit-content;
    display: block;
    flex-wrap: wrap;
    margin: 0 auto;
    gap: 1.6rem;
    margin-top: 2.4rem;
    height: fit-content !important;
    flex-wrap: wrap;
    gap: 1.6rem;
    margin-top: 2.4rem;
  }

  .case__else-modal-image-list-image {
    width: 8rem;
    height: 8rem;

    @media (max-width: 768px) {
      width: 4rem;
      height: 4rem;
    }

    &:hover {
      cursor: pointer;
      transform: scale(1.05);
      opacity: 0.8;
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: var(--radius-md);
      transition: all 0.3s ease-in-out;
    }
  }

  .slider-thumbnail .swiper-slide {
    opacity: 0.5;
    transition: opacity 0.5s;
    width: 8rem !important;
    aspect-ratio: 1 / 1;

    @media (max-width: 768px) {
      width: 4rem !important;
      aspect-ratio: 1 / 1;
    }
  }

  .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
  }

  .swiper-button-next,
  .swiper-button-prev {
    border-radius: 9999px;
    width: var(--space-2xl);
    height: var(--space-2xl);
    background: rgba(255, 255, 255, 0.8);

    &:after {
      font-size: 2rem;
      color: var(--color-primary);
    }

    &:hover {
      opacity: 0.8;
    }

    @media (max-width: 768px) {
      width: 6.2rem;
      height: 6.2rem;
    }

    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
  }

  .swiper-button-next {
    right: 1.6rem;

    @media (max-width: 768px) {
      right: -5rem;
    }
  }

  .swiper-button-prev {
    left: 1.6rem;

    @media (max-width: 768px) {
      left: -5rem;
    }
  }

  .swiper {
    height: 100%;
  }

  .swiper-slide {
    margin-right: 0;

    img {
      height: 100%;
      max-height: 800px;
      border-radius: var(--radius-md);
      margin: 0 auto;
      display: block;
    }
  }

  .case__else-text-box {
    display: flex;
    gap: 5rem;

    > div {
      flex: 1;
    }

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 2rem;
    }
  }

  .case__image-text-title {
    font-family: var(--font-sans-semibold);
    font-size: 1.6rem;
    text-align: center;
    background: var(--color-bg-light);
    padding: 1rem 2.4rem;
    border-radius: 9999px;
    color: var(--color-primary-light-02);
  }

  .case__image-title {
    margin: 1.2rem 0 1.2rem;
    font-family: var(--font-sans-semibold);
  }

  .case__image-desc {
    font-size: 1.4rem;
  }

  .case_else-image-container {
    height: 100%;
  }

  .case__image-text-wrap {
    background: rgba(0, 0, 0, 0.5);
    padding: 5px 20px;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
  }

  .case__else-modal-main-image-area {
    position: relative;
    height: 100%;
  }
}

.page__case {
  padding: 0 !important;

  .case__inner {
    display: flex;
    flex-direction: column;
    gap: 64px !important;

    > * {
      width: 100%;
      margin: 0;
    }

    @media (max-width: 768px) {
      gap: 48px !important;
    }
  }

  .case__block {
    display: contents !important;
  }

  .case__image-area {
    margin: 0 auto !important;
    max-width: 67rem;
    width: 100%;
  }

  .case__image-area-wrapper {
    background: #fcf9f5;
    padding: 32px;

    display: flex;
    padding: 32px 32px;
    border-radius: var(--object_, 16px);
    background: var(--block-base-color, #faf6f2);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;

    > * {
      width: 100%;
    }

    .wp-block-buttons {
      margin: auto 0 0 !important;

      .wp-block-button__link {
        font-size: 1.4rem;
      }

      width: 100%;
    }

    @media (max-width: 768px) {
      display: contents;
    }
  }

  .case__else-image-area {
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap;
    @media (max-width: 768px) {
      display: grid !important;
      grid-template-columns: 1fr 1fr;
      gap: 16px !important;
    }
  }

  .case__else-image {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .case__else-image {
    width: 18.5rem !important;
    aspect-ratio: 1 / 1;

    &:after {
      width: 3.2rem;
      height: 3.2rem;
      font-size: 1.6rem;

      padding-bottom: 0;
    }
    @media (max-width: 768px) {
      width: 100% !important;
      aspect-ratio: 1 / 1;
      &:after {
        width: 5rem;
        height: 5rem;
        right: -1.3rem;
        bottom: -1.3rem;
        border-radius: 9999px;
        background: var(--color-primary-gradient);
        font-size: 1.8rem;
        padding-right: 0.6rem;
        padding-bottom: 1.2rem;
        border-radius: 9999px;
      }
    }
  }

  .case__else-image-title {
    text-align: center;
    font-size: 1rem;
  }

  .case__text-area {
    display: block !important;
  }

  .case__text-tr {
    gap: 0;
    border-bottom: 1px solid #efe1d1;

    &:first-child {
      border-top: 1px solid #efe1d1;
    }
    @media (max-width: 768px) {
      padding: 0 !important;
    }
  }

  .case__text-th {
    padding: 10px 16px !important;
    background: #efe1d1;
  }

  .case__text-td {
    padding: 10px 16px !important;
  }

  .case__desc-area {
    display: flex;
    flex-direction: column;
    gap: 32px;

    > * {
      margin: 0 !important;
    }
  }

  .case__text-td:has(.case__text-tr) {
    padding: 0 !important;
  }

  .case__text-content {
    display: flex;
    flex-direction: column;
    gap: 32px;

    > * {
      margin: 0 !important;
    }
  }
}
.p-case-compact-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  @media (max-width: 768px) {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .case__image-area-wrapper {
    > * {
      width: 100%;
      margin: 0 !important;
    }
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    gap: 32px;
    padding: 32px !important;
    height: 100%;
    @media (max-width: 768px) {
      gap: 16px;
      padding: 0 !important;
      background: transparent;
    }
  }
  .case__image {
    aspect-ratio: 1 / 1 !important;
    img {
      object-fit: cover !important;
    }
  }
  .case__desc-box {
    font-size: 1.4rem;
    span {
      font-family: var(--font-sans-semibold);
      margin-right: 8px;
    }
    @media (max-width: 768px) {
      font-size: 1.2rem;
      padding: 1.6rem;
      border-radius: 8px;
      background: #faf6f2;
      display: flex;
      gap: 8px;
      flex-direction: column;
    }
  }
  .wp-block-buttons {
    margin-top: auto !important;
  }
  .page_case,
  .case__inner,
  .case__block,
  .case.p-case {
    display: contents !important;
  }
}

.mv-003 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 100vh;
  position: relative;
  overflow: hidden;
  * {
    margin: 0 !important;
    padding: 0 !important;
  }
  &.mv-003__wrapper {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .mv-003__image-layer {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .mv-003__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    z-index: 1;
  }
  .mv-003__text-layer {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
  }
}
.clinic-mv__cv-area {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 2.4rem;
  z-index: 31;
  max-width: 32rem;
  width: 100%;
  background: #fef4e9;
  border-radius: 16px 0 0 0;
  .cv-buttons {
    display: flex;
    gap: 0.8rem;
    flex-direction: column;
    padding: 0 0 !important;
  }
  .wp-block-button,
  .wp-block-button__link {
    font-family: var(--font-sans-semibold) !important;
    height: 5.6rem !important;
    width: 100% !important;
    min-width: auto !important;
  }
  .wp-block-button__link {
    padding: 0 0 0.2rem !important;
    gap: 0.8rem !important;
    img {
      position: relative !important;
      top: 0 !important;
      margin: 0 !important;
      left: 0 !important;
      transform: none !important;
    }
    &:after {
      display: none !important;
    }
  }
  .wp-block-button.tel .wp-block-button__link img {
    margin-top: 1.9rem !important;
  }
  @media (max-width: 768px) {
    height: 4.8rem;
    max-width: none;
    width: 100%;
    border-radius: 0;
    padding: 0 !important;
    bottom: 0;
    .cv-buttons {
      flex-direction: row;
      gap: 0;
      flex-wrap: nowrap;
    }
    .wp-block-button {
      flex: 1;
    }
    .wp-block-button,
    .wp-block-button__link,
    .wp-block-button.tel .wp-block-button__link {
      height: 4.8rem !important;
      font-size: 1.2rem !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }
    .wp-block-button__link {
      gap: 0.8rem !important;
      img {
        width: 1.6rem !important;
        height: auto !important;
        margin: 0 !important;
        position: static !important;
        transform: none !important;
        @media (max-width: 768px) {
          width: 1.7rem !important;
        }
      }
      &:after {
        display: none !important;
      }
    }
    .wp-block-button.line .wp-block-button__link img {
    }
    .wp-block-button.tel {
      @media (max-width: 768px) {
        display: none;
      }
    }
    .wp-block-button.tel .wp-block-button__link img {
      margin-top: 0 !important;
    }
  }
  .wp-block-button.sp-tel {
    display: none !important;
    margin-top: 0 !important;
    @media (max-width: 768px) {
      display: flex !important;
    }
  }
}
.editor-styles-wrapper {
  .wp-block-button.sp-tel {
    display: block !important;
  }
}
.s-footer-buttons {
  height: 4.8rem;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
  left: 0;
  transition: all 0.3s ease-in-out;
  .s-footer-button {
    background: var(--color-primary-gradient);
    color: var(--color-white);
    font-size: 1.1rem;
    font-family: var(--font-sans-semibold);
    display: flex;
    text-decoration: none !important;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    &.s-footer-button--web {
      img {
        width: 1.7rem;
        height: auto;
      }
    }
    &.s-footer-button--line {
      background: var(--color-line-gradient);
      img {
        width: 1.7rem;
        height: auto;
      }
    }
    &.s-footer-button--tel {
      background: var(--color-button-gray-01);
      img {
        width: 1.4rem;
        height: auto;
      }
    }
  }
  @media (min-width: 769px) {
    display: none !important;
  }
  /* TOPページでは最初は非表示 */
  .home & {
    opacity: 0;
    bottom: -4.8rem;
    transition: all 0.3s ease-in-out;
  }
  .home.noscroll & {
    opacity: 1;
    bottom: 0;
  }
}
.s-footer-buttons {
  height: 4.8rem;
  display: grid;
  grid-template-columns: 1fr 1fr 3.9rem;
  gap: 0.8rem;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
  left: 0;
  right: 0;
  padding: 0 1.4rem 2rem;

  margin-right: auto !important;
  margin-left: auto !important;
  max-width: 60rem;
  .s-footer-button {
    background: var(--color-primary-gradient);
    color: var(--color-white);
    font-size: 1.2rem;
    font-family: var(--font-sans-semibold);
    display: flex;
    text-decoration: none !important;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    height: 3.9rem;
    border-radius: 9999px;
    flex: 1;
    box-shadow: 2px 2px 4px 0px rgba(209, 200, 190, 1);

    &.s-footer-button--web {
      img {
        width: 1.7rem;
        height: auto;
      }
    }
    &.s-footer-button--line {
      background: var(--color-line-gradient);
      img {
        width: 1.7rem;
        height: auto;
      }
    }
    &.s-footer-button--tel {
      width: 3.9rem;
      background: var(--color-button-gray-01);
      img {
        width: 1.4rem;
        height: auto;
      }
    }
  }
  @media (min-width: 769px) {
    display: none !important;
  }
  /* TOPページでは最初は非表示 */
  .home & {
    opacity: 0;
    bottom: -4.8rem;
    transition: all 0.3s ease-in-out;
  }
  .home.noscroll & {
    opacity: 1;
    bottom: 0;
  }
}
.pff-switch {
  display: none !important;
}
.clinic-mv__wrapper {
  padding: 3.2rem;
  height: 100svh;
  background-color: linear-gradient(273deg, #fef4e9 40.6%, #fff8f0 93.39%);
  &::before {
    content: "";
    width: 100%;
    height: 50%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("https://sincere-gc.com/wp/wp-content/themes/sincere/assets/image/common/top-frame-02.png");
    background-repeat: no-repeat;
    background-position: top left;
    z-index: 30;
    @media (max-width: 768px) {
      background-image: url("https://sincere-gc.com/wp/wp-content/themes/sincere/assets/image/common/top-frame-sp-01.png");
    }
  }
  @media (max-width: 768px) {
    padding: 1.2rem;
  }
}

.editor-styles-wrapper {
  .clinic-mv__wrapper {
    height: auto !important;
    .wp-block-group {
      position: static !important;
      height: auto !important;
      padding: 0 !important;
    }
    > div {
      width: auto;
    }
    &::before {
      display: none !important;
    }
  }
  .mv-002__slider {
    display: flex !important;
    flex-wrap: wrap;

    > div {
      width: 300px !important;
    }
  }
}

.clinic-mv {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  border-radius: 24px;
  overflow: hidden;
  height: 100%;
  overflow: hidden;
  position: relative;
  * {
    max-width: 100% !important;
  }
  @media (max-width: 768px) {
    height: calc(100svh - 8.8rem);
  }

  .clinic-mv__overlay {
    position: absolute;
    margin: 0;
    top: 0;
    left: 0;
    max-width: 100%;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    z-index: 10;
  }

  .clinic-mv__text-area {
    position: absolute;
    bottom: 6.4rem;
    left: 6.4rem;
    padding: 2.4rem;
    z-index: 20;
    color: var(--color-white);
    font-size: 1.4rem;
    font-family: var(--font-sans-semibold);

    @media (max-width: 768px) {
      font-size: 1.2rem;
      padding: 2rem;
      left: 0;
      bottom: 0;

      margin: 0 auto;
      width: calc(100%);
    }
  }
  .clinic-mv__text-01 {
    font-family: "Poppins";
    font-weight: 400;
    font-size: 6.4rem;
    letter-spacing: 0.2em;
    line-height: 1.2;
    margin-top: 0.2rem;
    @media screen and (max-width: 768px) {
      font-size: 3.1rem;
      line-height: 1.1;
      margin-top: 0.8rem;
      letter-spacing: 3.1px;
    }
  }
  .clinic-mv__text-title {
    font-size: 2.4rem;
    margin-top: 0.8rem;
    font-family: var(--font-sans-semibold);
    line-height: 150%;
    letter-spacing: 0.25em;
    @media (max-width: 768px) {
      font-size: 1.6rem;
      margin-top: 0.8rem;
      letter-spacing: 3.25px;
    }
  }
}
.editor-styles-wrapper {
  .clinic-mv__overlay {
    display: none;
  }
  .clinic-mv__cv-area,
  .clinic-mv__text-area {
    position: relative !important;
  }
  .clinic-mv__text-01,
  .clinic-mv__text-title {
    color: var(--color-text) !important;
  }
}
.clinic__breadscrumb {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 1.2rem 2.4rem;
  background: #f8eee6;
  overflow-x: auto;

  border-bottom: 1px solid var(--line-color, rgba(239, 225, 209, 1));

  @media (max-width: 768px) {
    padding: 0.8rem 0 0.8rem 1.6rem;
    * {
      text-wrap: nowrap !important;
    }
  }
  &.clinic__breadscrumb--left {
    border: none;
    @media (max-width: 768px) {
      padding: 0.7rem 0 0.7rem 1.6rem;
    }
  }

  .p-list,
  .wp-block-list {
    display: flex;
    gap: 0.4rem;
    justify-content: center;
    font-size: 1.2rem;
    max-width: none;
    width: 100%;
    list-style: none;
    .clinic__breadscrumb--left & {
      margin-top: 7.6rem;
      border: none;
      justify-content: flex-start;
      @media (max-width: 768px) {
        margin-top: 8rem;
        flex-wrap: nowrap;
        overflow-x: auto;
        li,
        a {
          /* nowrap */
          white-space: nowrap;
        }
      }
    }

    li,
    a,
    p,
    h1 {
      margin: 0 !important;
      color: var(--light-text, rgba(147, 141, 134, 1));
      font-size: 1.2rem !important;
      border: none;
      list-style: none;
      text-decoration: none;
      line-height: 2;
    }
    @media (max-width: 768px) {
      font-size: 1.1rem !important;
      justify-content: flex-start;
    }
  }
}
.clinic__menu {
  width: 100%;
  max-width: 100%;
  padding: 6.4rem 0;
  background-image: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-002.webp");
  background-size: cover;
  top: 0;
  left: 0;
  background-position: center;
  background-repeat: no-repeat;
  @media (max-width: 768px) {
    padding: 3.2rem 1.6rem;
    background-image: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-003.png");
  }
  .clinic__menu-inner {
    max-width: 1368px;
    margin: 0 auto;
    padding: 3.2rem;
    border-radius: 16px;
    background: var(--light-base-color, rgba(252, 249, 245, 1));
    @media (max-width: 768px) {
      padding: 1.6rem;
    }
  }
  .clinic__menu-list {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.4rem;
    flex-wrap: wrap;
    @media (max-width: 768px) {
      grid-template-columns: 1fr 1fr;
      gap: 0.4rem;
      margin: 0;
    }

    .wp-block-button__link {
      text-align: center;
      width: 100%;
      color: var(--color-primary);
      border-radius: 9999px;
      padding: 1.2rem 2.4rem 1.2rem 2.4rem;
      list-style: 1.2;
      background: rgba(248, 238, 230, 1);
      display: flex;
      place-items: center;
      font-size: 1.4rem;
      @media (max-width: 768px) {
        font-size: 1.3rem;
        padding: 1.2rem 1.2rem 1.2rem 1.2rem;
        letter-spacing: 1.3px;
      }
      &:after {
        border-right-color: var(--color-primary);
        border-bottom-color: var(--color-primary);
        transform: rotate(45deg) translateY(-50%);
        right: 2.4rem;
        top: 50%;
        @media (max-width: 768px) {
          right: 1.2rem;
        }
      }
    }
  }
}
.clinic__top-message {
  text-align: center;
  font-size: 1.8rem;
  font-family: var(--font-sans-semibold);
  padding: 3.2rem;
  background: #f8eee6;
  @media (max-width: 768px) {
    padding: 2.4rem;
    text-align: left;
    font-size: 1.5rem;
  }

  p {
    margin: 0;
    color: var(--color-text);
  }
  strong {
    color: var(--color-primary);
  }
}
.clinic-top {
  .clinic__button-area {
    display: none !important;
  }
  .container-05 {
    margin: 9.6rem auto;
    z-index: 1;
  }
  .clinic-info {
    &:before {
      content: "";
      display: block;
      width: 100%;
      height: 56rem;
      z-index: -1;
      background: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-002.webp");
      background-repeat: no-repeat;
      background-position: top center;
      background-size: cover;
      position: absolute;
      top: -24rem;
      left: 0;
      z-index: 0;

      @media (max-width: 768px) {
        display: none;
      }
    }
  }
  .clinic {
    max-width: 124.8rem;
    padding: 0;
    background: none;
    .clinic__wrapper {
      max-width: 124.8rem;
      padding: 6.4rem;
      @media (max-width: 768px) {
        padding: 0 !important;
      }
    }
  }
  .clinic__inner {
    padding: 0;
  }
  .temp__area {
    @media (max-width: 768px) {
      padding-bottom: 0 !important;
    }
  }
  .topic {
    @media (max-width: 768px) {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }
  }
}
.clinic-top:not(.js__is-scroll) {
  .page-head {
    padding: 0 !important;
  }
  .p-header {
    background: transparent !important;
    backdrop-filter: none !important;
    height: 16rem;
  }
  .p-header__logo {
    > a > img {
      transition: 0.2s ease-in-out;
      width: auto !important;
      height: 5.8rem !important;
      position: absolute;
      top: 4.7rem;
      left: 3.7rem;
      @media screen and (max-width: 768px) {
        height: 3.3rem !important;
        top: 0.9rem;
        left: 0.7rem;
      }
    }
  }
  .p-header__menu {
    top: 4.7rem;
  }
  .p-header__menu a {
    color: var(--color-white) !important;
    font-family: var(--font-sans);
  }
  &.js__is-scroll {
    .p-header {
      background: var(--color-white) !important;
    }
    .p-header__menu a {
      color: var(--color-text) !important;
    }
  }
  .mv-002 * {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .s-menu__bar-area {
    width: 10.9rem;
    height: 10.5rem;
    display: flex;
    border-radius: 0 0 0 16px;
    .s-menu__bar-text {
      top: 3.2rem;
    }
    .s-menu__bar {
      margin-right: auto;
      margin-left: auto;
      left: 0;
      right: 0;
    }
    .s-menu__bar:nth-child(2) {
      top: 5rem;
    }
    .s-menu__bar:nth-child(3) {
      top: 5.4rem;
    }
    .s-menu__bar:nth-child(4) {
      top: 5.8rem;
    }
    .s-menu__bar:nth-child(5) {
      top: 6.2rem;
    }
    .s-menu__bar:nth-child(6) {
      top: 6.6rem;
    }
    .s-menu__bar:nth-child(7) {
      top: 7rem;
    }
    @media screen and (max-width: 768px) {
      width: 8.6rem;
      height: 8.3rem;
      .s-menu__bar-text {
        top: 1.4rem;
        font-size: 1.2rem;
      }
      .s-menu__bar:nth-child(2) {
        top: 3.6rem;
      }
      .s-menu__bar:nth-child(3) {
        top: 4rem;
      }
      .s-menu__bar:nth-child(4) {
        top: 4.4rem;
      }
      .s-menu__bar:nth-child(5) {
        top: 4.8rem;
      }
      .s-menu__bar:nth-child(6) {
        top: 5.2rem;
      }
      .s-menu__bar:nth-child(7) {
        top: 5.6rem;
      }
    }
  }
  .s-footer-buttons {
    opacity: 0;
  }

  &.is-open {
    .s-menu__bar-area {
      height: 8rem;
      width: 8.7rem;
    }
    .s-menu__bar-text {
      top: 1.4rem;
    }
  }
  .temp__button-area {
    @media (max-width: 768px) {
      margin-bottom: 0 !important;
    }
  }
}

.clinic-doctor {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-bottom: 3.2rem;
  padding: 6.4rem !important;
  @media (max-width: 768px) {
    padding: 0 !important;
    margin: 6.4rem 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    .heading-h-02-02 {
      width: 100% !important;
      * {
        padding: 0 2.2rem;
        text-align: left !important;
      }
    }
    hr {
      display: none;
    }
  }
  .clinic-docotor__section {
    margin-bottom: 9.6rem !important;
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
    > * {
      margin: 0 !important;
      width: 100%;
    }
    .heading-h-02-02--ja {
      margin-bottom: 0 !important;
    }

    @media (max-width: 768px) {
      margin-bottom: 4.8rem !important;
    }
  }
  .heading-h-02-02--ja {
    margin: 0;
  }

  .clinic-doctor__list-block {
    margin: 0;
    max-width: 103.4rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: dense;
    gap: 2rem;
    color: var(--color-text);

    img {
      border-radius: 0 9999px 9999px 0;
    }
    @media (max-width: 768px) {
      grid-template-columns: 1fr;
      grid-template-areas: "image" "text";
      margin-top: 0;
      padding-right: 6.5rem;
      padding-left: 0;

      &:last-child {
        margin-bottom: 0;
      }
    }

    &.clinic-doctor__list-block--reverse {
      .doctor__list-block-image-area {
        order: 1;

        img {
          border-radius: 9999px 0 0 9999px;
        }
      }

      .clinic-doctor__list-block-text-area {
      }
      @media (max-width: 768px) {
        padding-left: 6.5rem;
        padding-right: 0;

        .doctor__list-block-image-area {
          order: 0;

          img {
            width: 80%;
            display: block;
            height: auto;
            margin-left: auto;
            margin-right: 0;
            position: relative;

            @media (max-width: 768px) {
              width: 100%;
            }
          }
        }

        .doctor__list-block-text-area {
          padding: 0 var(--space-md) 0 0;
        }
      }
    }

    .clinic-doctor__list-block-image-area {
      width: 50rem;
      order: -1;

      img {
        width: 100%;
        display: block;
        height: auto;
        margin-left: 0;
        margin-right: auto;
        position: relative;
      }
      @media (max-width: 768px) {
        width: 100%;
        order: 0;
      }
    }

    .clinic-doctor__list-block-text-area {
      max-width: 39rem;
      margin: 0 auto;
      display: grid;
      place-content: center;
      @media (max-width: 768px) {
        max-width: 100%;
        padding: 0 0 0 var(--space-md);
        display: block;
        width: 100%;
      }
    }

    .clinic-doctor__list-block-text-name {
      margin: 0;
      width: 100%;
      text-align: left;
      text-decoration: none;
      font-size: 1.4rem;
      font-style: normal;
      font-weight: normal;
      letter-spacing: var(--ls-wider);

      strong {
        font-size: var(--fs-3xl);
        font-weight: bold;
        letter-spacing: var(--ls-widest);
        margin-bottom: 2rem;
        font-family: var(--font-sans-semibold);
      }
      @media (max-width: 768px) {
        strong {
          font-size: var(--fs-2xl);
          margin-bottom: 0;
        }
      }
    }

    .clinic-doctor__list-block-text-position {
      width: 100%;
      text-align: left;
      font-size: 1.5rem;
      color: var(--color-primary);
      line-height: var(--lh-compact);
      letter-spacing: var(--ls-widest);
      font-family: var(--font-sans-semibold);
      @media (max-width: 768px) {
        font-size: 1.3rem;
      }
    }

    .clinic-doctor__list-block-text-desc {
      font-size: var(--fs-sm);
      letter-spacing: 0.2rem;

      p {
        line-height: var(--lh-base);
      }
      @media (max-width: 768px) {
        margin-top: 0.6rem;
        font-size: var(--fs-xs);
      }
    }

    .clinic-doctor__list-button-area {
      .u-button-01 {
        left: 0;
        margin-right: auto;
        margin-left: 0;
      }
    }
  }
  .clinic-info__area {
    display: flex;
    flex-wrap: wrap;
    gap: 3.2rem;
    margin: 0;
    .heading-h-03 {
      font-size: 2.1rem;
      @media (max-width: 768px) {
        font-size: 1.4rem;
      }
    }
    @media (max-width: 768px) {
      flex-direction: column;
      gap: 1.6rem !important;
      padding: 0 2.4rem;
    }
  }
  .clinic-info__box {
    max-width: 100%;
    margin: 0;
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.4rem;
    gap: 1.6rem;
    border-radius: 16px;
    border: 1px solid var(--line-color, #efe1d1);
    background: var(--white-color, #fefcfb);
    ol {
      padding-left: 4.8rem;
      li {
        list-style: decimal;
      }
      @media (max-width: 768px) {
        padding-left: 3.8rem;
      }
    }
    p:not(.heading-h-03) {
      letter-spacing: 1.4px;
    }
    @media (max-width: 768px) {
      padding: 2.4rem;
    }
    > * {
      margin: 0 !important;
      width: 100%;
    }
    &.clinic-info__box--2 {
      flex: 1;
      margin: 0;
      @media (max-width: 768px) {
        flex: none;
        width: 100%;
        padding: 2.4rem;
      }
    }
    &.clinic-info__box--1 {
      gap: 2.4rem;
      width: 100%;
      @media (max-width: 768px) {
        padding: 2.4rem;
      }
    }
  }
}
.clinic-support {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  padding: 6.4rem !important;
  > * {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100%;
  }
  @media (max-width: 768px) {
    padding: 2.4rem !important;
    gap: 3.2rem !important;

    margin-bottom: 3.2rem !important;
    width: calc(100% - 1.6rem);
  }
  .clinic-support__area {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    > * {
      margin: 0 !important;
      width: 100%;
      max-width: 100%;
      font-size: 1.2rem;
    }
    @media (max-width: 768px) {
      gap: 1.6rem !important;
    }
  }
  .clinic-support__media-text {
    padding: 6.4rem;
    gap: 6.4rem;
    border-radius: 16px;
    background: #faf6f2;
    display: flex;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    &.clinic-support__media-text--reserve {
      flex-direction: row-reverse;
    }
    @media (max-width: 768px) {
      padding: 2.4rem;
      gap: 2.4rem;
    }
    .wp-block-media-text__media {
      max-width: 41.5rem;
      width: 100%;
      img {
        max-width: 41.5rem;
        width: 100%;
        height: auto;
        border-radius: 16px;
      }
    }
    .wp-block-media-text__content {
      flex: 1;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
      > * {
        margin: 0 !important;
        width: 100%;
      }
      p {
        margin-top: 0.8rem;
      }
      ul {
        margin: 1.6rem 0;
      }
    }
    .clinic-support__media-text-sub-title {
      margin: 0;
      font-size: 1.6rem;
      font-family: var(--font-sans-semibold);
    }
    .clinic-support__media-text-title {
      margin: 0;
      font-size: 2.1rem;
      line-height: 135%;
      font-family: var(--font-sans-semibold);
      @media (max-width: 768px) {
        font-size: 1.8rem;
        line-height: 135%;
      }
    }
    .wp-block-buttons {
      margin: 2.4rem 0 0;
      @media (max-width: 768px) {
        display: flex;
        justify-content: center;
      }
      & .wp-block-button__link {
        font-size: 1.4rem;
        @media (max-width: 768px) {
          display: inline-block;
          margin: 2.4rem auto 0 !important;
        }
      }
    }
  }
}
.clinic-banner {
  padding: 9.6rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  background: var(--color-white);

  p {
    font-family: var(--font-sans-semibold);
    margin: 0;
    font-size: 1.8rem;
    text-align: center;
    color: var(--color-text);
    font-family: var(--font-sans-semibold);
  }
  > * {
    margin: 0 !important;
    max-width: none;
    width: 100%;
  }
  @media (max-width: 768px) {
    padding: 3.2rem 2.4rem;
  }
}
.clinic-banner__text {
  text-align: center;
  margin-bottom: 3.2rem;
  font-size: 1.8rem;
  font-family: var(--font-sans-semibold);
  p {
    display: inline;
    width: 100%;
    text-align: center;
    width: auto;
  }
  @media (max-width: 768px) {
    font-size: 1.5rem;
    margin-bottom: 1.6rem;
    p {
      width: 100%;
      display: block;
    }
  }
}
.clinic-gallery__section {
  margin-bottom: 9.6rem !important;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  > * {
    margin: 0 !important;
    width: 100%;
  }
  .heading-h-02-02--ja {
    margin-bottom: 0 !important;
  }

  @media (max-width: 768px) {
    margin-bottom: 4.8rem !important;
    gap: 2.4rem !important;
    border-radius: 0 !important;
    border: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: #fef5eb !important;
  }
}
.clinic-gallery {
  @media (max-width: 768px) {
    margin-top: 0 !important;
  }
  .clinic-gallery__wrapper {
  }
  .clinic-gallery__inner {
  }
  .clinic-gallery__main {
    iframe {
      width: 100%;
      aspect-ratio: 10/6;
      border-radius: 16px;
    }
    @media (max-width: 768px) {
      padding-left: 2.4rem;
      padding-right: 2.4rem;
    }
  }
  .clinic-gallery__list__wrapper {
    border-radius: 16px;
    padding: 3.2rem 3.2rem 3.2rem 3.2rem;
    border: 1px solid var(--line-color, #efe1d1);
    background: var(--white-color, #fefcfb);
    @media (max-width: 768px) {
      width: calc(100% - 1.6rem);
      margin: 0 auto !important;
      padding: 2.4rem;
    }
  }
  .clinic-gallery__list__wrapper__inner {
    padding: 0;
    margin: 0;
    @media (max-width: 768px) {
      margin: 0 !important;
      overflow: auto;
      padding-bottom: 2.4rem;
      scrollbar-color: var(--color-primary); /* Firefox用 */
      -webkit-overflow-scrolling: touch;

      &::-webkit-scrollbar-track {
        background: #f6e0cb;
      }

      &::-webkit-scrollbar {
        height: 0.2rem;
      }

      &::-webkit-scrollbar-thumb {
        background-color: var(--color-primary);
        border-radius: 4px;
      }
    }
  }

  .clinic-gallery__list {
    position: relative;
    @media (max-width: 768px) {
      display: flex;
      width: fit-content;
      overflow-x: auto; /* 横スクロール可能に */
      scroll-snap-type: x mandatory; /* （任意）スナップスクロール */
      -webkit-overflow-scrolling: touch;
      max-width: none;
      gap: 1.6rem;
    }
  }
  .clinic-gallery__list-item {
    margin: 0;
    @media (max-width: 768px) {
      width: 30.4rem;
      flex: 0 0 auto; /* 横並びにするための設定 */
    }
    @media (max-width: 568px) {
      width: 20.4rem;
    }
  }
  .clinic-gallery__list-image {
    position: relative;
    width: 100%;
    aspect-ratio: 512/341;
    border-radius: 16px;
    overflow: hidden;
    img {
      border-radius: 16px;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: all 0.3s ease-in-out;
    }
  }
  .clinic-gallery__list-text-area {
  }
  .clinic-gallery__list-title {
    margin-top: 3.2rem;
    font-size: 2.2rem;
    font-family: var(--font-sans-semibold);
    letter-spacing: 2.2px;
    @media (max-width: 768px) {
      margin-top: 1.6rem;
      font-size: 1.4rem;
      margin-bottom: 0.8rem;
    }
  }
  .clinic-gallery__list-desc {
    font-size: 1.4rem;
    @media (max-width: 768px) {
      font-size: 1.2rem;
      margin-bottom: 0;
    }
  }
  .swiper-pagination {
    margin-top: 3.2rem;
    position: relative;
  }
  .swiper-pagination {
    gap: 0.8rem;
    span {
      width: 1rem;
      height: 1rem;
    }
  }
  .swiper-pagination-bullet-active {
    background: var(--color-primary) !important;
  }
  .swiper-button-next,
  .swiper-button-prev {
    width: 4.8rem;
    height: 4.8rem;
    background: var(--color-primary);
    color: var(--color-white);
    border-radius: 9999px;
    bottom: 0;
    top: auto;
    &:after {
      font-size: 2rem;
    }
  }
  .swiper-button-next {
    right: 0;
    left: auto;
  }
  .swiper-button-prev {
    left: 0;
    right: auto;
  }
}
.clinic-concept {
  padding: 0;
  background-image: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-004.jpg");

  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
  .lead--section {
    @media (max-width: 768px) {
      padding-top: 8rem;
    }
  }
  .concept--bnr {
  }
}
.clinic-info {
  .clinic__title-area {
    @media (max-width: 768px) {
    }
  }
}
.lead--section .block--left .btn--wrap {
  @media (max-width: 967px) {
    margin-top: 2.4rem !important;
  }
}
.lead--section .block--left .btn--wrap a {
  border-radius: 4px;
  background: var(--white-color, #fefcfb);
  box-shadow: 0 4px 4px 0 rgba(220, 194, 176, 0.25);
}
.lead--section .block--right figure.lead--visual1 {
  @media (max-width: 967px) {
    aspect-ratio: 66/86 !important;
    height: auto !important;
  }
}
.lead--flex--wrap {
  max-width: 102.7rem;
  margin: 0 auto;
  @media (max-width: 967px) {
    padding-top: 0rem;
  }
}
.concept--bnr {
  max-width: 102.7rem;
  margin-top: 0 !important;
  @media (max-width: 967px) {
    margin-top: 3.2rem !important;
  }
  img {
    max-width: 100%;
  }
}
.lead--visual1 {
  max-width: 40.7rem;
}
.lead--visual2 {
  max-width: 21.5rem;
  max-height: 28.9rem;
  right: -9.7rem;
  left: auto !important;
  top: 33.4rem !important;
  img {
    height: 100%;
    object-fit: cover;
  }
}
.lead--section .block--right {
  margin-top: 0 !important;
  @media (max-width: 967px) {
    width: 100% !important;
  }
}
.lead--section .lead--flex--wrap {
  align-items: flex-start !important;
  min-height: 66rem;
}
.lead--section .block--left {
  top: 7.8rem;
  @media (max-width: 967px) {
    top: 0;
    width: 100% !important;
    margin-bottom: 0rem !important;
  }
}
.lead--section .block--right h2,
.lead--section .block--left .spnone {
  font-size: 3.2rem;
  max-width: 32rem;
  line-height: 150%;
  letter-spacing: 16px;
  text-align: justify;
  text-align-last: justify;
  @media (max-width: 967px) {
    font-size: 2.7rem !important;
    max-width: 28rem !important;
    letter-spacing: 13.5px !important;

    text-align: justify !important;
    text-align-last: justify;
    margin-bottom: 0.8rem;
  }
}
.clinic-top .topic {
  margin: 9.6rem 0;
}
.clinic-top .news {
  position: relative;
  z-index: 1;
  @media (max-width: 768px) {
    &:before {
      display: block !important;
      content: "";
      background-image: url("https://www.sincere-gc.com/wp/wp-content/themes/sincere/assets/image/back/back-image-002.webp");
      background-repeat: no-repeat;
      background-position: top center;
      background-size: 100%;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
    }
  }
}

.cv-area-001 {
  padding: 9.6rem 1.6rem;
  background: #f8eee6;
  .wp-block-buttons {
    gap: 1.6rem;
    @media (max-width: 768px) {
      gap: 0.8rem;
    }
  }
  @media (max-width: 768px) {
    padding: 3.2rem 1.6rem;
  }
}

.c-media-text-010 {
  width: 100%;
  text-decoration: none !important;
  * {
    text-decoration: none !important;
  }
  .c-media-text-010__wrapper {
    gap: 3.2rem;
    width: 100%;
  }

  .c-media-text-010__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 16px;
    flex-wrap: wrap;
  }

  .c-media-text-010__block {
    margin: 0;
    width: 100%;
    padding: 2.4rem;
    border-radius: 8px;
    max-width: 900px;
    display: flex;
    gap: 16px;
    flex-direction: column;
    background: #fefcfb;
    position: relative;

    .editor-styles-wrapper & {
      .c-media-text-010__tag-area {
        display: flex;
      }
    }

    @media (max-width: 768px) {
      background: #faf6f2;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

  .c-media-text-010__media-text {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    width: 100%;

    @media (max-width: 768px) {
      flex-direction: column;
      gap: 16px;
    }
  }

  .c-media-text-010__media {
    width: 100%;
    max-width: 145px;

    img {
      border-radius: 8px;
      width: 100%;
      height: 100%;
      aspect-ratio: 1.5/1;
      object-fit: cover;
    }

    @media (max-width: 768px) {
      max-width: 100%;
      width: 100% !important;
    }
  }

  .c-media-text-010__text {
    margin: 0;
    width: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
  }

  .c-media-text-010__title {
    font-size: 16px;
    font-family: var(--font-sans-semibold);
    font-weight: 500;
    line-height: 180%;
    /* 28.8px */
    letter-spacing: 1.6px;
    width: 100%;
  }

  .c-media-text-010__desc {
    width: 100%;
    font-size: 14px;
    margin: 0;
  }

  .c-media-text-010__tag-area {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: flex-start;
    flex-wrap: wrap;

    > * {
      margin: 0 !important;
      padding: 4px 12px;
      border-radius: 32px;
      background: #faf6f2;
      font-size: 12px;
      color: var(--color-primary);
    }

    @media (max-width: 768px) {
      gap: 12px;

      > * {
        font-size: 1.2rem;
        letter-spacing: 1.2px;
        background: #fff;
      }
    }
  }
  .c-media-text-010__button-area-wrapper {
    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    @media (max-width: 768px) {
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }
  .wp-block-buttons.c-media-text-010__button-area {
    margin-left: auto;
    margin-bottom: 0;
    margin-top: 0;
  }

  .editor-styles-wrapper & {
    .wp-block-buttons.c-media-text-010__button-area {
      display: block;
      margin-bottom: 0;
      margin-top: 0;
    }
  }
  @media (min-width: 766px) {
    .c-media-text-010-b__button-area-wrapper {
      display: contents;
    }
    .c-media-text-010-b__button-area {
      position: absolute;
      top: 50%;
      right: 24px;
      transform: translateY(-50%);
      .wp-block-button__link {
        width: 3.2rem;
        height: 3.2rem;
        border-radius: 9999px;
        text-indent: -9999px;
        padding: 0 !important;
        display: flex;
        justify-content: center;
        align-items: center;
        &:after {
          right: 13px !important;
          border-bottom: 2px solid var(--white-color, #fefcfb) !important;
          border-right: 2px solid var(--white-color, #fefcfb) !important;
          width: 8px !important;
          height: 8px !important;
        }
      }
    }
  }
}

:where(.is-layout-constrained) {
  position: relative;
}
:where(.wp-block-group-is-layout-flex, .wp-block-buttons-is-layout-flex) {
  display: flex;
}
:where(.is-content-justification-center) {
  justify-content: center;
}
