@charset "shift_jis";
/* CSS Document */

.MB1em {
  margin-bottom: 1em !important;
}
.MB00 {
  margin-bottom: 0px !important;
}
.MB10 {
  margin-bottom: 10px !important;
}
.MB15 {
  margin-bottom: 15px !important;
}
.MB20 {
  margin-bottom: 20px !important;
}
.MB25 {
  margin-bottom: 25px !important;
}
.MB30 {
  margin-bottom: 30px !important;
}
.MB35 {
  margin-bottom: 35px !important;
}
.MB40 {
  margin-bottom: 40px !important;
}
.MB45 {
  margin-bottom: 45px !important;
}
.MB50 {
  margin-bottom: 50px !important;
}
.MB55 {
  margin-bottom: 55px !important;
}
.MB60 {
  margin-bottom: 60px !important;
}
.MB65 {
  margin-bottom: 55px !important;
}
.MB60 {
  margin-bottom: 60px !important;
}
.MB65 {
  margin-bottom: 65px !important;
}
.MB70 {
  margin-bottom: 70px !important;
}
.MB75 {
  margin-bottom: 75px !important;
}
.MB80 {
  margin-bottom: 80px !important;
}
.MB85 {
  margin-bottom: 85px !important;
}
.MB90 {
  margin-bottom: 90px !important;
}
.MB95 {
  margin-bottom: 95px !important;
}
.MB100 {
  margin-bottom: 100px !important;
}
.MB110 {
  margin-bottom: 110px !important;
}
.MB120 {
  margin-bottom: 120px !important;
}
.MB130 {
  margin-bottom: 130px !important;
}
.MB140 {
  margin-bottom: 140px !important;
}
.MB150 {
  margin-bottom: 150px !important;
}
.MB160 {
  margin-bottom: 160px !important;
}
.MB200 {
  margin-bottom: 200px !important;
}

.w100 {
  display: block;
  width: 100%;
  height: auto;
}

.price_box {
  background: #212751;
  padding: 20px;
}

.price_box .price_inbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  max-width: 980px;
  width: 77.5%;
  margin: 0 auto;
}
.price_box .price_txt {
  max-width: 361px;
  width: 100%;
}

.btn_buy {
  width: 180px;
}

.btn_mall .btn {
  display: inline-block;
  font-weight: bold;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 2px solid transparent;
  padding: 0.375rem 2rem;
  font-size: 18px;
  width: 180px;
  border-radius: 6px;
}
.btn_mall .btn.btn-light {
  display: block;
  color: #fff;
  background-color: #ba41b6;
  border-color: #ba41b6;
}

.btn_mall.btn_mall02 .btn.btn-light {
  display: block;
  color: #fff;
  background-color: #ba41b6;
  border-color: #ba41b6;
}

.btn_mall02 {
  margin-left: 3%;
}

.btn_mall_box {
  width: 180px;
  margin: 0 auto;
}
.btn_mall_box .btn_mall .btn.btn-light {
  display: block;
  color: #fff;
  background-color: #ba41b6;
  border-color: #ba41b6;
}

.movie_area {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

#contents .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#contents .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.movie_area {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.promo_movie_box {
  width: 90%;
  max-width: 480px;
  margin: 0 auto;
}

#contents .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#contents .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.ct_box .copyright {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;

  align-items: center;

  padding: 20px 10px;
}

.ct_box .copyright_img {
  width: 40%;
  max-width: 320px;
}

.ct_box .copyright_text {
  width: 55%;
  text-align: left;
  font-size: 11px;
  color: #fff;
}

.ct_box .bnr_box {
  padding: 20px 8% 10px;
}
.ct_box .bnr_box a {
  display: block;
} 

.copyright_box2406{
  gap: 8%;
}
/*------------------------*/

.ct_box {
  width: 100%;
  margin: 0 auto;
}

.ct_box > .w480 {
  width: 100%;
  max-width: 480px;
  box-sizing: border-box;
  margin: 0 auto;
  overflow: hidden;
  background: url(../images/bg.webp);
  background-size: 100%;
}

@media (min-width: 481px) {
  .ct_box > .w480 {
    border-right: 4px #212751 solid;
    border-left: 4px #212751 solid;
    background: url(../images/bg.webp);
    background-size: 100%;
  }
  /* min-width: 481px */
}

.bg_box {
  background: url(../images/pc_bg.webp) no-repeat fixed;
  background-size: cover;
  background-position: center;
}
/*------------------------*/

/* mainここから */
.main{
  width: 100%;
  position: relative;
  overflow: hidden;
}
.pokemon_logo {
  position: relative;
  z-index: 3;
  width: 30.6122449%;
  padding: 3%;
  opacity: 0;
}
.animate_pokemon_logo{
  animation: pokemon_logo 0.3s forwards;
}
@keyframes pokemon_logo{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 100%;
  }
}
.main_logo{
  width: 60%;
  position: absolute;
  z-index: 3;
  left: 18%;
  opacity: 0;
}
.animate_main_logo{
  animation: main_logo 0.3s forwards ease-in;
}
@keyframes main_logo{
  0%{
    transform: scale(0);
    opacity: 0;
  }
  50%{
    transform: scale(1.2);
  }
  100%{
    transform: scale(1);
    opacity: 100%;
  }
}
.main_img_bg{
  position: relative;
  z-index: 2;
  margin-top: -9.6%;
  opacity: 0;
}
.animate_main_img_bg{
  animation: main_img_bg 0.2s forwards ease-out;
}
@keyframes main_img_bg{
  0%{
    transform: translateY(50%);
    opacity: 0;
  }
  100%{
    transform: translateY(0);
    opacity: 100%;
  }
}
.main_img{
  width: 64.79166667%;
  position: absolute;
  z-index: 3;
  bottom: 3%;
  right: 23%;
  opacity: 0;
}
.animate_main_img{
  animation: main_img 0.4s forwards ease;
}
@keyframes main_img{
  0%{
    transform: translateY(50%);
    opacity: 0;
  }
  50%{
    transform: translateY(-5%);
    opacity: 1;
  }
  100%{
    transform: translateY(0);
    opacity: 1;
  }
}
.main_img_2{
  width: 64.79166667%;
  position: absolute;
  z-index: 2;
  bottom: 3%;
  right: 23%;
  opacity: 0;
}
.animate_main_img_2{
  animation: main_img_2 0.4s forwards ease;
  transform-origin: bottom;
}
@keyframes main_img_2{
  0%{
    transform: scale(1);
    opacity: 0.6;
  }
  100%{
    transform: scale(1.5);
    opacity: 0;
  }
}
.main_bg{
  position: absolute;
  top: 0;
  z-index: 1;
  opacity: 0;
}
.animate_main_bg{
  transform-origin: left top;
  animation: main_bg 0.3s forwards ease-in;
}
@keyframes main_bg{
  0%{
    transform: translateY(80%);
    opacity: 0;
  }
  50%{
    transform: translateY(80%);
    opacity: 0.1;
  }
  80%{
    opacity: 0.1;
  }
  100%{
    transform: translateY(0);
    opacity: 1;
  }
}
/*------------------------*/

.btn_2{
  display: flex;
  justify-content: center;
  margin-top: 20%;
}

/* area_1ここから */
.area_1{
  overflow: hidden;
}
.area_1_img01_box{
  position: relative;
}
.area_1_img01{
  width: 95.41666667%;
  padding-top: 5%;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area_1_img01 {
  animation: area_1_img01 0.3s forwards ease;
}
@keyframes area_1_img01 {
  0% {
    transform: translate(-50%, 0) rotate(15deg);
    opacity: 1;
  }
  50%{
    transform: rotate(0);
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.area_1_shape01 {
  width: 92.70833333%;
  position: absolute;
  z-index: 1;
  top: 30%;
  opacity: 0;
}
.animate_area_1_shape01 {
  animation: area_1_shape01 0.2s forwards ease-in;
}
@keyframes area_1_shape01 {
  0% {
    transform: translate(-70%, 0);
    opacity: 1;
  }
  99.9%{
    transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 0;
  }
}

.area_1_shape01_loop_in{
  opacity: 0;
}
.animate_area_1_shape01_loop_in {
  animation: area_1_shape01_loop_in 0.01s forwards;
}
@keyframes area_1_shape01_loop_in {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.area_1_shape01_loop{
  width: 322.416667%;
  position: absolute;
  z-index: 1;
  top: 30%;
  right: 7%;
}
.animate_area_1_shape01_loop {
  animation: area_1_shape01_loop 2s infinite;
  animation-delay: 1s;
}
@keyframes area_1_shape01_loop {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  5%{
    transform: translate(-1%, 0);
    opacity: 1;
  }
  16%{
    transform: translate(100%, 0);
    opacity: 1;
  }
  20.5%{
    transform: translate(100%, 0);
    opacity: 0;
  }
  21%{
    transform: translate(-150%, 0);
    opacity: 0;
  }
  21.5%{
    transform: translate(-150%, 0);
    opacity: 1;
  }
  35%{
    transform: translate(0, 0);
    opacity: 1;
  }
  100%{
    transform: translate(0, 0);
    opacity: 1;
  }
}


.area_1_text01{
  width: 90.625%;
  position: absolute;
  z-index: 3;
  bottom: -14%;
  left: 5%;
  opacity: 0;
}
.animate_area_1_text01 {
  animation: area_1_text01 0.3s forwards ease-in-out;
}
@keyframes area_1_text01 {
  0% {
    transform: translate(-50%, 0);
    opacity: 1;
  }
  50% {
    transform: translate(5%, 0);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.area_1_img02_box{
  position: relative;
  margin-top: 20%;
}
.area_1_img02{
  width: 60.9375%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area_1_img02{
  animation: area_1_img02 0.3s forwards ease-out;
}
@keyframes area_1_img02{
  0%{
    transform: scale(0.5);
    opacity: 0;
  }
  50%{
    transform: scale(1.1);
  }
  100%{
    transform: scale(1);
    opacity: 100%;
  }
}
.area_1_shape02 {
  width: 95.83333333%;
  position: absolute;
  z-index: 1;
  top: 15%;
  left: 2%;
  opacity: 0;
}
.animate_area_1_shape02 {
  animation: area_1_shape02 0.2s forwards ease-in-out;
}
@keyframes area_1_shape02 {
  0% {
    transform: rotate(90deg);
    opacity: 1;
  }
  99.9% {
    transform: rotate(0deg);
    opacity: 1;
  }
  100%{
    transform: rotate(0deg);
    opacity: 0;
  }
}

.area_1_shape02_loop_in{
  width: 95.83333333%;
  position: absolute;
  z-index: 1;
  top: 15%;
  left: 2%;
  opacity: 0;
}
.animate_area_1_shape02_loop_in {
  animation: area_1_shape02_loop_in 0.1s forwards ease-in-out;
}
@keyframes area_1_shape02_loop_in {
  0% {
    opacity: 1;
  }
  100%{
    opacity: 1;
  }
}

.animate_area_1_shape02_loop {
  animation: area_1_shape02_loop 3s infinite ease-in-out;
}
@keyframes area_1_shape02_loop {
  0% {
    transform: rotate(0);
    opacity: 1;
  }
  20% {
    transform: rotate(-360deg);
    opacity: 1;
  }
  100%{
    transform: rotate(-360deg);
    opacity: 1;
  }
}

.area_1_text02{
  width: 83.60416667%;
  position: absolute;
  z-index: 3;
  top: 8%;
  right: 0;
  opacity: 0;
}
.animate_area_1_text02 {
  animation: area_1_text02 0.4s forwards ease-in-out;
}
@keyframes area_1_text02 {
  0% {
    -webkit-clip-path: circle(0 at 50% 50%);
    clip-path: circle(0 at 50% 50%);
    opacity: 1;
  }

  100% {
    -webkit-clip-path: circle(100% at 50% 50%);
    clip-path: circle(100% at 50% 50%);
    opacity: 1;
  }
}
.area_1_text03{
  width: 69.79166667%;
  position: relative;
  z-index: 4;
  margin: -7% 0 0 7%;
  opacity: 0;
}
.animate_area_1_text03 {
  animation: area_1_text03 0.2s forwards ease-out;
}
@keyframes area_1_text03 {
  0% {
    transform: translate(-50%, 0);
    opacity: 1;
  }
  50% {
    transform: translate(5%, 0);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
/*------------------------*/

/* area_2ここから */
.area_2_text01{
  width: 36.25%;
  margin: 10% auto 0;
  opacity: 0;
}
.animate_area_2_text01 {
  animation: area_2_text01 0.2s forwards ease-out;
}
@keyframes area_2_text01 {
  0% {
    transform: translate(-30%, 0);
    opacity: 1;
  }
  50%{
    transform: translate(5%, 0);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.area_2_img_box{
  position: relative;
  margin-top: 3%;
}
.area_2_img01{
  width: 47.625%;
  position: absolute;
  left: 5%;
  opacity: 0;
}
.animate_area_2_img01{
  animation: area_2_img01 0.3s forwards ease-out;
}
@keyframes area_2_img01{
  0%{
    transform: scale(0.5);
    opacity: 0;
  }
  50%{
    transform: scale(1.1);
  }
  100%{
    transform: scale(1);
    opacity: 100%;
  }
}
.area_2_img02{
  width: 23.52083333%;
  position: absolute;
  right: 18%;
  opacity: 0;
}
.animate_area_2_img02{
  animation: area_2_img02 0.3s forwards ease-out;
}
@keyframes area_2_img02{
  0%{
    transform: scale(0.5);
    opacity: 0;
  }
  50%{
    transform: scale(1.1);
  }
  100%{
    transform: scale(1);
    opacity: 100%;
  }
}
.area_2_text02{
  width: 92.5%;
  margin-left: auto;
  margin-right: 2%;
  opacity: 0;
}
.animate_area_2_text02 {
  animation: area_2_text02 0.4s ease-in-out forwards;
}
@keyframes area_2_text02 {
  0% {
    clip-path: inset(0 0 0 100%);
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
/*------------------------*/

/* area_3ここから */
.area_3_text01{
  width: 30.625%;
  margin: 10% auto 0;
  opacity: 0;
}
.animate_area_3_text01 {
  animation: area_3_text01 0.2s forwards ease-out;
}
@keyframes area_3_text01 {
  0% {
    transform: translate(-30%, 0);
    opacity: 1;
  }
  50%{
    transform: translate(5%, 0);
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.area_3_slider{
  width: 89.27083333%;
  margin: 5% auto 45%;
}

.slick-dots {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
  bottom: -15%;
}

.slick-dots li {
  flex: 0 0 11.77083333%; /* 各サムネイルの幅を指定 */
  height: auto;
  margin: 0 5px; /* 必要に応じて間隔を調整 */
  position: relative;
}

.slick-dots li button {
  padding: 0;
  border: none;
  width: 100%; /* 親要素に対して全幅に設定 */
  height: auto;
  position: relative;
  background: none; /* 背景の黒い丸を削除 */
  text-indent: -9999px; /* テキストのインデントを無効にする */
  overflow: hidden; /* 余計な表示を無効化 */
}

.slick-dots li button img {
  width: 100%;
  height: auto;
  display: block;
}

.slick-dots li.slick-active button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(186, 65, 182, 0.45); /* アクティブなサムネイルに色を重ねる */
  z-index: 1;
}
/*------------------------*/

/* area_4ここから */
.area_4{
  position: relative;
}
.area_4_img01{
  width: 83.95833333%;
  margin: 10% auto 0;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area_4_img01{
  animation: area_4_img01 0.3s forwards ease-out;
}
@keyframes area_4_img01{
  0%{
    transform: scale(0.5);
    opacity: 0;
  }
  50%{
    transform: scale(1.1);
  }
  100%{
    transform: scale(1);
    opacity: 100%;
  }
}
.area_4_bg{
  width: 86.66666667%;
  position: absolute;
  z-index: 1;
  top: 5%;
  left: 6%;
  opacity: 0;
}

.animate_area_4_bg {
  animation: area_4_bg 0.2s forwards ease-in-out;
}

@keyframes area_4_bg {
  0% {
    transform: rotate(90deg);
    opacity: 1;
  }
  100% {
    transform: rotate(0deg);
    opacity: 1;
  }
}
/*------------------------*/