@charset "utf-8";

/* ヘッダー */
header{
	position: relative;
	margin: 0 auto ;
	display: block;
	width: 100%;
}
header #keyvisual{
	position: relative;
	margin: 0 auto ;
	display: block;
	background-image: url("../img/main.jpg");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	padding-top: 140.62%;
	width: 100%;
	background-color: #000000;
}
header #keyvisual01, header #keyvisual02, header #keyvisual03{
	position: absolute;
	top:0;
	left: 0;
	display: block;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	padding-top: 140.62%;
	width: 100%;
	opacity: 0;
	transition: opacity 1.2s ease-out;
}
header #keyvisual01{background-image: url("../img/main01.png"); z-index: 1;transition: opacity 2.2s ease-out;}
header #keyvisual02{background-image: url("../img/main02.png"); z-index: 2;}
header #keyvisual03{background-image: url("../img/main03.png"); z-index: 3;}
header #keyvisual04{
	position: absolute;
	bottom:4.4%;
	left: 15.395%;
	display: block;
	background-image: url("../img/main04.png"); 
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	padding-top: 35%;
	width: 69.21%;
	opacity: 0;
	transition: all 1.2s ease-out;
	z-index: 4;
}
header #keyvisual01.disp, header #keyvisual02.disp, header #keyvisual03.disp, header #keyvisual04.disp{opacity: 1;}

#kikan{
	position: relative;
	margin: 0 auto;
	padding: 20px 20px 120px 20px;
	font-size: .15rem;
	text-align: center;
	background-image: url("../img/bg_kikan1.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% 100%;
}
#kikan .kikanWrap{
	position: relative;
	margin: 0 auto;
	padding: 30px 20px 0 20px;;
	background-image: url("../img/bg_kikan.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% 100%;
}
#kikan .kikanWrap img{
	position: relative;
	margin: 0 auto 5px auto;
	height: 26px;
	width: auto;
}
#kikan .kikanWrap p{padding-bottom: 20px;font-weight: 900;}
#kikan .kikanWrap span{display: block;font-size: .12rem;}
#kikan .kikanWrap span.kikanTtl{padding-top: 5px;}
#kikan .kikanWrap .kit p{font-size: .14rem;}
#kikan .kikanWrap span{font-size: .11rem;}
#kikan .kikanWrap .kit img{height: 24px;}
#kikan .kikanWrap span.red{font-size: .16rem;color: #da1725;}
#kikan .kikanWrap .play span.inline{display: inline;}
#kikan .kikanWrap .sale img{height: 30px;}
#kikan .kikanWrap .sale p{font-size: .19rem;}
#kikan .kikanWrap .sale p::after{
	position: absolute;
	top: -15px;
	left:calc(50% + 75px);
	content: '';
	width: 80px;
	height: 80px;
	display: block;
	background-image: url("../img/salse.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}

/* キャッチコピー */
#catch{
	position: relative;
	margin: 0 auto;
	transform: translateY(-120px);
	padding: 60px 0 30px 0;
	background-image: url("../img/bg_catch.jpg");
	background-position: 50% 0;
    background-size: cover;
	background-repeat: no-repeat;
	z-index: -1;
}
#catch .catchWrap{
	position: relative;
	margin:  0 auto;
	padding: 5px;
	display: block;
	width: calc(100% - 60px);
	border: solid 1px #c8cc65;
}
#catch .catchInner{
	position: relative;
	margin:  0 auto;
	padding: 20px;
	border: solid 1px #c8cc65;
}
#catch .catchInner::before, #catch .catchInner::after{
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	display: block;
	background-color: #c8cc65;
}
#catch .catchInner::before{
	top:0;
	right: 0;
}
#catch .catchInner::after{
	bottom:0;
	left: 0;
}

#about{
	position: relative;
	margin: 0 auto;
	padding: 10px 0;
	transform: translateY(-120px);
	background-color: #000000;
	z-index: 3;
}
#about p{
	position: relative;
	margin: 0 auto;
	padding: 5px 0;
	color: #FFFFFF;
	font-weight: 700;
	font-size: .12rem;
	text-align: center;
}

/* ニュース */
#news{
    position: relative;
	margin: -120px auto 0 auto;
	padding: 80px 0 0 0;
}
#news .newsBox{
	position: relative;
	width: calc(100% - 70px);
	margin: 0 auto;
}
#news .newsBox ul{
	position: relative;
	margin: 10px auto 0 auto;
    width: 100%;
	height: 190px;
    overflow: hidden;
}
#news .newsBox ul li{
	position: relative;
	margin: 10px auto 0 auto;
    padding: 0 0 5px 0;
	border-bottom: solid 1px #bdbeb9;
    font-size: .15rem;
}
#news .newsBox ul li p.date{font-size: .13rem;color: #db0047;}
#news .newsBox ul li a{text-decoration: none;}

#news #banner ul{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 20px);
}
#news #banner ul li{
	position: relative;
	margin: 0 0 20px 0;
	width: calc(100% - 60px);
}
#news .movieWrap{margin: 20px auto 0 auto;}

/* ポイント */
#point{
	position: relative;
	margin: 0 auto;
	padding: 50px 0 30px 0;
}
#point ul{
	position: relative;
	margin: 15px auto 0 auto;
	width: calc(100% - 70px);
}
#point ul li{
	position: relative;
	margin: 0 auto;
    width: 100%;
}
#point ul li p{
	position: relative;
	margin: 10px auto 20px auto;
}

/* photo */
#photo{
	position: relative;
	padding: 10px 0;
	background-color: #000000;
	z-index: 4;
}
#photo .photoWrap{
	position: relative;
	margin: 0 auto ;
}
#photo .slick-slide{margin: 0 1px; background-color: transparent;}

/* キット購入 */
#kit{
	position: relative;
	margin: 0 auto;
	padding: 45px 0 0 0;
}
#kit .contetsWrap{z-index: 5;}
#kit .release{
	position: relative;
	margin: 40px auto;
	font-weight: 900;
	font-size: .16rem;
	width: calc(100% - 70px);
	text-align: center;
}
#kit .release span{
	font-size: .18rem;
	padding-bottom: 8px;
	display: block;
}
#kit ul{
	position: relative;
	width: calc(100% - 70px);
	margin: 5px auto;
}
#kit ul li{
	position: relative;
	margin: 0 auto 10px auto;
	text-align: center;
	font-weight: 700;
}
#kit ul li p{padding-top: 5px;}
#kit ul li span{font-size: .12rem;}
#kit ul li span.price{/*font-size: .18rem;*/font-size: .22rem;}
#kit .preprice span{position: relative; display: inline-block;width: auto; margin: 5px auto 10px auto; background-color: #ffffff;padding: 3px 1em;color: #4E4E4E;}
#kit p.caution{
	position: relative;
	width: calc(100% - 70px);
	margin: 10px auto 15px auto;
}
#kit p.caution.gotoC{
	margin: 0 auto 45px auto;
}
#kit p.shop{
	position: relative;
	width: calc(100% - 70px);
	margin: 0 auto;
	font-size: .13rem;
}
#kit p.shop a{font-size: .14rem;}
#kit p.shop a span{font-size: .12rem;}
#kit .tokuten{
	position: relative;
	margin: 10px auto;
	width: calc(100% - 100px);
	display: block;
}
#kit .scraptanteidan{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 70px);
	font-size: .13rem;
}
#kit .scrapTicket{
	position: relative;
	margin: 15px auto 0 auto;
	display: block;
}
#kit .scraptanteidan .ttl{
	position: relative;
	margin: 0 auto 10px auto;
	text-align: center;
}
#kit .scraptanteidan .ttl span{
	text-align: center;
	font-weight: 700;
	font-size: .16rem;
	padding-bottom: 3px;
	color: #db0047;
	border-bottom: solid 2px #db0047;
}
#kit .scraptanteidan .sale{text-align: center;}
#kit .scraptanteidan .sale span{font-weight: 700;padding-top: 3px;display: block;font-size: .14rem;}
#kit .scraptanteidan p.caution{width: 100%;margin: 10px auto 0 auto;}
#kit .goto{
	position: relative;
	margin: 40px auto 0 auto;
	width: calc(100% - 110px);
	padding: 20px;
	border: solid 2px #000000;
	border-radius: 10px;
}
#kit .goto p, #kit .goto img{padding-bottom: 10px;}
#kit .goto .button span{padding: 3px 3em;}

/* イベント概要 */
#event{
    position: relative;
    margin: 0 auto;
	padding: 60px 0 20px 0;
}
#event ul.play{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 70px);
}
#event ul.play li{
	position: relative;
	margin: 20px auto 0 auto;
}
#event ul.play li img{
	position: relative;
	height: 48px;
	width: auto;
}
#event ul.play li p{
	position: relative;
	margin: 10px 0 0 0;
	padding-left: 74px;
	min-height: 97px;
	font-size: .13rem;
	line-height: 1.5em;
	vertical-align: middle;
}
#event ul.play li .caution{display: block; padding-top: 8px;}
#event ul.play li:nth-child(4) p{padding-top:1em;padding-bottom: 1em;}
#event ul.play li p::before{
	position: absolute;
	content: '';
	top:50%;
	left: -22px;
	transform: translateY(-50%);
	display: block;
	width: 97px;
	height:97px;
	background-position: 50% 0;
    background-size: contain;
	background-repeat: no-repeat;
}
#event ul.play li:nth-child(1) p::before{background-image: url("../img/icon_play01.png");}
#event ul.play li:nth-child(2) p::before{background-image: url("../img/icon_play02.png");}
#event ul.play li:nth-child(3) p::before{background-image: url("../img/icon_play03.png");}
#event ul.play li:nth-child(4) p::before{background-image: url("../img/icon_play04.png");}
#event .contetsWrap::after{
	position: absolute;
	content: '';
	display: block;
	bottom: -80px;
	left:0;
	width: 100%;
	height: 80px;
	background-image: url("../img/bg_story01.png");
	background-position: 50% 0;
    background-size: 100% 100%;
	background-repeat: no-repeat;
	z-index: 6;
}
#event h3{
	margin: 40px auto 20px auto;
	width:165px;
}
#event ul.pre{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 90px);
	padding-bottom: 40px;
}
#event ul.pre li{
	position: relative;
	margin-bottom: 20px;
	width: calc(50% - 10px);
}
#event ul.pre li:nth-child(odd){padding-right: 10px;}
#event ul.pre li:nth-child(even){padding-left: 10px;}

/* ストーリー */
#story{
	position: relative;
	margin:0 auto;
	padding: 0;
}
#story .storyWrap{
	position: relative;
	background-image: url("../img/bg_story02.png"), url("../img/bg_story01.png"),  url("../img/bg_story02.png");
	background-position: 0 0, 0 calc(100% - 80px), 0 100%;
    background-size: 100% auto, 100% auto, 100% auto;
	background-repeat: no-repeat, no-repeat, no-repeat;
	z-index: 7;
}
#story p{
	position: relative;
	margin: 20px auto;
	width: calc(100% - 70px);
}
#story p.fontB{
	font-size: .16rem;
	font-weight: 900;
}
#story .story01{
	position: relative;
	margin: 0 0 0 auto;
	width: 80%;
	padding-top: 20px;
	transform: translateX(-7px);
}
#story .story02{
	position: relative;
	margin: 0 0 0 7px;
	width: 80%;
	padding-top: 20px;
}
#story .story03{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 14px);
}

/* キャラクター */
#charactor{
	position: relative;
    margin: -60px auto 0 auto;
	padding: 100px 0 120px 0;
}
#charactor .chara{
	position: relative;
	margin: 40px auto 0 auto;
	padding: 0 0 30px 0;
	width: 100%;
}
#charactor .chara .slick-slide{margin: 0 !important;background-color: transparent;}
#charactor .chara .slick-slide div{
    position: relative;
    width: calc(100% - 50px);
    margin: 0 auto;
}
#charactor .chara .slide-arrow{
    position: absolute;
	top:0;
	display: block;
	width: 35px;
	height: 35px;
}
#charactor .chara .prev-arrow{left: 20px;transform: rotate(180deg);}
#charactor .chara .next-arrow{right: 20px;}
#charactor .chara .slick-dots{width: 100%;margin: 20px auto 0 auto; text-align: left;padding: 0;}
#charactor .chara .slick-dots li{ width: calc(25% - 4px);margin: 0 2px;height: auto !important;}
#charactor .chara .slick-dotted.slick-slider{margin-bottom: 0;}
#apDotsC{
	position: relative;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
    width: 100%;
}
#arrowsC{
	position: absolute;
	display: block;
	top: 30%;
	left: -20px;
	text-align: center;
	width: calc(100% + 40px);
	height: 25px;
}

/* 遊び方 */
#aboutgame{
    position: relative;
    margin:-120px auto 0 auto;
	z-index: 7;
}
#aboutgame .btnWrap{background-color: #000000;}
#aboutgame ul{
	position: relative;
	margin: 30px auto;
	width: calc(100% - 60px);
}
#aboutgame ul li{
	padding: 30px 0;
	width: calc(50% - 10px);
}

/* ----- pc ----- */
@media screen and (min-width: 641px) {

	/* ヘッダー */
    header #keyvisual{
        background-image: url("../img/main_pc.jpg");
        padding-top: 54.58%;
    }
	header #keyvisual01, header #keyvisual02, header #keyvisual03{padding-top: 54.58%;}
	header #keyvisual01{background-image: url("../img/main01_pc.png"); background-position: 0 0; }
	header #keyvisual02{background-image: url("../img/main02_pc.png");background-position: 100% 0;}
	header #keyvisual03{background-image: url("../img/main03_pc.png");}
	header #keyvisual04{
		bottom:32.4%;
		left: 59.8%;
		background-image: url("../img/main04.png"); 
		padding-top: 18.6%;
		width: 38%;
	}


	#kikan{
		padding: 40px 0 120px 0;
		font-size: .18rem;
		background-image: url("../img/bg_kikan1_pc.png");
		background-size: auto 110%;
		background-position: 90% 0;
	}
	#kikan .kikanWrap{
		padding: 30px 0;
		background-image: url("../img/bg_kikan_pc.png");
		width: 857px;
	}
	#kikan .kikanWrap div{
		position: relative;
		margin: 20px auto;
	}
	#kikan .kikanWrap img{
		margin: 0 20px 0 0;
		height: 32px;
		display: inline-block;
		vertical-align: top;
	}
	#kikan .kikanWrap p{padding-bottom: 0;display: inline-block;}
	#kikan .kikanWrap span{font-size: .13rem;display: inline-block;}
	#kikan .kikanWrap .kit p{font-size: .16rem;}
	#kikan .kikanWrap span{font-size: .12rem;}
	#kikan .kikanWrap .kit img{height: 28px;}
	#kikan .kikanWrap span.red{font-size: .18rem;}
	#kikan .kikanWrap .sale img{height: 36px;}
	#kikan .kikanWrap .sale p{font-size: .26rem;}
	#kikan .kikanWrap .sale p::after{
		top: -80px;
		left:calc(100% - 110px);
		width: 140px;
		height: 140px;
	}

	/* キャッチコピー */
	#catch{
		transform: translateY(-120px);
		padding: 100px 0 120px 0;
		background-image: url("../img/bg_catch_pc.jpg");
	}
	#catch .catchWrap{
		padding: 10px;
		width: 960px;
	}
	#catch .catchInner{
		padding: 40px 20px;
		width: 920px !important;
	}
	#catch .catchInner img{margin: 0 auto;}
	#catch .catchInner::before, #catch .catchInner::after{
		width: 15px;
		height: 15px;
	}
	
	#about{padding: 10px 0;}
	#about p{
		padding: 15px 0;
		font-size: .18rem;
	}

	/* ニュース */
	#news{padding: 220px 0 0 0;}
	#news .newsBox{width: 800px;}
	#news .newsBox ul{height: 210px;}
	#news .newsBox ul li{
		margin: 10px auto 0 auto;
		padding: 0 0 5px 0;
		font-size: .16rem;
	}
	#news .newsBox ul li p.date{font-size: .14rem;}
	#news #banner ul{width: 800px;}
	#news #banner ul li{
		margin: 0 5px 20px 5px;
		width: 340px;
	}
	#news .movieWrap{margin: 40px auto 0 auto; width: 620px;}


	/* ポイント */
	#point{padding: 120px 0 150px 0;}
	#point ul{
		margin: 25px auto 0 auto;
		width: 700px;
	}
	#point ul li{
		margin: 0;
		width: 320px;
	}

	#photo .contetsWrap{width: 100%;}
	
	/* キット購入 */
	#kit{padding: 220px 0 0 0;}
	#kit .release{
		margin: 40px auto 60px auto;
		font-size: .20rem;
	}
	#kit .release span{font-size: .18rem;}
	#kit ul{
		width: 750px;
		margin: 25px auto;
	}
	#kit ul li{
		margin: 0 ;
		width: 360px;
	}
	#kit ul li p{padding-top: 10px;}
	#kit ul li span{font-size: .14rem;}
	#kit ul li span.price{/*font-size: .24rem;*/font-size: .28rem;}
	#kit .preprice span{margin: 5px auto 0 auto; padding: 2px 2em;font-size: .12rem;}
	#kit p.caution{text-align: center;}
	#kit p.shop{
		padding-top: 30px;
		font-weight: 700;
		font-size: .16rem;
		text-align: center;
	}
	#kit p.shop a{font-size: .16rem;}
	#kit p.shop a span{font-size: .14rem;}
	#kit .tokuten{
		margin: 10px auto 0 auto;
		width: 480px;
	}
	#kit .scraptanteidan{
		margin: 80px auto 0 auto;
		width: 480px;
		font-size: .16rem;
	}
	#kit .scraptanteidan .ttl{margin: 0 auto 30px auto;}
	#kit .scraptanteidan .ttl span{
		font-size: .22rem;
		padding-bottom: 5px;
	}
	#kit .scraptanteidan .sale span{fpadding-top: 8px;font-size: .18rem;}
	#kit .goto{
		width: 520px;
		padding: 40px;
		border: solid 3px #000000;
	}
	#kit .goto p, #kit .goto img{padding-bottom: 20px;	text-align: center;}
	#kit .goto .button span{padding: 5px 3em;}

	/* イベント概要 */
	#event{	padding: 120px 0 120px 0;}
	#event ul.play{width:900px;}
	#event ul.play li{
		margin: 20px 0;
		width: 420px;
	}
	#event ul.play li img{height: 70px;}
	#event ul.play li p{
		padding-left: 170px;
		min-height: 147px;
		font-size: .14rem;
	}
	#event ul.play li:nth-child(4) p{padding-top:0;padding-bottom: 0;}
	#event ul.play li p::before{
		left: 0;
		width: 147px;
		height:147px;
	}

	#event .contetsWrap{width: 100%;}
	#event .contetsWrap h2{margin: 0 auto; transform: translateX(-380px);}
	#event .contetsWrap::after{
		bottom: -160px;
		height: 160px;
		background-image: url("../img/bg_story01_pc.png");
	}
	#event h3{
		margin: 80px auto 40px auto;
		width:220px;
	}
	#event ul.pre{
		width: 740px;
		padding-bottom: 60px;
	}
	#event ul.pre li{
		margin-bottom: 0;
		width: 160px;
	}
	#event ul.pre li:nth-child(odd){padding-right: 0;}
	#event ul.pre li:nth-child(even){padding-left: 0;}

	/* ストーリー */
	#story h2{transform: translateY(-60px);}
	#story .contetsWrap{z-index: 8;}
	#story .storyWrap{
		margin: -50px auto 0 auto;
		background-image: url("../img/bg_story02_pc.png"), url("../img/bg_story01_pc.png");
		background-size: 100% 180px, 100% 180px;
		background-repeat: no-repeat, no-repeat;
		background-position: 0 0, 0 calc(100% - 160px);
	}
	#story .storyBg{
		position: absolute;
		bottom:-30px;
		height: 220px;
		width: 100%;
		background-image: url("../img/bg_story02_pc.png");
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: 50% 0;
		z-index: 7;
	}
	#story p{
		margin: 40px auto;
		width: 780px;
		text-align: center;
	}
	#story p.fontB{font-size: .18rem;}
	#story .story01{
		width: 500px;
		padding-top: 20px;
		transform: translateX(15px);
	}
	#story .story02{
		margin: 0 0 0 -15px;
		width: 500px;
		padding-top: 40px;
	}
	#story .story03{
		margin: 0 0 0 auto;
		transform: translateX(15px);
		width: 620px;
	}

	/* キャラクター */
	#charactor{ margin: -180px auto 0 auto;padding: 220px 0 220px 0;}
	#charactor .chara{
		margin: 0 auto;
		padding: 0 0 60px 0;
		width: 900px;
	}
	#charactor .chara .slick-slide div{width: 380px; }
	#charactor .chara .slide-arrow{
		width: 45px;
		height: 45px;
	}
	#charactor .chara .prev-arrow{left: 180px;}
	#charactor .chara .next-arrow{right: 180px;}
	#charactor .chara .slick-dots{width: 900px;margin: 20px auto 0 auto;}
	#charactor .chara .slick-dots li{ width: 108px;}

	/* 遊び方 */
	#aboutgame ul{width: 410px;}
	#aboutgame ul li{
		padding: 10px;
		width: 180px;
	}
	
	
}