@charset "utf-8";

/*
============================ BLACK FRIDAY CSS ============================
*/

/* ローディング画面 */
#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #00afec;
}
.loader {
  position: absolute;
  top: 40%;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  height: 400px;
  margin: 0 auto;
}

.loader img {
  width: 100%;
}

.loader .h1 {
  position: absolute;
  top: 10%;
  left: 18%;
  z-index: 3;
  width: 80px;
  animation: animate02 10s linear infinite;
}

.loader p.icon02 {
  position: absolute;
  top: 20%;
  left: 43%;
  z-index: 2;
  width: 60px;
  animation: animate03 8s linear infinite;
}

.loader p.icon03 {
  position: absolute;
  top: 12%;
  left: 65%;
  z-index: 1;
  width: 70px;
  animation: animate02 5s linear infinite;
}

.loaded {
  z-index: 0 !important;
  opacity: 0;
  transition: all 1s;
}

header,
.header,
article,
footer {
  visibility: hidden;
}
.header {
  padding: 0;
}

@keyframes animate {
  0% {
    transform: translateY(10px);
    transform: translateX(-5px);
  }
  15% {
    transform: translateY(-10px);
  }
  35% {
    transform: translateY(5px);
  }
  55% {
    transform: translateY(-10px);
    transform: translateX(5px);
  }
  75% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(0);
    transform: translateX(0px);
  }
}

@keyframes animate01 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1.5);
    transform-origin: 50% 50%;
  }
}

@keyframes animate02 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
    transform-origin: 50% 50%;
  }
}

@keyframes animate03 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
    transform-origin: 50% 50%;
  }
}

.loader .h2 {
  width: 270px;
}

.loader .h2 img {
  width: 100%;
}
article {
  position: relative;
  z-index: 1;
  overflow: hidden;
  font-family: "M PLUS Rounded 1c";
}
#kvArea {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 360px;
  margin: 0 auto 10px;
  background: #e13831;
}
#kv {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}
#lottie {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 700px;
  margin: 10px auto 0;
}
#lottieSP {
  display: none;
}

nav {
  position: relative;
  z-index: 10000;
  width: 100%;
  padding: 0;
  margin: 0 auto 10px;
  background: url(../img/nav_bg.png) center 0 repeat-y;
}
nav.navOn {
  position: fixed;
  top: 0;
  left: 0;
}
#navSpacer {
  width: 100%;
  height: 0;
}
nav ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
}
nav ul li {
  width: calc(100% / 3);
}
nav ul li a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  padding: 17px 0;
  line-height: 1;
}
nav ul li a img {
  width: auto;
  height: 17px;
}

.anchorPoint {
  position: absolute;
  top: 0;
  left: 0;
}
.anchorPoint01 {
  top: -10px;
}

.bg01 {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 80px 0 60px;
  margin: 0 auto 10px;
  background: url(../img/bg01.png) center 0 repeat;
}
.bg01:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/bg01_pic.png) center 20px no-repeat;
}
.bg02 {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 135px 0 80px;
  margin: 0;
  background: #00afec url(../img/bg02.png) center 0 repeat;
}
.bg02:before {
  position: absolute;
  top: 20px;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/bg02_pic.png) center 20px no-repeat;
}
.bg03 {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 135px 0 20px;
  margin: 0;
  background: #e13831;
  border-top: 10px solid #feea3b;
}
.bg03:before {
  position: absolute;
  top: 20px;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/bg03_pic.png) center 20px no-repeat;
}
.bg03 .clumnBox {
  align-items: center;
}

.bg04 {
  position: relative;
  z-index: 4;
  width: 100%;
  padding: 40px 0 20px;
  margin: 0;
  background: #feea3b;
}
.bg04:before {
  position: absolute;
  top: 0px;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/bg04_pic.png) center 0 no-repeat;
}
.bg04 .clumnBox {
  align-items: center;
}

.tit01 {
  position: absolute;
  top: 0px;
  right: 0;
  left: 0;
  width: 310px;
  margin: 0 auto;
}
.tit02 {
  position: absolute;
  top: 0px;
  right: 0;
  left: 0;
  width: 310px;
  margin: 0 auto;
}
.tit03 {
  position: absolute;
  top: 0px;
  right: 0;
  left: 0;
  width: 310px;
  margin: 0 auto;
}
.date {
  width: 40%;
  margin: 0 auto 20px;
}
.date02 {
  width: 50%;
  margin: 0 auto 20px;
}
.img01 {
  width: 100%;
  max-width: 480px;
  margin: 0 auto 20px;
}
.btnImg {
  display: block;
  width: 280px;
  margin: 0 auto;
}
.btnImg2 {
  display: block;
  width: 660px;
  margin: 0 auto;
}
.wBox {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 40px 90px;
  margin: 0 auto 30px;
  text-align: center;
  background: #fff;
  border: 3px solid #e13831;
  border-radius: 20px;
}
.ts .wBox {
  padding: 40px 20%;
}
@media screen and (max-width: 768px) {
  .ts .wBox {
    padding: 40px 10%;
  }
}
.yBox {
  position: relative;
  z-index: 1;
  width: 1000px;
  padding: 40px 90px;
  margin: 0 auto 30px;
  text-align: center;
  background: #feea3b;
  border-radius: 20px;
}
.wBox2 {
  position: relative;
  z-index: 1;
  width: 1000px;
  padding: 40px 90px;
  margin: 0 auto 30px;
  text-align: center;
  background: #fff;
  border-radius: 20px;
}
.img {
  width: 427px;
  margin: 0 auto 20px;
}
.coution {
  font-size: 1.3rem;
  line-height: 1.6;
}
.clumn {
  width: calc(100% / 3 - 10px);
  margin: 0;
}

.stit01 {
  width: 465px;
  margin: 0 auto 15px;
}
.stit02 {
  width: 447px;
  margin: 0 auto 15px;
}
.stit03 {
  width: 501px;
  margin: 0 auto 15px;
}
.stit04 {
  width: 544px;
  margin: 0 auto 15px;
}
.stit05 {
  width: 399px;
  margin: 0 auto 15px;
}
.stit06 {
  width: 430px;
  margin: 0 auto 15px;
}
.stit07 {
  width: 526px;
  margin: 0 auto 15px;
}
.stit08 {
  width: 653px;
  margin: 0 auto 15px;
}
.posiR {
  position: relative;
}
.pic01 {
  position: absolute;
  top: 160px;
  left: -800px;
  width: 378px;
}
.pic02 {
  position: absolute;
  top: 40px;
  right: -780px;
  width: 365px;
}
.pic03 {
  position: absolute;
  top: 60px;
  left: -350px;
  width: 338px;
}
.pic04 {
  position: absolute;
  top: 100px;
  right: -500px;
  width: 343px;
}
.pic05 {
  position: absolute;
  top: 140px;
  left: -300px;
  width: 298px;
}
.pic06 {
  position: absolute;
  top: 600px;
  right: -400px;
  width: 338px;
}
.pic07 {
  position: absolute;
  top: -330px;
  left: -350px;
  width: 338px;
}
.pic08 {
  position: absolute;
  top: 400px;
  left: -250px;
}
.pic09 {
  position: absolute;
  top: 30px;
  right: -350px;
  width: 304px;
}
.pic10 {
  position: absolute;
  top: 170px;
  left: 90px;
  width: 186px;
}
.pic11,
.pic12,
.pic13 {
  display: none;
}

ul#sns {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch; /* 垂直方向の揃え */
  justify-content: space-between; /* 水平方向の揃え */
  width: 365px;
  padding: 0;
  margin: 0 auto 40px;
}
.clumnBox {
  margin: 0 auto 25px;
}
.clumnBox.aiCen {
  align-items: center;
}
.clumn25 {
  width: calc(200% / 5 - 20px);
}
.clumn35 {
  width: calc(300% / 5 - 20px);
}

/* IE11 */
@media all and (-ms-high-contrast: none) {
  svg {
    display: none;
  }
  body.fixed {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    overflow: hidden;
  }
}

ul.floor {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 980px;
  padding: 0;
  margin: 0 auto;
}

ul.floor li {
  width: calc(100% / 3 - 15px);
}
.bgWhite {
  position: relative;
  z-index: 5;
  padding: 40px 0 1px;
  margin: 0;
  background: #fff;
}

/* 絞り込み */
.moviesBox div.xp_post {
  width: 138px;
}
.moviesBox ul.xp_thumbnails li {
  margin-right: 10px;
  margin-bottom: 40px;
}
.moviesBox ul.xp_thumbnails li:nth-last-child(7n) {
  margin-right: 0;
}
ul.category {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 950px;
  padding: 0;
  margin: 0 auto 20px;
}
ul.category li {
  padding: 0;
  margin: 0 10px 15px 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}
ul.category li img {
  height: 38px;
}
ul.category li a {
  color: #000 !important;
}
ul.category li.active {
  color: #fff;
  background-color: #000;
}
#cateTit {
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto 30px;
  text-align: center;
}
#cateTit img {
  width: auto;
  height: 36px;
}
#cateTit:after {
  position: absolute;
  top: 16px;
  z-index: -1;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  border-top: 1px solid #86c29b;
}
.moviesBox {
  display: none;
}
.cate00 {
  display: block;
}

.dubbleBox {
  padding: 0 0 3px;
  border: solid 3px #fff67f;
  border-radius: 6px;
  box-shadow: 0 3px 0 rgba(241, 142, 36, 1);
}
.dubbleBoxInner {
  border: solid 3px #f4afc8;
  border-radius: 4px;
  box-shadow: 0 3px 0 rgba(235, 109, 148, 1);
}
.dubbleBox01 {
  padding: 30px 50px;
  background: #fdf9ea;
}
.dubbleBox02 {
  padding: 30px 50px;
  background: #e9e4f0;
}
.dubbleBox03 {
  padding: 30px 50px;
  background: #fff;
}
.preview {
  position: absolute;
  top: -20px;
  left: 2%;
  width: 12%;
}



