._InteractionCarousel_kzrjy_1 {
  /* 1スライドの幅 */
  --local-slide-width: 311px;
  /* 次へ・前へボタンのサイズ */
  --local-button-size: 48px;
  /* 16:9 画像エリアの高さ */
  --local-image-height: calc(var(--local-slide-width) * 9 / 16);
  /* ページネーションボタンのサイズ */
  --local-pagination-button-size: 13px;
  /* ページネーションの上部マージン */
  --local-controller-margin-top: var(--SPACE-BLOCK-SPACING-32);
  /* 次へ・前へボタンのtop位置（画像の縦中央 − ボタン半径） */
  --local-offset-top: calc(
    var(--local-image-height) /
    2 -
    var(--local-button-size) /
    2
  );
  /* controlエリアの高さ */
  --local-controller-height: calc(
    (var(--local-pagination-button-size) + var(--local-controller-margin-top))
  );
  /* 次へ・前へボタンのtop位置（スライドの縦中央 − ボタン半径 - controlエリアの半分の高さ） */
  --local-offset-top-center: calc(
    50% -
    var(--local-button-size) /
    2 -
    var(--local-controller-height) /
    2
  );

  &.swiper {
    margin: var(--SPACING-MODULE-DEFAULT) calc(var(--OUTSIDE-GUTTER) * -1) 0;
  }

  @media (width >= 1024px) {
    --local-slide-width: 368px;
    --local-button-size: 72px;
    --local-pagination-button-size: 25px;
  }

  &._theme-arrowPositionSP-center_kzrjy_42 {
    @media (width < 1024px) {
      ._arrow_kzrjy_44 {
        top: var(--local-offset-top-center);
      }
    }
  }

  &._theme-arrowPositionPC-center_kzrjy_50 {
    @media (width >= 1024px) {
      ._arrow_kzrjy_44 {
        top: var(--local-offset-top-center);
      }
    }
  }

  &._theme-pickUp_kzrjy_58 {
    @media (width >= 1024px) {
      padding: 0 var(--OUTSIDE-GUTTER);
    }
  }

  .swiper-slide {
    width: var(--local-slide-width);

    @media (width >= 1024px) {
      width: var(--local-slide-width);
    }
  }

  @media (scripting: none) {
    --local-slide-width: 100%;

    margin: var(--SPACING-MODULE-DEFAULT) 0 0 !important;

    ._control_kzrjy_77 {
      display: none;
    }

    .swiper-wrapper {
      display: grid;
      gap: var(--SPACE-BLOCK-SPACING-24);
    }

    @media (width >= 1024px) {
      .swiper-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(312px, 1fr));
        gap: var(--SPACE-BLOCK-SPACING-48);
      }
    }

    &._theme-pickUp_kzrjy_58 {
      @media (width >= 1024px) {
        padding: 0;

        .swiper-wrapper {
          grid-template-columns: repeat(1, minmax(0, 1fr));
        }
      }
    }
  }

  &[data-carousel-mode='static'] {
    --local-slide-width: 100%;

    margin: var(--SPACING-MODULE-DEFAULT) 0 0;

    ._control_kzrjy_77 {
      display: none;
    }

    .swiper-wrapper {
      display: grid;
      gap: var(--SPACE-BLOCK-SPACING-24);
    }

    @media (width >= 1024px) {
      .swiper-wrapper {
        grid-template-columns: repeat(auto-fill, minmax(312px, 1fr));
        gap: var(--SPACE-BLOCK-SPACING-48);
      }
    }

    &._theme-pickUp_kzrjy_58 {
      @media (width >= 1024px) {
        padding: 0;

        .swiper-wrapper {
          grid-template-columns: repeat(1, minmax(0, 1fr));
        }
      }
    }
  }
}

/*
.track {
}
*/

._slide_kzrjy_142 {
  flex-shrink: 0;
  list-style: none;
  position: relative;

  > :is(a, div, img) {
    width: 100%;
  }

  > :is(:first-child) {
    margin-top: 0;
  }

  > :is(:last-child) {
    margin-bottom: 0;
  }
}

._control_kzrjy_77 {
  align-items: center;
  display: flex;
  gap: var(--SPACE-BLOCK-SPACING-8);
  justify-content: center;
  margin-top: var(--local-controller-margin-top);
}

._toggle_kzrjy_168 {
  --local-toggle-size: 24px;

  appearance: none;
  aspect-ratio: 1 / 1;
  background-color: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: block;
  font: inherit;
  height: auto;
  margin: 0 0 0 calc(var(--SPACING) * 0.5);
  order: 1;
  padding: 0;
  position: relative;
  text-align: inherit;
  transition: opacity var(--TRANSITION);
  width: var(--local-toggle-size);

  /* icon */
  &::before {
    background-color: var(--COLOR-BLACK-1000);
    content: '';
    height: 100%;
    left: 50%;
    mask-image: url('/assets/images/common/icon-index-play-03.svg');
    mask-repeat: no-repeat;
    mask-size: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }

  @media (any-hover: hover) {
    &:hover {
      opacity: var(--OPACITY-HOVER);
    }
  }

  &.swiper-button-toggle-pause {
    /* icon */
    &::before {
      mask-image: url('/assets/images/common/icon-index-pause-03.svg');
    }
  }
}

._arrow_kzrjy_44 {
  --local-arrow-icon-size: 20px;

  background-color: var(--BG-WHITE);
  border: 1px solid var(--BORDER-BLACK);
  border-radius: 50%;
  cursor: pointer;
  display: block;
  height: var(--local-button-size);
  overflow: hidden;
  padding: var(--local-button-size) 0 0 var(--local-button-size);
  position: absolute;
  top: var(--local-offset-top);
  z-index: var(--Z-INDEX-DEFAULT);
  width: var(--local-button-size);
  transition: background-color var(--TRANSITION);

  @media (width >= 1024px) {
    --local-arrow-icon-size: 24px;
  }

  /* arrow */
  &::before {
    content: '';
    display: block;
    height: var(--local-arrow-icon-size);
    left: 50%;
    background-color: var(--BG-BLACK);
    mask-repeat: no-repeat;
    mask-size: cover;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: var(--local-arrow-icon-size);
    transition: background-color var(--TRANSITION);
  }

  &:focus-visible {
    background-color: var(--BG-BLACK);

    /* arrow */
    &::before {
      background-color: var(--BG-WHITE);
    }
  }

  @media (any-hover: hover) {
    &:hover {
      background-color: var(--BG-BLACK);

      /* arrow */
      &::before {
        background-color: var(--BG-WHITE);
      }
    }
  }

  &._theme-prev_kzrjy_274 {
    left: var(--SPACE-BLOCK-SPACING-8);

    /* arrow */
    &::before {
      mask-image: url('/assets/images/common/icon-carousel-prev.svg');
    }
  }

  &._theme-next_kzrjy_283 {
    right: var(--SPACE-BLOCK-SPACING-8);

    /* arrow */
    &::before {
      mask-image: url('/assets/images/common/icon-carousel-next.svg');
    }
  }
}

._pagination_kzrjy_293 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.swiper-pagination-bullet {
  --local-bullet-size: 5px;

  background-color: transparent;
  border: 0;
  display: block;
  height: var(--local-pagination-button-size);
  overflow: hidden;
  padding: calc(
    var(--local-pagination-button-size) 0 0 var(--local-pagination-button-size)
  );
  position: relative;
  width: var(--local-pagination-button-size);

  /* bullet */
  &::before {
    background-color: var(--BG-BLACK);
    border-radius: calc(var(--local-bullet-size) / 2);
    content: '';
    height: var(--local-bullet-size);
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: var(--local-bullet-size);
    transition:
      width var(--TRANSITION),
      height var(--TRANSITION);
  }
}

.swiper-pagination-bullet-active {
  width: 48px;

  @media (width >= 1024px) {
    width: 60px;
  }

  /* bullet */
  &::before {
    height: 4px;
    width: 40px;
  }
}
