@charset "UTF-8";


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
RESET_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
* {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
span,
em,
strong,
ul,
ol,
li,
dl,
dt,
dd,
a {
	background-repeat: no-repeat;
	background-size: 100% auto;
}

a {
	outline: none;
}

.pc {
	display: none;
}

/*CF*/
.cf:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.cf {
	display: inline-block;
}

/* Hides from IE Mac \*/
* html .cf {
	height: 1%;
}

.cf {
	display: block;
}

/* End Hack */
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　RESET_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/






/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
COMMON_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
body {

	/*
	background-image: url(../../ng/sp_monst_tw.png);
	background-size: 736px auto;
	background-position: center -100px;
*/
}

html,
body {
	width: 100%;
	height: 100%;
}

#grandwrapper {
	position: relative;
	width: 100%;
	overflow: hidden;
}

#contents_wrapper h1,
#contents_wrapper h2,
#contents_wrapper h3,
#contents_wrapper p,
#contents_wrapper li,
#contents_wrapper small {
	text-indent: -9999px;
}


/*link*/
#contents_wrapper a {
	cursor: pointer;
}

a.btn {
	transition: all 0.4s ease-out;
	transform: scale(1);
}

a:hover.btn {
	transform: scale(0.95);
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　COMMON_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/








/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
kv_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#kv {
	position: relative;
	width: 100%;
	height: 440px;
}


#kv .color_bg{
	z-index: -10;
	width: 840px;
	height: 1725px;
	background-image: url(../images/kv_color_bg.png);
	position: absolute;
	top: 0;
	right: 0;
	background-size: 100% auto;
	background-position: right top;
}

#kv .tw_monst_logo {
	width: 84px;
	height: 70px;
	background-image: url(../images/tw_monst_logo.png);
	background-size: 100% auto;
	position: absolute;
	left: 10px;
    top: 5px;
}

#kv .kv_share_button {
	width: 89px;
	height: 102.5px;
	/* background-image: url(../images/kv_share_button.png); */
	/* background-size: 100% auto; */
	position: absolute;
	display: block;
	left: 10px;
    top: 272px;
}
#kv .kv_share_button::before {
	width: 89px;
	height: 102.5px;
	background-image: url(../images/kv_share_button.png);
	background-size: 100% auto;
	position: absolute;
	display: block;
	/* left: 10px; */
	/* top: 272px; */
	content: "";
}

#kv h1 {
	width: 140px;
	height: 269px;
	background-image: url(../images/kv_logo.png);
	background-size: 100% auto;
	position: absolute;
	right: 2%;
	margin-right: 0;
	top: 76px;
}


/*
assets_logo
*/

#kv ul {
	position: relative;
	left: 22px;
	margin: 50px 0 0 0;
}

@media screen and (min-width:450px) {
	#kv ul {
		left: 100px;
		margin: 60px 0 0 0;
		transform: scale(1.2);
	}
}

@media screen and (min-width:700px) {
	#kv ul {
		left: 170px;
		transform: scale(1.4);
	}
}

/*logo_monsterstrike*/
#kv li:nth-of-type(1).cover {
	position: relative;
	width: 193px;
	height: 54px;
}

#kv li:nth-of-type(1).cover .inner {
	background-image: url(../images/kv_logo_ms.png);
	background-size: 193px auto;
}

/*logo_x*/
#kv li:nth-of-type(2) {
	position: relative;
	left: 77px;
	width: 38px;
	height: 23px;
	margin: 13px 0 12px 0;
}

#kv li:nth-of-type(2).cover .inner {
	background-image: url(../images/kv_logo_x.png);
	background-size: 38px auto;
}

/*logo_madhouse*/
#kv li:nth-of-type(3) {
	position: relative;
	width: 188px;
	height: 53px;
	margin: 0 0 12px 0;
}

#kv li:nth-of-type(3).cover .inner {
	background-image: url(../images/kv_logo_mh.png);
	background-size: 188px auto;
}


/*
music
*/
#kv li:nth-of-type(4) {
	position: relative;
	width: 161px;
	height: 34px;
	left: 10px;
	background-image: url(../images/kv_asset_music.png);
	background-size: 161px auto;
}


/*
keyvisual
*/

/* #kv .img {
	z-index: -1;
	position: absolute;
	width: 100%;
	height: 428px;
	top: 0;
	background-color: #41586b;
	background-image: url(../images/sp_kv_illust.png);
	background-size: 736px auto;
	background-position: top center;

}

@media screen and (min-width:736px) {
	#contents_wrapper #kv .img {
		background-position: top right;
	}
} */


#kv .img {
	z-index: -1;
	position: absolute;
	top: 0;
	width: 100%;
	height: 365px;
	/* background-color: #41586b; */
	/* background-image: url(../images/kv_bg.png); */
	/* background-size: auto 332px; */
	background-position: bottom center;
}

#kv .img .bg{
	z-index: -1;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 343px;
	background-image: url(../images/kv_bg.png);
	background-size: 840px auto;
	background-position: bottom center;
}

#kv .img .kv_char{
	/* z-index: -1; */
	position: absolute;
	top: 14px;
	left: 50%;
	margin-left: -291px;
	width: 471.5px;
    height: 416.5px;
	background-image: url(../images/kv_char.png);
	background-size: 100% auto;
}

#kv .img .kv_effect{
	/* z-index: -1; */
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: 88px;
	width: 267.5px;
	height: 365px;
	/* background-color: #41586b; */
	background-image: url(../images/kv_effect.png);
	background-size: 100% auto;
	/* background-size: 1680px auto; */
	/* background-position: bottom right; */
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　   kv_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
info_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#info {
	position: relative;
	width: 100%;
	height: 300px;
	/*

	background-color: blue;
	opacity: 0.5;
*/

}

/*
pr_text
*/
#info > p:nth-of-type(1) {
	z-index: 2;
	position: absolute;
	top: -50px;
	left: 0;
	width: 278px;
	height: 7.25px;
}

/* @media screen and (min-width:450px) {
	#info > p:nth-of-type(1) {
		margin: 20px 0 0 0;
		left: 41px;
		top: -67px;
		transform: scale(1.3);
	}
	#contents_wrapper #info div.info_text_2{
		top: 65px;
		left: 25px;
	}
}

@media screen and (min-width:700px) {
	#info > p:nth-of-type(1) {
		margin: 65px 0 0 0;
		left: 69px;
		top: -110px;
		transform: scale(1.5);
	}
	#contents_wrapper #info div.info_text_2{
		top: 85px;
	}
} */

#info > p:nth-of-type(1) .cover {
	position: relative;
	display: block;
	width: 272px;
	margin: 0 0 5px 0;
}

#info > p:nth-of-type(1) .inner {
	background-image: url(../images/kv_asset_pr.png);
	background-size: 272px auto;
}

#info > p:nth-of-type(1) .cover:nth-of-type(1) {
	height: 33px;
}

#info > p:nth-of-type(1) .cover:nth-of-type(1) .inner {
	background-position: top left;
}


#info > p:nth-of-type(1) .cover:nth-of-type(2) {
	height: 35px;
}

#info > p:nth-of-type(1) .cover:nth-of-type(2) .inner {
	background-position: left -37px;
}


/* #info > p:nth-of-type(1) .cover:nth-of-type(3) {
	height: 104px;

}

#info > p:nth-of-type(1) .cover:nth-of-type(3) .inner {
	background-position: left -62px;
} */


.wrap_rightElement{
	position: relative;
	top: 130px;
    right: 90px;
}



#info h2.news_h2 {
	position: absolute;
	top: -18px;
    right: 87px;
	width: 49px;
	height: 50px;
	background-image: url(../images/info_text_news.png);
	background-size: 49px auto;
}



#info div.info_text_2{
	width: 186px;
	height: 83.5px;
	background-image: url(../images/info_text_2.png);
	background-size: 100% auto;
	position: absolute;
	top: 40px;
    left: 20px;
	text-indent: -9999px;
	overflow: hidden;
}



/* 
@media screen and (min-width:500px) {
	#info h2 {
		top: 48px;
		right: 134px;
		transform: scale(1.2);
	}
} */

#info p.news_text {
	position: absolute;
	top: -54px;
    right: 5px;
	width: 120px;
	height: 107px;
	background-image: url(../images/info_text_p.png);
	background-size: 120px auto;
}

/* @media screen and (min-width:500px) {
	#info > p:nth-of-type(2) {
		top: 16px;
		right: 40px;
		transform: scale(1.2);
	}
} */

/*infinityMark*/
#info div.infinity {
	z-index: 1;
	position: absolute;
	/* top: 80px; */
	right: -92px;
	width: 405px;
	height: 191px;
	background-image: url(../images/info_img.png);
	background-size: 405px auto;
}
/* 
@media screen and (min-width:500px) {
	#info div {
		top: 100px;
		right: -50px;
		transform: scale(1.2);
	}
} */


/*startBtn*/
#info div.infinity a {
	position: absolute;
	top: 67px;
	left: 50%;
	width: 28px;
	height: 56px;
	margin: 0 0 0 -114px;
	background-image: url(../images/info_btn_play.png);
	background-size: 28px auto;
}


/*back_deco*/
#info .wrap_rightElement::before {
	z-index: 0;
	content: '';
	position: absolute;
	display: block;
	top: -211px;
    right: -170px;
	width: 334px;
	height: 569px;
	background-image: url(../images/sp_story_bg_obj_long.png);
	background-size: 100% auto;
}

/* @media screen and (max-width:340px) {
	#info::before {
		top: -70px;
		right: -30px;
	}

}

@media screen and (min-width:500px) {
	#info::before {
		top: -127px;
		width: 334px;
		height: 569px;
		background-image: url(../images/sp_story_bg_obj_long.png);
		background-size: 334px auto;
	}
}

@media screen and (min-width:700px) {
	#info::before {
		top: -43px;
		width: 334px;
	}
} */

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　  info_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
story_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#story {
	position: relative;
	width: 100%;
	height: 634px;
	/*
	background-color: aqua;
	opacity: 0.5;
*/
}

#story::after {
	z-index: 0;
	content: '';
	position: absolute;
	display: block;
	width: 154px;
	height: 389px;
	background-image: url(../images/sp_story_bg_obj.png);
	background-size: 154px;
}


#story::after {
	top: 290px;
	left: -80px;
}


@media screen and (min-width:426px) and (max-width:768px) {
	#story .story_wrapper {
		z-index: 1;
		position: absolute;
		top: 25px;
		left: 50px;
		width: 375px;
		height: 490px;
		/*	background-color: brown;*/
	}
}


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

	#story .story_wrapper {
		z-index: 1;
		position: relative;
		top: 25px;
		width: 95%;
		height: 490px;
		margin: 0 auto;
		/*	background-color: brown;*/
	}

}


#story .story_wrapper::before,
#story .story_wrapper::after {
	content: '';
	position: absolute;
	width: 53px;
	height: 41px;
	background-size: 53px auto;
	background-repeat: no-repeat;
	background-position: center center;

}

/*deco_period_top*/
#story .story_wrapper::before {
	top: 0px;
	left: 0px;
	background-image: url(../images/story_deco01.png);
}



/*deco_period_bottom*/
#story .story_wrapper::after {
	bottom: -40px;
	right: 0;
	background-image: url(../images/story_deco02.png);
}



#story h2 {
	position: absolute;
	top: 7px;
	left: 60px;
	width: 114px;
	height: 43px;
	background-image: url(../images/story_h2.png);
	background-size: 114px auto;
}


/*text*/
#story div p {
	position: absolute;
	text-indent: -9999px;

}

#story .a p {
	top: 144px;
	width: 288px;
	height: 124px;
	background-image: url(../images/story_text01.png);
	background-size: 288px auto;
}

#story .b p {
	top: 370px;
	width: 279px;
	height: 96px;
	background-image: url(../images/story_text02.png);
	background-size: 279px auto;
}


/*screenShot*/
#story .ss {
	overflow: hidden;
	position: absolute;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 75px;
}


#story .ss li.cover {
	width: 32%;
	height: inherit;
}

#story .ss li.cover .inner {
	width: 100%;
	background-size: cover;
	background-position: center center;
}

#story .ss img {
	display: block;
}

#story .a .ss {
	top: 56px;
}


@media screen and (min-width:426px) and (max-width:768px) {
	#story .b .ss {
		top: 282px;
		left: -25px;
	}
}

@media screen and (max-width:425px) {
	#story .b .ss {
		top: 282px;
	}
}






/*ss_img*/
#story .a .ss li:nth-of-type(1) .inner {
	background-image: url(../images/ss_a_1.png);
}

#story .a .ss li:nth-of-type(2) .inner {
	background-image: url(../images/ss_a_2.png);
}

#story .a .ss li:nth-of-type(3) .inner {
	background-image: url(../images/ss_a_3.png);
}


#story .b .ss li:nth-of-type(1) .inner {
	background-image: url(../images/ss_b_1.png);
}

#story .b .ss li:nth-of-type(2) .inner {
	background-image: url(../images/ss_b_2.png);
}

#story .b .ss li:nth-of-type(3) .inner {
	background-image: url(../images/ss_b_3.png);
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 story_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
shortfilm_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#shortfilm {
	position: relative;
	width: 100%;
	height: 385px;

	/*
	background-color: blue;
	opacity: 0.5;
*/

}

#shortfilm h2 {
	position: absolute;
	top: 50px;
	left: 50%;
	width: 230px;
	height: 34px;
	margin: 0 0 0 -115px;
	background-image: url(../images/shortfilm_h2.png);
	background-size: 230px auto;
}


#shortfilm .sf_wrapper {
	position: relative;
	top: 83px;
	width: 100%;
	padding: 30px 0 30px 0;
	background-color: #000000;
}


/*movie*/
#shortfilm .sf_wrapper .thumb {
	position: relative;
	width: 320px;
	height: 209px;
	margin: 0 auto;
	background-image: url(../images/shortfilm_thumb.png);
	background-size: contain;
}

/*movie_dark*/
#shortfilm .sf_wrapper .thumb::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #000000;
	opacity: 0.75;
}

#shortfilm .sf_wrapper .thumb p {
	position: absolute;
	width: 100%;
	height: 100%;
}

#shortfilm .sf_wrapper .thumb a {
	z-index: 2;
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../images/shortfilm_btn.png);
	background-size: 101px 158px;
	background-repeat: no-repeat;
	background-position: center center;

}

/*hover_animation*/
#shortfilm .sf_wrapper .thumb,
#shortfilm .sf_wrapper .thumb::after,
#shortfilm .sf_wrapper .thumb a {
	transition: all 0.4s ease-out;
}

#shortfilm .sf_wrapper .thumb:hover {
	transform: scale(0.97);
}

#shortfilm .sf_wrapper .thumb:hover a {
	background-image: url(../images/shortfilm_btn_active.png);
	transform: scale(1.07);
}

#shortfilm .sf_wrapper .thumb:hover::after {
	opacity: 0.3;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　  shortfilm_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
character_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#character {
	position: relative;
	width: 100%;
	padding: 72px 0 0 0;
	/*	height: 3423px;*/

	/*
	background-color: aqua;
	opacity: 0.5;
*/

}

#character h2 {
	position: relative;
	width: 211px;
	height: 34px;
	margin: 0 auto 50px auto;
	background-image: url(../images/character_h2.png);
	background-size: 211px auto;
}

#character h2::after {
	z-index: -1;
	content: '';
	position: absolute;
	display: block;
	top: 0;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background-color: #000000;
}


/*symbol_icon*/
#character .symbol {
	position: absolute;
	top: 120px;
	left: 50%;
	width: 211px;
	height: 16px;
	margin: 0 0 0 -106px;
	text-align: center;
	/*	background-color: blueviolet;*/
}

#character .symbol::before,
#character .symbol::after {
	content: '';
	position: absolute;
	display: block;
	width: 4px;
	height: 18px;
	background-color: #000000;
}

#character .symbol::after {
	top: 0;
	right: 0;
}

#character .symbol li {
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 8px 0 3px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 13px auto;
	/*	background-color: fuchsia;*/
}

#character .symbol li::before {
	content: '';
	display: block;
	margin: 0 0 0 -8px;
	height: 18px;
	border-left: 1px solid #000000;
}

#character .symbol li:last-of-type::after {
	content: '';
	display: block;
	position: relative;
	top: -18px;
	height: 18px;
	margin: 0 -9px 0 0;
	border-right: 1px solid #000000;
}

#character .symbol li:nth-of-type(1) {
	background-image: url(../images/chara_amida_symbol_a.png);
	background-size: 13px auto;
}

#character .symbol li:nth-of-type(2) {
	background-image: url(../images/chara_h2_symbol_amida_b.png);
	background-size: 18px auto;
}

#character .symbol li:nth-of-type(3) {
	background-image: url(../images/chara_kirari_symbol.png);
	background-size: 16px auto;
}

#character .symbol li:nth-of-type(4) {
	background-image: url(../images/chara_infinityx_symbol.png);
	background-size: 11px auto;
}

#character .symbol li:nth-of-type(5) {
	background-image: url(../images/chara_h2_symbol_nightmare.png);
	background-size: 16px auto;
}





#character .chara {
	position: relative;
	width: 100%;
}

#character .chara > li {
	position: relative;
	display: flex;
	width: 100%;
	margin: 0 0 50px 0;
}


/*flexbox_set*/

#character .chara .flex_wrapper {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 280px;
	flex: 0 0 auto;
}


#character .chara .color_bar {
	position: relative;
	width: 25%;
	height: 400px;
	flex: 1 1 30%;
}


#character .chara .spacer {
	position: relative;
	width: 25%;
	height: 400px;
	flex: 1 1 30%;
}





/*
chara_common
*/

/*name*/
#character .profile h3 {
	position: relative;
	margin: 25px auto 0 auto;
}

/*rubi*/
#character .chara small {
	display: block;
	text-indent: -9999px;
	margin: 20px auto 8px auto;
	background-size: auto 6px;
	background-repeat: no-repeat;
	background-position: center top;
}

/*chara_img*/
#character .chara .img {
	position: relative;
	top: 0;
	width: 100%;
	height: 400px;
	background-position: center 25px;
	background-repeat: no-repeat;
	/*	background-color: darkmagenta;*/
}


/*chara_icon*/
#character .amida .color_bar::after,
#character .kirari .spacer::after,
#character .infinityx .color_bar::after,
#character .amida .color_bar::before {
	content: '';
	position: absolute;
	display: block;
	bottom: 10px;
	width: 40px;
	height: 60px;
	background-repeat: no-repeat;
	background-position: bottom center;
}




/*profile_position*/
#character .chara .profile {
	position: relative;
	width: 100%;
	height: 100%;
	/*	background-color: chartreuse;*/
}

/*chara_text_border*/
#character .chara .profile p {
	width: 100%;
	padding: 20px 0 20px 0;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	background-position: left center;
	background-repeat: no-repeat;
}

/*chara_dl_common_headline*/
#character .chara .profile dl {
	position: relative;
	width: 100%;
	height: 100px;
	margin: 20px 0 20px 0;
}

#character .chara .profile dt {
	width: 60px;
	height: 16px;
	margin: 0 0 12px 0;
	border-radius: 3px;
	background-color: #000000;
	background-size: auto 9px;
	background-repeat: no-repeat;
	background-position: center center;
}

/*headline_skill*/
#character .chara .profile dt:nth-of-type(1) {
	background-image: url(../images/chara_h_skill.png);

}

/*headline_bad*/
#character .chara .profile dt:nth-of-type(2) {
	background-image: url(../images/chara_h_bad.png);

}

/*headline_like*/
#character .chara .profile dt:nth-of-type(3) {
	background-image: url(../images/chara_h_like.png);

}

/*headline_hate*/
#character .chara .profile dt:nth-of-type(4) {
	background-image: url(../images/chara_h_hate.png);

}


/*chara_dd_common*/
#character .chara .profile dd {
	position: absolute;
	right: 0;
	width: 210px;
	height: 13px;
	margin: -27px 0 0 0;
	background-size: auto 15px;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 10px;
}


/*charasheet_common*/
#character .chara .profile .charasheet {
	width: 100%;
	height: 237px;
	border: 1px solid #000000;
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-position: center center;
}







/*
character_amida
*/
#character .amida {
	height: 985px;
}

#character .chara .amida .color_bar,
#character .chara .amida .spacer {
	background-color: #ffc800;
}



/*amida_img*/
#character .amida .img {
	background-image: url(../images/chara_amida_img1.png);
	background-size: 93px auto;
}

/*amida_symbol_icon*/
#character .amida .color_bar::after {
	right: -20px;
	bottom: 77px;
	background-image: url(../images/chara_amida_symbol_a.png);
	background-size: auto 35px;
}

#character .amida .color_bar::before {
	right: -20px;
	background-image: url(../images/chara_amida_symbol_b.png);
	background-size: auto 54px;
}


#character .amida .profile h3 {
	width: 104px;
	height: 33px;
	background-image: url(../images/chara_amida_h3.png);
	background-size: 104px auto;
}

#character .amida .profile small {
	width: 69px;
	height: 12px;
	background-image: url(../images/chara_amida_rubi.png);
}

#character .amida .profile p {
	height: 80px;
	background-image: url(../images/sp_chara_amida_text.png);
	background-size: 280px auto;
}

/*amida_dd_skill*/
#character .amida .profile dd:nth-of-type(1) {
	background-image: url(../images/chara_amida_skill_text.png);
}

/*amida_dd_bad*/
#character .amida .profile dd:nth-of-type(2) {
	background-image: url(../images/chara_amida_bad_text.png);
}

/*amida_dd_like*/
#character .amida .profile dd:nth-of-type(3) {
	background-image: url(../images/chara_amida_like_text.png);
}

/*amida_dd_hate*/
#character .amida .profile dd:nth-of-type(4) {
	background-image: url(../images/chara_amida_hate_text.png);
}



/*amida_charasheet*/
#character .amida .profile .charasheet {
	background-image: url(../images/chara_amida_charasheet.png);
	background-size: 287px auto;
}





/*
character_kirari
*/
#character .kirari {
	height: 985px;
	/*	background-color: cornflowerblue;*/
}

#character .chara .kirari .color_bar,
#character .chara .kirari .spacer {
	background-color: #ffff00;
}



/*kirari_img*/
#character .kirari .img {
	right: 0;
	background-image: url(../images/chara_kirari_img1.png);
	background-size: 111px auto;
}

/*kirari_symbol_icon*/


#character .kirari .spacer::after {
	right: -20px;
	background-image: url(../images/chara_kirari_symbol.png);
	background-size: auto 36px;
	/*	background-color: brown;*/

}


#character .kirari .profile h3 {
	position: relative;
	width: 103px;
	height: 33px;
	background-image: url(../images/chara_kirari_h3.png);
	background-size: 103px auto;
}

#character .kirari .profile small {
	width: 74px;
	height: 12px;
	background-image: url(../images/chara_kirari_rubi.png);
}

#character .kirari .profile p {
	height: 80px;
	background-image: url(../images/sp_chara_kirari_text.png);
	background-size: 280px auto;
}

/*kirari_dd_skill*/
#character .kirari .profile dd:nth-of-type(1) {
	background-image: url(../images/chara_kirari_skill_text.png);
}

/*kirari_dd_bad*/
#character .kirari .profile dd:nth-of-type(2) {
	background-image: url(../images/chara_kirari_bad_text.png);
}

/*kiari_dd_like*/
#character .kirari .profile dd:nth-of-type(3) {
	background-image: url(../images/chara_kirari_like_text.png);
}

/*kirari_dd_hate*/
#character .kirari .profile dd:nth-of-type(4) {
	background-image: url(../images/chara_kirari_hate_text.png);
}


/*kirari_charasheet*/
#character .kirari .profile .charasheet {
	background-image: url(../images/chara_kirari_charasheet.png);
	background-size: 275px auto;
}





/*
character_infinityx
*/
#character .infinityx {
	height: 890px;
}

#character .chara .infinityx .color_bar,
#character .chara .infinityx .spacer {
	background-color: #495a76;
}



/*infinityx_img*/
#character .infinityx .img {
	background-image: url(../images/chara_infinityx_img1.png);
	background-size: 90px auto;
	background-position: center 100px;
}

/*infinityx_symbol_icon*/
#character .infinityx .color_bar::after {
	right: -20px;
	background-image: url(../images/chara_infinityx_symbol.png);
	background-size: auto 38px;
}


#character .infinityx .profile h3 {
	position: relative;
	width: 112px;
	height: 33px;
	background-image: url(../images/chara_infinityx_h3.png);
}

#character .infinityx .profile small {
	width: 116px;
	height: 12px;
	background-image: url(../images/chara_infinityx_rubi.png);
}

#character .infinityx .profile p {
	height: 45px;
	margin: 0 0 40px 0;
	background-image: url(../images/sp_chara_infinityx_text.png);
	background-size: 221px auto;
}

/*infinityx_charasheet*/
#character .infinityx .profile .charasheet {
	background-image: url(../images/chara_infinityx_charasheet.png);
	background-size: 300px auto;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　character_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
glossary_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#glossary {
	position: relative;
	width: 100%;
	padding: 25px 0 50px 0;

	/*
	background-color: blue;
	opacity: 0.5;
*/

}

/*h2_black_border*/
#glossary::before {
	content: '';
	position: absolute;
	display: block;
	top: 38px;
	width: 100%;
	height: 5px;
	background-color: #000000;
}

#glossary h2 {
	position: relative;
	width: 200px;
	height: 30px;
	margin: 0 auto 40px auto;
	background-color: #000000;
	background-image: url(../images/glossary_h2.png);
	background-size: 61px auto;
	background-position: center center;
	background-repeat: no-repeat;
}

#glossary ul {
	position: relative;
	width: 90%;
	margin: 0 auto;
}

#glossary ul li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 0 0 15px 0;
}


/*glossary_img_common*/
#glossary ul li .ss {
	overflow: hidden;
	position: relative;
	width: 300px;
	box-sizing: border-box;
	height: 180px;
	margin: 20px 0 20px 0;
}

@media screen and (max-width:320px){
	#glossary ul li .ss{
		width: 100%;
	}
}

#glossary ul li .ss .inner {
	box-sizing: border-box;
	border: 1px solid #000000;
	background-position: center center;
	background-size: 300px auto;
}


#glossary ul li dl {
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#glossary ul li dt {
	width: 100%;
	height: 26px;
	margin: 0 0 20px 0;
	background-position: center center;
	background-repeat: no-repeat;
}

#glossary ul li dd {
	width: 100%;
	height: 26px;
	padding: 30px 0 30px 0;
	background-position: center center;
	background-repeat: no-repeat;
	border-top: 1px solid #000000;
	border-bottom: 6px solid #000000;
}


/*glossary_imagine*/
#glossary .imagine .ss .inner {
	background-image: url(../images/glossary_imagine_ss.png);
}

#glossary .imagine dt {
	background-image: url(../images/glossary_imagine_title.png);
	background-size: 126px auto;
}

#glossary .imagine dd {
	background-image: url(../images/sp_glossary_imagine_text.png);
	background-size: 154px auto;
}


/*glossary_infinity*/
#glossary .infinity .ss .inner {
	background-image: url(../images/glossary_infinity_ss.png);
}

#glossary .infinity dt {
	background-image: url(../images/glossary_infinity_title.png);
	background-size: 49px auto;
}

#glossary .infinity dd {
	background-image: url(../images/sp_glossary_infinity_text.png);
	background-size: 232px auto;
}


/*glossary_nightmare*/
#glossary .nightmare .ss .inner {
	background-image: url(../images/glossary_nightmare_ss.png);
	background-size: 110px auto;
}

#glossary .nightmare dt {
	background-image: url(../images/glossary_nightmare_title.png);
	background-size: 24px auto;
}

#glossary .nightmare dd {
	background-image: url(../images/sp_glossary_nightmare_text.png);
	background-size: 330px auto;
}


/*glossary_zetsubow*/
#glossary .zetsubow .ss .inner {
	background-image: url(../images/glossary_zetsubow_ss.png);
}

#glossary .zetsubow dt {
	background-image: url(../images/glossary_zetsubow_title.png);
	background-size: 36px auto;
}

#glossary .zetsubow dd {
	background-image: url(../images/sp_glossary_zetsubow_text.png);
	background-size: 236px auto;
}



/*glossary_kaiju*/
#glossary .kaiju .ss .inner {
	background-image: url(../images/glossary_kaiju_ss.png);
}

#glossary .kaiju dt {
	background-image: url(../images/glossary_kaiju_title.png);
	background-size: 24px auto;
}

#glossary .kaiju dd {
	background-image: url(../images/sp_glossary_kaiju_text.png);
	background-size: 330px auto;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　glossary_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
campaign_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#campaign {
	position: relative;
	width: 100%;
	height: 2177px;

	background-color: #ffef3f;
	/*
	background-color: aqua;
	opacity: 0.5;
*/

}

#campaign .border span {
	position: relative;
	display: block;
	width: 100%;
	background-color: #000000;
	margin: 0 0 5px 0;
}

#campaign .border span:nth-of-type(1) {
	height: 175px;
}

#campaign .border span:nth-of-type(2) {
	height: 35px;
}

#campaign .border span:nth-of-type(3) {
	height: 15px;
}

#campaign .border span:nth-of-type(4) {
	height: 5px;
	margin: 0;
}

#campaign .border span:nth-of-type(4)::after {
	content: '';
	position: absolute;
	display: block;
	top: 5px;
	left: 50%;
	width: 71px;
	height: 36px;
	margin: 0 0 0 -36px;
	background-image: url(../images/campaign_border_arrow.png);
	background-size: 71px auto;
	background-repeat: no-repeat;
	background-position: top center;
}

#campaign .camp1 {
	position: relative;
	padding: 103px 0 0 0;
	/*	background-color: fuchsia;*/
}

#campaign .camp1 h2 {
	position: relative;
	width: 181px;
	height: 39.5px;
	margin: 0 auto 28px auto;
	background-image: url(../images/campaign_camp1_h2.png);
	background-size: 181px auto;
}

#campaign .camp1 h2::before {
	content: '';
	position: absolute;
	top: -35px;
	left: 50%;
	width: 18px;
	height: 8px;
	margin: 0 0 0 -10px;
	background-image: url(../images/campaign_head_icon_a.png);
	background-size: 18px auto;
}

#campaign .camp1 h2::after {
	content: '';
	position: absolute;
	top: -50px;
	left: 50%;
	width: 31px;
	height: 35px;
	margin: 0 0 0 -16px;
	background-image: url(../images/campaign_head_icon_b.png);
	background-size: 31px auto;
}

#campaign .camp1 > small {
	position: relative;
	display: block;
	width: 210px;
	height: 7px;
	margin: 0 auto 44px auto;
	border-left: 1px solid #000000;
	border-right: 1px solid #000000;
	background-image: url(../images/campaign_camp1_h2_small.png);
	background-size: 174px auto;
	background-repeat: no-repeat;
	background-position: center center;
}


#campaign .camp1 h3 {
	position: relative;
	width: 329px;
	height: 17px;
	margin: 0 auto 60px auto;
	background-image: url(../images/sp_campaign_camp1_h3_1.png);
}

@media screen and (max-width:340px) {
	#campaign .camp1 h3 {
		width: 320px;
		transform: scale(0.9);
		background-size: 320px;
	}
}

#campaign .camp1 h3 span {
	position: absolute;
	display: block;
	top: 30px;
	width: 183px;
	height: 18px;
	margin: 0 0 0 77px;
	background-image: url(../images/sp_campaign_camp1_h3_2.png);
}

#campaign .camp1 .kv {
	position: relative;
	width: 100%;
	height: 255px;
	margin: 0 auto;
	background-image: url(../images/campaign_camp1_kv.png);
	background-size: auto 300px;
	background-position: center center;
}

/*h4_common*/
#campaign .camp1 h4 {
	position: relative;
	width: 130px;
	height: 40px;
	text-indent: -9999px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 10px;
}

#campaign .camp1 .date {
	padding: 0 0 50px 0;
	/*	background-color: forestgreen;*/
}

#campaign .camp1 .date h4 {
	margin: -20px auto 22px auto;
	background-color: #000000;
	background-image: url(../images/campaign_camp1_date_h4.png);
}

#campaign .camp1 .date p {
	position: relative;
	width: 326px;
	height: 14px;
	margin: 0 auto;
	background-image: url(../images/sp_campaign_camp1_date_text.png);
	background-size: 326px auto;
}

@media screen and (max-width:340px) {
	#campaign .camp1 .date p {
		width: 320px;
		transform: scale(0.9);
		background-size: 320px auto;
	}
}

#campaign .camp1 .overview {
	/*	background-color: firebrick;*/
	padding: 0 0 90px 0;
}

/*overview_p_common*/
#campaign .camp1 .overview p {
	position: relative;
}

#campaign .camp1 .overview p:nth-of-type(1) {
	width: 271px;
	height: 17px;
	margin: 0 auto 15px auto;
	background-image: url(../images/campaign_camp1_overview_strong.png);
	background-size: 271px auto;
}

#campaign .camp1 .overview p:nth-of-type(2) {
	position: relative;
	width: 325px;
	height: 11px;
	margin: 0 auto;
	background-image: url(../images/sp_campaign_camp1_overview_p1.png);
	background-size: 325px;
}

@media screen and (max-width:340px) {
	#campaign .camp1 .overview p:nth-of-type(2) {
		transform: scale(0.9);
		width: 320px;
		background-size: 320px auto;
	}
}

#campaign .camp1 .overview p span {
	position: absolute;
	display: block;
	left: 50%;
	width: 334px;
	height: 12px;
	margin: 0 0 0 -167px;
	background-image: url(../images/sp_campaign_camp1_overview_p2.png);
	background-size: 334px auto;
}


#campaign .camp1 .howto {
	position: absolute;
	width: 375px;
	height: 1100px;
	left: 50%;
	margin: 0 0 0 -188px;
}

#campaign .camp1 .howto h4 {
	border: 1px solid #000000;
	margin: 0px auto 34px auto;
	background-image: url(../images/campaign_camp1_howto_h4.png);
}

#campaign .camp1 .howto ol {
	position: relative;
	margin: 0 auto;
	/*	background-color: deeppink;*/
}

/*howto_headline_common*/
#campaign .camp1 .howto ol li .hl {
	position: relative;
	width: 100%;
	padding: 17px 0 17px 0;
	text-align: center;
	background-color: #000000;
	background-position: center center;
}

/*howto_text_box*/
#campaign .camp1 .howto ol li > div {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 0 8px 0;
	border: 1px solid #000000;
}

/*howto_btn_common*/
#campaign .camp1 .howto ol .btn {
	position: relative;
	display: block;
	width: 240px;
	height: 40px;
	margin: 0 auto;
	border-radius: 40px;
	background-position: center center;
}

/*howto_step_common*/
#campaign .camp1 .howto .hl span {
	position: absolute;
	display: inline-block;
	top: -10px;
	left: 50%;
	width: 57px;
	height: 19px;
	margin: 0 0 0 -29px;
	background-color: #0042ff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 8px;
}

/*
step1
*/
/*step1_text*/
#campaign .camp1 .howto ol li.step1 .hl {
	height: 10px;
	background-image: url(../images/campaign_camp1_howto_step1_text.png);
	background-size: 197px auto;
}

#campaign .camp1 .howto ol li.step1 span {
	background-image: url(../images/campaign_camp1_step1.png);
}


/*
step2
*/
/*step2_text*/
#campaign .camp1 .howto ol li.step2 .hl {
	height: 28px;
	background-image: url(../images/campaign_camp1_howto_step2_text.png);
	background-size: 262px auto;
}

/*step2_btn*/
#campaign .camp1 .howto ol li.step2 .btn {
	background-image: url(../images/campaign_camp1_btn_fb.png);
	background-size: 111px auto;
	background-color: #1877f2;
}

#campaign .camp1 .howto ol li.step2 span {
	background-image: url(../images/campaign_camp1_step2.png);

}


/*
step3
*/
/*step3_text*/
#campaign .camp1 .howto ol li.step3 .hl {
	height: 28px;
	background-image: url(../images/campaign_camp1_howto_step3_text.png);
	background-size: 240px auto;
}

/*step3_btn*/
#campaign .camp1 .howto ol li.step3 .btn {
	background-image: url(../images/campaign_camp1_btn_google.png);
	background-size: 121px auto;


}

/*btn_color*/
#campaign .camp1 .howto ol li.step3 > div p:nth-of-type(1) {
	background-color: #b3b3b3;
}

/*active_btn_color*/
#campaign .camp1 .howto ol li.step3 > div p:nth-of-type(2) a {
	background-color: #34a853;
}


#campaign .camp1 .howto ol li.step3 > div p:nth-of-type(2) {
	display: none;
}



/*active*/
#campaign .camp1 .howto ol li.step3 > div.active p:nth-of-type(1) {
	display: none;
}

#campaign .camp1 .howto ol li.step3 > div.active p:nth-of-type(2) {
	display: block;
}


#campaign .camp1 .howto ol li.step3 span {
	background-image: url(../images/campaign_camp1_step3.png);
}



/*
step4
*/
/*step4_text*/
#campaign .camp1 .howto ol li.step4 .hl {
	height: aapx;
	background-image: url(../images/campaign_camp1_howto_step4_text.png);
	background-size: 99px auto;
}

#campaign .camp1 .howto ol li.step4 span {
	background-image: url(../images/campaign_camp1_step4.png);
}

#campaign .camp1 .howto ol li.step4 div h5 {
	position: relative;
	width: 48px;
	height: 54px;
	margin: 20px auto 15px auto;
	background-image: url(../images/campaign_camp1_step4_itemtitle.png);
	background-size: 48px auto;
}

#campaign .camp1 .howto ol li.step4 div p {
	position: relative;
	width: 242px;
	height: 32px;
	margin: 0 auto 20px auto;
	background-image: url(../images/campaign_camp1_step4_item_name.png);
}

#campaign .camp1 .howto ol li.step4 .prize {
	position: relative;
	width: 100%;
	background-color: #ffca57;
	background-image: url(../images/campaign_camp1_step4_sitem_pattern.png);
	background-repeat: repeat;
	background-size: 50px auto;
}

#campaign .camp1 .howto ol li.step4 .prize .item {
	position: relative;
	width: 290px;
	height: 260px;
	margin: 0 auto 10px auto;
	background-color: #f2f2f2;
	background-image: url(../images/campaign_camp1_step4_item_img.png);
	background-size: 119px auto;
	background-position: center 40px;
}

#campaign .camp1 .howto ol li.step4 .prize small {
	position: absolute;
	display: block;
	width: 100px;
	height: 7px;
	bottom: 20px;
	left: 50%;
	margin: 0 0 0 -50px;
	background-image: url(../images/campaign_camp1_step4_item_small.png);
	background-size: 100px auto;
}

#campaign .camp1 .howto ol li.step4 div > small {
	position: relative;
	display: block;
	width: 235px;
	height: 8px;
	margin: 0 auto 5px auto;
	text-indent: -9999px;
	background-image: url(../images/campaign_camp1_step4_small.png);
	background-size: 235px auto;
}







/*howto_list_arrow*/
#campaign .camp1 .howto ol li::after {
	content: '';
	position: relative;
	display: block;
	width: 29px;
	height: 15px;
	padding: 20px 0 30px 0;
	margin: 0 auto;
	background-image: url(../images/flow_arrow.png);
	background-size: 29px auto;
	background-repeat: no-repeat;
	background-position: center center;
}

#campaign .camp1 .howto ol li:last-of-type::after {
	display: none;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　   　　　campaign_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
end_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#end {
	position: relative;
	width: 100%;
	height: 460px;
	margin: -30px 0 0 0;
	background-image: url(../images/end_bg.png);
	background-size: 550px auto;
	background-position: center bottom;
	background-repeat: no-repeat;
	/*
	background-color: forestgreen;
	opacity: 0.5;
*/
}

#end a {
	position: absolute;
	display: block;
	top: 80px;
	left: 50%;
	width: 68px;
	height: 45px;
	margin: 0 0 0 -34px;
	background-image: url(../images/end_btn_back.png);
	background-size: auto 10px;
	background-position: center bottom;
	background-repeat: no-repeat;
}

#end a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 29px;
	height: 14px;
	margin: 0 0 0 -14px;
	background-image: url(../images/end_btn_arrow.png);
	background-size: 29px auto;
	background-position: center center;

}


#end ul {
	position: absolute;
	display: flex;
	justify-content: space-between;
	align-items: center;
	top: 213px;
	left: 50%;
	width: 252px;
	height: 21px;
	margin: 0 0 0 -126px;
}

#end ul li:nth-of-type(1) {
	width: 81px;
	height: 21px;
	background-image: url(../images/end_logo_ms.png);
	background-size: 81px auto;
}

#end ul li:nth-of-type(2) {
	width: 78px;
	height: 20px;
	background-image: url(../images/end_logo_mh.png);
	background-size: 78px auto;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　   end_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
share_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
footer#global #share {
	position: relative;
	width: 100%;
	padding: 60px 0 20px 0;

	/*
	background-color: fuchsia;
	opacity: 0.5;
*/

}

footer#global #share h3 {
	position: relative;
	width: 69px;
	height: 10px;
	margin: 0 auto 20px auto;
	text-indent: -9999px;
	background-image: url(../images/share_title.png);
	background-size: 69px auto;
}

footer#global #share ul {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100px;
	height: 43px;
	margin: 0 auto;
}

footer#global #share ul a {
	display: block;
	text-indent: -9999px;
}

footer#global #share ul .facebook {
	width: 43px;
	height: 43px;
	background-image: url(../images/icon_sns_facebook.png);
	background-size: 43px auto;
}

footer#global #share ul .line {
	width: 40px;
	height: 40px;
	background-image: url(../images/icon_sns_line.png);
	background-size: 40px auto;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 share_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
footer_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
footer#global {}

footer#global .link {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 11px;
	height: 1em;
	color: #000000;
	padding: 45px 0 25px 0;
}

footer#global .link a {
	text-decoration: none;
	letter-spacing: 0.2em;

}

a:link,
a:visited,
a:hover,
a:active {
	color: #000000;
}

footer#global .link a::after {
	content: '|';
	display: inline-block;
	margin: 0 10px 0 10px;
}

footer#global .link li:last-of-type a::after {
	display: none;
}

footer#global .licence {
	position: relative;
	width: 100%;
	padding: 25px 0 25px 0;
	text-align: center;
}

footer#global .licence a {
	position: relative;
	display: block;
	text-indent: -9999px;
	width: 71px;
	height: 82px;
	margin: 0 auto 15px auto;
	background-image: url(../images/promotion_logo_xflag.png);
	background-size: 71px auto;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　footer_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/






/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
animation_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*section_animation*/
/* #kv, */
#info,
#story,
#shortfilm,
#character,
#character .amida,
#character .kirari,
#character .infinityx,
#glossary,
#glossary .imagine,
#glossary .infinity,
#glossary .nightmare,
#glossary .zetsubow,
#glossary .kaiju,
#campaign,
#campaign .camp1,
#campaign .camp1 .howto,
#end,
#global {
	transition: all 0.5s ease-out;
	opacity: 0;
	transform: translateY(30px);
}

/* #kv.active, */
#info.active,
#story.active,
#shortfilm.active,
#character.active,
#character.active .amida.active,
#character.active .kirari.active,
#character.active .infinityx.active,
#glossary.active,
#glossary.active .imagine.active,
#glossary.active .infinity.active,
#glossary.active .nightmare.active,
#glossary.active .zetsubow.active,
#glossary.active .kaiju.active,
#campaign.active,
#campaign.active .camp1.active,
#campaign.active .camp1.active .howto.active,
#end.active,
#global.active {
	opacity: 1;
	transform: translateY(0);
}


/*animation_common*/
@keyframes kvSlideIn {
	0% {
		transform: translateY(30px);
	}

	100% {
		transform: translateY(0px);
	}
}



@keyframes maskIn {
	0% {
		transform: translateY(100%);
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes maskOut {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	99% {
		opacity: 1;
		transform: translateY(-100%);
	}
	100% {
		opacity: 0;
		transform: translateY(-100%);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translateY(50px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes popUp {
	0% {
		transform: scale(0);
		opacity: 0;
	}

	90% {
		transform: scale(1.12);
		opacity: 1;
	}

	100% {
		transform: scale(1);
	}
}

@keyframes infoSlideIn {
	0% {
		opacity: 0;
		transform: translate(50px, -50px);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

@keyframes opacity {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}



/*mask_common*/
.inner {
	display: block;
	width: inherit;
	height: inherit;
}

.cover {
	overflow: hidden;
}

.inner::before {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
}

/*KV*/
/*logo_common_animation*/
#kv.active li.cover {
	animation: kvSlideIn 0.4s ease 0.4s both;
}

#kv.active li .inner {
	bottom: 0;
	left: 0;
	animation: maskIn 0.4s ease-out 0.4s backwards;
}

#kv.active li .inner::before {
	background-color: #ffffff;
	bottom: 0;
	left: 0;
	animation: maskOut 0.3s ease-out 0.8s forwards;
}




/*info*/
#info.active > p:nth-of-type(1) .cover {
	animation: kvSlideIn 0.4s ease both;
}

#info.active > p:nth-of-type(1) .cover .inner {
	bottom: 0;
	left: 0;
	animation: maskIn 0.4s ease-out backwards;

}

#info.active > p:nth-of-type(1) .cover .inner::before {
	background-color: #000000;
	bottom: 0;
	left: 0;
	animation: maskOut 0.3s ease-out 0.4s forwards;
}

/*infinity_mark*/
#info.active div.infinity {
	animation: fadeIn 0.3s ease-out 0.5s both;
}

/*play_button*/
#info.active div.infinity a {
	animation: popUp 0.3s ease-out 0.7s both;
}


#info.active h2.news_h2,
#info.active p.news_text,
#info .wrap_rightElement::before {
	animation: infoSlideIn 0.3s ease-out 0.9s both;
}





/*story*/
#story.active .ss .cover {
	animation: kvSlideIn 0.4s ease 0.2s both;
}

#story.active .ss .cover .inner {
	bottom: 0;
	left: 0;
	animation: maskIn 0.4s ease-out 0.2s backwards;

}

#story.active .ss .cover .inner::before {
	background-color: #000000;
	animation: maskOut 0.3s ease-out 0.6s forwards;
}


/*character*/
#character.active .amida.active .img,
#character.active .kirari.active .img,
#character.active .infinityx.active .img {
	animation: opacity 0.5s ease-out 0.3s backwards;
}


/*glossary*/
#glossary.active li.active .ss.cover {
	animation: kvSlideIn 0.4s ease 0.2s both;
}

#glossary.active li.active .ss.cover .inner {
	bottom: 0;
	left: 0;
	animation: maskIn 0.4s ease-out 0.2s backwards;

}

#glossary.active li.active .ss.cover .inner::before {
	background-color: #000000;
	animation: maskOut 0.3s ease-out 0.6s forwards;
}



/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　animation_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
