@charset "utf-8";

/*
******************************************************************
* 新世紀エヴァンゲリオン ～シト、新生～ premiummodel.css
******************************************************************
*/

body {
	position: relative;
	background: #000;
}


/*
******************************************************************
* #contents
******************************************************************/
#contents {
	overflow: hidden;
	width: 1366px;
	margin: 0 auto;
	background: #000;
}


/*
******************************************************************
* .menu-area
******************************************************************/
.menu-btn {
	display: block;
	position: fixed;
	top: 45px;
	right: 45px;
	z-index: 100;
	width: 36px;
	height: 27px;
	background: transparent;
	cursor: pointer;
}
.menu-btn i {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background-color: #fff;
	transition: all 0.3s ease 0s;
}
.menu-btn i:nth-child(1) {
	top: 0;
}
.menu-btn i:nth-child(2) {
	top: 13px;
}
.menu-btn i:nth-child(3) {
	top: 24px;
}
.js-nav-op .menu-btn i:nth-child(1) {
	top: 4px;
	transform: translate(0px, 4px) rotate(135deg);
}
.js-nav-op .menu-btn i:nth-child(2) {
	transform: scale(0);
}
.js-nav-op .menu-btn i:nth-child(3) {
	top: 12px;
	transform: translate(0px, -4px) rotate(-135deg);
}
.menu-area {
	display: none;
	overflow: auto;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	padding: 121px 43px;
	background-color: rgba(0,0,0,0.7);
	text-align: right;
	box-sizing: border-box;
}
.menu-area li + li {
	margin-top: 45px;
}
.menu-area li[data-sf="slide-left"] {
	transform: translate(-80px, 0);
}
.js-nav-action .menu-area li {
	opacity: 1;
	transform: translate(0, 0);
}
.menu-area li a {
	display: inline-block;
}


/*
******************************************************************
* .header-area
******************************************************************/
.header-area {
	position: relative;
	z-index: 10;
	width: 100%;
}
.header-area:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 200px;
	background: -webkit-linear-gradient(top, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
}
.header-area .logo-ttl {
	position: absolute;
	top: 24px;
	left: 50%;
	transform: translate(-50%,0);
}
.header-area .logo-list li {
	position: absolute;
	top: 7px;
	left: 184px;
}


/*
******************************************************************
* 共通
******************************************************************/
/*** bg-blur ***/
.bg-blur:before,
.bg-blur:after {
	display: block;
	position: absolute;
	top: 0;
	z-index: 2;
	width: 250px;
	height: 100%;
	background: -webkit-linear-gradient(left, rgba(0,0,0,1) 19%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to right, rgba(0,0,0,1) 19%,rgba(0,0,0,0) 100%);
	content: '';
}
.bg-blur:before {
	left: 0;
	transform: translateX(-20%);
}
.bg-blur:after {
	right: 0;
	transform: scale(-1, 1) translateX(-20%);
}
/*** ttl-border ***/
.ttl-border {
	display: block;
	position: relative;
	width: 467px;
	height: 1px;
	margin: 0 auto;
	background: url(../img/border_ttl.png) no-repeat top center;
}


/*
******************************************************************
* .main-area
******************************************************************/
.main-area {
	position: relative;
	overflow: hidden;
	z-index: 1;
	height: 100vh;
	margin-bottom: 145px;
}
.device-sp .main-area {
	height: 942px;
}
.main-bg {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: url(../img/main_bg.jpg) no-repeat center center;
	background-size: cover;
	transform: translate(-50%,-50%);
}
.main-bg-light {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin-top: 55px;
	background: url(../img/main_light.png) no-repeat center center;
	transform: translate(-50%,-50%);
}
.main-chara {
	position: absolute;
	z-index: 3;
}
.main-chara01 {
	bottom: 0;
	left: 50%;
	margin-left: -345px;
}
.main-chara02 {
	bottom: 0;
	right: 50%;
	margin-right: -540px;
}
@media screen and (max-height: 840px) {
.main-chara01 {
	bottom: auto;
	top: 16.19047619047619%;
}
.main-chara02 {
	bottom: auto;
	top: 18.33333333333333%;
}
}
.main-eva {
	position: absolute;
	z-index: 1;
}
.main-eva01 {
	bottom: 36%;
	left: 50%;
	margin-left: -610px;
}
.main-eva02 {
	bottom: 27%;
	right: 50%;
	margin-right: -675px;
}
.main-machine {
	position: absolute;
	bottom: -8px;
	right: 50%;
	z-index: 4;
	margin-right: -548px;
}
.main-twitter-box {
	overflow: hidden;
	position: absolute;
	left: 50%;
	bottom: 44px;
	z-index: 4;
	width: 242px;
	height: 330px;
	margin-left: -490px;
	padding: 5px 5px 2px;
	background-color: rgba(0,0,0,0.5);
	text-align: center;
	box-sizing: border-box;
}
.main-twitter-ttl {
	position: relative;
	z-index: 4;
}
.main-twitter-ttl img {
	display: block;
}
.main-twitter-cont {
	overflow-x: hidden;
	position: relative;
	z-index: 3;
	top: -3px;
	height: 305px;
}
.device-pc .main-twitter-cont {
	overflow-y: hidden;
}
.main-twitter-cont-in {
	overflow-x: hidden;
	overflow-y: scroll;
	height: 305px;
}
.device-pc .main-twitter-cont-in {
	width: calc(100% + 17px);
	margin: 0;
	padding: 0  17px 0 0;
}
.main-twitter-box twitter-widget,
.main-twitter-box iframe {
	margin: 0 !important;
	background: #fff;
}
.main-scroll {
	position: absolute;
	bottom: 12px;
	left: 50%;
	z-index: 4;
}
.main-scroll-in {
	display: block;
	position: relative;
	color: #fff;
	font-size: 12px;
	padding: 0 0 30px;
}
.main-scroll-in:before,
.main-scroll-in:after {
	position: absolute;
	bottom: 15px;
	left: 50%;
	width: 12px;
	height: 12px;
	margin-left: -7px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	content: '';
	transform: rotate(45deg);
}
.main-scroll-in:before {
	bottom: 7px;
	animation: flashing 1.2s linear infinite 0.2s;
}
.main-scroll-in:after {
	animation: flashing 1.2s linear infinite;
}
@keyframes flashing {
	  0% { opacity: 0; }
	 50% { opacity: 1; }
	100% { opacity: 0; }
}


/*
******************************************************************
* .design-area
******************************************************************/
.design-area {
	position: relative;
	margin-bottom: 80px;
}
.design-box {
	position: relative;
	z-index: 1;
	height: 490px;
	background-size: 100% auto;
	margin-bottom: 40px;
}
.design-box.box01 {
	height: 500px;
	background: url(../img/design_01_bg.jpg) no-repeat top center;
}
.design-box.box02 {
	background: url(../img/design_02_bg.jpg) no-repeat top center;
}
.design-box.box03 {
	background: url(../img/design_03_bg.jpg) no-repeat top center;
}
.design-box .chara {
	position: absolute;
	z-index: 10;
	bottom: 41px;
}
.design-box.box01 .chara {
	left: 256px;
}
.design-box.box02 .chara {
	right: 184px;
}
.design-box.box03 .chara {
	left: 186px;
}
.design-box .img {
	position: absolute;
	bottom: 40px;
	left: 80px;
}
.design-box .text {
	position: absolute;
	top: 0;
}
.design-box:nth-child(2n) .text {
	left: 182px;
}
.design-box:nth-child(2n+1) .text {
	right: 182px;
}
.design-content02 {
	position: relative;
	z-index: 1;
	height: 1147px;
	background: url(../img/design_machine_bg.jpg) no-repeat top center;
	background-size: 100% auto;
	text-align: center;
}
.design-content02-catch {
	position: relative;
	z-index: 2;
	padding-top: 25px;
}
.design-content02-img {
	margin-top: -198px;
}


/*
******************************************************************
* .gameflow-area
******************************************************************/
.gameflow-area {
	position: relative;
	margin-bottom: 100px;
}
.gameflow-h2 {
	position: relative;
	z-index: 2;
	margin-bottom: 70px;
	text-align: center;
}
.gameflow-catch {
	position: relative;
	z-index: 2;
	text-align: center;
}
.gameflow-content01 {
	position: relative;
	z-index: 1;
	height: 875px;
	padding-top: 130px;
	margin-top: -110px;
	background: url(../img/gameflow_bg.jpg) no-repeat top center;
	background-size: 100% auto;
	text-align: center;
}


/*
******************************************************************
* .spec-area
******************************************************************/
.spec-area {
	position: relative;
}
.spec-h2 {
	position: relative;
	z-index: 2;
	margin-bottom: 40px;
	text-align: center;
}
.spec-content01 {
	position: relative;
	z-index: 1;
	height: 1198px;
	margin-bottom: 60px;
	background: url(../img/spec_bg.jpg) no-repeat top center;
	background-size: 100% auto;
	text-align: center;
}
.spec-content02 {
	position: relative;
	z-index: 1;
}


/*
******************************************************************
* .footer-area
******************************************************************/
.footer-area {
	position: relative;
	z-index: 10;
	width: 1000px;
	margin: 0 auto;
	padding: 45px 0 65px;
	text-align: center;
}
.footer-area .box-copy {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	left: -65px;
}
.footer-area .box-copy li {
	display: block;
	color: #fff;
	font-size: 20px;
	text-shadow: 0 0 3px #000, 0 0 5px #000;
}
.footer-area .box-copy li:nth-child(2) {
	margin: 0 15px 0 20px;
}


/*
******************************************************************
* ファーストアクション
******************************************************************/
/*SETTING*/
.main-bg {
	opacity: 0;
	transition: all 0.6s ease-in-out 2.8s;
}
.main-bg-light {
	opacity: 0;
	transition: all 1.5s ease-in-out;
}
.main-chara01 {
	opacity: 0;
	transform: translateX(100px);
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 1.2s;
}
.main-chara02 {
	opacity: 0;
	transform: translateX(-100px);
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 1.5s;
}
.main-eva01 {
	opacity: 0;
	transition: all 1.2s ease-out 2s;
}
.main-eva02 {
	opacity: 0;
	transition: all 1.2s ease-out 2s;
}
.main-machine {
	opacity: 0;
	transition: all 0.9s ease-in-out 2.8s;
}
.main-twitter-box {
	opacity: 0;
	transition: all 0.9s ease-in-out 2.8s;
}
.main-scroll {
	opacity: 0;
	transition: all 0.8s ease-in-out 3.5s;
}
.header-area {
	opacity: 0;
	transition: all 0.9s ease-in-out 2.8s;
}
.menu-btn {
	opacity: 0;
	transition: all 0.9s ease-in-out 2.8s;
}

/*ACTION*/
.action .main-bg,
.action .main-bg-light {
	opacity: 1;
}
.action .main-chara01 {
	opacity: 1;
	transform: translateX(0);
}
.action .main-chara02 {
	opacity: 1;
	transform: translateX(0);
}
.action .main-eva01,
.action .main-eva02,
.action .main-machine,
.action .main-twitter-box,
.action .main-scroll,
.action .header-area,
.action .menu-btn {
	opacity: 1;
}


/*
******************************************************************
* スクロールアクション（例外）
******************************************************************/
/*SETTING*/

/*ACTION*/
/* design-area */
*[data-sf="slide-left2"] {
	transform: translate(-100px, 0);
}
*[data-sf="slide-right2"] {
	transform: translate(100px, 0);
}
.design-box.animation.animated *[data-sf="slide-left"],
.design-box.animation.animated *[data-sf="slide-left2"],
.design-box.animation.animated *[data-sf="slide-right"],
.design-box.animation.animated *[data-sf="slide-right2"] {
	opacity: 1;
	transform: translate(0, 0);
}
.design-content02.animation.animated *[data-sf="fade-in"] {
	opacity: 1;
}
.design-content02.animation.animated *[data-sf="slide-top"] {
	opacity: 1;
	transform: translate(0, 0);
}
/* gameflow-area */
.gameflow-area.animation.animated .contents-ttl *[data-sf="open-x"] {
	opacity: 1;
	transform: scaleX(1);
}
.gameflow-area.animation.animated *[data-sf="fade-in"] {
	opacity: 1;
}
/* spec-area */
.spec-area.animation.animated .contents-ttl *[data-sf="open-x"] {
	opacity: 1;
	transform: scaleX(1);
}
.spec-area.animation.animated *[data-sf="fade-in"] {
	opacity: 1;
}
