@charset "UTF-8";

/* ========================================
	common
======================================== */
body {
}
body.is-hidden {
	overflow: hidden;
}
.c-yt-atuoplay_wrapper {
	position: relative;
}
.c-yt-atuoplay_wrapper:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l-wrapper {
	position: relative;
	min-width: 960px;
	overflow: hidden;
}
.l-inner {
	position: relative;
	width: 960px;
	margin: auto;
}
.l-contents {
	padding-bottom: 185px;
}
.no-fix-footer .l-contents {
	padding-bottom: 70px;
}


/* ========================================
	header
======================================== */
.l-logo-3ds {
	position: absolute;
	top: 15px;
	right: 14px;
	z-index: 5000;
}


/* ========================================
	footer
======================================== */
.l-footer {
	position: fixed;
	bottom: -185px;
	left: 0;
	width: 100%;
	transition: bottom 300ms;
	z-index: 8000;
}
.no-fix-footer .l-footer {
	position: relative;
	bottom: auto;
}
.l-footer.is-show {
	bottom: -50px;
}
.l-footer.is-show-bottom {
	bottom: 0;
}
.no-js .l-footer {
	bottom: 0;
}
.l-footer_line {
	position: absolute;
	top: -64px;
	left: 0;
	width: 100%;
}
.l-footer_line img {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
.l-footer_nav {
	position: relative;
	height: 70px;
	background: url(../images/common/footer_bg.png) center top repeat-x;
}
.l-footer_logo {
	position: absolute;
	top: -24px;
	left: 7px;
}
body:not(.is-tablet) .l-footer_logo a:hover img {
	-webkit-animation: jump 400ms linear;
	animation: jump 400ms linear;
}
.l-gnav {
	position: absolute;
	top: -41px;
	left: 213px;
}
.l-gnav_item {
	float: left;
	margin: 0 4px;
}
.l-gnav_item.is-current {
	margin-top: -15px;
}
.l-gnav_item a {
	display: block;
	position: relative;
}
.l-gnav_item a:after{
	content: '';
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		url(../images/common/hover_lefttop.png) left top no-repeat,
		url(../images/common/hover_righttop.png) right top no-repeat,
		url(../images/common/hover_rightbottom.png) right bottom no-repeat,
		url(../images/common/hover_leftbottom.png) left bottom no-repeat;
}
body:not(.is-tablet) .l-gnav_item a:hover {
	display: block;
}
body:not(.is-tablet) .l-gnav_item a:hover:after {
	display: block;
	-webkit-animation: menuHover 500ms steps(2) infinite;
	animation: menuHover 500ms steps(2) infinite;
}
.l-footer_pagetop {
	position: absolute;
	top: -21px;
	right: 10px;
}
body:not(.is-tablet) .l-footer_pagetop a:hover img {
	-webkit-animation: jump 400ms linear;
	animation: jump 400ms linear;
}
.l-footer_info {
	position: relative;
	height: 50px;
	background: url(../images/common/footer_bg2.png) center top repeat-x;
}
.l-footer_official {
	padding-top: 18px;
	text-align: center;
	font-size: 0;
}
.l-footer_official li {
	display: inline-block;
	font-size: 14px;
}
.l-footer_official li:not(:last-child) {
	margin-right: 11px;
}

@-webkit-keyframes jump {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		animation-timing-function: ease-out;
	}
	30% {
		-webkit-transform: translateY(-12px);
		transform: translateY(-12px);
		animation-timing-function: ease-in;
	}
	60% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		animation-timing-function: ease-out;
	}
	80% {
		-webkit-transform: translateY(-5px);
		transform: translateY(-5px);
		animation-timing-function: ease-in;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes jump {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		animation-timing-function: ease-out;
	}
	30% {
		-webkit-transform: translateY(-12px);
		transform: translateY(-12px);
		animation-timing-function: ease-in;
	}
	60% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		animation-timing-function: ease-out;
	}
	80% {
		-webkit-transform: translateY(-5px);
		transform: translateY(-5px);
		animation-timing-function: ease-in;
	}
	100% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@-webkit-keyframes menuHover {
	0% {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	100% {
		top: -3px;
		left: -3px;
		width: calc(100% + 6px);
		height: calc(100% + 6px);
	}
}
@keyframes menuHover {
	0% {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	100% {
		top: -2px;
		left: -2px;
		width: calc(100% + 4px);
		height: calc(100% + 4px);
	}
}


/* ========================================
	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: rgba(1, 49, 82, 0.8);
}
.l-modal_close {
	margin-top: 40px;
	text-align: center;
	cursor: pointer;
}
.l-modal_contents {
	position: relative;
	z-index: 20;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}


/** 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;
}
