
body {
  :has(.confirmation-modal-content.show),
  :has(.lion-modal-and-screen) {
    overflow: hidden;
  }
  #loyaltylion {
     .lion-copy-to-clipboard-button::after {
      content: unset;
    }

    .coupon-price-wrapper {
      color: #fff;
      width: 100%;
      height: 72px;
      display: flex;
      justify-content: center;
      flex-flow: column;
      border-radius: 4px;
      font-family: "Oranienbaum", serif;
      font-weight: 400;
      .coupon-price {
        font-size: 32px;
        line-height: 100%;
      }
      .off-wrapper {
        font-size: 20px;
        line-height: 100%;
      }
      &.black {
        background-color: #1E1E1E;
      }
      &.bronze {
        background-color: #A88056;
      }
      &.silver {
        background-color: #878F92;
      }
      &.gold {
        background-color: #BFA449;
      }
    }
    .lion-claimed-rewards-list-mypage-top{
      height: 0;
    }
    .lion-rewards-list, .lion-claimed-rewards-list , .lion-claimed-rewards-list-point-page {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      padding: 0;
      flex-direction: row;
      background: none;
      max-width: 676px;
      margin: 20px auto 0;
      gap: 9px;
      @media (750px <= width) {
        gap: 16px;
      }
      > .lion-reward-item {
        cursor: pointer;
        width: calc(50% - 5px);
      }
      > .lion-reward-item,
      > .lion-claimed-reward-item {
        @media (750px <= width) {
          width: calc(25% - 12px);
        }
      }
      .lion-claimed-reward-item__title,
      .lion-reward-item__title,
      .lion-claimed-reward-item__date,
      .lion-claimed-reward-item__right {
        display: none;
      }
      .lion-claimed-reward-item .lion-claimed-reward-item__left {
        flex-direction: row;
        justify-content: space-between;
        min-height: 72px;
        border-radius: 0;
        padding: 0;
        display: block;
        position: relative;
      }
      .lion-reward-item__content {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        min-height: 72px;
        border-radius: 0;
        padding: 0;
        background-color: unset;
        .lion-reward-item__meta,
        .lion-reward-item__links {
          display: none;
        }
        .lion-reward-item__actions {
          > .lion-action-button {
            width: 33%;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            position: absolute;
            border: none;
            background: none;
            > span {
              display: none;
            }
          }
          &:not(:empty) {
            margin-top: 10px;
            flex-grow: 1;
            display: flex;
            align-items: flex-end;
            justify-content: flex-end;
          }
        }
        &:hover {
          border-radius: 0;
        }
      }
      .lion-icon__reward--cart-discount-voucher,
      .lion-icon__reward--product-discount-voucher {
        width: 100%;
        height: 100%;
        background: none;
        -webkit-mask-image: none;
        border-radius: 2px;
        font-style: normal;
        font-weight: 400;
        font-size: 22px;
        line-height: 24px;
        letter-spacing: -0.02em;
      }
      .lion-claimed-reward-item__icon {
        margin: 0;
        background: none;
        &.lion-icon.lion-icon__reward {
          text-align: center;
          align-items: center;
          display: flex;
          justify-content: center;
        }
      }
      &.lion-claimed-rewards-list--empty {
        display: none;
      }
    }
    .lion-reward-item {
      &.is-disabled {
        opacity: 0.3;
        .lion-claimed-reward-item__icon,
        .lion-reward-item__icon {
          &.lion-icon {
            &.lion-icon__reward {
              .coupon-image {
                opacity: 0.5;
              }
            }
          }
        }
      }
      .lion-reward-item__icon.lion-icon.lion-icon__reward {
        text-align: center;
        align-items: center;
        display: flex;
        justify-content: center;
        background: none;
      }
    }
    .lion-claimed-reward-item,
    .lion-reward-item:hover,
    .lion-claimed-reward-item:hover {
      border-radius: 0;
    }
    .lion-claimed-reward-item {
      padding: 0;
      display: block;
      width: calc(50% - 5px);
      flex: none;
    }
    .lion-history-table {
      margin: 0;
      border: none;
      border-radius: unset;
      max-width: 1190px;
      display: block;
      thead {
        display: none;
      }
      tbody {
        width: 100%;
        position: relative;
        padding: 0;
        background: #fff;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        display: block;
      }
      .lion-history-table__row {
        background-color: #fff;
        position: relative;
        width: 100%;
        border-bottom: 1px solid #E3E9EB;
        display: block;
        max-width: 970px;
        height: 48px;
        margin-top: 12px;
        @media (750px <= width) {
          height: 62px;
          margin-top: 20px;
        }
        > td {
          position: absolute;
          padding: 0;
          &.lion-history-table__row-date {
            background: #fff;
            text-align: left;
          }
          &:first-child {
            top: 0;
            left: 0;
            font-style: normal;
            font-weight: 400;
            font-size: 15px;
            line-height: 22px;
            letter-spacing: 0.04em;
            color: #1E1E1E;
          }
          &:nth-child(2),
          &:nth-child(3),
          &.lion-history-table__row-status {
            display: none;
          }
          &:nth-child(4),
          &:nth-child(5) {
            top: 20px;
            right: 0;
            font-style: normal;
          }
          &:nth-child(4) {
            font-weight: 700;
            font-size: 20px;
            line-height: 24px;
            text-align: right;
            letter-spacing: 0.04em;
            color: #1E1E1E;
            @media (750px <= width) {
              right: 32px;
            }
          }
          &:nth-child(5) {
            font-weight: 300;
            font-size: 16px;
            line-height: 22px;
            color: #666666;
          }
          & div.point-date {
            color: #878F92;
            font-size: 13px;
          }
        }
        &.is-hidden {
          /* stylelint-disable-next-line declaration-no-important */
          display: none !important;
        }
      }
    }
    .lion-modal {
      font-family: var(--font-body-family);
      .lion-modal__title {
        padding: unset;
      }
      &.lion-modal--custom {
        width: 100%;
        height: 100%;
        max-width: 100%;
        overflow: auto;
        padding-bottom: 80px;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        margin-top: 56px;
        background-color: #fff;
        @media (750px <= width) {
          margin-top: 83px;
        }
        .lion-history-info-modal-content__comment {
          padding: 0;
          background: none;
          border: none;
          border-radius: 0;
          .lion-history-info-modal-content__comment-subscription-discount {
            display: none;
          }
          .lion-reward-code__code {
            background: none;
            border: none;
            position: relative;
            padding-bottom: 0;
            padding-top: 20px;
            text-align-last: left;
            padding-left: 0;
            font-style: normal;
            font-weight: 600;
            font-size: 14px;
            line-height: 24px;
            text-align: center;
            letter-spacing: 0.04em;
            color: #1E1E1E;
            &::before {
              content: "クーポンコード";
              display: block;
              position: absolute;
              top: -2px;
              left: 0;
              width: 100%;
              font-style: normal;
              font-weight: 300;
              font-size: 13px;
              line-height: 24px;
              letter-spacing: 0.04em;
              color: #1E1E1E;
              background: none;
            }
          }
          .lion-reward-code  {
            margin-top: 0;
            padding: 24px;
            background: #F1F5F7;
            border-radius: 4px;
            width: 100%;
            color: #1E1E1E;
            text-align: center;
            .lion-reward-code__codes {
              font-style: normal;
              font-weight: 600;
              font-size: 14px;
              line-height: 24px;
              text-align: center;
              letter-spacing: 0.04em;
              color: #1E1E1E;
            }
          }
          .bg-custom-point {
            display: flex;
            justify-content: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center center;
            width: 100%;
            height: auto;
          }
        }
        .lion-redeem-reward-modal__summary-custom {
          font-size: 1.1em;
          margin-bottom: 32px;
        }
        .lion-reward-code__code {
          font-style: normal;
          font-weight: 600;
          font-size: 14px;
          line-height: 24px;
          text-align: center;
          letter-spacing: 0.04em;
          color: #1E1E1E;
        }
        .lion-redeem-reward-modal__code-container {
          margin-top: 0;
          padding: 24px;
          background: #F1F5F7;
          border-radius: 4px;
          width: 100%;
          color: #1E1E1E;
          text-align: center;
          .lion-reward-code__code::before {
            font-style: normal;
            font-weight: 300;
            font-size: 13px;
            line-height: 24px;
            letter-spacing: 0.04em;
            color: #1E1E1E;
            background: none;
          }
          .lion-reward-code {
            margin-top: 0;
            padding: 24px;
            background: #F1F5F7;
            border-radius: 4px;
            width: 100%;
            color: #1E1E1E;
            text-align: center;
          }
        }
        .lion-redeem-reward-modal__button-container .lion-redeem-reward-modal__button:hover,
        .lion-redeem-reward-modal__button--confirm:hover {
          opacity: 0.7;
        }
        .lion-redeem-reward-modal__button--confirm a:hover {
          text-decoration: none;
          color: #FFFFFF;
        }
        .lion-redeem-reward-modal__button--cancel {
          display: none;
        }
        .lion-modal__wrapper {
          padding: 3.2rem 2.4rem 0;
          max-width: 920px;
          margin: 0 auto;
          @media (750px <= width) {
            padding-top: 8rem;
          }
          .modal_page_title {
            font-family: var(--font-family-title-ja);
            font-size: 20px;
            @media (750px <= width) {
              font-size: 24px;
            }
          }
          .lion-modal__content, .lion-modal__header {
            font-family: 'Noto Sans JP';
          }
          .lion-modal__header {
            background-color: #F1F5F7;
            border-bottom: 0;
            border-top-left-radius: 8px;
            border-top-right-radius: 8px;
            display: block;
            max-width: 920px;
            margin: 2.4rem auto 0;
            padding: 2.4rem 1.6rem 1.6rem 1.6rem;
            @media (750px <= width) {
              margin: 56px auto 0;
              padding: 40px 40px 32px;
            }
          }
          .lion-modal__title {
            font-style: normal;
            line-height: 24px;
            display: block;
            align-items: center;
            text-align: center;
            color: #1E1E1E;
            font-weight: 500;
            font-size: 18px;
          }
          .lion-modal__content {
            max-width: 920px;
            margin: 0 auto 6.4rem;
            @media screen and (min-width: 750px) {
              margin: 0 auto 8rem;
            }
            .bg-custom-point {
              .coupon-price-wrapper {
                width: 286px;
                height: 144px;
                border-radius: 8px;
              }
              .coupon-price {
                font-size: 64px;
                font-weight: 400;
              }
              .off-wrapper {
                font-size: 40px;
                font-weight: 400;
              }
            }
            .custom-term-of-use-point {
              margin-top: 24px;
              display: block;
              text-align: left;
              .custom-term-of-use-point__title,
              .custom-term-of-use-point__content {
                font-style: normal;
                font-weight: 400;
                font-size: 13px;
                margin: 0;
                letter-spacing: 0.04em;
              }
              .custom-term-of-use-point__title {
                line-height: 24px;
                display: inline-block;
                color: #1E1E1E;
              }
              .custom-term-of-use-point__content {
                line-height: 22px;
                list-style: none;
                text-indent: -1em;
                padding-left: 1em;
              }
            }
            .lion-redeem-reward-modal__content {
              .lion-redeem-reward-modal__confirm-box {
                .lion-redeem-reward-modal__expiration-message, .lion-redeem-reward-modal__description {
                  display: none;
                }
                .lion-redeem-reward-modal__button-container {
                  margin-top: 0;
                  p {
                    margin: 0 0 32px 0;
                  }
                  .custom-modal-open-button {
                    width: 240px;
                    height: 56px;
                    font-family: 'Noto Sans JP';
                    border-radius: 50px;
                    padding: 15px;
                    font-size: 15px;
                    background-color: #1E1E1E;
                  }
                }
                .lion-redeem-reward-modal__minimum-spend {
                  margin-bottom: 16px;
                  @media (750px <= width) {
                    margin-bottom: 24px;
                  }
                }
              }
            }
            .lion-history-info-modal-content__comment-min-spend {
              font-size: 1.1em;
              margin-bottom: 32px;
            }
            .lion-history-info-modal-content__explain-point {
              text-align: left;
              font-size: 1.3rem;
              padding-top: 0;
            }
            .lion-history-info-modal-content__explain-point__title{
              margin-top: 0;
              margin-bottom: 1.2rem;
            }
            .lion-history-info-modal-content__explain-point__list{
              margin:0;
            }
          }
          .link-button-wrapper {
            display: flex;
            justify-content: center;
            gap: 1.6rem;
            margin: 2.4rem 0 0;
            flex-flow: column;
            align-items: center;

            @media (750px <= width) {
              flex-flow: unset;
            }

            .link-button {
              width: 14.5rem;
              height: 4.4rem;
              border-radius: 30px;
              font-size: 12px;
              color: #fff;
              background: var(--color-black);
              padding: 1rem;
              display: flex;
              justify-content: center;
              align-items: center;
              text-align: center;
              cursor: pointer;
              text-decoration: none;
              border: 1px solid var(--color-black);
              transition: 0.2s;

              &:hover {
                @media (750px <= width) {
                  background: #fff;
                  color: var(--color-black);
                  transition: 0.2s;
                }
              }
            }
          }
        }
        .lion-modal__close-button {
          width: 100%;
          opacity: 1;
          position: relative;
          display: block;
          text-align: left;
          background: #fff;
          color: #525758;
          font-weight: 400;
          text-decoration: none;
          font-size: 1rem;
          height: auto;
          @media (750px <= width) {
            font-size: 1.2rem;
          }
          line-height: 2.88rem;
          transition: 0.2s;
        }
        .lion-redeem-reward-modal__confirm-summary,
        .lion-redeem-reward-modal__minimum-spend::before,
        .lion-history-info-modal-content__comment-min-spend > span {
          display: none;
        }
        .lion-redeem-reward-modal__summary-custom .lion-redeem-reward-modal__summary-bg,
        .lion-redeem-reward-modal__minimum-spend {
          border-radius: 10px;
          position: relative;
          font-size: 0;
        }
        .lion-redeem-reward-modal__summary-custom .bg-custom-point,
        .lion-redeem-reward-modal__minimum-spend .bg-custom-point {
          display: flex;
          justify-content: center;
          background-size: cover;
          background-repeat: no-repeat;
          background-position: center center;
          width: 100%;
          height: auto;
        }
        .lion-reward-code {
          display: flex;
          align-items: end;
          justify-content: space-between;
          margin-bottom: 2.4rem;
          .lion-copy-to-clipboard-button {
            border-radius: 50px;
            color: #fff;
            background: #1E1E1E;
            width: 80px;
          }
        }
        .coupon-use-button {
          background: #1E1E1E;
          color: #fff;
          border: none;
          border-radius: 50px;
          height: 44px;
          max-width: 80%;
          width: 100%;
          font-size: 14px;
          cursor: pointer;
          transition: all 0.2s ease;
          margin:0 auto 2.4rem auto;
          text-decoration: none;
          display: flex;
          align-items: center;
          justify-content: center;
          &:hover {
            background: #fff;
            color: #1E1E1E;
            border: 1px solid #1E1E1E;
            text-decoration: none;
          }
        }
        .lion-action-button:hover {
          background-color: #1E1E1E;
        }
      }
    }
    #lion-loyalty-panel-custom-css {
      .lion-modal--custom .lion-modal__wrapper .lion-history-info-modal-content .lion-history-info-modal-content__basic {
        display: none;
      }
      .lion-redeem-reward-modal__code-container {
        padding: 0;
        .lion-reward-code__code {
          background: none;
          border: none;
          position: relative;
          padding-bottom: 0;
          padding-top: 20px;
          text-align-last: left;
          padding-left: 0;
          font-style: normal;
          font-weight: 600;
          font-size: 14px;
          line-height: 24px;
          text-align: center;
          letter-spacing: 0.04em;
          color: #1E1E1E;
          &::before {
            content: "クーポンコード";
            display: block;
            position: absolute;
            top: -2px;
            left: 0;
            width: 100%;
          }
        }
        .lion-history-info-modal-content__explain-point {
          margin-bottom: 32px;
        }
      }
      .lion-modal__content {
        padding: 0 16px 24px;
        @media (750px <= width) {
          padding: 0 40px 40px;
        }
        background: #F1F5F7;
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        .lion-redeem-reward-modal__content .lion-redeem-reward-modal__code-container .lion-reward-code .lion-reward-code__code {
          position: relative;
        }
        .lion-reward-code {
          margin-top: 2.4rem;
          margin-bottom: 2.4rem;
          position: relative;
          border: solid 1px #1E1E1E;
        }
      }
      .lion-screen--light {
        background-color: rgba(255, 255, 255, .1);
      }
    }
  }
  .shopify-section {
    &:has(.confirmation-modal-content.show) {
      position: relative;
    }
    .confirmation-modal-bg {
      display: none;
      opacity: 0;
      background-color: rgba(0, 0, 0, 0);
      &.show {
        position: fixed;
        z-index: 10000000005;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        transition: all 0.5s ease-in-out 0s;
        display: block;
        background-color: rgba(0, 0, 0, 0.5);
        opacity: 1;
      }
    }
    .confirmation-modal-content {
      display: none;
      font-family: 'Noto Sans JP';
      @media (750px <= width) {
        width: 100%;
        padding: 40px 64px;
      }
      &.show {
        position: fixed;
        background: #fff;
        border-radius: 8px;
        margin: 0 auto;
        max-width: 640px;
        height: 443px;
        border: 1px solid #888;
        transition: all 0.5s ease-in-out 0s;
        width: 90%;
        padding: 24px;
        transform: translate(-50%, -50%);
        z-index: 10000000005;
        top: 50%;
        left: 50%;
        display: block;
      }
      .modal__point {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        align-items: baseline;
        margin-bottom: 32px;
        .modal__point__left {
          font-size: 18px;
        }
        .modal__point__right span {
          font-size: 15px;
        }
      }
      .modal__text {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 16px;
        @media (750px <= width) {
          margin-bottom: 24px;
        }
      }
      .lion-history-info-modal-content__state-bubble {
        font-size: 16px;
        line-height: 24px;
        right: 0;
      }
      .lion-history-info-modal-content__points,
      .lion-history-info-modal-content__date,
      .lion-history-info-modal-content__state-bubble {
        font-size: 16px;
        line-height: 24px;
      }
      .lion-history-info-modal-content__points {
        display: none;
      }
      .lion-history-info-modal-content__explain-point {
        font-style: normal;
        font-weight: 300;
        line-height: 24px;
        letter-spacing: 0.04em;
        color: #1E1E1E;
        text-align: left;
        font-size: 13px;
      }
      .modal_button_wrapper {
        display: flex;
        justify-content: center;
        .lion-redeem-reward-modal__button--confirm {
          border-radius: 50px;
          text-align: center;
          font-size: 16px;
          height: 44px;
          width: 145px;
          background: #1E1E1E;
          color: #FFFFFF;
          display: flex;
          justify-content: center;
          align-items: center;
        }
      }
      .modal_point_content_wrapper {
        background-color: #F1F5F7;
        padding: 24px;
        margin-bottom: 32px;
        border-radius: 4px;
        display: flex;
        flex-direction: column;
        gap: 16px;
        .modal__point__title {
          font-size: 18px;
        }
        .modal_point_title {
          font-size: 13px;
          font-weight: 400;
          color: #878F92;
        }
      }
      .confirmation-modal-close {
        position: relative;
        z-index: 100000000000;
        div:empty {
          display: block;
        }
        .confirmation-modal-close__bar1,
        .confirmation-modal-close__bar2 {
          position: absolute;
          background: #1E1E1E;
          width: 28px;
          height: 2px;
          top: 16px;
          right: -12px;
        }
        .confirmation-modal-close__bar1 {
          transform: translate(-50%, -50%) rotate(-45deg);
        }
        .confirmation-modal-close__bar2 {
          transform: translate(-50%, -50%) rotate(45deg);
        }
        &:hover,
        &:focus {
          color: black;
          text-decoration: none;
          cursor: pointer;
        }
      }
    }
    .point-top__content .point-top__history-point {
      font-family: 'Noto Sans JP';
      tr.lion-history-table__row > td:nth-child(4) {
        font-family: "Outfit", sans-serif;
      }
      .point-history-wrapper {
        border: solid 1px #D9D9D9;
        padding: 4px 16px 16px;
        margin-bottom: 120px;
        border-radius: 8px;
        @media (750px <= width) {
          padding: 20px 40px 40px;
        }
        .loyaltylion-history__pagination-wrapper {
          background: #fff;
          border-bottom-left-radius: 8px;
          border-bottom-right-radius: 8px;
        }
        .pagination-container {
          margin-bottom: 0;
          padding: 0;
          text-align: center;
          display: flex;
          justify-content: center;
          #pagination-numbers {
            display: flex;
            justify-content: center;
          }
          .pagination-button,
          .custom-pagination-number {
            display: inline-block;
            vertical-align: middle;
            border: none;
            color: #1E1E1E;
            width: 24px;
            height: 24px;
            font-size: 12px;
            margin: 25px 3px 0 3px;
            background: none;
            font-family: "Oranienbaum", serif;
            @media (750px <= width) {
              margin: 44px 3px 0 3px;
              width: 32px;
              height: 32px;
              font-size: 13px;
            }
            &:hover,
            &.current,
            &.active {
              background: #1E1E1E;
              color: #fff;
            }
          }
          [data-page-index="..."].custom-pagination-number {
            background: none;
            color: #1E1E1E;
          }
          .pagination-button.disabled,
          .custom-pagination-number.disabled {
            display: none;
          }
          #next-button, #prev-button {
            position: relative;
            &::before {
              content: "";
              width: 1.4rem;
              height: 1.4rem;
              position: absolute;
              left: 25%;
              top: 50%;
              transform: translateY(-50%);
              background-color: #1E1E1E;

            }
          }
          #next-button {
            mask: url(icon-point-history-pager-arrow-next.svg) no-repeat center / contain;
            -webkit-mask: url(icon-point-history-pager-arrow-next.svg) no-repeat center / contain;
          }
          #prev-button {
            mask: url(icon-point-history-pager-arrow-prev.svg) no-repeat center / contain;
            -webkit-mask: url(icon-point-history-pager-arrow-prev.svg) no-repeat center / contain;
          }
        }
      }
    }
  }
}
@keyframes scaleUpDown {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}

/* Two-column image layout for step 5 */
.img-content--two-columns {
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.img-content--two-columns .ss-img {
  flex: 1;
  max-width: calc(50% - 8px);
}
