@charset "UTF-8";

/* ========================================
	Reset
======================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin:0;
	padding:0;
	border: 0;
}

article, aside, details, figcaption, figure, footer, header, menu, nav, section, main { display:block; }

body { line-height:1; }
ul, ol { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
img{ border:0; vertical-align:bottom; }
input, select { vertical-align:middle; }
a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }

/* -------------------------------------
	Clearfix
------------------------------------- */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
}


/* ========================================
	base
======================================== */
body {
	font-family :ArialMT,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",メイリオ,sans-serif;
	color: #372617;
	font-size :14px;
	-webkit-text-size-adjust: 100%;
}
a {
	text-decoration: none;
	color: #372617;
}
img{
	max-width: 100%;
}
a img {
	border: 0;
}

:focus {
	outline: none;
}

a:link, a:visited {
	outline: none;
}
a:hover, a:active {
	outline: none;
}


/* ========================================
	layout
======================================== */
/* -------------------------------------
	common
------------------------------------- */
body,
.l-main {
	overflow-x: hidden;
}
body.is-hidden {
	overflow: hidden;
}
.l-wrapper {
	position: relative;
	width: 100%;
	min-width: 960px;
	background: #facd00 url(../images/common/bg.png) 0 0 repeat;
	background-size: 46.77083% auto;
	font-family: 'Noto Sans JP', sans-serif;
}
.l-main {
	width: 100%;
	overflow: hidden;
	padding-bottom: 102px;
}
@media screen and (min-width: 961px) {
	.l-main {
		padding-bottom: -webkit-calc( 50px + calc( 1% * calc( 100 * calc(105 / 1920))));
		padding-bottom: calc( 50px + calc( 1% * calc( 100 * calc(105 / 1920))));
	}
}
@media screen and (min-width: 1921px) {
	.l-main {
		padding-bottom: 147px;
	}
}
.l-main img,
.l-footer img {
	width: 100%;
	height: auto;
}
.no-fix-footer .l-main {
	padding-bottom: 70px;
}
.u-left {
	float: left;
}
.u-right {
	float: right;
}

/* -------------------------------------
	loading
------------------------------------- */
.l-loading {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: url(../images/common/loading_bg.png) center top repeat #fdce00;
	transition: 400ms 600ms;
}
.l-loading.is-hide {
	height: 0;
}
.l-loading__img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	border: #ffffff 2px solid;
	border-radius: 100%;
	transform-origin: center center;
	transition: 400ms cubic-bezier(0.415, -0.295, 0.735, 0.045);
}
.l-loading.is-hide .l-loading__img {
	-webkit-transform: scale(0);
	transform: scale(0);
}

/* -------------------------------------
	header
------------------------------------- */
.c-hardware__logo {
	position: absolute;
  width: 80px;
  max-width: 100px;
  min-width: 60px;
	top: 0;
	right: 0;
	z-index: 5000;
}

/* -------------------------------------
	footer
------------------------------------- */
.l-footer {
	position: fixed;
	bottom: -275px;
	left: 0;
	width: 100%;
	background-color: #fff;
	transition: bottom 300ms;
	z-index: 8000;
}
.no-fix-footer .l-footer {
	position: relative;
	bottom: auto;
}
.l-footer.is-show {
	bottom: -58px;
}
.l-footer.is-show-bottom {
	bottom: 0;
}
.no-js .l-footer {
	bottom: 0;
}

.l-footer-body {
	background-color: #facd00;
	background-image: url(../images/common/footer_bg.png);
	background-repeat: repeat-x;
	background-position: left bottom;
	background-size: auto 100%;
}
.l-footer-wrap {
	position: relative;
	min-width: 960px;
	max-width: 2000px;
	margin: 0 auto;
}
.l-footer-inner {
	position: relative;
	width: 66.6666666%;/* 1280 / 1920 * 100 */
	margin: 0 auto;
}
.c-gnavi--footer {
	padding-top: 8.28125%;
}
/*.c-gnavi__logo {
	position: absolute;
	top: 0;
	left: -1.5625%; -20 / 1280 * 100 
	width: 24.45312%; 313 / 1280 * 100 
	-webkit-transform: translateY(-53.76344%);
	transform: translateY(-53.76344%);
}*/
.c-gnavi__list {
	position: absolute;
	left: -1.71875%;/* 293 / 1280 * 100 */
	top: 0;
	width: 93.75%;/* 1200 / 1280 * 100 */
	font-size: 0;
	-webkit-transform: translateY(-34.188034%);
	transform: translateY(-34.188034%);
}
.c-gnavi__list li {
	position: relative;
	display: inline-block;
	width: 	18.33333%;/* 220 / 1200 * 100 */
	margin-right: 1.66666%;/* 20 / 1200 * 100 */
}
.c-gnavi__list li:before {
	position: absolute;
	top: 0;
	right: 0;
	width: 24.0909%;/* 53 / 220 * 100 */
	padding-top: 22.72727%;/* 50 / 220 * 100 */
	background: url(../images/common/icon_new.png) 0 0 no-repeat;
	background-size: 100% auto;
	-webkit-transform: translate(20.75471%,-28%);
	transform: translate(20.75471%,-28%);
}
/*
.c-gnavi__make:before,
.c-gnavi__play:before,
.c-gnavi__information:before {
	content: "";
	display: block;
	animation: newnav 2600ms infinite;
}
*/

@keyframes newnav {
	0% {transform: translate(20.75471%,-28%);}
	9% {transform: translate(20.75471%,calc(-28% - 3px));}
	18% {transform: translate(20.75471%,-28%);}
	27% {transform: translate(20.75471%,calc(-28% - 3px));}
	36% {transform: translate(20.75471%,-28%);}
	100% {transform: translate(20.75471%,-28%);}
}

.c-gnavi__pagetop {
	position: absolute;
	width: 9.14062%;
	top: 0;
	right: -1.5625%;/* -20 / 1280 * 100 */
	-webkit-transform: translateY(-34.188034%);
	transform: translateY(-34.188034%);
	cursor: pointer;
}

.c-footer-bottom {
	min-width: 960px;
	height: 50px;
	padding: 0 40px;
	background-color: #fff;
	overflow: hidden;
}
.c-footer-bottom__link {
	padding-top: 18px;
	text-align: left;
}
.c-footer-bottom__link li {
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
}
.c-footer-bottom__link li:not(:first-child) {
	margin-left: 30px;
}
.c-footer-bottom__link li a {
	position: relative;
	padding-left: 22px;
}
.c-footer-bottom__link li a:before {
	position: absolute;
	content: url(../images/common/arw_footer.png);
	left: 0;
	top: 50%;
	width: 16px;
	height: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media screen and (min-width: 1921px) {
	.l-footer {
		bottom: -400px;
	}
	.c-footer-bottom__link {
		padding-top: 1.5%;
	}
}

/* ========================================
	modal
======================================== */
[data-modallink],
[data-modalchange] {
	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;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.9);
	cursor: pointer;
}
.l-modal_contents {
	position: relative;
	z-index: 20;
	width: 100%;
	height: 100%;
	min-width: 960px;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
.l-modal_movie {
	position: relative;
	width: 648px;
	margin: 0 auto;
}
.l-modal_close {
  position: absolute;
  top: -85px;
  right: 5px;
	cursor: pointer;
}

/** 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
------------------------------------- */
.c-footer-bottom__link li:hover a:before {
	-webkit-animation: arw 400ms linear;
	animation: arw 400ms linear;
}
@keyframes arw {
	0% {
		transform: translate(0,-50%);
	}
	50% {
		transform: translate(-5px,-50%);
	}
	100% {
		transform: translate(0,-50%);
	}
}

.animation-fadeup {
	opacity: 0;
	-webkit-transform: translateY(50px);
	transform: translateY(50px);
}
.animation-fadeup.is-animation {
	transition:
		opacity 200ms,
		-webkit-transform 500ms,
		transform 500ms;
}
.animation-fadeup.is-animation,
.no-js .animation-fadeup {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.animation-fadeltor {
	opacity: 0;
	-webkit-transform: translateX(-50px);
	transform: translateX(-50px);
}
.animation-fadeltor.is-animation {
	transition:
		opacity 200ms,
		-webkit-transform 500ms,
		transform 500ms;
}
.animation-fadeltor.is-animation,
.no-js .animation-fadeltor {
	opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.animation-fadertol {
	opacity: 0;
	-webkit-transform: translateX(50px);
	transform: translateX(50px);
}
.animation-fadertol.is-animation {
	transition:
		opacity 200ms,
		-webkit-transform 500ms,
		transform 500ms;
}
.animation-fadertol.is-animation,
.no-js .animation-fadertol {
	opacity: 1;
	-webkit-transform: translateX(0);
	transform: translateX(0);
}

.animation-pop {
	opacity: 0;
	-webkit-transform: scale(0.6);
	transform: scale(0.6);
}
.animation-pop.is-animation {
	transition:
		opacity 200ms,
		-webkit-transform 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275),
		transform 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
}
.animation-pop.is-animation,
.no-js .animation-pop {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.animation-bounds {
	opacity: 0;
}
.animation-bounds.is-animation{
	-webkit-animation: bounds 1000ms linear 1;
	animation: bounds 1000ms linear 1;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
.no-js .animation-bounds {
	opacity: 1;
}
@-webkit-keyframes bounds {
	0% {	opacity: 0;	-webkit-transform: scale(1);		transform: scale(1);}
	8% {	opacity: 1;	-webkit-transform: scale(1.1);	transform: scale(1.1);}
	17% {	opacity: 1;	-webkit-transform: scale(1.2);	transform: scale(1.2);}
	34% {	opacity: 1;	-webkit-transform: scale(1);		transform: scale(1);}
	51% {	opacity: 1;	-webkit-transform: scale(1.1);	transform: scale(1.1);}
	68% {	opacity: 1;	-webkit-transform: scale(1);		transform: scale(1);}
	84% {	opacity: 1;	-webkit-transform: scale(1.05);	transform: scale(1.05);}
	100% {opacity: 1;	-webkit-transform: scale(1);		transform: scale(1);}
}
@keyframes bounds {
	0% {	opacity: 0;	-webkit-transform: scale(1);		transform: scale(1);}
	8% {	opacity: 1;	-webkit-transform: scale(1.1);	transform: scale(1.1);}
	17% {	opacity: 1;	-webkit-transform: scale(1.2);	transform: scale(1.2);}
	34% {	opacity: 1;	-webkit-transform: scale(1);		transform: scale(1);}
	51% {	opacity: 1;	-webkit-transform: scale(1.1);	transform: scale(1.1);}
	68% {	opacity: 1;	-webkit-transform: scale(1);		transform: scale(1);}
	84% {	opacity: 1;	-webkit-transform: scale(1.05);	transform: scale(1.05);}
	100% {opacity: 1;	-webkit-transform: scale(1);		transform: scale(1);}
}
.animation-prolongs {
	opacity: 0;
}
.animation-prolongs.is-animation{
	-webkit-animation: prolongs 250ms linear 1;
	animation: prolongs 250ms linear 1;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}
.no-js .animation-prolongs {
	opacity: 1;
}
@-webkit-keyframes prolongs {
	0% {	opacity: 0;	-webkit-transform: scaleX(1);		transform: scaleX(1);}
	20% {	opacity: 1;	-webkit-transform: scaleX(1.1);	transform: scaleX(1.1);}
	70% {	opacity: 1;	-webkit-transform: scaleX(0.9);	transform: scaleX(0.9);}
	100% {opacity: 1;	-webkit-transform: scaleX(1);		transform: scaleX(1);}
}
@keyframes prolongs {
	0% {	opacity: 0;	-webkit-transform: scaleX(1);		transform: scaleX(1);}
	20% {	opacity: 1;	-webkit-transform: scaleX(1.1);	transform: scaleX(1.1);}
	70% {	opacity: 1;	-webkit-transform: scaleX(0.9);	transform: scaleX(0.9);}
	100% {opacity: 1;	-webkit-transform: scaleX(1);		transform: scaleX(1);}
}
.animation-floating-w{
	-webkit-animation: floatingw 12s linear infinite;
	animation: floatingw 12s linear infinite;
}
@-webkit-keyframes floatingw {
	0% {	-webkit-transform: translateX(0);			transform: translateX(0);}
	25% {	-webkit-transform: translateX(-30px);	transform: translateX(-30px);}
	75% {	-webkit-transform: translateX(30px);	transform: translateX(30px);}
	100% {-webkit-transform: translateX(0);			transform: translateX(0);}
}
@keyframes floatingw {
	0% {	-webkit-transform: translateX(0);			transform: translateX(0);}
	25% {	-webkit-transform: translateX(-30px);	transform: translateX(-30px);}
	75% {	-webkit-transform: translateX(30px);	transform: translateX(30px);}
	100% {-webkit-transform: translateX(0);			transform: translateX(0);}
}
.animation-floating-w-s{
	-webkit-animation: floatingws 12s linear infinite;
	animation: floatingws 12s linear infinite;
}
@-webkit-keyframes floatingws {
	0% {	-webkit-transform: translateX(0);			transform: translateX(0);}
	25% {	-webkit-transform: translateX(-15px);	transform: translateX(-15px);}
	75% {	-webkit-transform: translateX(15px);	transform: translateX(15px);}
	100% {-webkit-transform: translateX(0);			transform: translateX(0);}
}
@keyframes floatingw {
	0% {	-webkit-transform: translateX(0);			transform: translateX(0);}
	25% {	-webkit-transform: translateX(-30px);	transform: translateX(-30px);}
	75% {	-webkit-transform: translateX(30px);	transform: translateX(30px);}
	100% {-webkit-transform: translateX(0);			transform: translateX(0);}
}
.animation-floating-h{
	-webkit-animation: floatingh 5s linear infinite;
	animation: floatingh 5s linear infinite;
}
@-webkit-keyframes floatingh {
	0% {	-webkit-transform: translateY(0);			transform: translateY(0);}
	25% {	-webkit-transform: translateY(-8px);	transform: translateY(-8px);}
	75% {	-webkit-transform: translateY(8px);		transform: translateY(8px);}
	100% {-webkit-transform: translateY(0);			transform: translateY(0);}
}
@keyframes floatingh {
	0% {	-webkit-transform: translateY(0);			transform: translateY(0);}
	25% {	-webkit-transform: translateY(-8px);	transform: translateY(-8px);}
	75% {	-webkit-transform: translateY(8px);		transform: translateY(8px);}
	100% {-webkit-transform: translateY(0);			transform: translateY(0);}
}

.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);}
}

.animation-rotating-r{
	-webkit-animation: rotating-r 15s linear infinite;
	animation: rotating-r 15s linear infinite;
}
@-webkit-keyframes rotating-r {
	0% {	-webkit-transform: rotate(0deg);			transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);			transform: rotate(360deg);}
}
@keyframes rotating-r {
	0% {	-webkit-transform: rotate(0deg);			transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);			transform: rotate(360deg);}
}
.animation-rotating-l{
	-webkit-animation: rotating-l 15s linear infinite;
	animation: rotating-l 15s linear infinite;
}
@-webkit-keyframes rotating-l {
	0% {	-webkit-transform: rotate(0deg);			transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);			transform: rotate(360deg);}
}
@keyframes rotating-l {
	0% {	-webkit-transform: rotate(0deg);			transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);			transform: rotate(360deg);}
}

.animation-jump-right-top {
	opacity: 0;
	-webkit-transform: translate(-100px, 100px);
	transform: translate(-100px, 100px);
}
.animation-jump-right-top.is-animation {
	transition:
		opacity 150ms,
		-webkit-transform 300ms,
		transform 300ms;
}
.animation-jump-right-top.is-animation,
.no-js .animation-jump-right-top {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}

.animation-jump-left-top {
	opacity: 0;
	-webkit-transform: translate(100px, 100px);
	transform: translate(100px, 100px);
}
.animation-jump-left-top.is-animation {
	transition:
		opacity 150ms,
		-webkit-transform 300ms,
		transform 300ms;
}
.animation-jump-left-top.is-animation,
.no-js .animation-jump-left-top {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}

.animation-arrow-r{
	-webkit-animation: arrow-r 1800ms linear infinite;
	animation: arrow-r 1800ms linear infinite;
}
@-webkit-keyframes arrow-r {
	0% {	-webkit-transform: translate(0);			transform: translate(0);}
	15% {-webkit-transform: translate(5px);			transform: translate(5px);}
	30% {	-webkit-transform: translate(0);			transform: translate(0);}
	45% {-webkit-transform: translate(5px);			transform: translate(5px);}
	60% {	-webkit-transform: translate(0);			transform: translate(0);}
	100% {	-webkit-transform: translate(0);			transform: translate(0);}
}
@keyframes arrow-r {
	0% {	-webkit-transform: translate(0);			transform: translate(0);}
	15% {-webkit-transform: translate(5px);			transform: translate(5px);}
	30% {	-webkit-transform: translate(0);			transform: translate(0);}
	45% {-webkit-transform: translate(5px);			transform: translate(5px);}
	60% {	-webkit-transform: translate(0);			transform: translate(0);}
	100% {	-webkit-transform: translate(0);			transform: translate(0);}
}

.js-new {
	animation: newicon 2600ms infinite;
}
@keyframes newicon {
	0% {transform: translateY(0px);}
	9% {transform: translateY(-3px);}
	18% {transform: translateY(0px);}
	27% {transform: translateY(-3px);}
	36% {transform: translateY(0px);}
	100% {transform: translateY(0px);}
}