@charset "UTF-8";

/* ========================================
	common
======================================== */
img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
body.is-hidden {
	overflow: hidden;
}
.l-wrapper {
	position: relative;
	overflow: hidden;
}

/* ========================================
	header
======================================== */
.l-logo-switch {
	position: absolute;
	top: 7px;
	right: 33.2%;
	width: 12.8%; /* 96 / 750 * 100 */
	padding-right: 7px;
	margin-right: 14px;
	border-right: #000 1px solid;
	z-index: 8000;
}
.l-logo-3ds {
	position: absolute;
	top: 11px;
	right: 3px;
	width: 35.6%; /* 267 / 750 * 100 */
	z-index: 8000;
}

.l-logo-soft{
	position: absolute;
	z-index: 5000;
	top: 0;
	left: 0;
	width: 35.6%; /* 267 / 750 * 100 */
}

/* ========================================
	footer
======================================== */
.l-footer {
	position: relative;
  z-index: 100;
}
.l-footer_nav {
	position: relative;
	background: url(../images/common/footer_bg01.png) no-repeat center bottom;
	background-size: 100% auto;
}
.l-footer_pagetop {
	position: absolute;
	width: 11.8666666%; /* 89 / 750 * 100 */
	right: 0;
	top: 2%;
	display: block;
}
.l-footer_logo{
	width: 60.9333333%; /* 457 / 750 * 100 */
	margin: 0 auto;
}
.l-gnav{
	position: relative;
	width: 100%;
}
.l-gnav01{
	margin-top: -0.6%;
}
.l-gnav li{
	position: relative;
	float: left;
	width: 50%;
}
.l-gnav01 li.current{
	margin-top: -2.7%;
}
.l-gnav02 li.current{
	margin-top: -3.3%;
}
.l-footer_info {
	padding: 3px 0 12px 0;
	background: url(../images/common/footer_bg02.png) repeat;
	background-size: auto;
}
.l-footer_nintendo {
	width: 48.6666666%; /* 365 / 750 * 100 */
	margin: 0 auto;
}
.l-footer_3ds {
	width: 50.6666666%; /*　380 / 750 * 100 */
	margin: 0 auto;
}
.l-footer_official {
	width: 100%;
}
.l-footer_official li {
	float: left;
}
.l-footer_switch {
	width: 43.2%; /* 324 / 750 * 100 */
}
.l-footer_switchsoft {
	width: 56.8%; /* 426 / 750 * 100 */
}


/* ========================================
	modal
======================================== */
[data-modallink] {
	cursor: pointer;
}
[data-modalbody] {
	visibility: hidden;
	opacity: 0;
	transition: 200ms;
}
[data-modalbody].is-show {
	visibility: visible;
	opacity: 1;
}
.l-modal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9500;
	width: 100%;
	height: 100%;
}
.l-modal_bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background-color: rgba(242,175,59,0.9);
	cursor: pointer;
}
.l-modal_body {
	position: relative;
}
.l-modal_inner {
}
.l-modal_prev,
.l-modal_next {
	position: absolute;
	top: 50%;
	width: 34px;
	margin-top: -26px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
}
.l-modal_prev {
	left: -40px;
}
.l-modal_next {
	right: -40px;
}
.l-modal_contents {
	position: relative;
	z-index: 20;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
.l-modal_movie {
	position: relative;
	width: 100%;
}
.l-modal_movie:before {
	content: '';
	display: block;
	position: relative;
	width: 100%;
    padding-top: 56.25%; /* 100% / 640px * 360px */
}
.l-modal_movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-modal_ytTtl {
	margin-top: 9px;
}


/** VARIABLES
===================================*/
/** RESET AND LAYOUT
===================================*/
.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bxslider {
  margin: 0;
  padding: 0;
}
ul.bxslider {
  list-style: none;
}
.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
}
/** THEME
===================================*/
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%;
}
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  text-indent: -9999px;
  display: block;
  outline: 0;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
  left: 10px;
}
.bx-wrapper .bx-next {
  right: 10px;
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  outline: 0;
  text-indent: -9999px;
  z-index: 5000;
}
.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}




/* ========================================
	animation
======================================== */
html:not(.no-js) .js-catch {
	transform: scale(4);
	opacity: 0;
}
.js-catch.is-animation {
	animation: catch 170ms linear 1;
	animation-fill-mode: forwards;
}
@keyframes catch {
	0% {
		transform: scale(3);
		opacity: 0;
	}
	20% {
		transform: scale(2.5);
		opacity: 1;
	}
	70% {
		transform: scale(0.8);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.js-arrowpop{
	animation: arrowpop 1300ms infinite;
}
@keyframes arrowpop {
	0% {transform: scale(1) translateY(0px);}
	18% {transform: scale(1.04) translateY(-2px);}
	36% {transform: scale(1) translateY(0px);}
	54% {transform: scale(1.04) translateY(-2px);}
	72% {transform: scale(1) translateY(0px);}
	100% {transform: scale(1) translateY(0px);}
}


@keyframes zoomin {
	0% {
		transform: scale(0.7);
		opacity: 0;
	}
	35% {
		transform: scale(0.9);
		opacity: 1;
	}
	70% {
		transform: scale(1.1);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}
