body {
  background: #14161b;
}

picture {
  display: block;
}

span.ex {
  font-size: 1.25em;
  display: inline-block;
  line-height: 1;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

.scroll-paused {
  overflow: hidden;
}

.hero-visual {
  position: relative;
}

.hero-title,
.hero-title img {
  display: block;
}

.hero-title img {
  width: 100%;
  height: auto;
}

.hero-cardlist-btn {
  position: absolute;
  right: min(100px, 140 * 100vw / 1440);
  bottom: min(80px, 60 * 100vw / 1440);
  width: calc(310 * 100vw / 1440);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 1;
}

.hero-cardlist-btn__image {
  display: block;
  width: 100%;
}

.hero-cardlist-btn__image img {
  display: block;
  width: 100%;
  height: auto;
}

.hero-cardlist-btn__image--default {
  position: relative;
  opacity: 1;
  transition: opacity 0.25s ease;
}

.hero-cardlist-btn__image--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .hero-cardlist-btn:hover .hero-cardlist-btn__image--default {
    opacity: 0;
  }
  .hero-cardlist-btn:hover .hero-cardlist-btn__image--hover {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .hero-cardlist-btn {
    right: 50%;
    bottom: 0;
    width: calc(217 * 100vw / 390);
    transform: translateX(50%);
  }
}
.video-overlay {
  position: fixed;
  inset: 0;
  z-index: 5050;
  background: #14161b;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s linear;
}

.video-section {
  position: fixed;
  inset: 0;
  z-index: 5060;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

.video-section.is-visible {
  animation: videoFadeUp 1.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  pointer-events: auto;
}

@keyframes videoFadeUp {
  0% {
    opacity: 0;
    transform: translateY(120px);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.video-player {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
}

.video-section.is-visible .video-player {
  animation: videoFadeOnly 2.5s ease 0.6s both;
}

@keyframes videoFadeOnly {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .video-section {
    align-items: center;
  }
}
.js-video-reveal {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 1s ease, transform 1s ease;
}

.js-video-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.content-wrapper {
  position: relative;
  z-index: 5070;
}
.content-wrapper::before {
  position: static;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: url("/ex/m5/assets/images/product_bg-29xsudbt.jpg") repeat center bottom/cover;
  content: "";
  z-index: -2;
}
.content-wrapper.dark__board-visible::before {
  position: fixed;
}
@media screen and (max-width: 768px) {
  .content-wrapper::before {
    background-image: url("/ex/m5/assets/images/product_bg_sp-oocoxgkq.jpg");
  }
}

.dark {
  position: relative;
  z-index: 5070;
  margin-top: calc(600 * 100vw / 1440);
  padding: calc(280 * 100vw / 1440) 0 calc(525 * 100vw / 1440);
  background: linear-gradient(to bottom, transparent 0%, transparent 50%, #14161b 50%, #14161b 100%);
  transform: translateY(calc(100vh - 100 * 100vw / 1440));
  opacity: 1;
  transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.dark.is-visible {
  transform: translateY(0);
}

.dark.is-hide {
  opacity: 0;
  visibility: hidden;
  transform: translateY(calc(100vh - 100 * 100vw / 1440));
}

.dark::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 100%;
  aspect-ratio: 1440/2260;
  transform: translate(-50%, -50%);
  background: url("/ex/m5/assets/images/dark_bg_circle-0pzskytq.png") center/contain no-repeat;
  pointer-events: none;
}

.dark__inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
}

.dark__title {
  margin-top: calc(220 * 100vw / 1440);
}

.dark__title-image img {
  width: calc(732 * 100vw / 1440);
  height: auto;
}

.dark__cards {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: calc(60 * 100vw / 1440);
  width: 100%;
  margin: calc(80 * 100vw / 1440) auto 0;
}

.dark__card,
.dark__card-image {
  width: calc(290 * 100vw / 1440);
  height: auto;
}

.dark__card-effect {
  position: relative;
  border-radius: calc(20 * 100vw / 1440);
  margin-bottom: calc(24 * 100vw / 1440);
}
.dark__card-effect::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: 0;
  background: #97c453;
  box-shadow: 0 0 calc(20 * 100vw / 1440) calc(2 * 100vw / 1440) #97c453;
}

.dark__card-image {
  position: relative;
  z-index: 1;
  display: block;
}

.dark__card--primary {
  position: relative;
}

.dark__card--primary::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: calc(1040 * 100vw / 1440);
  height: calc(652 * 100vw / 1440);
  transform: translate(-50%, -50%);
  background: url("/ex/m5/assets/images/dark_card_bg-joqa8yxd.png") center/contain no-repeat;
}

.dark__card--primary::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(1199 * 100vw / 1440);
  height: calc(531 * 100vw / 1440);
  z-index: -2;
  transform: translate(-50%, -50%);
  border-radius: calc(1199 * 100vw / 1440);
  background: rgba(195, 83, 219, 0.2);
  filter: blur(calc(100 * 100vw / 1440));
}

.dark__card--primary,
.dark__card--primary .dark__card-image {
  width: calc(340 * 100vw / 1440);
  height: auto;
}

.dark__card--primary > .dark__card-effect::before {
  box-shadow: 0 0 calc(20 * 100vw / 1440) calc(6 * 100vw / 1440) #97c453;
}

.dark__card-name {
  width: auto;
  height: calc(32 * 100vw / 1440);
}

.dark__board {
  filter: drop-shadow(0 0 calc(100 * 100vw / 1440) rgba(195, 83, 219, 0.3));
  margin-top: calc(100 * 100vw / 1440);
}

.dark__board img {
  width: calc(1040 * 100vw / 1440);
  height: auto;
}

.dark__button {
  position: relative;
  display: inline-block;
  padding: 0;
  border: none;
  background: none;
  margin-top: calc(40 * 100vw / 1440);
  cursor: pointer;
}

.dark__button-image {
  display: block;
  width: calc(630 * 100vw / 1440);
}

.dark__button-image img {
  display: block;
  width: 100%;
  height: auto;
}

.dark__button-image--default {
  position: relative;
  opacity: 1;
  transition: opacity 0.25s ease;
}

.dark__button-image--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .dark__button:hover .dark__button-image--default {
    opacity: 0;
  }
  .dark__button:hover .dark__button-image--hover {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .dark {
    padding: calc(100 * 100vw / 390) 0 calc(200 * 100vw / 390);
    margin-top: 143.5897435897vw;
    transform: translateY(calc(100vh - 100 * 100vw / 390));
  }
  .dark::before {
    aspect-ratio: 390/1296;
    background: url("/ex/m5/assets/images/dark_bg_circle_sp-64kbzc6h.png") center/contain no-repeat;
  }
  .dark__title {
    margin-top: calc(64 * 100vw / 390);
  }
  .dark__title-image img {
    width: calc(277 * 100vw / 390);
    height: auto;
  }
  .dark__cards {
    flex-wrap: wrap;
    gap: calc(20 * 100vw / 390);
    margin: calc(40 * 100vw / 390) auto 0;
  }
  .dark__cards::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(310 * 100vw / 390);
    height: calc(531 * 100vw / 390);
    z-index: -2;
    transform: translate(-50%, -50%);
    border-radius: calc(531 * 100vw / 390);
    background: rgba(195, 83, 219, 0.2);
    filter: blur(calc(100 * 100vw / 390));
  }
  .dark__card:nth-child(1) {
    order: 1;
  }
  .dark__card.dark__card--primary {
    order: 0;
    width: 100%;
  }
  .dark__card.dark__card--primary .dark__card-effect {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto calc(14 * 100vw / 390);
  }
  .dark__card.dark__card--primary .dark__card-name {
    height: calc(20 * 100vw / 390);
  }
  .dark__card.dark__card--primary::before {
    width: calc(375 * 100vw / 390);
    height: calc(379 * 100vw / 390);
    background: url("/ex/m5/assets/images/dark_card_bg_sp-jngopudc.png") center/contain no-repeat;
  }
  .dark__card.dark__card--primary::after {
    content: none;
  }
  .dark__card:nth-child(3) {
    order: 2;
  }
  .dark__card,
  .dark__card-image {
    width: calc(145 * 100vw / 390);
  }
  .dark__card--primary,
  .dark__card--primary .dark__card-image {
    width: calc(200 * 100vw / 390);
  }
  .dark__card--primary > .dark__card-effect::before {
    box-shadow: 0 0 calc(10 * 100vw / 390) calc(2 * 100vw / 390) #97c453;
  }
  .dark__card-effect {
    border-radius: calc(20 * 100vw / 390);
    margin-bottom: calc(14 * 100vw / 390);
  }
  .dark__card-name {
    height: calc(19 * 100vw / 390);
  }
  .dark__board {
    filter: drop-shadow(0 0 calc(30 * 100vw / 390) rgba(195, 83, 219, 0.3));
    margin-top: calc(60 * 100vw / 390);
  }
  .dark__board img {
    width: calc(310 * 100vw / 390);
  }
  .dark__button {
    margin-top: calc(31 * 100vw / 390);
  }
  .dark__button-image {
    width: calc(306 * 100vw / 390);
  }
}
.product-area {
  position: relative;
  z-index: 5070;
  margin-top: calc(-133 * 100vw / 1440);
}
.product-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(385 * 100vw / 1440);
  background: linear-gradient(0deg, rgba(20, 22, 27, 0) 0%, rgba(20, 22, 27, 0.7) 20%, rgba(20, 22, 27, 0.9) 30%, #14161b 50%);
  pointer-events: none;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .product-area {
    margin-top: calc(-47 * 100vw / 390);
  }
  .product-area::before {
    height: calc(127 * 100vw / 390);
  }
}
.coming-section {
  max-width: calc(1040 * 100vw / 1440);
  margin: 0 auto;
  text-align: center;
}

.coming-title {
  width: calc(704 * 100vw / 1440);
  margin: 0 auto;
}

.coming-board {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  padding: calc(80 * 100vw / 1440) calc(40 * 100vw / 1440);
  border-radius: calc(60 * 100vw / 1440);
  background: linear-gradient(0deg, rgba(20, 22, 27, 0.9) 0%, rgba(47, 20, 52, 0.9) 50%, rgba(20, 22, 27, 0.9) 100%);
  box-shadow: 0 0 calc(6 * 100vw / 1440) 0 rgba(111, 185, 44, 0.5), 0 0 calc(50 * 100vw / 1440) 0 rgba(190, 128, 184, 0.5), 0 0 calc(6 * 100vw / 1440) 0 #b682a8;
}

.coming-lead {
  width: calc(732 * 100vw / 1440);
  margin: 0 auto;
}

.coming-cards {
  width: calc(840 * 100vw / 1440);
  margin: calc(40 * 100vw / 1440) auto 0;
}

.coming-title picture,
.coming-lead picture,
.coming-cards picture {
  display: block;
  width: 100%;
}

.coming-title img,
.coming-lead img,
.coming-cards img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .coming-section {
    max-width: calc(350 * 100vw / 390);
  }
  .coming-title {
    width: 100%;
  }
  .coming-board {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    padding: calc(30 * 100vw / 390) calc(15 * 100vw / 390);
    border-radius: calc(40 * 100vw / 390);
    box-shadow: 0 0 calc(2 * 100vw / 390) 0 rgba(111, 185, 44, 0.5), 0 0 calc(30 * 100vw / 390) 0 rgba(190, 128, 184, 0.5), 0 0 calc(4 * 100vw / 390) 0 #b682a8;
  }
  .coming-lead {
    width: calc(240 * 100vw / 390);
  }
  .coming-cards {
    width: calc(327 * 100vw / 390);
    margin: calc(30 * 100vw / 390) auto 0;
  }
}
.product-section {
  max-width: calc(1040 * 100vw / 1440);
  margin: calc(97 * 100vw / 1440) auto 0;
  text-align: center;
}

.product-title {
  width: calc(704 * 100vw / 1440);
  margin: 0 auto;
}

.product-title img {
  width: 100%;
  height: auto;
}

.product-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(120 * 100vw / 1440);
}

.product-image {
  width: calc(270 * 100vw / 1440);
}

.product-image img {
  width: 100%;
  height: auto;
}

.product-info {
  color: #fff;
  text-align: left;
}

.product-name {
  margin-bottom: calc(40 * 100vw / 1440);
  font-weight: bold;
  font-size: clamp(20px, 32 * 100vw / 1440, 64px);
  line-height: 1.4;
}

.product-detail {
  font-size: clamp(15px, 18 * 100vw / 1440, 36px);
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .product-section {
    max-width: 100%;
    margin: calc(71 * 100vw / 390) auto 0;
  }
  .product-title {
    width: 100%;
  }
  .product-content {
    max-width: calc(270 * 100vw / 390);
    margin: 0 auto;
    flex-direction: column;
    gap: calc(20 * 100vw / 390);
  }
  .product-image {
    width: calc(210 * 100vw / 390);
  }
  .product-name {
    margin-bottom: calc(40 * 100vw / 390);
    font-size: clamp(20px, 20 * 100vw / 390, 32px);
    line-height: 1.6;
  }
  .product-detail {
    font-size: clamp(15px, 15 * 100vw / 390, 18px);
  }
}
.modal-dark {
  position: fixed;
  inset: 0;
  z-index: 9000;
  overflow-y: auto;
  padding: calc(120 * 100vw / 1440) calc(200 * 100vw / 1440) calc(193 * 100vw / 1440);
  min-height: 100vh;
  opacity: 0;
  display: none;
  pointer-events: none;
  transition: opacity 0.4s;
}
.modal-dark::before {
  content: "";
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: rgba(32, 29, 42, 0.7);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

.modal-dark.is-open {
  opacity: 1;
  display: block;
  pointer-events: auto;
}

.modal-dark__window {
  position: relative;
  margin: 0 auto;
  width: 100%;
  border-radius: calc(60 * 100vw / 1440);
  padding: calc(60 * 100vw / 1440) calc(100 * 100vw / 1440) calc(80 * 100vw / 1440);
  background: linear-gradient(0deg, rgba(20, 22, 27, 0.9) 0%, rgba(47, 20, 52, 0.9) 50%, rgba(20, 22, 27, 0.9) 100%);
  box-shadow: 0 0 calc(6 * 100vw / 1440) 0 rgba(111, 185, 44, 0.5), 0 0 calc(50 * 100vw / 1440) 0 rgba(190, 128, 184, 0.6), 0 0 calc(6 * 100vw / 1440) 0 #b682a8;
}

.modal-dark__lead {
  margin: 0 auto calc(60 * 100vw / 1440);
  width: clamp(213px, 359 * 100vw / 1440, 718px);
}

.modal-dark__lead img {
  width: 100%;
  height: auto;
}

.modal-dark__main {
  display: flex;
  gap: calc(80 * 100vw / 1440);
  align-items: center;
}
.modal-dark__main .ani-zoom {
  flex: 0 0 calc(300 * 100vw / 1440);
}
.modal-dark__main .ani-zoom img {
  width: 100%;
  height: auto;
  display: block;
}

.modal-dark__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(24 * 100vw / 1440);
}

.modal-dark__main-name {
  height: clamp(20px, 38 * 100vw / 1440, 76px);
}
.modal-dark__main-name img {
  width: auto;
  height: 100%;
}

.modal-dark__main-text {
  color: #fff;
  font-size: clamp(15px, 18 * 100vw / 1440, 36px);
  line-height: 1.2;
}

.modal-dark__line {
  position: relative;
  border: none;
  height: calc(3 * 100vw / 1440);
  margin: calc(60 * 100vw / 1440) 0;
}
.modal-dark__line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(3 * 100vw / 1440);
  opacity: 0.6;
  background: linear-gradient(90deg, rgba(168, 72, 189, 0) 0%, #d8d8d8 50%, rgba(168, 72, 189, 0) 100%);
}

.modal-dark__sub {
  height: clamp(19px, 29 * 100vw / 1440, 58px);
  margin-bottom: calc(40 * 100vw / 1440);
  text-align: center;
}
.modal-dark__sub img {
  width: auto;
  height: 100%;
}
.modal-dark__sub-double > picture {
  height: 100%;
}

.modal-dark__pair {
  display: flex;
  width: calc(660 * 100vw / 1440);
  max-width: 100%;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto calc(40 * 100vw / 1440);
}
.modal-dark__pair .ani-zoom {
  flex: 0 0 calc(240 * 100vw / 1440);
}
.modal-dark__pair .ani-zoom img {
  width: 100%;
  height: auto;
  display: block;
}
.modal-dark__pair .ani-zoom + div {
  width: calc(360 * 100vw / 1440);
}
.modal-dark__pair .modal-dark__pair-name {
  height: clamp(19px, 27 * 100vw / 1440, 54px);
  margin: 0 0 calc(24 * 100vw / 1440);
}
.modal-dark__pair .modal-dark__pair-name img {
  width: auto;
  height: 100%;
}
.modal-dark__pair .modal-dark__pair-text {
  color: #fff;
  font-size: clamp(15px, 18 * 100vw / 1440, 36px);
  line-height: 1.2;
  margin: 0;
}

.modal-dark__others {
  display: flex;
  gap: calc(60 * 100vw / 1440);
  justify-content: center;
}

.modal-dark__other {
  display: flex;
  flex-direction: column;
  gap: calc(16 * 100vw / 1440);
}
.modal-dark__other .ani-zoom {
  width: calc(240 * 100vw / 1440);
}
.modal-dark__other .ani-zoom img {
  width: 100%;
  height: auto;
}
.modal-dark__other .modal-dark__other-name {
  height: clamp(19px, 27 * 100vw / 1440, 54px);
  text-align: center;
  margin: 0 0 calc(24 * 100vw / 1440);
}
.modal-dark__other .modal-dark__other-name img {
  width: auto;
  height: 100%;
}
.modal-dark__other .modal-dark__other-text {
  color: #fff;
  font-size: clamp(15px, 18 * 100vw / 1440, 36px);
  line-height: 1.2;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .modal-dark {
    padding: calc(90 * 100vw / 390) calc(20 * 100vw / 390) calc(115 * 100vw / 390);
  }
  .modal-dark__window {
    border-radius: calc(40 * 100vw / 390);
    padding: calc(40 * 100vw / 390) calc(20 * 100vw / 390) calc(60 * 100vw / 390);
    box-shadow: 0 0 calc(2 * 100vw / 390) 0 rgba(111, 185, 44, 0.5), 0 0 calc(30 * 100vw / 390) 0 rgba(190, 128, 184, 0.5), 0 0 calc(4 * 100vw / 390) 0 #b682a8;
  }
  .modal-dark__lead {
    margin: 0 auto calc(40 * 100vw / 390);
    width: clamp(213px, 213 * 100vw / 390, 360px);
  }
  .modal-dark__main {
    flex-direction: column;
    gap: calc(14 * 100vw / 390);
  }
  .modal-dark__main .ani-zoom {
    flex: 0 0 auto;
    width: clamp(200px, 200 * 100vw / 390, 300px);
  }
  .modal-dark__info {
    gap: calc(14 * 100vw / 390);
  }
  .modal-dark__main-name {
    height: clamp(20px, 20 * 100vw / 390, 38px);
    text-align: center;
  }
  .modal-dark__main-text {
    font-size: clamp(15px, 15 * 100vw / 390, 18px);
  }
  .modal-dark__line {
    position: relative;
    border: none;
    height: clamp(2px, 2 * 100vw / 390, 3px);
    margin: calc(40 * 100vw / 390) 0;
  }
  .modal-dark__line::before {
    height: clamp(2px, 2 * 100vw / 390, 3px);
  }
  .modal-dark__sub {
    height: clamp(19px, 19 * 100vw / 390, 29px);
    margin-bottom: calc(20 * 100vw / 390);
  }
  .modal-dark__sub-double {
    height: clamp(41px, 41 * 100vw / 390, 82px);
  }
  .modal-dark__pair {
    width: calc(270 * 100vw / 390);
    margin: 0 auto calc(30 * 100vw / 390);
    flex-direction: column;
    gap: calc(14 * 100vw / 390);
  }
  .modal-dark__pair .ani-zoom {
    flex: 0 0 auto;
    width: clamp(145px, 145 * 100vw / 390, 240px);
  }
  .modal-dark__pair .ani-zoom + div {
    width: 100%;
  }
  .modal-dark__pair .modal-dark__pair-name {
    text-align: center;
    height: clamp(19px, 19 * 100vw / 390, 27px);
    margin: 0 0 calc(14 * 100vw / 390);
  }
  .modal-dark__pair .modal-dark__pair-text {
    font-size: clamp(15px, 15 * 100vw / 390, 18px);
  }
  .modal-dark__others {
    flex-direction: column;
    align-items: center;
    gap: calc(30 * 100vw / 390);
  }
  .modal-dark__other {
    width: calc(270 * 100vw / 390);
    align-items: center;
    gap: calc(14 * 100vw / 390);
  }
  .modal-dark__other .ani-zoom {
    width: clamp(145px, 145 * 100vw / 390, 240px);
  }
  .modal-dark__other .modal-dark__other-name {
    height: clamp(19px, 19 * 100vw / 390, 27px);
    margin: 0 0 calc(14 * 100vw / 390);
  }
  .modal-dark__other .modal-dark__other-text {
    font-size: clamp(15px, 15 * 100vw / 390, 18px);
  }
}
.modal-cardlist {
  position: fixed;
  inset: 0;
  z-index: 9000;
  overflow-y: auto;
  padding: calc(77 * 100vw / 1440) calc(300 * 100vw / 1440) calc(211 * 100vw / 1440);
  min-height: 100vh;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
.modal-cardlist::before {
  content: "";
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: url("/ex/m5/assets/images/product_bg-29xsudbt.jpg") repeat center bottom/cover;
}

.modal-cardlist.is-open {
  opacity: 1;
  pointer-events: auto;
}

.modal-cardlist__lead {
  position: relative;
  z-index: 2;
  width: calc(704 * 100vw / 1440);
  margin: 0 auto;
}
.modal-cardlist__lead img {
  width: 100%;
  height: auto;
}

.modal-cardlist__window {
  position: relative;
  margin: 0 auto;
  width: 100%;
  border-radius: clamp(40px, 60 * 100vw / 1440, 60px);
  padding: calc(40 * 100vw / 1440) calc(60 * 100vw / 1440) calc(50 * 100vw / 1440);
  background: linear-gradient(0deg, rgba(20, 22, 27, 0.9) 0%, rgba(47, 20, 52, 0.9) 50%, rgba(20, 22, 27, 0.9) 100%);
  box-shadow: 0 0 calc(6 * 100vw / 1440) 0 rgba(111, 185, 44, 0.5), 0 0 calc(50 * 100vw / 1440) 0 rgba(190, 128, 184, 0.6), 0 0 calc(6 * 100vw / 1440) 0 #b682a8;
}

.modal-cardlist__controls {
  display: flex;
  gap: calc(21 * 100vw / 1440);
  align-items: center;
  justify-content: center;
}

.modal-cardlist__sort {
  border-radius: calc(10 * 100vw / 1440);
  border: calc(2 * 100vw / 1440) solid #fff;
  background: #17181a;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(226 * 100vw / 1440);
  height: clamp(42px, 48 * 100vw / 1440, 96px);
  cursor: pointer;
}
.modal-cardlist__sort .modal-cardlist__sort-image {
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: clamp(14px, 20 * 100vw / 1440, 20px);
}
.modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--number {
  width: calc(203 * 100vw / 1440);
  background-image: url("/ex/m5/assets/images/modal-cardlist-number-l5dc45qj.svg");
}
.modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
  width: calc(112 * 100vw / 1440);
  background-image: url("/ex/m5/assets/images/modal-cardlist-rarity-ookkntmr.svg");
}
.modal-cardlist__sort.is-active {
  background: #a242b7;
  border-color: #a242b7;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .modal-cardlist__sort:hover {
    border: calc(2 * 100vw / 1440) solid #afb5c2;
    background: #60646e;
  }
  .modal-cardlist__sort:hover .modal-cardlist__sort-image.modal-cardlist__sort--number {
    background-image: url("/ex/m5/assets/images/modal-cardlist-number_hover-fah0o6in.svg");
  }
  .modal-cardlist__sort:hover .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
    background-image: url("/ex/m5/assets/images/modal-cardlist-rarity_hover-fg2wiony.svg");
  }
}

.modal-cardlist__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(20 * 100vw / 1440);
  margin-top: calc(40 * 100vw / 1440);
}

@media screen and (max-width: 1023px) {
  .modal-cardlist__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .modal-cardlist {
    padding: calc(51 * 100vw / 390) calc(20 * 100vw / 390) calc(135 * 100vw / 390);
  }
  .modal-cardlist::before {
    background: url(/ex/m5/assets/images/product_bg_sp-oocoxgkq.jpg) repeat center bottom/cover;
  }
  .modal-cardlist__lead {
    width: clamp(389px, 389 * 100vw / 390, 704px);
    max-width: 100%;
  }
  .modal-cardlist__window {
    border-radius: clamp(40px, 40 * 100vw / 390, 60px);
    padding: calc(30 * 100vw / 390) calc(20 * 100vw / 390) calc(40 * 100vw / 390);
    box-shadow: 0 0 calc(2 * 100vw / 390) 0 rgba(111, 185, 44, 0.5), 0 0 calc(30 * 100vw / 390) 0 rgba(190, 128, 184, 0.5), 0 0 calc(4 * 100vw / 390) 0 #b682a8;
  }
  .modal-cardlist__controls {
    gap: clamp(11px, 11 * 100vw / 390, 21px);
  }
  .modal-cardlist__sort {
    border-radius: clamp(8px, 8 * 100vw / 390, 10px);
    border: calc(2 * 100vw / 390) solid #fff;
    width: calc(96 * 100vw / 390);
    height: calc(42 * 100vw / 390);
  }
  .modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--number {
    width: calc(76 * 100vw / 390);
    height: calc(28 * 100vw / 390);
    background-image: url("/ex/m5/assets/images/modal-cardlist-number_sp-evyld5k1.svg");
  }
  .modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
    width: calc(79 * 100vw / 390);
    height: calc(14 * 100vw / 390);
    background-image: url("/ex/m5/assets/images/modal-cardlist-rarity_sp-k22ceh7p.svg");
  }
}
@media screen and (max-width: 768px) and (min-width: 769px) {
  .modal-cardlist__sort:hover {
    border: calc(2 * 100vw / 390) solid #afb5c2;
  }
  .modal-cardlist__sort:hover .modal-cardlist__sort-image.modal-cardlist__sort--number {
    background-image: url("/ex/m5/assets/images/modal-cardlist-number_sp_hover-hae4psb9.svg");
  }
  .modal-cardlist__sort:hover .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
    background-image: url("/ex/m5/assets/images/modal-cardlist-rarity_sp_hover-h80ehzp0.svg");
  }
}
@media screen and (max-width: 768px) {
  .modal-cardlist__list {
    gap: calc(10 * 100vw / 390);
    margin-top: calc(30 * 100vw / 390);
  }
}
.footer {
  position: relative;
  z-index: 5070;
}

.modal__close {
  position: absolute;
  top: 0;
  right: calc(-1 * clamp(50px, 64 * 100vw / 1440, 128px) - 20px);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 2;
}

.modal__close-image {
  display: block;
  width: clamp(50px, 64 * 100vw / 1440, 128px);
}

.modal__close-image img {
  width: 100%;
  height: auto;
}

.modal__close-image--hover {
  display: none;
}

.modal__close:hover .modal__close-image--default {
  display: none;
}

.modal__close:hover .modal__close-image--hover {
  display: block;
}

.modal__button {
  position: absolute;
  bottom: calc(-71 * 100vw / 1440 - 40 * 100vw / 1440);
  right: 50%;
  transform: translateX(50%);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.modal__button picture {
  display: block;
  width: calc(256 * 100vw / 1440);
}
.modal__button picture img {
  width: 100%;
  height: auto;
}
.modal__button .modal__button-image--hover {
  display: none;
}
.modal__button:hover .modal__button-image--default {
  display: none;
}
.modal__button:hover .modal__button-image--hover {
  display: block;
}

@media screen and (max-width: 768px) {
  .modal__close {
    top: -60px;
    right: 0;
  }
  .modal__button {
    bottom: calc(-55 * 100vw / 390 - 20 * 100vw / 390);
  }
  .modal__button picture {
    width: clamp(162px, 162 * 100vw / 390, 256px);
  }
}