@charset "utf-8";

/*
******************************************************************
* MJP index.css
******************************************************************
*/
#loading{
	background: #282828;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1170px;
	min-height: 100%;
	z-index: 9999;
	-webkit-transition: all 1.0s ease-in-out;
	transition: all 1.0s ease-in-out;
}
#loading.started {
	opacity: 0;
}
#loading .loading-img_load_01 {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 147px;
	height: 23px;
	z-index: 1;
	-webkit-animation-name: loading_txt-anime;
	animation-name: loading_txt-anime;
	-webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
#loading .loading-img_load_02 {
	opacity: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	margin-top: auto;
	margin-bottom: auto;
	margin-left: -50%;
	min-width: 100%;
	min-height: 100%;
	z-index: 0;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
#loading .loading-img_load_02 img {
	min-width: 100%;
	min-height: 100%;
}
#loading.finished .loading-img_load_02 {
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
#loading.start .loading-img_load_01 {
	display: none;
}
#loading.start .loading-img_load_02 {
	-webkit-transform: scale(3.0);
	transform: scale(3.0);
}

@keyframes loading_txt-anime {
	0% {
		opacity: 0;
	}
  50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
  }
}

/*
******************************************************************
* wrp-all
******************************************************************
*/
#wrp-all{
	background-color:#000;
	overflow: hidden;
	min-width: 1170px;
}

/*
******************************************************************
* #contents
******************************************************************/
.logo-bisty {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 105px;
	height: 45px;
	z-index: 999;
	opacity: 0;
	-webkit-transition: all 1.4s ease;
	transition: all 1.4s ease;
	-webkit-transition-delay: 3.7s;
	transition-delay: 3.7s;
}
.logo-fields {
	position: absolute;
	top: 5px;
	right: 20px;
	width: 145px;
	height: 57px;
	z-index: 999;
	opacity: 0;
	-webkit-transition: all 1.4s ease;
	transition: all 1.4s ease;
	-webkit-transition-delay: 3.7s;
	transition-delay: 3.7s;
}
.logo-fields a:hover,
.logo-bisty a:hover{
	opacity: 0.8;
}

.sns_btn {
	position: absolute;
	top: 20px;
	right: 190px;
	z-index: 999;
	opacity: 0;
	-webkit-transition: all 1.4s ease;
	transition: all 1.4s ease;
	-webkit-transition-delay: 3.7s;
	transition-delay: 3.7s;
}
.sns_btn li {
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
}

body.show #contents .main .logo-bisty,
body.show #contents .main .logo-fields,
body.show #contents .main .sns_btn {
	opacity: 1;
}
body.show.retreat #contents .main .logo-bisty,
body.show.retreat #contents .main .logo-fields,
body.show.retreat #contents .main .sns_btn {
	opacity: 0;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
body.show.comeback #contents .main .logo-bisty,
body.show.comeback #contents .main .logo-fields,
body.show.comeback #contents .main .sns_btn {
	opacity: 1;
	-webkit-transition: all 0.8s ease;
	transition: all 0.8s ease;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

#contents {
	position: relative;
	padding-bottom: 200px;
	z-index: 2;
}
.main {
	position: fixed;
	top: 0;
	left: 0;
	padding-top: 74px;
	width: 100%;
	height: 100%;
	min-height: 810px;
	box-sizing: border-box;
	z-index: 0;
}
.chara {
	opacity: 0;
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
	-webkit-transition-delay: 1.8s;
	transition-delay: 1.8s;
}
.bg_img01 {
	opacity: 0;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.bg_img02,
.bg_img03 {
	opacity: 0;
	-webkit-transition: all 0.8s ease-out;
	transition: all 0.8s ease-out;
}
.txt01,
.txt02 {
	opacity: 0;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition-delay: 2.2s;
	transition-delay: 2.2s;
}
.txt02 {
	-webkit-transition-delay: 2.4s;
	transition-delay: 2.4s;
}

body.show .bg_img01 {
	opacity: 1;
	-webkit-animation: bg-anime 0.2s ease-in-out 3.0s forwards;
	animation: bg-anime 0.2s ease-in-out 3.0s forwards;
	-webkit-animation-iteration-count: 2;
	animation-iteration-count: 2;
	-webkit-transition-delay: 2.9s;
	transition-delay: 2.9s;
}
@keyframes bg-anime {
	0% {
		top: -3px;
		left: 2px;
	}
	20% {
		top: -5px;
		left: -2px;
	}
	40% {
		top: -10px;
		left: 1px;
	}
	60% {
		top: 3px;
		left: -7px;
	}
	80% {
		top: -4px;
		left: 3px;
	}
	100% {
		top: 0;
		left: 0;
	}
}
body.show .bg_img02 {
	opacity: 1;
	-webkit-transition-delay: 0.8s;
	transition-delay: 0.8s;
}
body.show .bg_img03 {
	opacity: 1;
}
body.show .chara {
	opacity: 1;
	-webkit-transition: all 0.8s ease-in-out;
	transition: all 0.8s ease-in-out;
	-webkit-transition-delay: 1.2s;
	transition-delay: 1.2s;
}
body.show .txt01,
body.show .txt02 {
	opacity: 1;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	-webkit-transition-delay: 2.1s;
	transition-delay: 2.1s;
}
body.show .txt02 {
	-webkit-transition-delay: 2.5s;
	transition-delay: 2.5s;
}

body.start .chara,
body.start .txt01,
body.start .txt02 {
	-webkit-transform: scale(1.0);
	transform: scale(1.0);
}
body.show.retreat .bg_img01 {
	position: absolute;
	-webkit-animation: bg-anime02 0.2s ease-in-out 0.9s forwards, bg-anime 0s ease-in-out 0s;
	animation: bg-anime02 0.2s ease-in-out 0.9s forwards, bg-anime 0s ease-in-out 0s;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-transform: scale(0.6) translate(0, -400px);
	transform: scale(0.6) translate(0, -400px);
	-webkit-transition-delay: 1.4s;
	transition-delay: 1.4s;
}
@keyframes bg-anime02 {
	0% {
		top: -3px;
		left: 2px;
	}
	20% {
		top: -5px;
		left: -2px;
	}
	40% {
		top: -10px;
		left: 1px;
	}
	60% {
		top: 3px;
		left: -7px;
	}
	80% {
		top: -4px;
		left: 3px;
	}
	100% {
		top: 0;
		left: 0;
	}
}
body.show.retreat .bg_img02 {
	opacity: 0;
	-webkit-transform: scale(0.6) translate(0, -300px);
	transform: scale(0.6) translate(0, -300px);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
body.show.retreat .bg_img03 {
	opacity: 0;
	-webkit-transform: scale(0.6) translate(0, -400px);
	transform: scale(0.6) translate(0, -400px);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
body.show.retreat .chara {
	opacity: 0;
	-webkit-transform: scale(0.4) translate(-200px, -700px);
	transform: scale(0.4) translate(-200px, -700px);
	-webkit-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
body.show.retreat .txt01 {
	opacity: 0;
	-webkit-transform: scale(0.4) translate(-600px, -400px);
	transform: scale(0.4) translate(-600px, -400px);
	-webkit-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
body.show.retreat .txt02 {
	-webkit-transform: scale(0.4) translate(300px, -670px);
	transform: scale(0.4) translate(300px, -670px);
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}
body.show.comeback .bg_img01,
body.show.comeback .bg_img02,
body.show.comeback .bg_img03,
body.show.comeback .bg_txt,
body.show.comeback .chara,
body.show.comeback .txt01,
body.show.comeback .txt02 {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	-webkit-transition: all 0.8s ease;
	transition: all 0.8s ease;
}

.main02 {
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1170px;
	min-height: 100%;
	z-index: 0;
	-webkit-transform: scale(2.0);
	transform: scale(2.0);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-transition-delay: 1.1s;
	transition-delay: 1.1s;
}
.main02 img {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	top: 0;
	left: 50%;
	margin-left: -50%;
	z-index: 0;
}
body.show.retreat .main02 {
	opacity: 1;
	-webkit-transform: scale(1.0);
	transform: scale(1.0);
}
body.show.comeback .main02 {
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}

#contents .content01,
#contents .content02,
#contents .content03{
	position:relative;
}

#contents .main > *{
	position: absolute;
}
#contents .main h1 {
	opacity: 0;
	z-index: 100;
	left: 50%;
	margin-left: -488px;
	top: 30px;
	-webkit-transition: all 1.4s ease;
	transition: all 1.4s ease;
	-webkit-transition-delay: 3.7s;
	transition-delay: 3.7s;
}
body.show #contents .main h1 {
	opacity: 1;
}
body.show.comeback #contents .main h1 {
	opacity: 1;
	-webkit-transition: all 0.8s ease;
	transition: all 0.8s ease;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
}
body.show.retreat #contents .main h1 {
	opacity: 0;
	-webkit-transform: scale(0.6) translate(300px, -50px);
	transform: scale(0.6) translate(300px, -50px);
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
#contents .main h2 {
	left: 50%;
	z-index: 150;
	top: 645px;
	margin-left: -299px;
}
#contents .main .chara {
	left: 50%;
	top: 1%;
	margin-left: -200px;
	height: 100%;
	z-index: 10;
}
#contents .main .chara img {
	height: 100%;
}
#contents .main .bg_img01 {
	width: 100%;
	height: 100%;
	background-color: #000000;
	z-index: 1;
	top: 0;
	left: 0;
}
#contents .main .bg_img01 img {
	width: 100%;
}
#contents .main .bg_img02 {
	width: 780px;
	z-index: 2;
	left: 50%;
	top: 0;
	margin-left: -390px;
}
#contents .main .bg_img02 img{
	width: 100%;
}
#contents .main .bg_img03 {
	z-index: 3;
	top: 440px;
	left: 0;
	width: 100%;
}
#contents .main .bg_img03 img {
	width: 100%;
}

#contents .main .txt01 {
	left: 50%;
	margin-left: 280px;
	z-index: 11;
	top: 80px;
}
#contents .main .txt02 {
	left: 50%;
	margin-left: -520px;
	z-index: 11;
	top: 360px;
}

#contentsWrap{
	margin-top: 70%;
}
#contents .content01 {
	width: 120%;
	margin-top: 14%;
	margin-left: -10%;
	transform: rotate(-6deg) translate(600px, -30px);
}
#contents .content01.animated {
	transform: rotate(-3.3deg) translate(0, 0);
}
#contents .content01 .inner {
	background-color: #000;
	opacity:0.85;
	transform: rotate(0deg);
	position: relative;
	z-index: 100;
	width: 200%;
	height: 1004px;
	overflow: hidden;
}
#contents .content01 .inner > *{
	transform: rotate(1.9deg);
}
#contents .content01 .inner_02 {
	position: relative;
	top: 0;
	left: 25%;
	width: 1000px;
	height: 516px;
	margin-left: -500px;
	transform: rotate(3.3deg);
}
#contents .content01 .content_img_01 {
	position: absolute;
	top: -100px;
	left: 50%;
	margin-left: -508px;
	z-index: 111;
	transform: rotate(3.3deg);
}
#contents .content01 .content_img_02 {
	position: absolute;
	top: 260px;
	left: 50%;
	margin-left: -342px;
	z-index: 111;
	transform: rotate(3.3deg);
}
#contents .content01 .content_img_03 {
	position: absolute;
	top: 410px;
	left: 50%;
	margin-left: -453px;
	z-index: 111;
	transform: rotate(3.3deg);
}
#contents .content01 .content_img_04 {
	position: absolute;
	top: 120px;
	right: 50%;
	margin-right: 145px;
	z-index: 110;
	transform: rotate(3.3deg);
}

#contents .content02 {
	width: 120%;
	margin-top: 1%;
	margin-left: -10%;
	transform: rotate(-6deg) translate(600px, -30px);
	overflow: hidden;
	height: 700px;
}
#contents .content02.animated {
	transform: rotate(-3.3deg) translate(0, 0);
}
#contents .content02 .inner {
	background-color: #012405;
	opacity:0.85;
	transform: rotate(0deg);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 100;
	width: 200%;
	height: 700px;
	overflow: hidden;
}
#contents .content02 .inner > *{
	transform: rotate(1.9deg);
}
#contents .content02 .inner_02 {
	position: absolute;
	top: 0;
	right: 25%;
	width: 1000px;
	height: 700px;
	margin-right: -500px;
	transform: rotate(7.7deg);
}
#contents .content02 .content_img {
	position: absolute;
	top: 90px;
	left: 50%;
	margin-left: -497px;
	z-index: 111;
	transform: rotate(3.3deg);
}

#contents .content03 {
	width: 120%;
	margin-top: 1%;
	margin-left: -10%;
	transform: rotate(-6deg) translate(600px, -30px);
}
#contents .content03.animated {
	transform: rotate(-3.3deg) translate(0, 0);
}
#contents .content03 .inner {
	background-color: #531727;
	opacity:0.85;
	transform: rotate(0deg);
	position: relative;
	z-index: 100;
	width: 200%;
	height: 760px;
	overflow: hidden;
}
#contents .content03 .inner > *{
	transform: rotate(1.9deg);
}
#contents .content03 .inner_02 {
	position: relative;
	top: 90px;
	left: 25%;
	width: 1000px;
	height: 516px;
	margin-left: -500px;
	transform: rotate(0deg);
}
#contents .content03 .content_img {
	position: absolute;
	top: 90px;
	left: 50%;
	margin-left: -488px;
	z-index: 111;
	transform: rotate(3.3deg);
}
#contents .content01 .content_img,
#contents .content02 .content_img,
#contents .content03 .content_img {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}
#contents .content01.animated .content_img,
#contents .content02.animated .content_img,
#contents .content03.animated .content_img {
	opacity: 1;
}
#contents .next_btn a{
	top:11%;
}

.next_btn {
	text-align: center;
	margin-top: 100px;
}
.next_btn a:hover {
	opacity: 0.8;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}

/*
******************************************************************
* #footer
******************************************************************/
#footer{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	z-index: 3;
}
#footer .box-copy{
	display: inline-block;
	vertical-align: middle;
	float: right;
}
#footer .box-copy li {
	font-size: 10px;
	color: #fff;
	text-shadow: 2px 2px 1px #000,
               -2px 2px 1px #000,
               2px -2px 1px #000,
               -2px -2px 1px #000;
}
#footer .inner {
	width: 1000px;
	margin: 0 auto;
	text-align: left;
	overflow: hidden
}


/*
******************************************************************
* utility
******************************************************************/

/* 要素アクション */
*[data-sf] {
	opacity: 0;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}
*.animated[data-sf="toggle"] {
	opacity: 1;
}

*[data-sf="slide-top"] {
	-webkit-transform: translate(0, 100px);
	transform: translate(0, 100px);
}
*[data-sf="slide-left"] {
	-webkit-transform: translate(-300px, 0);
	transform: translate(-300px, 0);
}
*[data-sf="slide-right"] {
	-webkit-transform: translate(300px, 0);
	transform: translate(300px, 0);
}
*.animated[data-sf="slide-top"],
*.animated[data-sf="slide-left"],
*.animated[data-sf="slide-right"] {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	opacity: 1;
}