@charset "UTF-8";

/*body.is-noscroll {
	overflow-y: hidden;
}*/

body#april {
	background-color: #232323;
	min-width: 960px;
}

#wrapper {
	overflow: hidden;
}
.logo-3ds {
    position: absolute;
    top: 33px;
    right: 120px;
}
.logo-switch {
    position: absolute;
    top: 0;
    right: 0;
}

/* ========================================
  visual
======================================== */
.visual {
	position: relative;
	background-color: #232323;
	overflow: hidden;
}
.visual-inner {
	position: relative;
	width: 100%;
	min-width: 960px;
	max-width: 1300px;
	margin: 0 auto;
}
.visual-h img {
	width: 100%;
	height: auto;
}
.visual__bg {
	position: absolute;
	top: 0;
	left: 50%;
	width: 105%;
	margin-left: -52.46%;
}
.visual__bg img {
	width: 100%;
	height: auto;
}
.visual__wrapper {
	position: absolute;
	top: 0;
	width: 100%;
	min-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.visual__logo {
	position: absolute;
	top: 34.27%;
	right: 50%;
	margin-right: 1.53%;
	width: 48.69%;
	z-index: 5;
}
.visual__logo img {
	width: 100%;
	height: auto;
}
.visual__image {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100.62%;
	margin-left: -22.38%;
}
.visual__image img {
	width: 100%;
	height: auto;
}
.js .visual__logo,
.js .visual__image {
	display: none;
}

.visual__image2 {
	position: absolute;
	bottom: 92px;
	left: 50%;
	margin-left: 262px;
	z-index: 1;
}

/*----------------------
	#spec
----------------------*/
#spec__wrapper {
    position: relative;
    width: 100%;
    height: 148px;
    max-width: 1366px;
		margin: -260px auto 0 auto;
}
#spec {
	position: absolute;
	left: 0;
	top: 0;
	width: 508px;
	height: 174px;
	background: url(../images/spec_bg.png) left top no-repeat;
	z-index: 1;
}
.spec-3ds,
.spec-switch,
.spec-cero,
.spec-amiibo,
.spec-release {
	position: absolute;
}
.spec-3ds {
	top: 81px;
	left: 251px;
}
.spec-switch {
	top: 71px;
	left: 33px;
}
.spec-cero {
	top: 24px;
	left: 451px;
}
.spec-amiibo {
	top: 24px;
	left: 418px;
}
.spec-release {
	top: 26px;
	left: 34px;
}

/* ========================================
	origin
======================================== */
#origin {
	 background-image: url(../images/origin_bg_img.png) ,url(../images/origin_bg.png);
	 background-position: center center, center center;
	 background-repeat: no-repeat, repeat;
	 margin: -55px 0 -5% 0;
	-webkit-transform: skew(0deg, 5deg);
	 transform:skew(0deg, 5deg);
	 overflow: hidden;
}

.origin-inner {
	padding: 130px 0;
	-webkit-transform: skew(0deg, -5deg);
	transform:skew(0deg, -5deg);
}

#origin .inner {
	height: 690px;
}
.origin-section {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.origin-section:first-child {
	display: block;
}
.origin-title {
	position: absolute;
	top: 0;
	right: 0;
}
.origin-text1 {
	position: absolute;
	top: 0;
	right: 110px;
}
.origin-text2 {
	position: absolute;
	top: 322px;
	right: 855px;
}

.arw-left {
	position: absolute;
	top: 50%;
	left: 30px;
	margin-top: -23px;
}
.arw-right {
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -23px;
}

/* ========================================
	story
======================================== */
#story-bg {
	position: relative;
	height: 1194px;
	z-index: -1;
	background: url(../images/story_bg.png) left top repeat;
}

#story {
	position: relative;
	height: 1194px;
	margin-top: -1194px;
	overflow: hidden;
	z-index: 1;
}
.story-title {
	position: absolute;
	top: 0;
	left: 0;
}
.story-img1 {
	position: absolute;
	top: 940px;
	right: 70px;
}
.story-img2 {
	position: absolute;
	top: 35px;
	right: -104px;
}
.story-text {
	position: absolute;
	top: 100px;
	right: 0;
}
.story-chara {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-right: -370px;
}

/* ========================================
	system
======================================== */
#system {
	position: relative;
	height: 673px;
	text-align: center;
	background: url(../images/system_bg.png) center center repeat;
	overflow: hidden;
}

.system-title {
	position: absolute;
	top: 90px;
	left: 0;
}
.system-text1 {
	position: absolute;
	top: 89px;
	left: 327px;
}
.system-text2 {
	position: absolute;
	top: 485px;
	left: 63px;
}
.system-text3 {
	position: absolute;
	top: 485px;
	left: 477px;
}
#system-slide-wrap1 {
	position: absolute;
	top: 245px;
	left: 44px;
	width: 314px;
	height: 178px;
	background: url(../images/system_img1.png) left top no-repeat;
}
#system-slide-wrap2 {
	position: absolute;
	top: 228px;
	left: 424px;
	width: 488px;
	height: 208px;
	background: url(../images/system_img2.png) left top no-repeat;
}
.slider-3ds {
	position: absolute;
	top: 25px;
	left: 52px;
	width: 210px;
	height: 127px;
	margin: 0 auto;
	overflow: hidden;
}
.slider-swich {
	position: absolute;
	top: 26px;
	left: 106px;
	width: 278px;
	height: 155px;
	margin: 0 auto;
	overflow: hidden;
}

#system-slide-wrap1 .zoom {
	position: absolute;
	bottom: -15px;
	right: -26px;
}
#system-slide-wrap2 .zoom {
	position: absolute;
	bottom: -1px;
	right: -35px;
}
#system .bx-prev {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 10;
	width: 22px;
	height: 35px;
	margin-top: -14px;
	background: url(../images/system_arw_left.png);
}
#system .bx-next {
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 10;
	width: 22px;
	height: 35px;
	margin-top: -14px;
	background: url(../images/system_arw_right.png);
}

.system-img {
	position: absolute;
	top: 0;
	right: 50%;
	margin-right: -913px;
}
.system-img2 {
	position: absolute;
	bottom: -24px;
	right: -45px;
}

/* ========================================
	products
======================================== */
#products {
	position: relative;
	height: 1438px;
	background: url(../images/products_bg.png) center center repeat;
}
.products-title {
	position: absolute;
	top: -70px;
	right: 0;
}

#software {
	height: 725px;
}
#software .software-inner {
	position: absolute;
	width: 960px;
	height: 415px;
	top: 273px;
	left: 0;
	background: url(../images/software_bg.png) center top no-repeat;
}
.software-title {
	position: absolute;
	top: 100px;
	left: 0;
}
.software-sttl1 {
	position: absolute;
	top: 36px;
	left: 52px;
}
.software-sttl2 {
	position: absolute;
	top: 36px;
	left: 442px;
}
.software-img1 {
	position: absolute;
	top: 113px;
	left: 58px;
}
.software-img2 {
	position: absolute;
	top: 108px;
	left: 480px;
}
.software-img3 {
	position: absolute;
	top: 295px;
	left: 442px;
}
.software-note {
	position: absolute;
	bottom: 20px;
	right: 0;
}

#download {
	height: 725px;
}
#download .download-inner {
	position: absolute;
	width: 960px;
	height: 415px;
	top: 273px;
	left: 0;
	background: url(../images/download_bg.png) center top no-repeat;
}
.download-title {
	position: absolute;
	top: 175px;
	left: 0;
}
.download-sttl {
	position: absolute;
	top: 292px;
	left: 0;
}
.download-text {
	position: absolute;
	top: 380px;
	left: 0;
}
.download-img {
	position: absolute;
	top: -15px;
	right: 40px;
}

/* ========================================
	cast
======================================== */
#cast {
	position: relative;
	background: url(../images/system_bg.png) center center repeat;
	text-align: center;
	padding-bottom: 85px;
}
#cast .inner {
	height: 1316px;
	margin-bottom: 70px;
}

.cast-title {
	position: absolute;
	top: -70px;
	left: 0;
}

.cast-list {
	position: absolute;
	top: 110px;
	right: 0;
}	
.cast-list li {
	margin-bottom: 66px;
}	
.cast-list-more {
	position: absolute;
	top: 820px;
	left: 86px;
	font-size: 0;
}	
.cast-list-more li {
	display: inline-block;
	padding-right: 60px;
	vertical-align: top;
}	
.cast-list-more li:nth-child(4) {
	padding-right: 160px;
	background: url(../images/cast_list_bg.png) 134px top no-repeat;
}	
.cast-list-more li:last-child {
	padding-right: 0;
}	
.cast-line {
	position: absolute;
	top: 757px;
	left: 50%;
	width: 1280px;
	max-width: 100%;
	height: 2px;
	background-color: #313131;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);}	

/* ========================================
	footer
======================================== */
.footer {
	position: relative;
	min-width: 960px;
	height: 205px;
	margin: 0 auto;
	background: #4e1212 url(../images/footer_top_bg.png) left top repeat-x;
}

.footer-top {
	height: 155px;
}

.soft {
	position: absolute;
	top: 30px;
	left: 54px;
}

.sns {
	position: absolute;
	top: 45px;
	right: 53px;
	text-align: center;
	font-size: 0;
}
.sns__item {
	display: inline-block;
	margin-right: 20px;
	font-size: 14px;
}
.fnav {
	padding-top: 18px;
	text-align: center;
	font-size: 0;
}
.fnav__item {
	display: inline-block;
}
.copyright {
	position: absolute;
	bottom: 20px;
	right: 10px;
}

/* ========================================
	modal
======================================== */
.modal {
	left: 50%;
	width: 410px;
	margin-top: 30px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.modal-close__righttop {
	top: -65px;
	right: -75px;
}
.modal-contents {
	margin: 0;
}
.bx-wrapper img {
	margin-left: auto;
	margin-right: auto;
}
.modal-contents .bx-wrapper .bx-controls-direction a {
	width: 32px;
	height: 47px;
	margin-top: -23px;
}
.modal-contents .bx-wrapper .bx-controls-direction .bx-prev {
	left: -75px;
	background: url(../images/arw_left.png);
}
.modal-contents .bx-wrapper .bx-controls-direction .bx-next {
	right: -75px;
	background: url(../images/arw_right.png);
}
