@charset "utf-8";

html { overflow: inherit; }
body {
	min-width: 320px;
	background: #FFF;
	line-height: 1.8;
	font-family: "Noto Sans JP", "Noto Sans Japanese", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
	font-size: 16px;
	font-feature-settings : "palt";
	color: #000;
}
body img {
	width: auto;
	max-width: 100%;
	vertical-align: bottom;
}
body a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	text-decoration: none;
	transition: 0.2s;
	color: inherit;
}
.spStyle { display: none; }
.pcStyle { display: block; }
@media only screen and (max-width: 1080px) {
	body { font-size: 14px; }
}
@media only screen and (max-width: 768px) {
	.spStyle { display: block; }
	.pcStyle { display: none; }
	* { transition:0s !important; }
}


/*================================
	#header
================================*/
#header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 320px;
	padding: 0 0.5em 0 2em;
	background: #020718;
	z-index: 1000;
}
#gNav {
	display: flex;
	justify-content: space-between;
}
#gNav > ul {
	display: flex;
	justify-content: center;
}
#gNav ul.child {
	display: none;
	position: absolute;
}
#gNav li { transition: 0.2s; }

#gNav li:hover,
#gNav .contact:hover span,
#gNav ul.child { background-color: #444; }
#gNav ul.child a:hover { background-color: #666; }
#gNav .bgNone { background-color:transparent !important; }

#gNav li:hover ul.child { display: block; }
#gNav ul .spStyle,
#gNav a {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 90px;
	height: 80px;
	padding: 0 1.5em;
	white-space: nowrap;
	color: #FFF;
	font-size: 0.95em;
}
#gNav .logo {
	overflow: hidden;
	width: 164px;
	background-image: url("../img/common/logo.png");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 164px 30px;
	text-indent: -9999px;
}
#gNav .logo:hover { opacity: 0.6; }
#gNav .contact { 
	padding: 0; 
	margin-left: 0.5em;
}
#gNav .contact span {
	display: inline-block;
	padding: 0.5em 1em;
	background: #077fad;
}
#gNav ul.child a {
	justify-content: flex-start;
	height: 40px;
}
#gNav ul .spStyle { display: none; }

@media only screen and (max-width: 1080px) {
	#header { padding: 0 1em; }
	#gNav > ul { justify-content:space-between; }
	#gNav a {
		min-width: 0;
		padding: 0 1em;
	}
	#gNav .contact { 
		width: auto;
		margin: 0;
	}
	#gNav .logo {
		width: 120px;
		background-size:120px auto;
	}
	#gNav ul.child a { height: 36px; }
}

@media only screen and (max-width:768px) {
	#globalHeader { display: none; }
	#header { padding: 0 0 0 1em; }
	#gNav .logo {
		width: 164px;
		background-size: 164px 30px;
	}
	#spMenu {
		display:flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 50px;
		height: 50px;
	}
	#spMenu span,
	#spMenu:before,
	#spMenu:after {
		content: "";
		display: inline-block;
		position: absolute;
		width: 26px;
		height: 2px;
		background: #FFF;
		transition: 0.2s;
	}
	#spMenu:before { top: 14px; }
	#spMenu:after { bottom: 14px; }
	
	#spMenu.open { background:#444; }
	#spMenu.open:before,
	#spMenu.open:after {
		top: auto;
		bottom:auto;
		background: #FFF;
	}
	#spMenu.open:before { transform: rotate(45deg); }
	#spMenu.open:after { transform: rotate(-45deg); }
	#spMenu.open span { opacity: 0; }
	#spMenu.open + ul { display: block; }
	
	#gNav {
		display: flex;
		justify-content: space-between;
	}
	#gNav ul .spStyle,
	#gNav a {
		height: 50px;
	}
	#gNav ul .pcStyle { display: none!important; }
	#gNav > ul {
		overflow-y:auto; 
		display: none;
		position: absolute;
		position: fixed;
		top: 50px;
		right: 0;
		width: 100%;
		height: auto;
		height: 100%;
		padding-bottom: 50px;
		background: rgba(0,0,0,0.9);
		z-index: 1000;
	}
	#gNav ul .spStyle,
	#gNav ul a {
		display: flex;
		justify-content:flex-start!important;
		min-width: 320px;
		height: 40px !important;
		border-top: 1px solid rgba(255,255,255,0.1);
	}
	#gNav ul .spStyle { padding: 0 1em; }
	#gNav ul .spStyle:after,
	#gNav ul a:after {
		content: "";
		position: absolute;
		right: 1em;
		width:7px;
		height: 7px;
		border-top:1px solid #FFF;
		border-right:1px solid #FFF;
		transform: rotate(45deg);
	}
	#gNav ul .slideToggle.active:after {
		transform: rotate(-45deg);
	}
	
	#gNav ul.child {
		display: flex;
		display: none;
		flex-wrap: wrap;
		position: static;
	}
	#gNav li:hover ul.child { display: none; }
	#gNav ul.child a:before {
		content: "-";
		margin:0 0.5em 0 2px;
	}
	#gNav ul .slideToggle.active,
	#gNav li:hover {
		background-color: #222;
	}
	#gNav .contact,
	#gNav .contact:hover span {
		background: #077fad;
	}
}

/*------------------------------------------
	#footer bottomBan
------------------------------------------*/
.bottomBan {
	position: fixed;
	right: -150px;
	bottom: 20px;
	z-index: 100;
	transition: 0.5s;
}
.bottomBan a {
	overflow: hidden;
	display: block;
	width: 140px;
	height: 140px;
	background: url("../img/sale/ban_10off_arrow.webp")no-repeat;
	background-size: contain;
	text-indent: -9999px;
}
.bottomBan a:hover {
	opacity: 0.7;
}
.bottomBan.active { 
	right: 10px; 
	opacity: 1;
}
.menuOpen .bottomBan { display: none !important; }
@media only screen and (max-width:990px) {
	.bottomBan { 
/*		display: none; */
		bottom: 10px;
	}
	.bottomBan a {
		width: 22vw;
		height: 22vw;
		max-width: 120px;
	}
}
.bottomBan.active {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}



