.partnership-lp {
  scroll-behavior: smooth;
  font-family: var(--font-main);
  line-height: 1.6;
  color: var(--black);
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  @media (min-width: 960px) {
    font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
  }
  @media (min-width: 768px) and (max-width: 959px) {
    font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
  }
  @media (max-width: 767px) {
    font-size: clamp(12px, calc(100vw * 14 / 375), 14px);
  }

  .plp__fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }
  .plp__fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .plp__attention-list > li,
  .plp__attention-text {
    padding-left: 1em;
    text-indent: -1em;
    position: relative;
    > * {
      text-indent: 0;
    }
    &::before{
      content: "※";
      width: 1em;
      display: inline-block;
      text-indent: 0;
    }
  }

  .plp__heading-section {
    font-size: 16px;
    font-weight: 700;
    display: grid;
    grid-template-columns: auto 1fr;
    line-height: 1.2;
    gap: 8px;
    padding: 10px 0;
    &::before {
      content: "";
      display: block;
      background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="8" fill="none" viewBox="0 0 6 8"><path fill="%23e6002d" d="m3 0 1.485 2.02L6 4 4.485 5.98 3 8 1.515 5.98 0 4l1.515-1.98z"/></svg>') no-repeat center center;
      width: 6px;
      height: 8px;
    }
    .sub {
      font-weight: 400;
      font-size: 14px;
    }
    + * {
      @media (min-width: 768px) {
        margin-top: 40px;
      }
      @media (max-width: 767px) {
        margin-top: 24px;
      }
    }
  }

  .plp__nav-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: var(--black);
    border: var(--white) 1px solid;
    cursor: pointer;
    width: 48px;
    height: 48px;
    padding: 2px 0 0;
    position: fixed;
    top: var(--lp-menu-top);
    left: 16px;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    .plp__icon {
      width: 20px;
      height: 10px;
      position: relative;
      span {
        display: block;
        width: 80%;
        height: 2px;
        background: var(--white);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        &:nth-child(1) {
          top: 0;
        }
        &:nth-child(2) {
          bottom: 0;
        }
      }
    }
    .plp__text {
      font-size: 9px;
      color: var(--white);
      font-weight: 700;
    }
    &.active {
      .plp__icon {
        span {
          &:nth-child(1) {
            top: 50%;
            transform: translate(-50%, -50%) rotate(45deg);
          }
          &:nth-child(2) {
            bottom: 50%;
            transform: translate(-50%, 50%) rotate(-45deg);
          }
        }
      }
    }

    body.is-after-kv & {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateY(0);
    }
  }

  .plp__nav {
    position: fixed;
    top: var(--header-h);
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(26, 26, 26, 0.80);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    z-index: 50;
    &.active {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      .plp__nav-list {
        transform: translateX(0);
      }
    }
    .plp__nav-list {
      list-style: none;
      background: var(--black);
      height: 100svh;
      transform: translateX(-100%);
      transition: transform 0.3s ease-in-out;
      @media (min-width: 768px) {
        width: 392px;
        padding: 96px 0 0 64px;
      }
      @media (max-width: 767px) {
        width: 100%;
        padding: 96px 0 0 40px;
      }
      li {
        margin-bottom: 16px;
        a {
          color: var(--white);
          font-size: 16px;
          font-weight: 700;
          transition: color 0.3s ease-in-out;
          display: grid;
          grid-template-columns: auto 1fr;
          line-height: 1.2;
          gap: 8px;
          padding: 10px 0;
          &::before {
            content: "";
            display: block;
            background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="8" fill="none" viewBox="0 0 6 8"><path fill="%23e6002d" d="m3 0 1.485 2.02L6 4 4.485 5.98 3 8 1.515 5.98 0 4l1.515-1.98z"/></svg>') no-repeat center center;
            width: 6px;
            height: 8px;
          }
        }
      }
    }
  }

  .plp__btn-primary {
    background: var(--red);
    color: var(--white);
    padding: 16px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    border-radius: 4px;
    @media (max-width: 767px) {
      padding: 12px;
      align-items: center;
    }
    span {
      display: block;
      text-align: center;
      line-height: 1.2;
    }
    .plp__text-main, .plp__btn-text {
      font-size: 15px;
      font-weight: 700;
      @media (max-width: 767px) {
        font-size: 14px;
      }
    }
    .plp__text-sub {
      color: #FF9BAF;
      font-size: 12px;
      font-weight: 700;
      margin-top: 4px;
      @media (max-width: 767px) {
        font-size: 11px;
      }
    }
    &.is-white {
      background: #fff;
      color: var(--black);
      border: 1px solid var(--black);
      font-weight: 600;
      .plp__btn-icon img {
        filter: invert(1);
      }
    }
  }
  .plp__btn-float {
    position: fixed;
    border: 1px solid #fff;
    bottom: 64px;
    right: 24px;
    z-index: 30;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.24s ease, visibility 0.24s ease;
    .plp__text-main {
      font-size: 14px;
    }
    @media (max-width: 959px) {
      bottom: 10px;
      left: 10px;
      width: fit-content;
    }
    @media (max-width: 767px) {
      max-width: calc(100vw - 60px);
    }
    body.is-past-kv & {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
  }

  .plp__kv {
    position: relative;
    overflow: hidden;
    background: var(--black);
    isolation: isolate;
    z-index: 0;
    @media (min-width: 960px) {
      aspect-ratio: 288 / 132;
    }
    @media (min-width: 768px) and (max-width: 959px) {
      aspect-ratio: 16 / 9;
    }
    .plp__kv-slide {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 2s;
      &.is-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
      }
      @media (max-width: 767px) {
        position: relative;
        inset: auto;
        height: auto;
        transition: none;
        display: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        &.is-active {
          display: block;
        }
      }
    }
    .plp__kv-slide-img {
      position: absolute;
      inset: 0;
      z-index: 10;
      overflow: hidden;
      @media (max-width: 767px) {
        position: relative;
        aspect-ratio: 78 / 60;
      }
      &::after{
        @media (min-width: 960px) {
          content: '';
          position: absolute;
          inset: 0;
          background: linear-gradient(180deg, rgba(26, 26, 26, 0.00) 45.8%, rgba(26, 26, 26, 0.90) 100%);
        }
      }
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: scale(1);
        transform-origin: center center;
        backface-visibility: hidden;
        will-change: transform;
        transition: none;
      }
    }
    .plp__kv-slide.is-active .plp__kv-slide-img img {
      transition: transform 5s linear;
    }
    .plp__kv-slide-content {
      position: absolute;
      z-index: 20;
      color: #fff;
      left: 0;
      right: 0;
      @media (min-width: 768px) {
        bottom: 0;
        gap: 40px;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        padding: 48px;
      }
      @media (min-width: 768px) and (max-width: 959px) {
        gap: 0;
        padding: clamp(32px, 4vw, 48px);
      }
      @media (max-width: 767px) {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 24px;
        margin-top: -48px;
        background: linear-gradient(180deg, rgba(26, 26, 26, 0.00) 0%, #1A1A1A 48px);
      }
      .plp__kv-slide-content-inner {
        @media (min-width: 768px) {
          display: flex;
          flex-direction: column;
          gap: 24px;
        }
        @media (max-width: 767px) {
          display: contents;
        }
      }
      .plp__kv-title-sub {
        font-family: var(--font-en);
        color: var(--gray);
        font-size: 10.5px;
        font-weight: 700;
        letter-spacing: 0.75px;
        @media (max-width: 767px) {
          position: relative;
          order: 4;
        }
      }
      h2 {
        font-weight: 800;
        line-height: 1.4;
        @media (min-width: 960px) {
          font-size: clamp(40px, calc(100vw * 45 / 1200), 45px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(32px, calc(100vw * 36 / 768), 36px);
        }
        @media (max-width: 767px) {
          order: 1;
          font-size: clamp(20px, calc(100vw * 24 / 375), 24px);
        }
      }
      .plp__kv-slide-content-note {
        font-size: 14px;
        font-weight: 700;
        @media (max-width: 767px) {
          order: 2;
        }
      }
      .plp__kv-text-sub {
        font-size: 13.5px;
        font-weight: 700;
        @media (min-width: 768px) {
          text-align: right;
        }
        @media (max-width: 959px) {
          font-size: 12px;
        }
      }
      .plp__btn-primary {
        width: fit-content;
        @media (max-width: 767px) {
          order: 3;
        }
      }
    }
    .plp__kv-slide-dots {
      position: absolute;
      bottom: 16px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 8px;
      z-index: 30;
      @media (max-width: 767px) {
        bottom: auto;
        top: calc(((60 / 78) / (1206 / 780)) * 100%);
        transform: translate(-50%, -50%);
        gap: 16px;
      }
      .plp__kv-slide-dot {
        position: relative;
        width: 32px;
        height: 32px;
        border: 0;
        padding: 0;
        display: grid;
        place-items: center;
        cursor: pointer;
        border-radius: 50%;
        background: transparent;
        @media (max-width: 767px) {
          width: 14px;
          height: 14px;
        }
        &::before {
          content: '';
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background: var(--white);
          opacity: 0.5;
          @media (max-width: 767px) {
            width: 4px;
            height: 4px;
          }
        }
        .plp__kv-slide-dot-ring {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%) rotate(-90deg);
          width: 20px;
          height: 20px;
          opacity: 0;
          pointer-events: none;
          overflow: visible;
          @media (max-width: 767px) {
            width: 13px;
            height: 13px;
          }
          circle {
            fill: none;
            stroke: var(--white);
            stroke-width: 1;
            stroke-linecap: round;
            stroke-dasharray: 56.5487;
            stroke-dashoffset: 56.5487;
            @media (max-width: 767px) {
              stroke-width: 1.54;
            }
          }
        }
        &.is-active {
          &::before {
            opacity: 1;
          }
          .plp__kv-slide-dot-ring {
            opacity: 1;
            circle {
              animation: plpKvDotProgress 5s linear forwards;
            }
          }
        }
      }
    }
  }

  .plp__numbers {
    .plp__inner {
      @media (min-width: 768px) {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }
    }
    .plp__numbers-summary {
      background: var(--red);
      display: flex;
      justify-content: center;
      align-items: center;
      @media (max-width: 767px) {
        padding: 64px 0;
      }
      .plp__numbers-summary-item {
        @media (min-width: 768px) {
          width: 80%;
        }
        @media (max-width: 767px) {
          width: 90%;
        }
      }
      .plp__numbers-title {
        color: var(--white);
        text-align: center;
        font-weight: 700;
        background: var(--black);
        width: 100%;
        position: relative;
        @media (min-width: 960px) {
          font-size: clamp(20px, calc(100vw * 24 / 1200), 24px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(18px, calc(100vw * 20 / 768), 20px);
          padding: 8px 0;
        }
        @media (max-width: 767px) {
          font-size: clamp(14px, calc(100vw * 18 / 375), 18px);
          padding: 8px 0;
        }
        span {
          @media (min-width: 960px) {
            display: inline-block;
          }
          @media (min-width: 768px) and (max-width: 959px) {
            line-height: 1.4;
            display: block;
          }
          @media (max-width: 767px) {
            line-height: 1.4;
            display: block;
          }
        }
        &::before {
          content: "";
          position: absolute;
          background: url('../img/badge-no1.webp') no-repeat center center;
          background-size: contain;
          bottom: 8px;
          left: 8px;
          @media (min-width: 960px) {
            width: 100px;
            height: 100px;
          }
          @media (max-width: 959px) {
            left: 6px;
            bottom: 14px;
            width: 90px;
            height: 90px;
          }
        }
      }
      .plp__numbers-value {
        margin-top: 32px;
        text-align: center;
        color: var(--white);
        line-height: 1;
        width: fit-content;
        margin-inline: auto;
        .plp__season {
          text-align: left;
          display: block;
          @media (min-width: 960px) {
            font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
          }
          @media (max-width: 767px) {
            font-size: clamp(12px, calc(100vw * 14 / 375), 14px);
          }
        }
        .plp__num {
          font-family: var(--font-num);
          font-weight: 800;
          display: inline-block;
          text-align: right;
          min-width: 5.2ch;
          @media (min-width: 960px) {
            font-size: clamp(20px, calc(100vw * 132 / 1200), 152px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(76px, calc(100vw * 80 / 768), 90px);
          }
          @media (max-width: 767px) {
            font-size: clamp(72px, calc(100vw * 90 / 375), 90px);
          }
        }
        .plp__unit {
          font-weight: 700;
          @media (min-width: 960px) {
            font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
          }
          @media (max-width: 767px) {
            font-size: clamp(12px, calc(100vw * 14 / 375), 14px);
            display: block;
            text-align: right;
          }
        }
      }
    }
    .plp__numbers-details {
      @media (min-width: 960px) {
        padding: 80px;
      }
      @media (min-width: 768px) and (max-width: 959px) {
        padding: clamp(30px, 5vw, 50px);
      }
      @media (max-width: 767px) {
        padding: 64px 16px;
      }
      .plp__numbers-list {
        display: grid;
        grid-template-columns: auto 1fr;
        dt {
          color: var(--black);
          font-weight: 700;
          display: flex;
          align-items: center;
          @media (min-width: 960px) {
            font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
          }
          @media (max-width: 767px) {
            font-size: clamp(10px, calc(100vw * 14 / 375), 14px);
          }
          &:not(:last-of-type) {
            border-bottom: 1px solid var(--gray);
          }
          .plp__numbers-term-label {
            background: var(--light-gray);
            padding: 8px;
            width: 100%;
            @media (min-width: 960px) {
              text-align: center;
            }
            > span {
              @media (min-width: 960px) {
                font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
              }
              @media (min-width: 768px) and (max-width: 959px) {
                font-size: clamp(12px, calc(100vw * 13 / 768), 13px);
                display: block;
              }
              @media (max-width: 767px) {
                font-size: clamp(10px, calc(100vw * 14 / 375), 14px);
                display: block;
              }
            }
          }
        }
        dd {
          text-align: right;
          color: var(--dark-gray);
          display: flex;
          align-items: baseline;
          justify-content: flex-end;
          padding-left: .2em;
          @media (min-width: 960px) {
            font-size: clamp(36px, calc(100vw * 46 / 1200), 46px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(24px, calc(100vw * 32 / 768), 32px);
          }
          @media (max-width: 767px) {
            font-size: clamp(20px, calc(100vw * 30 / 375), 32px);
          }
          &:not(:last-of-type) {
            border-bottom: 1px solid var(--gray);
          }
          .plp__num {
            color: var(--red);
            font-family: var(--font-num);
            font-weight: 800;
            @media (min-width: 960px) {
              font-size: clamp(48px, calc(100vw * 56 / 1200), 56px);
            }
            @media (min-width: 768px) and (max-width: 959px) {
              font-size: clamp(40px, calc(100vw * 48 / 768), 48px);
            }
            @media (max-width: 767px) {
              font-size: clamp(36px, calc(100vw * 48 / 375), 48px);
            }
          }
          .plp__unit {
            font-weight: 700;
            @media (min-width: 960px) {
              font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
            }
            @media (min-width: 768px) and (max-width: 959px) {
              font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
            }
            @media (max-width: 767px) {
              font-size: clamp(12px, calc(100vw * 14 / 375), 14px);
            }
          }
        }
      }
      .plp__numbers-note {
        margin-top: 32px;
        color: var(--red);
        @media (min-width: 960px) {
          font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
        }
        @media (max-width: 767px) {
          font-size: clamp(12px, calc(100vw * 14 / 375), 14px);
        }
      }
    }
  }
  .plp__img-area {
    img {
      width: 100%;
    }
  }

  .plp__why-reds,
  .plp__sns,
  .plp__partner-benefits,
  .plp__partnership-fee,
  .plp__use-menus,
  .plp__latest-partner-info,
  .plp__contact-flow {
    .plp__inner {
      margin: 0 auto;
      @media (min-width: 768px) {
        width: var(--w-site);
        max-width: 90%;
      }
      @media (max-width: 767px) {
        width: 90%;
      }
    }
  }

  .plp__why-reds .plp__inner{
    @media (min-width: 960px) {
      padding: 120px 0 60px;
    }
    @media (max-width: 959px) {
      padding: 64px 0 32px;
    }
  }

  .plp__partner-benefits .plp__inner,
  .plp__partnership-fee .plp__inner,
  .plp__latest-partner-info .plp__inner,
  .plp__use-menus .plp__inner,
  .plp__contact-flow .plp__inner  {
    @media (min-width: 960px) {
      padding: 120px 0;
    }
    @media (max-width: 959px) {
      padding: 64px 0;
    }
  }

  .plp__sns .plp__inner {
    @media (min-width: 960px) {
      padding: 60px 0 120px;
    }
    @media (max-width: 959px) {
      padding: 32px 0 64px;
    }
  }

  .plp__why-reds {
    background: var(--light-gray);
    .plp__strength-list {
      @media (min-width: 960px) {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3px;
      }
      @media (min-width: 768px) and (max-width: 959px) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3px;
      }
      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }
    }
    .plp__strength-item {
      border-radius: 4px;
      background: var(--white);
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 24px;
      @media (max-width: 767px) {
        gap: 16px;
      }
    }
    .plp__strength-number {
      color: var(--gray);
      font-family: var(--font-en);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1px;
    }
    .plp__strength-title {
      font-size: 20px;
      font-weight: 700;
      border-bottom: 1px solid var(--black);
      padding-bottom: 3px;
      width: fit-content;
      margin-inline: auto;
      @media (min-width: 960px) {
        font-size: clamp(16px, calc(100vw * 19 / 1200), 19px);
      }
      @media (min-width: 768px) and (max-width: 959px) {
        font-size: clamp(14px, calc(100vw * 18 / 768), 18px);
        padding: 8px 0;
      }
      @media (max-width: 767px) {
        font-size: clamp(14px, calc(100vw * 18 / 375), 18px);
        padding: 8px 0;
      }
    }
    .plp__strength-metric {
      text-align: center;
      .plp__strength-highlight {
        color: var(--red);
        font-family: var(--font-num);
        font-size: 56px;
        font-weight: 800;
        line-height: 90%;
        @media (min-width: 960px) {
          font-size: clamp(48px, calc(100vw * 56 / 1200), 56px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(40px, calc(100vw * 56 / 768), 56px);
        }
        @media (max-width: 767px) {
          font-size: clamp(40px, calc(100vw * 56 / 375), 56px);
        }
        &.is-jp {
          font-family: var(--font-main);
          font-size: 40px;
          font-weight: 800;
          @media (min-width: 960px) {
            font-size: clamp(32px, calc(100vw * 36 / 1200), 36px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(30px, calc(100vw * 36 / 768), 40px);
          }
          @media (max-width: 767px) {
            font-size: clamp(32px, calc(100vw * 40 / 375), 40px);
          }
        }
      }
      .plp__strength-prefix {
        font-weight: 700;
          @media (min-width: 960px) {
            font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(14px, calc(100vw * 16 / 768), 16px);
          }
          @media (max-width: 767px) {
            font-size: clamp(14px, calc(100vw * 16 / 375), 16px);
          }
      }
      .plp__strength-unit {
        font-size: 32px;
        font-weight: 800;
        display: inline-block;
        @media (min-width: 960px) {
          font-size: clamp(24px, calc(100vw * 28 / 1200), 28px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(20px, calc(100vw * 24 / 768), 24px);
        }
        @media (max-width: 767px) {
          font-size: clamp(24px, calc(100vw * 28 / 375), 28px);
        }
      }
    }
    .plp__attention-text {
      color: var(--dark-gray);
      font-size: 12px;
      text-align: center;
      margin: -16px 0 -8px;
    }
    .plp__strength-text {
      color: var(--dark-gray);
      font-size: 14px;
    }
  }
  .plp__sns {
    background: var(--light-gray);
    .plp__sns-area {
      @media (min-width: 960px) {
        display: grid;
        grid-template-columns: clamp(540px, 60%, 640px) 1fr;
        gap: 16px;
      }
      @media (min-width: 768px) and (max-width: 959px) {
        display: grid;
        grid-template-columns: clamp(420px, 60%, 500px) 1fr;
        gap: 8px;
      }
    }
    .plp__sns-cards {
      background: var(--white);
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 24px;
      border-radius: 4px;
      h3 {
        color: var(--gray);
        font-family: var(--font-en);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1px;
      }
      .plp__sns-card.is-total {
        h4 {
          color: var(--black);
          font-size: 20px;
          font-weight: 700;
          text-align: center;
          span {
            display: inline-block;
            border-bottom: 1px solid var(--black);
          }
        }
        .plp__sns-total {
          width: fit-content;
          margin: 16px auto 0
        }
        h5 {
          color: var(--red);
          font-family: var(--font-en);
          font-size: 14px;
          font-weight: 800;
          letter-spacing: 1px;
        }
        .plp__sns-total-number {
          --plp-sns-digit-width: 56px;
          --plp-sns-digit-height: 72px;
          --plp-sns-digit-font-size: 56px;
          --plp-sns-comma-font-size: 48px;
          --plp-sns-comma-padding-x: 16px;
          display: flex;
          gap: 1px;
          margin-top: 8px;
          perspective: 640px;
          opacity: 0;
          transition: opacity 0.12s linear;
          @media (min-width: 768px) and (max-width: 959px) {
            --plp-sns-digit-width: clamp(44px, 5.8vw, 52px);
            --plp-sns-digit-height: clamp(58px, 7.2vw, 68px);
            --plp-sns-digit-font-size: clamp(42px, 6vw, 50px);
            --plp-sns-comma-font-size: clamp(34px, 4.8vw, 42px);
            --plp-sns-comma-padding-x: clamp(10px, 1.4vw, 12px);
            justify-content: center;
            width: 100%;
          }
          @media (max-width: 767px) {
            --plp-sns-digit-width: clamp(40px, 10vw, 46px);
            --plp-sns-digit-height: clamp(52px, 12vw, 60px);
            --plp-sns-digit-font-size: clamp(38px, 8.8vw, 46px);
            --plp-sns-comma-font-size: clamp(32px, 7.2vw, 38px);
            --plp-sns-comma-padding-x: clamp(8px, 2vw, 10px);
            justify-content: center;
            width: 100%;
          }

          &.is-ready {
            opacity: 1;
          }

          > span {
            display: block;
            border-radius: 3px;
            background: var(--black);
            color: var(--red);
            position: relative;
            z-index: 1;
            width: var(--plp-sns-digit-width);
            height: var(--plp-sns-digit-height);
            overflow: hidden;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 -1px 0 rgba(0, 0, 0, 0.35);
            &::before {
              content: "";
              position: absolute;
              top: 50%;
              left: 0;
              display: block;
              width: 100%;
              height: 1px;
              background: #636363;
              z-index: 6;
            }
            &.comma {
              display: grid;
              place-items: center;
              font-family: var(--font-num);
              font-size: var(--plp-sns-comma-font-size);
              font-weight: 800;
              line-height: 1;
              text-align: center;
              width: fit-content;
              height: var(--plp-sns-digit-height);
              padding: 0 var(--plp-sns-comma-padding-x);
              transform: translateY(-0.3px);
            }
            &.is-digit {
              transform-style: preserve-3d;
              backface-visibility: hidden;
              will-change: transform;
              .plp__sns-flap-top,
              .plp__sns-flap-bottom,
              .plp__sns-flap-flip-top,
              .plp__sns-flap-flip-bottom {
                position: absolute;
                left: 0;
                width: 100%;
                height: 50%;
                overflow: hidden;
                background: var(--black);
              }
              .plp__sns-flap-top,
              .plp__sns-flap-flip-top {
                top: 0;
                border-bottom: 1px solid #202020;
              }
              .plp__sns-flap-bottom,
              .plp__sns-flap-flip-bottom {
                bottom: 0;
                border-top: 1px solid #0f0f0f;
              }
              .plp__sns-flap-char {
                display: block;
                width: 100%;
                height: var(--plp-sns-digit-height);
                font-family: var(--font-num);
                font-size: var(--plp-sns-digit-font-size);
                font-weight: 800;
                line-height: var(--plp-sns-digit-height);
                text-align: center;
              }
              .plp__sns-flap-bottom .plp__sns-flap-char,
              .plp__sns-flap-flip-bottom .plp__sns-flap-char {
                transform: translateY(-50%);
              }
              .plp__sns-flap-flip-top,
              .plp__sns-flap-flip-bottom {
                z-index: 7;
                opacity: 0;
                pointer-events: none;
              }
              .plp__sns-flap-flip-top {
                transform-origin: bottom center;
              }
              .plp__sns-flap-flip-bottom {
                transform-origin: top center;
                transform: rotateX(90deg);
              }
            }
            &.is-digit.is-flipping {
              .plp__sns-flap-flip-top {
                opacity: 1;
                animation: plpSplitFlapTop 0.1s ease-in forwards;
              }
              .plp__sns-flap-flip-bottom {
                opacity: 1;
                animation: plpSplitFlapBottom 0.1s ease-out 0.1s forwards;
              }
            }
          }
        }
      }
      .plp__sns-grid {
        display: grid;
        @media (min-width: 960px) {
          grid-template-columns: repeat(4, 1fr);
          gap: 40px;
        }
        @media (max-width: 959px) {
          grid-template-columns: repeat(2, 1fr);
        }
        .plp__sns-card {
          text-align: center;
          padding: 16px 0;
          position: relative;
          h4 {
            min-height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            img {
              margin-inline: auto;
            }
            a {
              transition: opacity 0.3s ease-in-out;
              &:hover {
                opacity: .5;
              }
            }
          }
          .plp__sns-val {
            color: var(--black);
            font-family: var(--font-num);
            font-size: 32px;
            font-weight: 800;
            line-height: 1;
            margin-top: 16px;
            @media (min-width: 960px) {
              font-size: clamp(24px, calc(100vw * 32 / 1200), 32px);
            }
            @media (min-width: 768px) and (max-width: 959px) {
              font-size: clamp(24px, calc(100vw * 32 / 768), 32px);
            }
            @media (max-width: 767px) {
              font-size: clamp(24px, calc(100vw * 32 / 1200), 32px);
            }
          }
          .plp__sns-label {
            color: var(--gray);
            font-size: 14px;
          }
          &:not(:last-child) {
            &::after {
              @media (min-width: 960px) {
                content: "";
                position: absolute;
                top: 0;
                right: -20px;
                background: var(--light-gray);
                width: 1px;
                height: 100%;
              }
            }
          }
          &:nth-child(1),
          &:nth-child(3) {
            @media (max-width: 959px) {
              &::before {
                content: "";
                position: absolute;
                top: 0;
                right: 0;
                background: var(--light-gray);
                width: 1px;
                height: 100%;
              }
            }
          }
          &:nth-child(1),
          &:nth-child(2) {
            @media (max-width: 959px) {
              &::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                background: var(--light-gray);
                width: 100%;
                height: 1px;
              }
            }
          }
        }
      }
    }
    .plp__sns-img {
      overflow: hidden;
      border-radius: 4px;
      @media (max-width: 767px) {
        margin-top: 8px;
      }
      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }
  }
  .plp__partner-benefits {
    background: var(--red);
    .plp__heading-section {
      color: #fff;
      &::before {
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="8" fill="none" viewBox="0 0 6 8"><path fill="%23000" d="m3 0 1.485 2.02L6 4 4.485 5.98 3 8 1.515 5.98 0 4l1.515-1.98z"/></svg>') no-repeat center center;
      }
    }
    .plp__pb-lead {
      color: var(--white);
      font-size: 40px;
      font-weight: 800;
      line-height: 1.2;
      @media (min-width: 768px) {
        letter-spacing: .1em;
      }
      @media (max-width: 767px) {
        font-size: 32px;
      }
    }
    .plp__pb-desc {
      color: var(--white);
      margin-top: 16px;
    }
    .plp__pb-list {
      display: grid;
      margin-top: 40px;
      @media (min-width: 960px) {
        grid-template-columns: repeat(4, 1fr);
        gap: 4px;
      }
      @media (max-width: 959px) {
        grid-template-columns: repeat(2, 1fr);
        gap: 2px;
      }

      &:not(.is-graph) {
        .plp__pb-item {
          @media (max-width: 767px) {
            display: flex;
            flex-direction: column;
          }
        }
        .plp__pb-score-list {
          @media (min-width: 768px) {
            width: fit-content;
            margin-inline: auto;
          }
          @media (max-width: 767px) {
            margin-top: auto;
            padding-top: 16px;
          }
        }
      }
    }
    .plp__pb-item {
      background: var(--white);
      border-radius: 4px;
      padding: 24px;
      @media (max-width: 767px) {
        padding: 16px 8px;
      }
    }
    .plp__pb-title {
      font-size: 16px;
      font-weight: 700;
      text-align: center;
      @media (max-width: 767px) {
        font-size: 14px;
      }
      .plp__pb-keyword {
        color: var(--red);
        font-size: 20px;
        font-weight: 800;
      }
    }
    .plp__pb-score-list {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 0 8px;
      margin-top: 16px;
      color: #fff;
      font-family: var(--font-num);
      font-weight: 800;
      line-height: 1;
      @media (max-width: 767px) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 0;
        align-items: end;
      }
      dt {
        font-size: 14px;
        color: var(--black);
        @media (min-width: 768px) {
          display: flex;
          align-items: center;
          white-space: nowrap;
        }
        @media (max-width: 767px) {
          font-size: 12px;
          text-align: center;
        }
      }
      dt:nth-of-type(1) {
        @media (max-width: 767px) {
          grid-column: 1;
          grid-row: 2;
        }
      }

      dt:nth-of-type(2) {
        @media (max-width: 767px) {
          grid-column: 2;
          grid-row: 2;
        }
      }
      dd {
        @media (min-width: 768px) {
          padding: 8px 0;
          border-left: 1px solid var(--dark-gray);
        }
        @media (max-width: 767px) {
          padding: 0 4px;
          border-bottom: 1px solid var(--dark-gray);
          display: flex;
          justify-content: center;
        }
        > * {
          display: flex;
          align-items: baseline;
          justify-content: center;
          @media (max-width: 767px) {
            width: 60px;
            border-radius: 2px 2px 0 0;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            align-items: center;
            gap: 2px;
          }
        }
      }
      .plp__pb-score {
        @media (max-width: 767px) {
          grid-column: 1;
          grid-row: 1;
        }
        .plp__pb-score-inner {
          background: var(--red);
          width: clamp(94px, calc(var(--score) * clamp(2px, .22vw, 3.2px)), 224px);
          border-radius: 0 2px 2px 0;
          padding: 8px 0;
          @media (min-width: 768px) and (max-width: 959px) {
            width: calc(var(--score) * 4px);
          }
          @media (max-width: 767px) {
            width: 100px;
            height: clamp(60px, calc(var(--score) * 1.6px), 110px);
            border-radius: 2px 2px 0 0;
            padding: 4px 0;
          }
        }
        .plp__pb-score-arrow {
          padding: 6px;
          img {
            width: 16px;
          }
        }
      }
      .plp__pb-score-num-area {
        @media (min-width: 768px) {
          display: flex;
          align-items: baseline;
        }
      }
      .plp__pb-score-num {
        @media (min-width: 960px) {
          font-size: clamp(30px, calc(100vw * 42 / 1200), 42px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(30px, calc(100vw * 40 / 768), 40px);
        }
        @media (max-width: 767px) {
          font-size: clamp(24px, calc(100vw * 28 / 375), 28px);
        }
      }
      .plp__pb-avg-prefix {
        color: var(--gray);
      }
      .plp__pb-avg {
        @media (max-width: 767px) {
          grid-column: 2;
          grid-row: 1;
        }
        .plp__pb-avg-inner {
          background: var(--gray);
          width: calc(var(--avg) * 4px);
          border-radius: 0 2px 2px 0;
          padding: 4px 0;
          @media (max-width: 767px) {
            width: 60px;
            height: clamp(56px, calc(var(--avg) * 2px), 120px);
            padding: 6px 0;
            border-radius: 2px 2px 0 0;
          }
        }
        .plp__pb-avg-arrow {
          padding: 4px;
          img {
            width: 12px;
          }
        }
      }
      .plp__pb-avg-num-area {
        @media (min-width: 768px) {
          display: flex;
          align-items: baseline;
        }
      }
      .plp__pb-avg-num {
        @media (min-width: 768px) {
          font-size: clamp(16px, calc(100vw * 28 / 768), 28px);
        }
        @media (max-width: 767px) {
          font-size: clamp(18px, calc(100vw * 28 / 375), 24px);
        }
      }
    }

    .plp__pb-list.is-graph {
      .plp__pb-title {
        span {
          display: block;
        }
        .plp__pb-keyword {
          @media (min-width: 768px) {
            font-size: 24px;
          }
        }
        + * {
          margin-top: 16px;
        }
      }
      .plp__pb-graph {
        img {
          margin-inline: auto;
          @media (max-width: 767px) {
            max-width: 70%;
          }
        }
      }
    }
    .plp__pb-proof {
      margin-top: 40px;
      color: #fff;
      @media (min-width: 768px) {
        background: var(--black) url('../img/bg-benefits.webp') no-repeat center center / cover;
        text-align: center;
        padding: 80px;
      }
      @media (max-width: 767px) {
        background: var(--black) url('../img/bg-benefits-sp.webp') no-repeat center center / auto 100%;
        padding: 32px;
      }
      .plp__pb-proof-title {
        font-weight: 800;
        line-height: 1.2;
        @media (min-width: 960px) {
          font-size: clamp(50px, calc(100vw * 56 / 1200), 56px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(32px, calc(100vw * 40 / 768), 40px);
        }
        @media (max-width: 767px) {
          font-size: clamp(28px, calc(100vw * 32 / 375), 30px);
          text-align: center;
          line-height: 1.4;
        }
        strong {
          color: var(--red);
        }
      }
      .plp__pb-proof-text {
        margin-top: 40px;
      }
    }
    .plp__pb-source {
      text-align: right;
      font-size: 12px;
      margin-top: 8px;
      @media (max-width: 767px) {
        font-size: 11px;
      }
    }
  }
  .plp__img-area.is-player {
    .plp__img-list {
      display: grid;
      @media (min-width: 768px) {
        grid-template-columns: repeat(4, 1fr);
      }
      @media (max-width: 767px) {
        grid-template-columns: repeat(2, 1fr);
      }
    }
  }
  .plp__partnership-fee {
    background: var(--black);
    h2 {
      color: var(--white);
    }
    .plp__text-box {
      @media (min-width: 768px) {
        text-align: center;
        margin-top: 40px;
      }
      .plp__text-box-main {
        color: var(--red);
        @media (max-width: 767px) {
          text-align: center;
        }
      }
      .plp__text-box-label {
        font-size: 32px;
        font-weight: 700;
        @media (max-width: 767px) {
          font-size: 18px;
        }
      }
      .plp__text-box-num {
        font-weight: 800;
        font-family: var(--font-num);
        line-height: 1.2;
        @media (min-width: 960px) {
          font-size: clamp(150px, calc(100vw * 168 / 1200), 168px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(120px, calc(100vw * 150 / 768), 150px);
        }
        @media (max-width: 767px) {
          font-size: clamp(100px, calc(100vw * 110 / 375), 110px);
        }
      }
      .plp__text-box-unit {
        font-size: 56px;
        font-weight: 800;
        @media (max-width: 767px) {
          font-size: 24px;
        }
      }
      .plp__text-box-sub {
        color: var(--gray);
        margin-top: 16px;
      }
    }
    .plp__categories-area {
      margin-top: 40px;
      .plp__categories-wrap {
        @media (max-width: 767px) {
          overflow-y: auto;
        }
      }
      table {
        width: calc(100% + 16px);
        margin-inline: -8px;
        border-collapse: separate;
        border-spacing: 8px 0;
        tr {
          > * {
            background: var(--light-gray);
            padding: 16px;
            @media (max-width: 767px) {
              padding: 8px;
            }
          }
        }
        thead {
          tr {
            th {
              border-radius: 2px 2px 0 0;
              span {
                display: block;
              }
              .plp__categories-table-header {
                font-size: 14px;
                font-weight: 700;
              }
              .plp__categories-table-subheader,
              .plp__categories-table-category {
                font-size: 12px;
                color: var(--gray);
              }
              .plp__categories-table-name {
                font-weight: 800;
                line-height: 1.2;
                margin-top: 8px;
                @media (min-width: 960px) {
                  font-size: clamp(20px, calc(100vw * 24 / 1200), 24px);
                }
                @media (min-width: 768px) and (max-width: 959px) {
                  font-size: clamp(16px, calc(100vw * 18 / 375), 18px);
                }
                @media (max-width: 767px) {
                  font-size: clamp(18px, calc(100vw * 20 / 375), 20px);
                }
              }
              .plp__categories-table-level {
                font-size: 12px;
                background: #fff;
                width: fit-content;
                margin-inline: auto;
                line-height: 1;
                padding: 2px;
                margin-top: 8px;
              }
              &:first-child {
                background: var(--white);
                @media (max-width: 767px) {
                  position: sticky;
                  left: 0;
                  z-index: 2;
                }
              }
              &:last-child {
                background: var(--red);
                span {
                  color: #fff;
                }
                .plp__categories-table-level {
                  color: var(--red);
                }
              }
            }
          }
        }
        tbody {
          th {
            background: var(--white);
            width: 22%;
            font-size: 14px;
            @media (max-width: 767px) {
              min-width: 140px;
              position: sticky;
              left: 0;
              z-index: 1;
            }
          }
          td {
            text-align: center;
            width: 19.5%;
            @media (max-width: 767px) {
              min-width: 150px;
            }

            img {
              margin: 0 auto;
            }
            &:last-child {
              border-inline: 4px solid var(--red);
            }
          }
          tr {
            > * {
              border-top: 1px solid var(--black);
            }
            &:last-child {
              td:last-child {
                border-bottom: 4px solid var(--red);
              }
            }
          }
        }
      }
      .plp__categories-note {
        background: var(--white);
        margin-top: 16px;
        font-size: 14px;
        color: var(--dark-gray);
        padding: 16px;
        display: flex;
        @media (min-width: 768px) {
          justify-content: center;
          gap: 56px;
        }
        @media (max-width: 767px) {
          flex-direction: column;
          gap: 8px;
        }
        li {
          display: grid;
          grid-template-columns: 24px auto;
          align-items: center;
          gap: 8px;
        }
      }
    }
    .plp__business-club {
      margin-top: 80px;
      background: var(--dark-gray);
      @media (min-width: 960px) {
        padding: 40px 80px;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 80px;
        align-items: center;
      }
      @media (min-width: 768px) and (max-width: 959px) {
        padding: 40px;
      }
      @media (max-width: 767px) {
        padding: 40px 24px;
      }
      .plp__text-area {
        color: var(--white);
        line-height: 1.8;
        @media (min-width: 960px) {
          display: grid;
          grid-template-columns: 130px 1fr;
          gap: 24px;
          align-items: center;
        }
        .logo-box {
          img {
            @media (max-width: 959px) {
              display: block;
              margin-inline: auto;
            }
          }
        }
        .text-box {
          @media (max-width: 959px) {
            margin-top: 16px;
          }
        }
      }
      .plp__btn-primary {
        @media (max-width: 959px) {
          margin-top: 24px;
        }
      }
    }
  }
  .plp__use-menus {
    background: var(--red);
    .plp__heading-section {
      color: #fff;
      &::before {
        background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="8" fill="none" viewBox="0 0 6 8"><path fill="%23000" d="m3 0 1.485 2.02L6 4 4.485 5.98 3 8 1.515 5.98 0 4l1.515-1.98z"/></svg>') no-repeat center center;
      }
    }
    .plp__menu-list {
      @media (min-width: 960px) {
        display: grid;
        gap: 2px;
        grid-template-columns: repeat(4, 1fr);
      }
      @media (min-width: 768px) and (max-width: 959px) {
        display: grid;
        gap: 2px;
        grid-template-columns: repeat(2, 1fr);
      }
      @media (max-width: 767px) {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .plp__menu-content {
        border-radius: 4px;
        overflow: hidden;
        background: var(--black);
        color: #fff;
        --plp-menu-bg-image: none;
        background-image: linear-gradient(180deg, rgba(26, 26, 26, 0) 40%, rgba(26, 26, 26, 0.88) 100%), var(--plp-menu-bg-image);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        cursor: pointer;
        @media (min-width: 960px) {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          aspect-ratio: 1/1;
          padding: clamp(16px, 2vw, 32px);
        }
        @media (max-width: 959px) {
          background-size: 148px 148px;
          background-position: left;
          border: 8px solid var(--black);
          display: grid;
          grid-template-columns: 148px 1fr;
          gap: 8px;
          align-items: center;
          padding: 8px 0;
        }
        &:nth-child(1) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-01.webp');
        }
        &:nth-child(2) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-02.webp');
        }
        &:nth-child(3) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-03.webp');
        }
        &:nth-child(4) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-04.webp');
        }
        &:nth-child(5) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-05.webp');
        }
        &:nth-child(6) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-06.webp');
        }
        &:nth-child(7) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-07.webp');
        }
        &:nth-child(8) {
          --plp-menu-bg-image: url('../img/partner-section-menu-bg-08.webp');
        }
        &::before {
          content: '';
          position: absolute;
          inset: 0;
          background: rgba(26, 26, 26, 0.88);
          z-index: 1;
          transition: opacity 0.4s ease-in-out;
          @media (min-width: 960px) {
            opacity: 0;
          }
          @media (max-width: 959px) {
            content: none;
          }
        }
        h3 {
          font-size: 20px;
          font-weight: 700;
          line-height: 1.2;
          z-index: 2;
          @media (min-width: 960px) {
            font-size: clamp(16px, calc(100vw * 20 / 1200), 20px);
          }
          @media (max-width: 959px) {
            aspect-ratio: 1/1;
            padding: 16px 10px;
            font-size: clamp(14px, calc(100vw * 16 / 768), 16px);
            display: flex;
            align-items: flex-end;
          }
        }
        .plp__menu-detail {
          @media (min-width: 960px) {
            font-size: clamp(9px, calc(100vw * 13 / 1200), 14px);
            position: absolute;
            left: 0;
            right: 0;
            bottom: clamp(48px, 5.5vw, 80px);
            padding: clamp(16px, 2vw, 32px);
            z-index: 2;
            transition: opacity 0.4s ease-in-out;
            opacity: 0;
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
          }
          @media (max-width: 767px) {
            font-size: clamp(10px, calc(100vw * 14 / 375), 14px);
          }
          .plp__attention-text {
            margin-top: 4px;
            font-size: 85%;
          }
        }
        .plp__menu-more {
          z-index: 2;
          transition: opacity 0.4s ease-in-out;
          font-size: 12px;
          border: 1px solid var(--white);
          line-height: 1;
          padding: 4px;
          @media (max-width: 959px) {
            display: none;
          }
          &::after {
            content: '+';
            display: inline-block;
            margin-left: 4px;
            font-size: 16px;
            line-height: .6;
          }
        }
        &:hover {
          &::before {
            opacity: 1;
          }
          .plp__menu-more {
            opacity: 0;
          }
          .plp__menu-detail {
            opacity: 1;
          }
        }
      }
    }
  }
  .plp__latest-partner-info {
    background: var(--light-gray);
    .plp__text-box {
      margin-top: 24px;
    }
    .plp__x-wrap {
      padding: 40px;
      background: var(--white);
      margin-inline: auto;
      margin-top: 40px;
      @media (min-width: 768px) {
        width: 672px;
        max-width: 90%;
      }
      @media (max-width: 767px) {
        padding: 24px 16px;
        margin-top: 32px;
      }
    }
    .plp__x-header {
      border-bottom: 1px solid #9e9e9e;
      @media (min-width: 768px) {
        margin-bottom: 40px;
        padding-bottom: 40px;
      }
      @media (max-width: 767px) {
        margin-bottom: 24px;
        padding-bottom: 24px;
      }
      .plp__x-header-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        @media (max-width: 767px) {
          flex-direction: column-reverse;
        }
      }
      .plp__btn-x {
        display: grid;
        grid-template-columns: 13px 1fr;
        align-items: center;
        gap: 8px;
        font-size: 16px;
        font-weight: 600;
        background: #000;
        color: #fff;
        border-radius: 50px;
        padding: 10px 16px;
        @media (min-width: 960px) {
          font-size: clamp(12px, calc(100vw * 14 / 1200), 14px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
        }
        @media (max-width: 767px) {
          font-size: clamp(10px, calc(100vw * 14 / 375), 14px);
          padding: 10px 16px;
          margin-inline: auto;
        }
        span {
          display: block;
        }
        .plp__btn-icon {
          filter: invert(1);
        }
        .plp__btn-text {
          line-height: 1;
        }
      }
      .plp__x-header-inner {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 16px;
      }
      .plp__icon {
        @media (min-width: 768px) {
          width: 72px;
        }
        @media (max-width: 767px) {
          width: 42px;
        }
      }
      .plp__text {
        .plp__title {
          font-weight: 700;
          @media (min-width: 960px) {
            font-size: clamp(16px, calc(100vw * 20 / 1200), 20px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(14px, calc(100vw * 16 / 768), 16px);
          }
          @media (max-width: 767px) {
            font-size: clamp(14px, calc(100vw * 16 / 375), 16px);
          }
        }
        .plp__handle {
          color: var(--gray);
          font-weight: 700;
          @media (min-width: 960px) {
            font-size: clamp(14px, calc(100vw * 16 / 1200), 16px);
          }
          @media (min-width: 768px) and (max-width: 959px) {
            font-size: clamp(12px, calc(100vw * 14 / 768), 14px);
          }
          @media (max-width: 767px) {
            font-size: clamp(10px, calc(100vw * 12 / 375), 12px);
          }
        }
      }
    }
    .plp__x-description {
      margin-top: 24px;
      font-size: 14px;
      line-height: 1.6;
      color: var(--dark-gray);
      @media (max-width: 767px) {
        margin-top: 16px;
        font-size: 12px;
      }
    }
    .plp__x-area {
      overflow-y: auto;
      text-align: center;
      @media (min-width: 768px) {
        max-height: 800px;
      }
      .plp__x-fallback {
        margin-top: 12px;
        color: var(--black);
        font-size: 14px;
        line-height: 1.6;
        a {
          text-decoration: underline;
        }
      }
    }
  }
  .plp__contact-flow {
    .plp__text-box {
      margin-top: 24px;
    }
    .plp__flow-list {
      @media (min-width: 768px) {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 40px;
      }
    }
    .plp__flow-item {
      border: 2px solid var(--red);
      border-radius: 4px;
      padding: 24px;
      margin-top: 40px;
      position: relative;
      @media (min-width: 768px) and (max-width: 959px) {
        padding: 16px;
      }
      @media (max-width: 767px) {
        padding: 24px 16px;
      }
      .plp__step {
        color: var(--gray, #9E9E9E);
        font-size: 12px;
        font-weight: 700;
      }
      .plp__step-title {
        color: var(--red);
        font-size: 20px;
        font-weight: 700;
        @media (min-width: 960px) {
          font-size: clamp(18px, calc(100vw * 20 / 1200), 20px);
        }
        @media (min-width: 768px) and (max-width: 959px) {
          font-size: clamp(14px, calc(100vw * 16 / 768), 16px);
        }
        @media (max-width: 767px) {
          font-size: clamp(18px, calc(100vw * 20 / 1200), 20px);
        }
      }
      .plp__flow-text {
        font-size: 14px;
        margin-top: 24px;
        @media (min-width: 768px) and (max-width: 959px) {
          margin-top: 8px;
          font-size: 12px;
        }
        @media (max-width: 767px) {
          margin-top: 16px;
        }
      }
      &:not(:last-child)::after {
        content: "";
        width: 24px;
        height: 24px;
        @media (min-width: 768px) {
          background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><mask id="a" width="32" height="32" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="%23d9d9d9" d="M0 0h32v32H0z"/></mask><g mask="url(%23a)"><path fill="%23e6002d" d="m14 18-1.4-1.45L16.15 13H4v-2h12.15L12.6 7.45 14 6l6 6z"/></g></svg>');
          background-repeat: no-repeat;
          background-size: contain;
          position: absolute;
          top: 24px;
          left: calc( 100% + 8px );
        }
        @media (max-width: 767px) {
          background: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_585_1932" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="-8" y="0" width="32" height="32"><rect x="24" y="1.04907e-06" width="32" height="32" transform="rotate(90 24 1.04907e-06)" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_585_1932)"><path d="M6 14L7.45 12.6L11 16.15L11 4L13 4L13 16.15L16.55 12.6L18 14L12 20L6 14Z" fill="%23E6002D"/></g></svg>');
          background-repeat: no-repeat;
          background-size: contain;
          position: absolute;
          top: calc( 100% + 8px );
          left: 50%;
          transform: translateX(-50%);
        }
      }
    }
    .plp__contact {
      background: var(--light-gray);
      @media (min-width: 768px) {
        margin-top: 80px;
        padding: 80px 56px;
      }
      @media (max-width: 767px) {
        margin-top: 32px;
        padding: 40px 16px;
      }
      .plp__contact-content {
        @media (min-width: 768px) {
          text-align: center;
        }
        .plp__btn-primary {
          margin-top: 40px;
          @media (min-width: 768px) {
            width: 452px;
            margin-inline: auto;
            padding: 24px;
          }
          .plp__btn-text {
            @media (min-width: 960px) {
              font-size: clamp(20px, calc(100vw * 24 / 1200), 24px);
            }
            @media (min-width: 768px) and (max-width: 959px) {
              font-size: clamp(18px, calc(100vw * 20 / 768), 20px);
              padding: 8px 0;
            }
            @media (max-width: 767px) {
              font-size: clamp(14px, calc(100vw * 18 / 375), 18px);
              padding: 8px 0;
            }
          }
        }
      }
      .plp__main-text {
        font-size: 40px;
        font-weight: 800;
        @media (max-width: 767px) {
          font-size: 32px;
        }
      }
      .plp__sub-text {
        margin-top: 24px;
      }
    }
    .plp__contact-btnarea {
      display: flex;
      border-top: 1px solid #9E9E9E;
      @media (min-width: 768px) {
        margin-top: 56px;
        padding-top: 56px;
        justify-content: center;
        align-items: center;
        gap: 24px;
      }
      @media (max-width: 767px) {
        margin-top: 40px;
        padding-top: 40px;
        flex-direction: column;
        gap: 24px;
      }
      .plp__text {
        font-weight: 700;
      }
    }
  }

  /* Button hover slide */
  .plp__btn-slide-wrap {
    overflow: hidden;
    position: relative;
  }

  .plp__btn-slide-a,
  .plp__btn-slide-b {
    display: block;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-a,
  .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-b {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-b {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
  }

  .plp__btn-slide-wrap[data-slide-dir="diag"] .plp__btn-slide-b {
    position: absolute;
    top: 100%;
    left: -100%;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  @media (hover: hover) {
    .plp__btn-primary:hover .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-a,
    .plp__btn-primary:hover .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-b,
    .plp__btn-x:hover .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-a,
    .plp__btn-x:hover .plp__btn-slide-wrap[data-slide-dir="y"] .plp__btn-slide-b {
      transform: translateY(-100%);
    }

    .plp__btn-primary:hover .plp__btn-slide-wrap[data-slide-dir="diag"] .plp__btn-slide-a,
    .plp__btn-primary:hover .plp__btn-slide-wrap[data-slide-dir="diag"] .plp__btn-slide-b {
      transform: translate(100%, -100%);
    }
  }

}

body.is-nav-open {
  overflow: hidden;
}

@keyframes plpSplitFlapTop {
  0% {
    transform: rotateX(0deg);
  }
  100% {
    transform: rotateX(-90deg);
  }
}

@keyframes plpSplitFlapBottom {
  0% {
    transform: rotateX(90deg);
  }
  100% {
    transform: rotateX(0deg);
  }
}

@keyframes plpKvDotProgress {
  to {
    stroke-dashoffset: 0;
  }
}
