@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: #e3007b;
}
.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: 20%;
  left: 25%;
  z-index: 3;
  width: 65px;
  animation: animate02 1s linear infinite;
}

.loader p.icon02 {
  position: absolute;
  top: 25%;
  left: 43%;
  z-index: 2;
  width: 50px;
  animation: animate01 1.2s linear infinite;
}

.loader p.icon03 {
  position: absolute;
  top: 20%;
  left: 55%;
  z-index: 1;
  width: 60px;
  animation: animate02 1.5s linear infinite;
}

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

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

.loader .h2 {
  position: absolute;
  top: 46%;
  left: 5%;
  z-index: 3;
  width: 320px;
}

.loader .h2 img {
  width: 100%;
}
@keyframes animate01 {
  0% {
    transform: rotate(3deg);
    transform-origin: 50% 100%;
  }

  50% {
    transform: rotate(-5deg);
    transform-origin: 50% 100%;
  }

  100% {
    transform: rotate(3deg);
    transform-origin: 50% 100%;
  }
}

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

  50% {
    transform: rotate(5deg);
    transform-origin: 50% 100%;
  }

  100% {
    transform: rotate(-3deg);
    transform-origin: 50% 100%;
  }
}

.loader h2 {
  width: 270px;
}

.loader h2 img {
  width: 100%;
}
article {
  position: relative;
  z-index: 1;
  overflow: hidden;
  font-family: "M PLUS Rounded 1c";
}
#kv {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 430px;
  padding: 60px 0 0;
  margin: 0 auto;
  background: url(../img/kv_bg.png) center bottom no-repeat;
  background-size: 1920px auto;
}
#lottie {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
#lottieSP {
  display: none;
}

nav {
  position: relative;
  z-index: 10000;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  background: #000;
}
nav.navOn {
  position: fixed;
  top: 0;
}
nav ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
  border-right: solid 1px #e3007b;
  border-left: solid 1px #e3007b;
}
nav ul li {
  border-right: solid 1px #e3007b;
}

nav ul li:first-child {
  width: 324px;
}
nav ul li:nth-child(2) {
  width: 208px;
}
nav ul li:nth-child(3) {
  width: 230px;
}
nav ul li:last-child {
  width: 238px;
  border-right: none;
}
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: 15px;
}

.bg01 {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 20px 0 40px;
  margin: 0 auto 10px;
}
.bg02 {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 60px 0 80px;
  margin: 0;
  background: #e3007b;
}
.bg03 {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 60px 0 40px;
  margin: 0 auto 10px;
}
.bBox {
  position: relative;
  z-index: 1;
  max-width: 900px;
  padding: 30px 0;
  margin: 0 auto;
  background: #000;
}
.bBox:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 116px;
  content: "";
  background: url(../img/bg01.png);
  background-size: 24px auto;
}
.dotBox {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 900px;
  padding: 30px 4%;
  margin: 0 auto 30px;
  background: url(../img/bg01.png) 3px 3px;
  background-size: 12px auto;
}
.dotBox2 {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 900px;
  padding: 30px 4%;
  margin: 0 auto 30px;
  background: url(../img/bg01.png) 5px 5px;
  background-size: 24px auto;
}
.bgf {
  position: relative;
  width: 100%;
  height: 217px;
  padding: 40px 0;
  background: url(../img/fImg.png) center bottom no-repeat;
  background-size: 1920px auto;
}

.tit01 {
  width: 558px;
  margin: 0 auto 20px;
}
.tit02 {
  position: absolute;
  top: -25px;
  right: 0;
  left: 0;
  width: 546px;
  margin: 0 auto;
}
.tit03 {
  position: absolute;
  top: -35px;
  right: 0;
  left: 0;
  width: 546px;
  margin: 0 auto;
}
.tit04 {
  position: absolute;
  top: -35px;
  right: 0;
  left: 0;
  width: 546px;
  margin: 0 auto;
}

.date01 {
  width: 393px;
  margin: 0 auto 10px;
}
.date02 {
  width: 590px;
  margin: 0 auto 20px;
}
.date03 {
  width: 393px;
  margin: 0 auto 20px;
}
.img01 {
  width: 600px;
  margin: 0 auto 10px;
}
.img02 {
  width: 430px;
  margin: 0 auto 20px;
}
.img03 {
  width: 610px;
  margin: 0 auto 20px;
}
.img04 {
  width: 510px;
  margin: 0 auto 20px;
}
.inWbox:before {
  position: absolute;
  top: 55px;
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 74%;
  content: "";
  background: #fff;
}
.inPbox:before {
  position: absolute;
  top: 55px;
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 74%;
  content: "";
  background: #e3007b;
}
.inBbox:before {
  position: absolute;
  top: 50px;
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 82%;
  content: "";
  background: #000;
}
.inBbox2:before {
  position: absolute;
  top: 50px;
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 76%;
  content: "";
  background: #000;
}
.btnImg {
  display: block;
  width: 280px;
  margin: 0 auto;
}
.btnImg2 {
  display: block;
  width: 500px;
  margin: 0 auto;
}
.btnImg3 {
  display: block;
  width: 500px;
  margin: 0 auto;
}
.btnImg_soon {
  display: block;
  width: 400px;
  margin: 0 auto;
}
.box01 {
  position: relative;
  z-index: 1;
  width: 1000px;
  padding: 30px 0;
  margin: 0 auto 30px;
  text-align: center;
  background: url(../img/bg01.png) 5px 5px;
  background-size: 12px auto;
}
.box02 {
  position: relative;
  z-index: 1;
  width: 1000px;
  padding: 30px 90px 10px;
  margin: 0 auto 120px;
  text-align: center;
  background: #d7e9a0;
}
.box03 {
  position: relative;
  z-index: 1;
  width: 1003px;
  padding: 20px 60px 0;
  margin: 0 auto 120px;
  text-align: center;
  background: url(../img/pc_box03.png) center 0 repeat-y;
}
.img {
  width: 427px;
  margin: 0 auto 20px;
}
.copy {
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: right;
}
.coution {
  font-size: 1.2rem;
  line-height: 1.6;
}
.coution2 {
  font-size: 1.1rem;
  line-height: 1.2;
}
.read {
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
}
.clumn {
  width: calc(100% / 3 - 10px);
  margin: 0;
}
.stit01 {
  width: 478px;
  margin: 0 auto 10px;
}
.stit02 {
  width: 609px;
  margin: 0 auto 10px;
}
.stit03 {
  width: 380px;
  margin: 0 auto 10px;
}
.stit04 {
  width: 632px;
  margin: 0 auto 10px;
}

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;
}

/* 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;
  }
}

.bgWhite {
  position: relative;
  z-index: 5;
  padding: 40px 0 1px;
  margin: 0;
  background: #fff;
}
