.w100 {
  display: block;
  width: 100%;
  height: auto;
}

.price_box {
  background: url(../images/price_bg.webp);
  background-size: cover;
  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;
  width: 90%;
  max-width: 362px;
  margin: 0 auto;
}
.price_box .price_txt {
  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: #0000DD;
  border-color: #0000DD;

  margin: 20px auto 0px;
}

.btn_mall.btn_mall02 .btn.btn-light {
  display: block;
  color: #fff;
  background-color: #0000DD;
  border-color: #0000DD;
}

.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: #0000DD;
  border-color: #0000DD;

  margin: 10px auto 20px;
}

.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: 100%;
  max-width: 480px;
  padding: 20px;
}

#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: 12px;
  color: #000;
  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.ct_box .copyright_text span {
display: inline-block;
padding-left: 1em;
text-indent: -1em;
}

.ct_box .bnr_box {
  padding: 20px 8% 10px;
}
.ct_box .bnr_box a {
  display: block;
}

.copyright_box2501{
  display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}

/*------------------------*/

.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/content_bg.png) no-repeat;
  background-size: 49%;
  background-position: center;
  background-attachment: fixed;
}

@media (min-width: 481px) {
  .ct_box > .w480 {
    border-right: 4px #E60013 solid;
    border-left: 4px #E60013 solid;
  }
  /* min-width: 481px */
}

@media (min-width: 1440px) {
  .ct_box > .w480 {
  background-size: 33%;
}
}

@media (max-width: 639px) {
  .ct_box > .w480 {
  background-size: cover;
}
}

.bg_box {
  background: url(../images/pc_bg.webp);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
/*------------------------*/

/* mainここから */
.main{
  position: relative;
}
.main_text_01{
  width: 62.08333333%;
  position: absolute;
  z-index: 2;
  top: 0;
  opacity: 0;
}
.animate_main_text_01{
  animation: main_text_01 0.3s forwards;
}
@keyframes main_text_01 {
  0% {
    transform: translateX(-50px) translateY(25px);
    opacity: 0;
  }
  100% {
    transform: translateX(0) translateY(0);
    opacity: 1;
  }
}

.main_text_01_none{
  width: 62.08333333%;
  position: absolute;
  z-index: 2;
  top: 0;
  opacity: 0;
}
.animate_main_text_01_none{
  animation: main_text_01_none 0.3s forwards;
}
@keyframes main_text_01_none {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.main_text_02{
  width: 38.125%;
  position: absolute;
  z-index: 3;
  top: 7.5%;
  right: 1.5%;
  opacity: 0;
}
.animate_main_text_02{
  animation: main_text_02 0.3s forwards;
}
@keyframes main_text_02 {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  50% {
    transform: scale(1.3);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.main_text_02_bg{
  width: 38.125%;
  position: absolute;
  z-index: 2;
  top: 7.5%;
  right: 1.5%;
  opacity: 0;
}
.animate_main_text_02_bg{
  animation: main_text_02_bg 0.3s forwards;
}
@keyframes main_text_02_bg {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  50% {
    transform: scale(1.3);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.main_text03{
  width: 70.3125%;
  position: absolute;
  z-index: 3;
  bottom: 2%;
  left: 15%;
  opacity: 0;
}
.animate_main_text03{
  animation: fade_in 0.3s forwards;
}

.main_logo{
  width: 79.16666667%;
  position: absolute;
  z-index: 2;
  bottom: 8.5%;
  left: 10%;
  opacity: 0;
}
.animate_main_logo{
  animation: main_logo 0.3s forwards;
}
@keyframes main_logo {
  0% {
    transform: translateX(-50px);
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

.main_img{
  position: absolute;
  z-index: 1;
  top: 0;
  opacity: 0;
}
.animate_main_img{
  animation: main_img 0.4s forwards ease-out;
}
@keyframes main_img {
  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;
  }
}

.main_lucario{
  width: 15%;
  position: absolute;
  z-index: 2;
  top: 21.7%;
  left: 43.2%;
}
.main_lucario_1{
  opacity: 0;
}
.animate_main_lucario_1{
  animation: main_lucario_1 4s infinite;
}
@keyframes main_lucario_1 {
  0% {
    opacity: 0;
  }
  5%{
    opacity: 1;
  }
  30%{
    opacity: 1;
  }
  35%{
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.main_lucario_2{
  opacity: 0;
}
.animate_main_lucario_2{
  animation: main_lucario_2 4s infinite;
}
@keyframes main_lucario_2 {
   0% {
    opacity: 0;
  }
  5%{
    opacity: 0;
  }
  30%{
    transform: scale(0.2);
    opacity: 0;
  }
  33%{
    transform: scale(1.2);
    opacity: 1;
  }
  36%{
    transform: scale(1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.main_lucario_3{
  opacity: 0;
}
.animate_main_lucario_3{
  animation: main_lucario_3 4s infinite;
}
@keyframes main_lucario_3 {
   0% {
    opacity: 0;
  }
  5%{
    opacity: 0;
  }
  30%{
    opacity: 0;
  }
  33%{
    transform: scale(0.2);
    opacity: 0;
  }
  36%{
    transform: scale(1.2);
    opacity: 1;
  }
  39%{
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.main_lucario_4{
  opacity: 0;
}
.animate_main_lucario_4{
  animation: main_lucario_4 4s infinite;
}
@keyframes main_lucario_4 {
   0% {
    opacity: 0;
  }
  5%{
    opacity: 0;
  }
  30%{
    opacity: 0;
  }
  33%{
    opacity: 0;
  }
  36%{
    opacity: 0;
  }
  40%{
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.main_pokemon_logo{
  width: 23.64583333%;
  position: absolute;
  z-index: 2;
  top: 1%;
  right: 1%;
  opacity: 0;
}
.animate_main_pokemon_logo{
  animation: fade_in 0.3s forwards;
}
/*------------------------*/
/* area_01ここから */
.area_01{
  position: relative;
  margin-bottom: 60px;
}
.area01_text_01{
  width: 88.54166667%;
  margin-left: 2%;
  margin-top: 15px;
  opacity: 0;
}
.animate_area01_text_01{
  animation: slide_right 0.3s forwards;
}
.area01_text_02{
  width: 85.41666667%;
  margin-left: 10%;
  margin-top: -20px;
opacity: 0;
}
.animate_area01_text_02{
  animation: slide_right 0.3s forwards;
}
.area01_top_img_box{
  position: relative;
  z-index: 2;
  width: 97%;
  margin: 0 auto;
}
.area01_top_img_02{
  position: absolute;
  top: 50%;
}
.area01_img_01{
  width: 93.22916667%;
  margin: -100px auto 0;
  position: relative;
  z-index: 1;
}
.area01_top_img_01{
  width: 97.91666667%;
  position: relative;
  z-index: 2;
}
.area01_bottom_img_01{
  width: 88.02083333%;
  position: relative;
  z-index: 2;
  margin: -85px auto 0;
}
/*------------------------*/
/* area_02ここから */
.area_02{
  position: relative;
  margin-bottom: 60px;
}
.title_01_box{
  width: 92.70833333%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  gap: 10px;
}

.area_02_title_01{
  opacity: 0;
}
.animate_area_02_title_01{
  animation: slide_right 0.3s forwards;
}
.area_02_text_01{
  opacity: 0;
}
.animate_area_02_text_01{
  animation: slide_right 0.3s forwards;
}

.area02_img_01{
  width: 180%;
  margin-left: 1%;
  margin-bottom: 30px;
}
.animate_area02_img_01{
  animation: area02_img_01 6s infinite;
}
@keyframes area02_img_01 {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  10% {
    transform: translateX(0);
    opacity: 1;
  }
  30% {
    transform: translateX(-47%);
    opacity: 1;
  }
  60% {
    transform: translateX(-47%);
    opacity: 1;
  }
  80% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.area02_img_01_fade{
  opacity: 0;
}
.animate_area02_img_01_fade{
  animation: fade_in 0.3s forwards;
}

.area02_item_2, .area02_item_3, .area02_item_4, .area02_item_5, .area02_item_6, .area02_item_7, .area02_item_8{
  position: relative;
}
.area02_img_02{
  width: 50.52083333%;
  margin-left: 3%;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area02_img_02{
  animation: clip_left 0.3s forwards;
}
.area02_title_02{
  width: 21.14583333%;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 22%;
  opacity: 0;
}
.animate_area02_title_02{
  animation: slide_left 0.3s forwards;
}
.area02_text_02{
  width: 35.3125%;
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 8%;
 opacity: 0;
}
.animate_area02_text_02{
  animation: slide_left 0.3s forwards;
}

.area02_img_03{
  width: 56.77083333%;
  margin-left: auto;
  margin-right: 3%;
  margin-top: 25px;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area02_img_03{
  animation: clip_right 0.3s forwards;
}
.area02_title_03{
  width: 33.02083333%;
  position: absolute;
  top: 12%;
  left: 3%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_title_03{
  animation: slide_left 0.3s forwards;
}
.area02_text_03{
  width: 78.91666667%;
  position: absolute;
  bottom: -20%;
  left: 3%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_text_03{
  animation: slide_left 0.3s forwards;
}

.area02_img_04{
  width: 45.625%;
  margin-left: 3%;
  margin-top: 60px;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area02_img_04{
  animation: clip_left 0.3s forwards;
}
.area02_title_04{
  width: 25.625%;
  position: absolute;
  top: 0;
  right: 22%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_title_04{
  animation: slide_right 0.3s forwards;
}
.area02_text_04{
  width: 57.08333333%;
  position: absolute;
  bottom: -22%;
  right: 5%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_text_04{
  animation: slide_right 0.3s forwards;
}

.area02_img_05{
  width: 45.625%;
  margin-left: auto;
  margin-right: 3%;
  margin-top: 65px;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area02_img_05{
  animation: clip_right 0.3s forwards;
}
.area02_title_05{
  width: 33.02083333%;
  position: absolute;
  top: 7%;
  left: 15%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_title_05{
  animation: slide_left 0.3s forwards;
}
.area02_text_05{
  width: 41.875%;
  position: absolute;
  bottom: 10%;
  left: 6%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_text_05{
  animation: slide_left 0.3s forwards;
}

.area02_img_06{
  width: 43.33333333%;
  margin-left: 3%;
  margin-top: 25px;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area02_img_06{
  animation: clip_left 0.3s forwards;
}
.area02_title_06{
  width: 21.14583333%;
  position: absolute;
  top: 7%;
  right: 28%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_title_06{
  animation: slide_right 0.3s forwards;
}
.area02_text_06{
  width: 46.1875%;
  position: absolute;
  bottom: 12%;
  right: 3%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_text_06{
  animation: slide_right 0.3s forwards;
}

.area02_img_07{
  width: 41.5625%;
  margin-left: auto;
  margin-right: 6%;
  margin-top: 25px;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area02_img_07{
  animation: clip_right 0.3s forwards;
}
.area02_title_07{
  width: 25.625%;
  position: absolute;
  top: 5%;
  left: 22%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_title_07{
  animation: slide_left 0.3s forwards;
}
.area02_text_07{
  width: 43.95833333%;
  position: absolute;
  bottom: 15%;
  left: 4%;
  z-index: 1;
  opacity: 0;
}
.animate_area02_text_07{
  animation: slide_left 0.3s forwards;
}

.area02_img_08{
  margin-top: 25px;
  opacity: 0;
}
.animate_area02_img_08{
  animation: clip_left_right 0.5s forwards;
}
.area02_text_08{
  position: absolute;
  width: 51.14583333%;
  bottom: -28%;
  right: 0.5%;
 opacity: 0;
}
.animate_area02_text_08{
  animation: scale_down 0.3s forwards;
}


@keyframes slide_left{
  0%{
    transform: translateX(50px);
    opacity: 0;
  }
  100%{
    transform: translateX(0);
    opacity: 100%;
  }
}

@keyframes slide_right{
  0%{
    transform: translateX(-50px);
    opacity: 0;
  }
  100%{
    transform: translateX(0);
    opacity: 100%;
  }
}

@keyframes clip_left {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes clip_right {
  0% {
    clip-path: inset(0 0 0 100%);
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes clip_left_right {
  0% {
    clip-path: inset(0 100% 0 100%);
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

@keyframes scale_down {
  0% {
    transform: scale(1.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
/*------------------------*/
/* area_03ここから */
.area_03{
  background: url(../images/area03_bg.webp);
  background-size: contain;
  margin-top: -28%;
}
.area_03_content{
  padding-top: 28%;
}
.area03_text_01{
  width: 96.66666667%;
  margin: 30px auto 0;
  opacity: 0;
}
.animate_area03_text_01{
  animation: scale_up 0.4s forwards;
}

.area03_img_01{
  width: 91.04166667%;
  margin: 0 auto;
  opacity: 0;
}
.animate_area03_img_01{
  animation: scale_up 0.4s forwards;
}
.area03_title_01{
  width: 53.22916667%;
  margin: 0 auto;
  opacity: 0;
}
.animate_area03_title_01{
  animation: scale_y_down 0.3s forwards;
}

.area03_arrow_01{
  width: 24.16666667%;
  margin: 15px auto 0;
  opacity: 0;
}
.animate_area03_arrow_01{
  animation: clip_down 0.3s forwards;
}
@keyframes clip_down {
  0% {
    clip-path: inset(0 0 100% 0);
    opacity: 1;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}

.area03_img_02{
  width: 97.60416667%;
  margin: 0 auto;
  opacity: 0;
}
.animate_area03_img_02{
  animation: scale_up 0.4s forwards;
}
.area03_title_02{
  width: 45.20833333%;
  margin: 0 auto;
  opacity: 0;
}
.animate_area03_title_02{
  animation: scale_y_down 0.3s forwards;
}

.area03_title_03{
  width: 41.35416667%;
  margin: 60px auto 0;
  position: relative;
  z-index: 2;
  opacity: 0;
}
.animate_area03_title_03{
  animation: clip_left_right 0.4s forwards;
}

.area03_img_03_box{
  margin-top: -30px;
  position: relative;
  z-index: 1;
}
.area03_img_03_bg{
  width: 83.33333333%;
  margin: 0 auto;
  opacity: 0;
}
.animate_area03_img_03_bg{
  animation: clip_left_right 0.4s forwards;
}
.area03_img_03{
  width: 83.33333333%;
  position: absolute;
  top: 0;
  left: 8%;
  opacity: 0;
}
.animate_area03_img_03{
  animation: fade_in 0.4s forwards;
}

.area03_btn_01, .area03_btn_02, .area03_btn_03{
  width: 90.3125%;
  margin: 45px auto 0;
  opacity: 0;
}
.animate_area03_btn_01, .animate_area03_btn_02, .animate_area03_btn_03{
  animation: scale_up 0.3s forwards;
}

.area03_btn_03{
  margin-bottom: 15px;
}

.area_03 a:hover{
  opacity: 0.7;
}

.slider_01, .slider_02, .slider_03{
  opacity: 0;
}
.animate_slider_01, .animate_slider_02, .animate_slider_03{
  animation: fade_in 0.3s forwards;
}
/*------------------------*/

@keyframes fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes scale_up {
  0% {
    transform: scale(0.3);
    opacity: 0;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes scale_y_down {
  0% {
    transform: scaleY(0);
    opacity: 0;
  }
  100% {
    transform: scaleY(1);
    opacity: 1;
}
}

.swiper{
  overflow: visible;
}