/* --------------------------------------------------

		promotion

-------------------------------------------------- */

.promotion {

	min-height: 850px;

	padding: 40px 0;

	background-image: url("../img/promotion_01.jpg");

	background-position: center top;

	background-repeat: no-repeat;

	background-size: cover;

}

.promotion-box {



}

.promotion-box__body {

	box-sizing: border-box;

	width: 90%;

	max-width: 900px;

	padding: 25px 30px;

	margin: 500px auto 20px;

	background-color: rgba(0, 0, 0, 0.8);

}

.promotion-box__h3{

	margin-bottom: 20px;

	font-size: 3.5rem;

	line-height: 1.2;

	text-align: center;

	font-weight: bold;

	color: #ffffff;

	text-shadow: 2px 2px 0 #f3321c, -2px -2px 0 #f3321c,

	-2px 2px 0 #f3321c, 2px -2px 0 #f3321c,

	0 2px 0 #f3321c,  0 -2px 0 #f3321c,

	-2px 0 0 #f3321c, 2px 0 0 #f3321c;

}

.promotion-box__text{

	font-size: 1.8rem;

	color: #ffffff;

}

.promotion-box__text p{

	margin-bottom: 1.5em;

}

.promotion-box__text p:last-child{

	margin-bottom: none;

}

.promotion-button{

	max-width: 400px;

	margin: 0 auto;
	padding-top: 100px;

}

.promotion-button img{

	max-width: 100%;

	height: auto;

}



@media screen and (max-width: 767px) {

	.promotion {

		min-height: inherit;

		background-image: url("../img/promotion_01_sp.jpg");

		background-color: #000000;

		background-size: cover;

	}

	.promotion-box__body {

		width: 90%;

		max-width: inherit;

		padding: 25px 20px 10px;

		margin: 200px auto 20px;

	}

	.promotion-box__h3 {

		font-size: 1.8rem;

	}

	.promotion-box__text{

		font-size: 1.3rem;

	}

	.promotion-button{

		max-width: 220px;
		padding-top: 50px;

	}

}


/* キービジュアル */
.main-bg-kv-title {
  width: 52.01vw;
left: 40%;
  top: 50%;
  transform: translateY(-50%);
}

/* ポイント */
.p-point--img img {
  width: 100%;
}

/* ハードウェア */
.p-hardware, .p-gameFlow, .p-spec {
  padding-top: 6.94vw;
}
.p-hardware {
  background-color: #000000;
}
.p-hardware .c-h2__title {
  margin-bottom: 5.97vw;
}
.p-hardware .c-line {
  margin: 0 0;
  height: 2px;
  border: none;
  opacity: 0;
}
.p-hardware .c-line.c-line--right {
  background: linear-gradient(-90deg, rgba(219,0,27,1) 25%, rgba(17,0,2,1) 100%);
}
.p-hardware .c-line--right.js-target.is-active {
  animation: fade-right 2s ease-out forwards;
}
@keyframes fade-right {
  0% {
    transform: translate(100%, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.p-hardware .c-line.c-line--left {
  background: linear-gradient(90deg, rgba(219,0,27,1) 25%, rgba(17,0,2,1) 100%);
}
.p-hardware .c-line--left.js-target.is-active {
  animation: fade-left 2s ease-out forwards;
}
@keyframes fade-left {
  0% {
    transform: translate(0%, 0);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0);
    opacity: 1;
  }
}
.p-hardware--content .p-inner {
  max-width: 1040px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
.p-hardware--content .p-inner.flex-end {
  align-items: flex-end;
}
.p-hardware--img01 {
  background: url(../img/bg_hardware01.png) no-repeat center center  / cover;
}
.p-hardware--img01 .p-inner {
  padding: 2.99vw 0 3.47vw 0;
}
.p-hardware01--ttl {
  max-width: 73.96vw;
  margin-bottom: 3.96vw;
}
.p-hardware01--txt {
  max-width: 38.82vw;
  margin-left: 2%;
}
.p-hardware--img02 {
  background: url(../img/bg_hardware02.png) no-repeat center center  / cover;
}
.p-hardware--img02 .p-inner {
  padding: 6.94vw 0 9.44vw 0;
}
.p-hardware02--ttl {
  max-width: 43.06vw;
  margin-bottom: 3.33vw;
}
.p-hardware02--txt {
  max-width: 39.86vw;
}
.p-hardware--img03 {
  background: url(../img/bg_hardware03.png) no-repeat bottom center  / cover;
}
.p-hardware--img03 .p-inner {
  padding: 3.13vw 0 4.58vw 0;;
}
.p-hardware03--ttl {
  max-width: 46.74vw;
  margin-bottom: 3.06vw;
}
.p-hardware03--txt {
  max-width: 47.15vw;
  margin-bottom: 4.24vw;
}
.p-hardware03--img {
  max-width: 48.06vw;
}

/* ゲームフロー */
.p-gameFlow {
/*  background: url(../img/bg_gameFlow.png) no-repeat center center  / cover;*/
	background: rgba(0,0,0,1.00);
}
.p-gameFlow .c-h2__title {
  margin-bottom: 6.18vw;
}
.p-gameFlow--content {
  max-width: 1440px;
  margin: 0 auto;
}
.p-gameFlow--img {
  position: relative;
  padding: 0 2vw 7.5vw;
}
.p-gameFlow--img img {
  width: 100%;
}
.p-gameFlow--img::before {
  content: '';
  width: 38.82vw;
  max-width: 600px;
/*
  width: 43.82vw;
  max-width: 631px;
*/
  height: 55.32vw;
/*  height: 26.32vw;*/
  max-height: 791px;
/*  max-height: 379px;*/
}

/* スペック */
.p-spec {
  background: url(../img/bg_spec.png) no-repeat center center  / cover;
  padding-bottom: 5.83vw;
}
.p-spec .c-h2__title {
  margin-bottom: 3.47vw;
}
.p-spec--img {
  max-width: 1069px;
  margin: 0 auto;
}

@media screen and (max-width: 1040px){
  /* ハードウェア */
  .p-hardware--content .p-inner {
    padding-right: 10vw;
    padding-left: 10vw;
  }
}

@media screen and (max-width: 900px){
  /* キービジュアル */
  .main-banner {
    width: 20%;
    max-width: 251px;
    display: flex;
  }

  /* ハードウェア */
  .p-hardware--content .p-inner {
    padding-right: 6.67vw;
    padding-left: 6.67vw;
  }

  /* スペック */
  .p-spec--img {
    padding: 0 2vw;
  }
}

/*============================*/
.contents-kv-129 {
	position: relative;
	height: 100%;
	max-height: 1080px;
	background: #000;
	margin-top: 148px;
}
.contents-kv-129::after {
	content: "";
	display: block;
	z-index: 1;
	position: absolute;
	bottom: -40px;
	left: 0;
	width: 100%;
/*	height: 155px;*/
	height: 217px;
	background: url('../img/conts_head129.png') center top repeat-x;
	background-size: cover;
}
@media screen and (max-width: 900px) {
.contents-kv-129 {
		margin-top: 105px;
	}
	.contents-kv-129::after {
		bottom: -10px;
		height: 10vw;
	}
}