.w100 {
  display: block;
  width: 100%;
  height: auto;
}

.sec_MB25{
margin-bottom: 25px!important;
}
.sec_MB50{
margin-bottom: 50px!important;
}

.MT20{
margin-top: 20px!important;
}
.MB20{
margin-bottom: 20px!important;
}

.MB40{
margin-bottom: 40px!important;
}

.price_box {
  background: url(../images/price_bg.png) no-repeat;
  background-size: cover;
  padding: 20px;
  margin-bottom: 40px;
}

.price_box .price_inbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
  gap: 5%;
  width: 100%;
  max-width: 383px;
  margin: 0 auto;
}
.price_box .price_txt {
  width: 50%;
}

.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: 0 auto;
}

.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;

  background: url(../images/area3_bg.webp) repeat-y;
  background-size: 100% auto;
  background-position: top;
}

#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: #000;
}

.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/bg.jpg) top center fixed;
background-size: cover;
}

@media (min-width: 481px) {
  .ct_box > .w480 {
    border-right: 4px #ef4a00 solid;
    border-left: 4px #ef4a00 solid;
  }
  /* min-width: 481px */
}

.bg_box {
  background: #B0DEEF;
}
/*------------------------*/

/* .mainここから */
.main{
position: relative;
overflow: hidden;
}
.main .main_item{
position: absolute;
top: 0;
}

.main .main_item.main_effect{
mix-blend-mode: screen;
opacity: 0.8;
}

.main_pokemon_logo{
position: absolute;
top: 0;
animation: .3s main_pokemon_logo ease forwards;
animation-delay: 1.8s;
opacity: 0;
}
@keyframes main_pokemon_logo{
0%{
  opacity: 0;
}
100%{
opacity: 1;
}
}

.main_rotom_01_anime{
position: absolute;
top: 0;
left: 0;
z-index: 4;
animation: 1s main_rotom_01_anime ease forwards;
}
@keyframes main_rotom_01_anime{
0%{
transform: translateY(100%) rotate(30deg);
}
30%{
transform: translateY(-5%) rotate(-3deg);
}
45%{
transform: translateY(5%) rotate(3deg);
}
65%{
transform: translateY(-5%) rotate(-3deg);
}
85%{
transform: translateY(5%) rotate(3deg);
}
100%{
transform: translateY(0);
}
}
.main_rotom_01{
position: absolute;
top: 0;
left: 0;
z-index: 4;
animation: 1s main_rotom_01 ease forwards;
}
@keyframes main_rotom_01{
0%{
transform: translateY(50%) rotate(30deg);
opacity: 0;
}
30%{
transform: translateY(-5%) rotate(-3deg);
opacity: 0;
}
45%{
transform: translateY(5%) rotate(3deg);
}
65%{
transform: translateY(-5%) rotate(-3deg);
opacity: 1;
}
85%{
transform: translateY(5%) rotate(3deg);
opacity: 1;
}
100%{
transform: translateY(0);
opacity: 1;
}
}

.main_rotom_02{
width: 30.41666667%;
position: absolute;
bottom: 12.5%;
left: 17%;
z-index: 3;
animation: 0.4s main_rotom_02 ease forwards;
animation-delay: 1s;
transform: translateX(50%) scale(0) rotate(-15deg);
}
@keyframes main_rotom_02{
0%{
transform: translateX(80%) scale(0) rotate(-30deg);
}
100%{
transform: translateY(0);
}
}
.main_effect{
animation: 0.4s main_effect ease forwards;
animation-delay: 1s;
transform: scale(0);
}
@keyframes main_effect{
0%{
transform: scale(0.5);
opacity: 0;
}
100%{
transform: scale(1);
opacity: 1;
}
}

.main_children_01{
animation: 0.5s main_children_01 ease forwards;
animation-delay: 1.15s;
transform: translateY(100%);
}
@keyframes main_children_01{
0%{
transform: translateY(100%);
}
50%{
transform: translateY(-5%) rotate(5deg);
}
100%{
transform: translateY(0);
}
}

.main_children_02{
animation: 0.5s main_children_02 ease forwards;
animation-delay: 1.25s;
transform: translateY(100%);
}
@keyframes main_children_02{
0%{
transform: translateY(100%);
}
50%{
transform: translateY(-5%) rotate(5deg);
}
100%{
transform: translateY(0);
}
}

.main_children_03{
animation: 0.5s main_children_03 ease forwards;
animation-delay: 1.2s;
transform: translateY(100%);
}
@keyframes main_children_03{
0%{
transform: translateY(100%);
}
50%{
transform: translateY(-5%) rotate(5deg);
}
100%{
transform: translateY(0);
}
}

.main_pokemon_01{
animation: 0.5s main_pokemon_01 ease forwards;
animation-delay: 1.15s;
transform: translateY(100%);
}
@keyframes main_pokemon_01{
0%{
transform: translateY(100%);
}
50%{
transform: translateY(-5%) rotate(5deg);
}
100%{
transform: translateY(0);
}
}

.main_pokemon_02{
animation: 0.5s main_pokemon_02 ease forwards;
animation-delay: 1.2s;
transform: translateY(100%);
}
@keyframes main_pokemon_02{
0%{
transform: translateY(100%);
}
50%{
transform: translateY(-5%) rotate(2deg);
}
100%{
transform: translateY(0);
}
}

.main_pokemon_03{
animation: 0.5s main_pokemon_03 ease forwards;
animation-delay: 1.3s;
transform: translateY(100%);
}
@keyframes main_pokemon_03{
0%{
transform: translateY(100%);
}
50%{
transform: translateY(-5%) rotate(-3deg);
}
100%{
transform: translateY(0);
}
}

.main_bg_02{
animation: 0.3s main_bg_02 ease forwards;
animation-delay: 1.2s;
transform: scale(0);
}
@keyframes main_bg_02{
0%{
transform: scale(0.5);
opacity: 0;
}
60%{
transform: scale(1.1);
opacity: 1;
}
100%{
transform: scale(1);
opacity: 1;
}
}

.main_logo{
width: 52.39583333%;
position: absolute;
top: 5%;
left: 12.5%;
z-index: 5;
animation: 0.3s main_logo ease forwards;
animation-delay: 1.7s;
transform: scale(0);
}
@keyframes main_logo{
0%{
transform: scale(0.3);
opacity: 0;
}
50%{
transform: scale(1.1);
opacity: 1;
}
100%{
transform: scale(1);
opacity: 1;
}
}

.main_txt{
width: 49.6875%;
position: absolute;
bottom: 1%;
right: 1%;
z-index: 5;
animation: 0.3s main_txt ease forwards;
animation-delay: 1.6s;
transform: scale(0);
}
@keyframes main_txt{
0%{
transform: translateX(-20%);
opacity: 0;
}
100%{
transform: scale(1);
opacity: 1;
}
}
/*------------------------*/

ul.anchor_btn_box{
width: 98%;
display: flex;
list-style: none;

padding: 0;
margin: 0 auto;
}

ul.anchor_btn_box li a:hover{
opacity: 0.7;
}

.play_with{
position: relative;
}
.play_with_gif{
width: 39.58333333%;
position: absolute;
bottom: 10%;
right: 3%;
}

section.area{
position: relative;
}

.content_box{
position: relative;
z-index: 1;
}

.area_ttl{
position: relative;
z-index: 2;
}
.area_before_img{
position: relative;
z-index: 1;
margin-top: -1%;
}

a.area_open_btn{
position: absolute;
bottom: -1.5em;
left: 30%;
z-index: 3;
display: block;
width: 44.6875%;
}
a.area_open_btn:hover{
opacity: 0.9;
}
@media (max-width: 375px) {
a.area_open_btn {
bottom: -1em;
}
}
@media (max-width: 360px) {
a.area_open_btn {
bottom: -0.8em;
}
}

.content_box {
height: 0;
overflow: hidden;
opacity: 0;
transition: height 0.6s ease, opacity 0.6s ease;
margin-top: -1%;
}

.content_box.active {
opacity: 1;
}

.area_before_img,
.area01_after_img {
transition: opacity 0.6s ease;
opacity: 1;
}

.area_before_img.hidden,
.area01_after_img.hidden {
opacity: 0;
}

.area03_img_03_box{
position: relative;
}
.area03_img_03_box a{
width: 82.39583333%;
position: absolute;
bottom: 17.5%;
left: 9%;
}
.area03_img_03_box a:hover{
opacity: 0.7;
}

.icon_list_top{
width: 92.08333333%;
list-style: none;
display: flex;
padding: 0;
margin: 0 auto 15px;
}

.icon_list_bottom{
display: flex;
flex-wrap: wrap;
justify-content: center;
list-style: none;
padding: 0;
margin: 0 auto;
}

.icon_bottom_item {
width: 20%;
box-sizing: border-box;
text-align: center;
margin-bottom: 10px;
}

a.manual_btn{
display: block;
max-width: 330px;
width: 80%;
margin:5px auto 15px;
}

.manual_btn:hover{
opacity: 0.7;
}


.slide_sec{
  border-top: 40px solid #0000DD;
  background: rgba(255, 255, 255, 0.7);
  padding-bottom: 20px;
}

.slide_box{
 background-color: color-mix(in srgb, #fff 70%, transparent);
 padding-top: 20px;
}

.swiper-container {
  width: 100%;
  overflow: visible;
  position: relative;
}

.swiper-wrapper {
  display: flex;
  align-items: center;
  position: relative;
}

.swiper-slide {
  flex: 0 0 60%;
  margin: 0;
  scale: 0.9;
  transition: scale 0.5s ease, opacity 0.5s ease;
  z-index: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border: solid 1px #000;
}

.swiper-slide-active {
  scale: 1;
  z-index: 2;
}

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.short_slide{
max-width: 150px;
}
@media (max-width: 479px) {
.short_slide{
max-width: 120px;
}
}

.custom-prev,
.custom-next {
  position: absolute;
  cursor: pointer;
  z-index: 5;
  top: 37%;
  width: 3%;
  opacity: 0.7;
}

.custom-prev {
  left: 14.5%;
}

.custom-prev:hover {
  opacity: 1;
}

.custom-next {
  right: 14.5%;
}

.custom-next:hover {
  opacity: 1;
}

.swiper-pagination {
  position: relative;
  margin-top: 20px;
}

.swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: #024fd4;
  opacity: 0.3;
}

.swiper-pagination-bullet-active {
  background: #024fd4;
  opacity: 1;
}

.movie_box{
display: flex;
gap: 5%;
width: 84.79166667%;
justify-content: center;
margin: 10px auto 0;
}

.area01_movie_01 {
  width: 80%;
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.area01_movie_02 {
width: 25%;
display: block;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}