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(180 * 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("../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("../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("../images/dark_bg_circle-0pzskytq.png") center/contain
    no-repeat;
  pointer-events: none;
}

.dark::after {
  content: "";
  position: absolute;
  bottom: calc(-215 * 100vw / 1440);
  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;
}

.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("../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(29 * 100vw / 1440);
}

.dark__card.dark__card--primary .dark__card-name {
  height: calc(37 * 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(547 * 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("../images/dark_bg_circle_sp-64kbzc6h.png") center/contain
      no-repeat;
  }
  .dark::after {
    bottom: calc(-27 * 100vw / 390);
    height: calc(63 * 100vw / 390);
  }
  .dark__title {
    margin-top: calc(84 * 100vw / 390);
  }
  .dark__title-image img {
    width: calc(298 * 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(16 * 100vw / 390);
  }
  .dark__card.dark__card--primary .dark__card-name {
    height: calc(24 * 100vw / 390);
  }
  .dark__card.dark__card--primary::before {
    width: calc(375 * 100vw / 390);
    height: calc(379 * 100vw / 390);
    background: url("../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(18 * 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(321 * 100vw / 390);
  }
}
.product-area {
  position: relative;
  z-index: 5070;
  margin-top: calc(-227 * 100vw / 1440);
}

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

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

.coming-board {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  padding: calc(70 * 100vw / 1440) calc(40 * 100vw / 1440)
    calc(80 * 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;
  transform: translateY(calc(-13 * 100vw / 1440));
}

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

.coming-cards {
  margin: calc(40 * 100vw / 1440) auto 0;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: calc(40 * 100vw / 1440);
}

.coming-card,
.coming-card-image {
  width: calc(240 * 100vw / 1440);
  height: auto;
}

.coming-card-effect {
  position: relative;
  border-radius: calc(20 * 100vw / 1440);
  margin-bottom: calc(24 * 100vw / 1440);
}

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

.coming-card--primary {
  position: relative;
}

.coming-card--primary::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: calc(699 * 100vw / 1440);
  height: calc(385 * 100vw / 1440);
  transform: translate(-50%, -50%);
  background: url("../images/coming_card_bg-eztv172z.png") center/contain
    no-repeat;
}

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

.coming-card--primary > .coming-card-effect {
  position: relative;
  z-index: 5;
}
.coming-card--primary > .coming-card-effect::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: 0;
  background: #7332ac;
  box-shadow: 0 0 calc(14 * 100vw / 1440) calc(6 * 100vw / 1440) #7332ac;
}

.coming-card-name {
  width: auto;
  height: calc(25 * 100vw / 1440);
}

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

.coming-button-image {
  display: block;
  width: calc(278 * 100vw / 1440);
}

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

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

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

@media (hover: hover) and (pointer: fine) {
  .coming-button:hover .coming-button-image--default {
    opacity: 0;
  }
  .coming-button:hover .coming-button-image--hover {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .coming-section {
    max-width: calc(390 * 100vw / 390);
    overflow: hidden;
  }
  .coming-title {
    width: calc(390 * 100vw / 390);
    max-width: 100%;
  }
  .coming-board {
    max-width: calc(350 * 100vw / 390);
    margin: calc(12 * 100vw / 390) auto 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    padding: calc(25 * 100vw / 390) calc(15 * 100vw / 390)
      calc(40 * 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;
    transform: none;
  }
  .coming-lead {
    width: calc(187 * 100vw / 390);
  }
  .coming-cards {
    margin: calc(30 * 100vw / 390) auto 0;
    flex-direction: column;
    align-items: center;
    gap: calc(20 * 100vw / 390);
  }
  .coming-card.coming-card--primary {
    order: 0;
    width: 100%;
  }
  .coming-card.coming-card--primary .coming-card-effect {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto calc(14 * 100vw / 390);
  }
  .coming-card.coming-card--primary::before {
    width: calc(390 * 100vw / 390);
    height: calc(259 * 100vw / 390);
    background: url("../images/coming_card_bg_sp-m664ygma.png") center/contain
      no-repeat;
  }
  .coming-card,
  .coming-card-image {
    width: calc(145 * 100vw / 390);
  }
  .coming-card--primary,
  .coming-card--primary .coming-card-image {
    width: calc(200 * 100vw / 390);
  }
  .coming-card--primary > .coming-card-effect::before {
    box-shadow: 0 0 calc(14 * 100vw / 390) calc(2 * 100vw / 390) #7332ac;
  }
  .coming-card-effect {
    border-radius: calc(20 * 100vw / 390);
    margin-bottom: calc(14 * 100vw / 390);
  }
  .coming-card-name {
    height: calc(18 * 100vw / 390);
  }
  .coming-button {
    margin-top: calc(33 * 100vw / 390);
  }
  .coming-button-image {
    width: calc(154 * 100vw / 390);
  }
}
.pokemon-section {
  max-width: calc(1040 * 100vw / 1440);
  margin: calc(32 * 100vw / 1440) auto 0;
  text-align: center;
}

.pokemon-title {
  width: calc(951 * 100vw / 1440);
  margin: 0 auto;
}
.pokemon-title img {
  width: 100%;
  height: auto;
}

.pokemon-board {
  display: grid;
  grid-template-columns: calc(330 * 100vw / 1440) calc(450 * 100vw / 1440);
  grid-template-rows: auto calc(252.5 * 100vw / 1440);
  gap: calc(21 * 100vw / 1440) calc(62 * 100vw / 1440);
  padding: calc(80 * 100vw / 1440) calc(100 * 100vw / 1440)
    calc(83 * 100vw / 1440);
  border-radius: calc(60 * 100vw / 1440);
  background: linear-gradient(
    0deg,
    rgba(50, 58, 79, 0.9) 0%,
    rgba(78, 61, 81, 0.9) 50%,
    rgba(50, 58, 79, 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;
  transform: translateY(calc(-13 * 100vw / 1440));
}

.pokemon-top {
  grid-column: 1/2;
  grid-row: 1/2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: calc(59 * 100vw / 1440);
}

.pokemon-box {
  display: flex;
  padding: calc(23 * 100vw / 1440) calc(20 * 100vw / 1440)
    calc(23 * 100vw / 1440);
  flex-direction: column;
  align-items: flex-start;
  gap: calc(18 * 100vw / 1440);
  align-self: stretch;
  border-radius: calc(20 * 100vw / 1440);
  background: linear-gradient(0deg, #a64bbc 0%, #bd71cf 50%, #a64bbc 100%);
  box-shadow: 0 0 calc(6 * 100vw / 1440) 0 #ea9cfb;
}
.pokemon-box h4 {
  width: calc(178 * 100vw / 1440);
  height: auto;
  margin: 0 auto;
}
.pokemon-box h4 img {
  width: 100%;
  height: auto;
}
.pokemon-box p {
  color: #fff;
  font-size: clamp(15px, 16 * 100vw / 1440, 32px);
  line-height: 1.3;
  text-align: left;
}

.pokemon-bottom {
  grid-column: 1/2;
  grid-row: 2/3;
  transform: translate(calc(2 * 100vw / 1440), calc(3 * 100vw / 1440));
}

.pokemon-text {
  color: #fff;
  font-size: clamp(15px, 16 * 100vw / 1440, 32px);
  line-height: 1.2;
  text-align: left;
}

.pokemon-lead {
  width: calc(330 * 100vw / 1440);
  margin: 0 auto;
}
.pokemon-lead img {
  width: 100%;
  height: auto;
}

.pokemon-cards {
  display: flex;
  justify-content: center;
  align-items: baseline;
  flex-wrap: wrap;
  gap: calc(20 * 100vw / 1440);
  grid-column: 2/3;
  grid-row: 1/3;
}

.pokemon-card,
.pokemon-card-image {
  width: calc(215 * 100vw / 1440);
  height: auto;
}

.pokemon-card-effect {
  position: relative;
  border-radius: calc(20 * 100vw / 1440);
  margin-bottom: calc(16 * 100vw / 1440);
}

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

.pokemon-card-name {
  width: auto;
  height: calc(26 * 100vw / 1440);
}

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

.pokemon-button-image {
  display: block;
  width: calc(278 * 100vw / 1440);
}

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

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

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

@media (hover: hover) and (pointer: fine) {
  .pokemon-button:hover .pokemon-button-image--default {
    opacity: 0;
  }
  .pokemon-button:hover .pokemon-button-image--hover {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .pokemon-section {
    max-width: calc(390 * 100vw / 390);
    margin-top: calc(45 * 100vw / 390);
  }
  .pokemon-title {
    width: 100%;
  }
  .pokemon-board {
    max-width: calc(350 * 100vw / 390);
    margin: calc(12 * 100vw / 390) auto 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: calc(28 * 100vw / 390);
    padding: calc(25 * 100vw / 390) calc(15 * 100vw / 390)
      calc(40 * 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;
    transform: none;
  }
  .pokemon-top {
    gap: calc(30 * 100vw / 390);
  }
  .pokemon-box {
    padding: calc(20 * 100vw / 390);
    gap: calc(12 * 100vw / 390);
    border-radius: calc(10 * 100vw / 390);
    box-shadow: 0 0 calc(4 * 100vw / 390) 0 #ea9cfb;
  }
  .pokemon-box h4 {
    width: calc(144 * 100vw / 390);
  }
  .pokemon-box p {
    font-size: clamp(15px, 15 * 100vw / 390, 16px);
  }
  .pokemon-bottom {
    margin-top: calc(5 * 100vw / 390);
    padding: 0 calc(6 * 100vw / 390);
    transform: none;
  }
  .pokemon-text {
    font-size: clamp(15px, 15 * 100vw / 390, 16px);
  }
  .pokemon-lead {
    width: calc(247 * 100vw / 390);
  }
  .pokemon-cards {
    gap: calc(20 * 100vw / 390);
  }
  .pokemon-card,
  .pokemon-card-image {
    width: calc(145 * 100vw / 390);
  }
  .pokemon-card-effect {
    border-radius: calc(20 * 100vw / 390);
    margin-bottom: calc(14 * 100vw / 390);
  }
  .pokemon-card-name {
    height: calc(18 * 100vw / 390);
  }
  .pokemon-button {
    margin-top: calc(30 * 100vw / 390);
  }
  .pokemon-button-image {
    width: calc(154 * 100vw / 390);
  }
}
.bk_bg {
  position: relative;
  margin-top: calc(32 * 100vw / 1440);
  z-index: 1;
}
.bk_bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(20, 22, 27, 0) 0px,
    rgba(20, 22, 27, 0) calc(300 * 100vw / 1440),
    rgba(20, 22, 27, 0.85) calc(500 * 100vw / 1440),
    rgba(46, 37, 52, 0.85) 70%,
    #44484e 100%
  );
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .bk_bg {
    margin-top: calc(31 * 100vw / 390);
  }
  .bk_bg::before {
    background: linear-gradient(
      180deg,
      rgba(20, 22, 27, 0) 0px,
      rgba(20, 22, 27, 0) calc(1 * 100vw / 390),
      rgba(20, 22, 27, 0.85) calc(500 * 100vw / 390),
      rgba(46, 37, 52, 0.85) 70%,
      #44484e 100%
    );
  }
}
.sar-section {
  max-width: calc(1040 * 100vw / 1440);
  margin: 0 auto 0;
  text-align: center;
}

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

.sar-board {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: calc(66 * 100vw / 1440);
  padding: calc(80 * 100vw / 1440) calc(100 * 100vw / 1440);
  border-radius: calc(60 * 100vw / 1440);
  background: linear-gradient(
    0deg,
    rgba(101, 110, 133, 0.9) 0%,
    rgba(119, 99, 123, 0.9) 50%,
    rgba(101, 110, 133, 0.9) 100%
  );
  box-shadow:
    0 0 calc(6 * 100vw / 1440) 0 rgba(111, 185, 44, 0.6),
    0 0 calc(50 * 100vw / 1440) 0 rgba(190, 128, 184, 0.6),
    0 0 calc(6 * 100vw / 1440) 0 #b682a8;
  transform: translateY(calc(-13 * 100vw / 1440));
}

.sar-lead {
  width: calc(274 * 100vw / 1440);
  margin: 0 auto;
  transform: translateY(calc(-31 * 100vw / 1440));
  order: 1;
}
.sar-lead img {
  width: 100%;
  height: auto;
}

.sar-cards {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: calc(20 * 100vw / 1440);
  order: 0;
}

.sar-card,
.sar-card-image {
  width: calc(215 * 100vw / 1440);
  height: auto;
}

.sar-card:first-of-type .sar-card-name {
  height: calc(27 * 100vw / 1440);
}

.sar-card-effect {
  position: relative;
  border-radius: calc(20 * 100vw / 1440);
  margin-bottom: calc(14 * 100vw / 1440);
}
.sar-card-effect::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: 0;
  background: #802fdd;
  box-shadow: 0 0 calc(14 * 100vw / 1440) calc(4 * 100vw / 1440) #802fdd;
}

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

.sar-card-name {
  width: auto;
  height: calc(25 * 100vw / 1440);
}

@media screen and (max-width: 768px) {
  .sar-section {
    max-width: calc(390 * 100vw / 390);
  }
  .sar-title {
    width: 100%;
  }
  .sar-board {
    max-width: calc(350 * 100vw / 390);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: calc(30 * 100vw / 390);
    padding: calc(30 * 100vw / 390) calc(20 * 100vw / 390)
      calc(40 * 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;
    transform: none;
  }
  .sar-lead {
    width: calc(183 * 100vw / 390);
    order: 0;
  }
  .sar-cards {
    width: calc(310 * 100vw / 390);
    order: 1;
    gap: calc(20 * 100vw / 390);
  }
  .sar-cards {
    align-items: center;
    gap: calc(20 * 100vw / 390);
  }
  .sar-card,
  .sar-card-image {
    width: calc(145 * 100vw / 390);
  }
  .sar-card:first-of-type .sar-card-name {
    height: calc(18 * 100vw / 390);
  }
  .sar-card-effect {
    border-radius: calc(20 * 100vw / 390);
    margin-bottom: calc(8 * 100vw / 390);
  }
  .sar-card-effect::before {
    box-shadow: 0 0 calc(10 * 100vw / 390) calc(1 * 100vw / 390) #802fdd;
  }
  .sar-card-name {
    height: calc(18 * 100vw / 390);
  }
}
.movie-section {
  position: relative;
  z-index: 2;
  margin-top: calc(56 * 100vw / 1440);
}

.movie__inner {
  max-width: calc(1040 * 100vw / 1440);
  margin: 0 auto;
  text-align: center;
}

.movie-title {
  width: calc(818 * 100vw / 1440);
  margin: 0 auto;
}
.movie-title img {
  width: 100%;
  height: auto;
}

.movie-board {
  margin-top: calc(40 * 100vw / 1440);
  width: 100%;
  aspect-ratio: 16/9;
}

.movie-board iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .movie-section {
    max-width: calc(390 * 100vw / 390);
    margin-top: calc(55 * 100vw / 390);
  }
  .movie__inner {
    max-width: none;
  }
  .movie-title {
    width: 100%;
  }
  .movie-board {
    max-width: calc(350 * 100vw / 390);
    margin: calc(30 * 100vw / 390) auto 0;
  }
}
.product-section {
  position: relative;
  margin: 0 auto;
  text-align: center;
  z-index: 1;
  overflow: hidden;
}
.product-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  aspect-ratio: 1440/2593;
  background: url("../images/product_bg_circle-dch9pd41.png") center/contain
    no-repeat;
  pointer-events: none;
}

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

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

.product-content-wrapper {
  display: flex;
  flex-direction: column;
  gap: calc(100 * 100vw / 1440);
  padding-bottom: calc(150 * 100vw / 1440);
}

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

.product-normal-image {
  width: calc(268 * 100vw / 1440);
  margin: 0 auto;
}

.product-set-plus-image {
  width: calc(367 * 100vw / 1440);
  margin: 0 auto;
}

.product-value-set-image {
  width: calc(452 * 100vw / 1440);
  margin: 0 auto;
}

.product-normal-image img,
.product-set-plus-image img,
.product-value-set-image img {
  width: 100%;
  height: auto;
}

.product-info {
  color: #fff;
  text-align: left;
  width: calc(465 * 100vw / 1440);
}

.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(9.5px, 16 * 100vw / 1440, 32px);
  line-height: 1.6;
}

.product-detail dl {
  display: flex;
  gap: 15px;
}

.product-detail dl dt {
  white-space: nowrap;
}

.product-detail dl dd ul {
  list-style-type: disc;
  list-style-position: inside;
}

.product-detail dl dd ul li {
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (max-width: 768px) {
  .product-section {
    max-width: 100%;
    margin: 0 auto;
  }
  .product-section::before {
    aspect-ratio: 390/3029;
    background: url("../images/product_bg_circle_sp-icpkpz98.png")
      center/contain no-repeat;
  }
  .product-title {
    width: 100%;
    padding-top: calc(167 * 100vw / 390);
  }
  .product-content-wrapper {
    gap: calc(60 * 100vw / 390);
    padding-bottom: calc(100 * 100vw / 390);
  }
  .product-content {
    width: calc(297 * 100vw / 390);
    margin: 0 auto;
    flex-direction: column;
    gap: 0;
  }
  .product-image {
    width: 100%;
  }
  .product-normal-image {
    width: calc(208 * 100vw / 390);
  }
  .product-set-plus-image {
    width: calc(292 * 100vw / 390);
    max-width: 100%;
  }
  .product-value-set-image {
    width: calc(342 * 100vw / 390);
    max-width: 100%;
  }
  .product-info {
    width: 100%;
  }
  .product-name {
    margin-bottom: calc(30 * 100vw / 390);
    font-size: clamp(20px, 20 * 100vw / 390, 32px);
    line-height: 1.6;
  }
  .product-detail {
    font-size: clamp(15px, 15 * 100vw / 390, 16px);
  }
}
.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(229px, 398 * 100vw / 1440, 796px);
}

.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(18px, 26 * 100vw / 1440, 51px);
}
.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(18px, 28 * 100vw / 1440, 55px);
  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 {
  width: clamp(53px, 75 * 100vw / 1440, 150px);
  margin: 0 0 calc(24 * 100vw / 1440);
}
.modal-dark__pair .modal-dark__pair-name img {
  width: 100%;
  height: auto;
}
.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(18px, 25 * 100vw / 1440, 50px);
  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(229px, 229 * 100vw / 390, 398px);
  }
  .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(18px, 18 * 100vw / 390, 26px);
    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(18px, 18 * 100vw / 390, 28px);
    margin-bottom: calc(20 * 100vw / 390);
  }
  .modal-dark__sub-double {
    height: clamp(40px, 40 * 100vw / 390, 80px);
  }
  .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;
    width: clamp(53px, 53 * 100vw / 390, 75px);
    margin: 0 auto;
    padding-bottom: 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(18px, 18 * 100vw / 390, 25px);
    margin: 0 0 calc(14 * 100vw / 390);
  }
  .modal-dark__other .modal-dark__other-text {
    font-size: clamp(15px, 15 * 100vw / 390, 18px);
  }
}
.modal-coming {
  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-coming::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-coming.is-open {
  opacity: 1;
  display: block;
  pointer-events: auto;
}

.modal-coming__window {
  position: relative;
  margin: 0 auto;
  width: 100%;
  border-radius: calc(60 * 100vw / 1440);
  padding: calc(40 * 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-coming__lead {
  margin: 0 auto calc(20 * 100vw / 1440);
  width: clamp(229px, 513 * 100vw / 1440, 1026px);
}

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

.modal-coming__board {
  width: 100%;
}

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

@media screen and (max-width: 768px) {
  .modal-coming {
    padding: calc(90 * 100vw / 390) calc(20 * 100vw / 390)
      calc(115 * 100vw / 390);
  }
  .modal-coming__window {
    border-radius: calc(40 * 100vw / 390);
    padding: calc(30 * 100vw / 390) calc(20 * 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-coming__lead {
    margin: 0 auto calc(20 * 100vw / 390);
    width: clamp(229px, 229 * 100vw / 390, 458px);
  }
}
.modal-pokemon {
  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-pokemon::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-pokemon.is-open {
  opacity: 1;
  display: block;
  pointer-events: auto;
}

.modal-pokemon__window {
  position: relative;
  margin: 0 auto;
  width: 100%;
  border-radius: calc(60 * 100vw / 1440);
  padding: calc(60 * 100vw / 1440) calc(40 * 100vw / 1440)
    calc(80 * 100vw / 1440);
  background: linear-gradient(
    0deg,
    rgba(50, 58, 79, 0.9) 0%,
    rgba(78, 61, 81, 0.9) 50%,
    rgba(50, 58, 79, 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;
}

.modal-pokemon__lead {
  margin: 0 auto calc(60 * 100vw / 1440);
  width: clamp(197px, 335 * 100vw / 1440, 670px);
}

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

.modal-pokemon__main-text {
  color: #fff;
  font-size: clamp(15px, 20 * 100vw / 1440, 40px);
  line-height: 1.2;
  text-align: center;
}

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

.modal-pokemon__card {
  display: flex;
  flex-direction: column;
  width: calc(240 * 100vw / 1440);
}
.modal-pokemon__card .ani-zoom {
  width: calc(240 * 100vw / 1440);
  margin-bottom: calc(16 * 100vw / 1440);
}
.modal-pokemon__card .ani-zoom img {
  width: 100%;
  height: auto;
}
.modal-pokemon__card .modal-pokemon__card-bubble {
  height: clamp(35px, 55 * 100vw / 1440, 110px);
  text-align: center;
  margin: 0 0 calc(11 * 100vw / 1440);
}
.modal-pokemon__card .modal-pokemon__card-bubble picture,
.modal-pokemon__card .modal-pokemon__card-bubble img {
  width: auto;
  height: 100%;
}
.modal-pokemon__card .modal-pokemon__card-name {
  height: clamp(18px, 26 * 100vw / 1440, 51px);
  text-align: center;
  margin: 0 0 calc(16 * 100vw / 1440);
}
.modal-pokemon__card .modal-pokemon__card-name img {
  width: auto;
  height: 100%;
}
.modal-pokemon__card .modal-pokemon__card-text {
  color: #fff;
  font-size: clamp(15px, 18 * 100vw / 1440, 36px);
  line-height: 1.2;
  margin: 0;
}

.modal-pokemon__line {
  position: relative;
  border: none;
  height: calc(3 * 100vw / 1440);
  margin: calc(60 * 100vw / 1440) 0;
}
.modal-pokemon__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-pokemon__sub {
  width: clamp(168px, 375 * 100vw / 1440, 750px);
  margin: 0 auto calc(40 * 100vw / 1440);
  text-align: center;
}
.modal-pokemon__sub img {
  width: auto;
  height: 100%;
}

.modal-pokemon__sub1 {
  width: clamp(124px, 192 * 100vw / 1440, 384px);
  margin: 0 auto calc(40 * 100vw / 1440);
  text-align: center;
}
.modal-pokemon__sub1 img {
  width: auto;
  height: 100%;
}

.modal-pokemon__board {
  width: 100%;
}

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

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

@media screen and (max-width: 768px) {
  .modal-pokemon {
    padding: calc(90 * 100vw / 390) calc(20 * 100vw / 390)
      calc(115 * 100vw / 390);
  }
  .modal-pokemon__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-pokemon__lead {
    margin: 0 auto calc(40 * 100vw / 390);
    width: clamp(197px, 197 * 100vw / 390, 335px);
  }
  .modal-pokemon__main-text {
    font-size: clamp(15px, 15 * 100vw / 390, 20px);
    text-align: left;
  }
  .modal-pokemon__line {
    position: relative;
    border: none;
    height: clamp(2px, 2 * 100vw / 390, 3px);
    margin: calc(40 * 100vw / 390) 0;
  }
  .modal-pokemon__line::before {
    height: clamp(2px, 2 * 100vw / 390, 3px);
  }
  .modal-pokemon__sub {
    width: clamp(168px, 168 * 100vw / 390, 375px);
    margin-bottom: calc(20 * 100vw / 390);
  }
  .modal-pokemon__sub1 {
    width: clamp(124px, 124 * 100vw / 390, 192px);
    margin-bottom: calc(20 * 100vw / 390);
  }
  .modal-pokemon__pair {
    width: calc(270 * 100vw / 390);
    margin: 0 auto calc(30 * 100vw / 390);
    flex-direction: column;
    gap: calc(14 * 100vw / 390);
  }
  .modal-pokemon__pair .ani-zoom {
    flex: 0 0 auto;
    width: clamp(145px, 145 * 100vw / 390, 240px);
  }
  .modal-pokemon__pair .ani-zoom + div {
    width: 100%;
  }
  .modal-pokemon__pair .modal-pokemon__pair-name {
    text-align: center;
    height: clamp(18px, 18 * 100vw / 390, 25px);
    margin: 0 0 calc(14 * 100vw / 390);
  }
  .modal-pokemon__pair .modal-pokemon__pair-text {
    font-size: clamp(15px, 15 * 100vw / 390, 18px);
  }
  .modal-pokemon__cards {
    flex-direction: column;
    align-items: center;
    gap: calc(30 * 100vw / 390);
  }
  .modal-pokemon__card {
    width: calc(270 * 100vw / 390);
    align-items: center;
  }
  .modal-pokemon__card .ani-zoom {
    width: clamp(145px, 145 * 100vw / 390, 240px);
    margin-bottom: calc(14 * 100vw / 390);
  }
  .modal-pokemon__card .modal-pokemon__card-bubble {
    height: clamp(35px, 35 * 100vw / 390, 55px);
    margin: 0 0 calc(6 * 100vw / 390);
  }
  .modal-pokemon__card .modal-pokemon__card-name {
    height: clamp(18px, 18 * 100vw / 390, 26px);
    margin: 0 0 calc(14 * 100vw / 390);
  }
  .modal-pokemon__card .modal-pokemon__card-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("../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(139 * 100vw / 1440);
  background-image: url("../images/modal-cardlist-number-l5dc45qj.svg");
}
.modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--date {
  width: calc(114 * 100vw / 1440);
  background-image: url("../images/modal-cardlist-date-lqwu11xj.svg");
}
.modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
  width: calc(119 * 100vw / 1440);
  background-image: url("../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("../images/modal-cardlist-number_hover-fah0o6in.svg");
  }
  .modal-cardlist__sort:hover
    .modal-cardlist__sort-image.modal-cardlist__sort--date {
    background-image: url("../images/modal-cardlist-date_hover-ju6mn1ub.svg");
  }
  .modal-cardlist__sort:hover
    .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
    background-image: url("../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);
}

.modal-cardlist__list li {
  position: relative;
}

.modal-cardlist__list li:hover {
  z-index: 10;
}

@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("../images/product_bg_sp-oocoxgkq.jpg") repeat center
      bottom/cover;
  }
  .modal-cardlist__lead {
    width: clamp(390px, 390 * 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:nth-child(1) {
    width: calc(106 * 100vw / 390);
  }
  .modal-cardlist__sort
    .modal-cardlist__sort-image.modal-cardlist__sort--number {
    width: calc(98 * 100vw / 390);
    height: calc(14 * 100vw / 390);
    background-image: url("../images/modal-cardlist-number_sp-evyld5k1.svg");
  }
  .modal-cardlist__sort .modal-cardlist__sort-image.modal-cardlist__sort--date {
    width: calc(80 * 100vw / 390);
    height: calc(14 * 100vw / 390);
    background-image: url("../images/modal-cardlist-date_sp-jcd7869h.svg");
  }
  .modal-cardlist__sort
    .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
    width: calc(80 * 100vw / 390);
    height: calc(14 * 100vw / 390);
    background-image: url("../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("../images/modal-cardlist-number_sp_hover-hae4psb9.svg");
  }
  .modal-cardlist__sort:hover
    .modal-cardlist__sort-image.modal-cardlist__sort--date {
    background-image: url("../images/modal-cardlist-date_sp_hover-o9btiwk6.svg");
  }
  .modal-cardlist__sort:hover
    .modal-cardlist__sort-image.modal-cardlist__sort--rarity {
    background-image: url("../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);
  }
}
.share {
  padding: calc(100 * 100vw / 1440) 0 calc(135 * 100vw / 1440);
}

.share-button {
  width: calc(280 * 100vw / 1440);
  height: calc(50 * 100vw / 1440);
}

.share-button a img {
  width: calc(22 * 100vw / 1440);
}

.share-button a span {
  font-size: clamp(12px, 16 * 100vw / 1440, 32px);
}

@media screen and (max-width: 768px) {
  .share {
    padding: calc(55 * 100vw / 390) 0 calc(116 * 100vw / 390);
  }
  .share-button {
    width: 68.9743589744%;
    max-width: 269px;
    height: 50px;
  }
  .share-button a img {
    width: 22px;
  }
  .share-button a span {
    font-size: 16px;
  }
}
.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(142px, 142 * 100vw / 390, 256px);
  }
}
