@charset "UTF-8";

body.is-noscroll {
	overflow-y: hidden;
}
#index #contents {
	padding-bottom: 0;
}

/* ========================================
	attention
======================================== */
.attention {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	height: 100%;
	background: #000;
}
.attention__message {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 554px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.attention__copy {
	padding-bottom: 36px;
}
.attention__text {
	text-align: center;
}
.attention__sound-select {
}
.attention__sound-select-on,
.attention__sound-select-off {
	position: absolute;
	bottom: 49px;
	cursor: pointer;
}
.attention__sound-select-on {
	left: 68px;
}
.attention__sound-select-off {
	right: 68px;
}


/* ========================================
  visual
======================================== */
.visual {
	position: relative;
	background: url(../images/visual_bg.jpg) center 20% no-repeat;
	height: 667px;
	overflow: hidden;
}
@media screen and (min-width: 1367px) {
	.visual {
		background-size: cover;
	}
}

.visual-line {
	width: 100%;
	height: 100%;
	min-height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/visual_line_bg.png) left 657px repeat-x;
}

.visual__wrapper {
	position: relative;
	width: 100%;
	height: 667px;
	max-width: 1366px;
	margin-left: auto;
	margin-right: auto;
}

.visual__inner {
	position: relative;
	width: 960px;
	margin: 0 auto;
}

.visual__logo {
	position: absolute;
	top: 20px;
	left: 50%;
	z-index: 5;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.visual__image {
	position: absolute;
	top: 44px;
	left: 176px;
}
.visual__copy01 {
	position: absolute;
	top: 165px;
	right: -3px;
}
.visual__copy02 {
	position: absolute;
	top: 165px;
	right: 34px;
}
.logo-3ds {
	position: absolute;
	top: 12px;
	right: 10px;
}
.visual__release {
	position: absolute;
	bottom: 80px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.visual-sound {
    position: absolute;
    top: 0;
    left: 10px;
	z-index: 200;
}
.visual-sound .bgm-switch {
    position: absolute;
    top: 30px;
    left: 7px;
}

/*----------------------
	#spec
----------------------*/
#spec {
	position: absolute;
	left: 0;
	top: 503px;
	width: 324px;
	height: 154px;
	background: url(../images/spec_bg.png) left top no-repeat;
	z-index: 20;
}
.spec-pack,
.spec-ico,
.spec-cero,
.spec-amiibo,
.spec-release,
.spec-price,
.spec-format,
.spec-detail,
.spec-gb{
	position: absolute;
}
.spec-pack {
	top: 20px;
	left: 20px;
}
.spec-ico {
	top: 120px;
	left: 20px;
}
.spec-cero {
	top: 120px;
	left: 99px;
}
.spec-amiibo {
	top: 120px;
	left: 59px;
}
.spec-release {
	top: 15px;
	left: 131px;
}
.spec-price {
	top: 65px;
	left: 132px;
}
.spec-format {
	top: 92px;
	left: 135px;
}
.spec-detail {
	top: 130px;
	left: 138px;
}
.spec-gb{
    top: 130px;
    left: 220px;
}

/* ========================================
	heading-area
======================================== */
.heading-area {
	padding-bottom: 40px;
	background: url(../images/headingarea_bg.png) left top repeat-x;
	background-size: auto 100%;
}

/*----------------------
	top-gnavi
----------------------*/
#top-gnavi {
	height: 60px;
	margin-bottom: 43px;
}
#top-gnavi li {
	position: absolute;
	top: 0;
	height: 60px;
}
#top-gnavi li:nth-child(n+5) {
	top: 12px;
	height: 35px;
}

#top-gnavi li.gnavi01 {
	left: 12px;
}
#top-gnavi li.gnavi02 {
	left: 165px;
}
#top-gnavi li.gnavi03 {
	left: 318px;
}
#top-gnavi li.gnavi04 {
	left: 471px;
}
#top-gnavi li.gnavi05 {
	left: 662px;
}
#top-gnavi li.gnavi06 {
	left: 815px;
}

#top-gnavi li a:hover {
	display:  block;
	z-index: 30;
}
#top-gnavi li:nth-child(-n+4) a:hover {
	background: url(../images/gnavi_top_bg.png) no-repeat center top;
}

/*----------------------
	topics
----------------------*/
#topics {
	text-align: center;
}

.topics-title {
	margin-bottom: 35px;
}
.topic-list {
	font-size: 0;
}
.topic-list li {
	position: relative;
	display: inline-block;
	width: 220px;
	margin-right: 26px;
	vertical-align:  top;
}
.topic-list li:last-child {
	margin-right: 0;
}
.topic-list p {
	margin-top: 5px;
	color: #FFF;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}
.new-icon {
	position: absolute;
	top: 0;
	left: 0;
}

/* ========================================
	about
======================================== */
#about {
	background: url(../images/about_bg.jpg) center top no-repeat;
	height: 707px;
	padding: 40px 0;
	text-align: center;
	overflow: hidden;
}
@media screen and (min-width: 1367px) {
	#about {
		background-size: cover;
	}
}

.about-title {
	margin-bottom: 31px;
}
.about-copy {
	margin-bottom: 40px;
}
.about-text {
	margin-bottom: 43px;
}
.about-btn {
	position: absolute;
	top: 572px;
  left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.about-slide {
	position: absolute;
	left:-80px;
}
.about-slide01 {
	position: absolute;
	top: 0;
	left: 0;
}
.about-slide02 {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

/* ========================================
	characters
======================================== */
#characters {
	position: relative;
	height: 768px;
	background: url(../images/character_team1_bg.jpg) left top repeat;
	overflow: hidden;
}
#characters .inner {
	height: 768px;
}
.characters-title {
  position: absolute;
	top: 60px;
  left: 50%;
  z-index: 30;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.character-name {
  position: absolute;
	top: 143px;
  left: 50%;
	z-index: 30;
	width: 605px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.character-name1 {
  position: absolute;
	top: 0;
  left: 0;
}
.character-name2 {
  position: absolute;
	top: 0;
  right: 0;
}
.character-name3 {
  display: none;
  position: absolute;
	top: 0;
  left: 50%;
  margin-left: -190px;
}
.characters-btn {
  position: absolute;
	bottom: 80px;
  left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 30;
}

#characters:before {
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	background: url(../images/character_team2_bg.jpg) left top repeat;
}
#characters:after {
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/character_team3_bg.jpg) center top repeat;
	background-size: cover;
	opacity: 0;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
#characters.group2:after {
	opacity: 1;
}

#characters .characters-slide-wrap {
  position: absolute;
	top: 0;
  left: 50%;
	z-index: 10;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.characters-slide-wrap {
	min-width:  960px;
	width:  2000px;
	margin: 0 auto;
}
.characters-slide-left {
	float: left;
	width: 1000px;
	height: 768px;
	background: url(../images/character_team1_symbol.png) 45% top no-repeat;
}
.characters-slide-right {
	float: right;
	width: 1000px;
	height: 768px;
	background: url(../images/character_team2_symbol.png) 55% top no-repeat;
}
.characters-others {
	display: none;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 10;
	width:  2000px;
	height: 768px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.characters-others-slider {
}
.characters-others-slider-item {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.characters-others-slider-item:first-child {
	display: block;
}
.characters-others-charas li {
	float: left;
}

#characters .icon-new {
	z-index: 50;
}
.characters-slide-left .icon-new {
	position: absolute;
	top: 220px;
	right: 50%;
	margin-right: 270px;
}
.characters-slide-right .icon-new {
	position: absolute;
	top: 220px;
	left: 50%;
	margin-left: 270px;
}
.characters-others .icon-new {
	position: absolute;
	top: 63px;
	right: 50%;
	margin-right: 180px;
}

/* ========================================
	system
======================================== */
#system {
	background: url(../images/system_bg.png) center top repeat;
	height: 540px;
}
.system-title {
	position: absolute;
	top: 60px;
	left: 127px;
}
.system-copy {
	position: absolute;
	top: 160px;
	left: 37px;
}
.system-text {
	position: absolute;
	top: 260px;
	left: 0;
}
.system-btn {
	position: absolute;
	top: 402px;
	left: 90px;
}
.system-movie-area {
	position: absolute;
	top: 143px;
	right: 14px;
	width: 422px;
	overflow: hidden;
}
#system-movie {
	width: 450px;
	height: 253px;
	margin-left: -14px;
}
.system-img1 {
	position: absolute;
	top: 30px;
	left: 510px;
}
.system-img2 {
	position: absolute;
	top: 405px;
	right: 0;
}

/* ========================================
	footer
======================================== */
.footer {
	position: relative;
	min-width: 960px;
	height: 416px;
	margin: 0 auto;
	background: #4e1212 url(../images/footer_top_bg.png) left top repeat-x;
}

.footer-top {
	height: 195px;
	padding-top: 32px;
}
.special {
	text-align: center;
}

.sns {
	position: absolute;
	bottom: 181px;
	left: 10px;
	text-align: center;
	font-size: 0;
}
.sns__item {
	display: inline-block;
	margin-right: 10px;
	font-size: 14px;
}
.fnav {
	padding-top: 18px;
	text-align: center;
	font-size: 0;
	background: url(../images/footer_btm_bg.png) left top repeat-x;
}
.fnav__item {
	display: inline-block;
	font-size: 14px;
}
.copyright {
	position: absolute;
	bottom: 191px;
	right: 10px;
}
.footer__bnr {
	padding-top: 45px;
	text-align: center;
}

/* ----------------------------
   eshop バナー
---------------------------- */
.bnr-eshop-sale{
 width: 100%;
 background: url(../images/bnr_eshop_bg.png);
 position: relative;
 z-index: 10;
}
.bnr-eshop-sale::before{
 content: "";
 display: block;
 width: 100%;
 height: 2px;
 background: #FFF;
 left: 0;
 bottom: 0;
 position: absolute;
}
.bnr-eshop-sale a{
 display: block;
 max-width: 960px;
 margin: 0 auto;
 width: 70%;
}
.bnr-eshop-sale a img{
 max-width: 960px;
 width: 100%;
 height: auto;
}
.no-touchevents .bnr-eshop-sale a{
 -webkit-transition: opacity 0.15s linear;
 transition: opacity 0.15s linear;
}
.no-touchevents .bnr-eshop-sale a:hover{
 opacity: 0.85;
}
