@charset "utf-8";
/* Markuped by TERA.inc TechnicalTeam */
/*---------------------------------------------
Reset style
---------------------------------------------*/
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, dl, dt, dd, ol, ul, li, fieldset, form, label, 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;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
* {
	margin: 0;
	padding: 0;
	font-size: 100%;
}
html {
	overflow-y: scroll;
	font-size: 62.5%;
}
body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	height: 100%;
	word-wrap : break-word;
	overflow-wrap : break-word;
}
hr, legend {
	display: none;
}
img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
}
article, aside, details, figure, figcaption, header, footer, hgroup, menu, nav, section {
	display: block;
}
div, dl, dt, dd, form, input, ul, ol, li, p, select, textarea, span, th, td, figure, figcaption {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6, address, th, caption, em, strong, dfn {
	font-style: normal;
	font-weight: normal;
}
input, select {
	vertical-align: middle;
}
input, select, textarea {
	font-size: 100%;
	font-family: inherit;
	font-weight: inherit;
}
sup {
	vertical-align: top;
	font-size: 50%;
	padding: 0 3px 0 2px;
}
sub {
	vertical-align: bottom;
	font-size: 72%;
}
del {
	text-decoration: line-through;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
	font-size: inherit;
}
caption {
	text-align: left;
}
fieldset {
	border: 0;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content: none;
}
a {
	color: #333;
	text-decoration: none;
	overflow: hidden;
	outline: none;
}
a:focus {
	outline: none;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/*---------------------------------------------
Common Style
---------------------------------------------*/
.m0		{ margin: 0 !important; }
.mat0	{ margin-top: 0 !important; }
.mat1	{ margin-top: 1em !important; }
.mat5	{ margin-top: 5px !important; }
.mat10	{ margin-top: 10px !important; }
.mat15	{ margin-top: 15px !important; }
.mat20	{ margin-top: 20px !important; }
.mat25	{ margin-top: 25px !important; }
.mat30	{ margin-top: 30px !important; }
.mat35	{ margin-top: 35px !important; }
.mat40	{ margin-top: 40px !important; }
.mat45	{ margin-top: 45px !important; }
.mat50	{ margin-top: 50px !important; }
.mab0	{ margin-bottom: 0 !important; }
.mab1	{ margin-bottom: 1em !important; }
.mab5	{ margin-bottom: 5px !important; }
.mab10	{ margin-bottom: 10px !important; }
.mab15	{ margin-bottom: 15px !important; }
.mab20	{ margin-bottom: 20px !important; }
.mab25	{ margin-bottom: 25px !important; }
.mab30	{ margin-bottom: 30px !important; }
.mab40	{ margin-bottom: 40px !important; }
.mab50	{ margin-bottom: 50px !important; }
.mar0	{ margin-right: 0 !important; }
.mar1	{ margin-right: 1em !important; }
.mar10	{ margin-right: 10px !important; }
.mar15	{ margin-right: 15px !important; }
.mar20	{ margin-right: 20px !important; }
.mar30	{ margin-right: 30px !important; }
.mal0	{ margin-left: 0 !important; }
.mal1	{ margin-left: 1em !important; }
.mal10	{ margin-left: 10px !important; }
.mal15	{ margin-left: 15px !important; }
.mal20	{ margin-left: 20px !important; }
.mal30	{ margin-left: 30px !important; }

.p0		{ padding: 0 !important; }
.pat0	{ padding-top: 0 !important; }
.pat1	{ padding-top: 1em !important; }
.pat5	{ padding-top: 5px !important; }
.pat10	{ padding-top: 10px !important; }
.pat15	{ padding-top: 15px !important; }
.pat20	{ padding-top: 20px !important; }
.pat25	{ padding-top: 25px !important; }
.pat30	{ padding-top: 30px !important; }
.pat40	{ padding-top: 40px !important; }
.pat50	{ padding-top: 50px !important; }
.pab0	{ padding-bottom: 0 !important; }
.pab1	{ padding-bottom: 1em !important; }
.pab5	{ padding-bottom: 5px !important; }
.pab10	{ padding-bottom: 10px !important; }
.pab15	{ padding-bottom: 15px !important; }
.pab20	{ padding-bottom: 20px !important; }
.pab25	{ padding-bottom: 25px !important; }
.pab30	{ padding-bottom: 30px !important; }
.pab40	{ padding-bottom: 40px !important; }
.pab50	{ padding-bottom: 50px !important; }
.par0	{ padding-right: 0 !important; }
.par1	{ padding-right: 1em !important; }
.par10	{ padding-right: 10px !important; }
.par15	{ padding-right: 15px !important; }
.par20	{ padding-right: 20px !important; }
.par30	{ padding-right: 30px !important; }
.pal0	{ padding-left: 0 !important; }
.pal1	{ padding-left: 1em !important; }
.pal10	{ padding-left: 10px !important; }
.pal15	{ padding-left: 15px !important; }
.pal20	{ padding-left: 20px !important; }
.pal30	{ padding-left: 30px !important; }

.disN	{ display: none !important; }
.fl		{ float: left !important; }
.fr		{ float: right !important; }
.b0		{ border: 0 !important; }
.tal	{ text-align: left !important; }
.tac	{ text-align: center !important; }
.tar	{ text-align: right !important; }
.fwb	{ font-weight: bold !important; }
.fwn	{ font-weight: normal !important; }
.red	{ color: #c00 !important; }
.whi	{ color: #fff !important; }
.hand	{ cursor: pointer !important; }
.ti		{ text-indent: -1em; margin-left: 1em; }

a		{-webkit-transition: .3s;transition: .3s;}
*		{box-sizing:border-box;}
/*---------------------------------------------
01. layout
02. header
03. footer
04. vendor
---------------------------------------------*/
@font-face {
	font-family: "Roboto";
	font-weight: 400;
	src: url("../fonts/Roboto-Regular.woff") format("woff");
}
@font-face {
	font-family: "Roboto";
	font-weight: 700;
	src: url("../fonts/Roboto-Bold.woff") format("woff");
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-weight: 200;
	src: url("../fonts/NotoSansCJKjp-Light.woff") format("woff");
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-weight: 400;
	src: url("../fonts/NotoSansCJKjp-Regular.woff") format("woff");
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-weight: 500;
	src: url("../fonts/NotoSansCJKjp-Medium.woff") format("woff");
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-weight: 700;
	src: url("../fonts/NotoSansCJKjp-Bold.woff") format("woff");
}

/*---------------------------------------------
01. layout
---------------------------------------------*/
.pc {
	display: block;
}
.sp {
	display: none;
}
@media (max-width: 767px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
		}
}

/*---------------------------------------------
02. header
---------------------------------------------*/
header {
	top: 0;
	z-index: 100;
	width: 100%;
	min-width: 1280px;
	color: #fff;
	padding: 5px 0;
	font-family: 'Noto Sans Japanese';
	font-weight: 400;
	background: #000;
	position: fixed;
}
.chrome header,
.firefox header {
	position: -webkit-sticky;
	position: sticky;
}
header nav {
	width: 1280px;
	margin: auto;
}
header nav a {
	color: #fff;
	font-size: 1.4rem;
	display: block;
	padding: 0 14px 0;
}
header nav a:hover {
	opacity: 0.6;
}
header nav ul {
	margin-left: auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	text-align: center;
	padding-right: 120px;
}
header nav ul li {
	margin-left: 20px;
	position: relative;
}
header nav ul li:before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	left: -4px;
	margin: auto;
	height: 1px;
	width: 10px;
	background: #8d9188;
}
header .gnavi_btn {
	display: none;
}
@media (max-width: 767px) {
	header {
		padding: 0;
		height: 30px;
		position: fixed!important;
		background: none;
		min-width: initial;
	}
	header .gnavi_btn {
		display: block;
		width: 30px;
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
		background: #000;
		z-index: 200;
	}
	header .gnavi_btn:before,
	header .gnavi_btn:after,
	header .gnavi_btn span {
		position: absolute;
		width: 20px;
		height: 2px;
		right: 0;
		left: 0;
		margin: auto;
		background: #fff;
		transition: 0.5s;
		opacity: 1;
	}
	header .gnavi_btn:before {
		content: "";
		top: 7px;
	}
	header .gnavi_btn:after {
		content: "";
		bottom: 7px;
	}
	header .gnavi_btn span {
		top: 0;
		bottom: 0;
	}
	/*is-active*/
	header.is-active .gnavi_btn:before {
		content: "";
		top: 14px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	header.is-active .gnavi_btn:after {
		content: "";
		bottom: 14px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	header.is-active .gnavi_btn span {
		opacity: 0;
		width: 0;
	}
	header nav {
		width: 100%;
	}
	header nav a {
		padding: 7px 30px 7px 0;
		text-align: right;
	}
	header nav ul {
		overflow: auto;
		display: block;
		position: absolute;
		right: 0;
		width: 240px;
		transform: translateX(100%);
		transition: .5s;
		background: rgba(0,0,0,0.8);
		height: calc(100vh - 60px);
		height: calc(100vh - 60px);
		padding: 40px 0;
	}
	header.is-active nav ul {
		transform: translateX(0);
		transition-duration: 235ms;
		transition: .5s;
	}
	header nav ul li {
		margin-left: 0;
	}
	header nav ul li:before {
		left: auto;
		background: none;
		bottom: 5px;
		right: 10px;
		width: 8px;
		height: 8px;
		border-top: 2px solid #ccc;
		border-right: 2px solid #ccc;
		margin: auto;
		vertical-align: middle;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
}

/*---------------------------------------------
03. footer
---------------------------------------------*/
footer {
	bottom: 0;
	z-index: 100;
	width: 100%;
	min-width: 1280px;
	background: #f18900;
	color: #fff;
	font-family: 'Noto Sans Japanese';
	height: 60px;
	position: fixed;
	bottom: -1px;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
.chrome footer,
.firefox footer {
	position: -webkit-sticky;
	position: sticky;
}
footer .footer_inner {
	width: 1280px;
	height: 100%;
	margin: auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
footer .storeName {
	padding: 0 20px;
	white-space: nowrap;
	font-weight: 700;
}
footer .storeName a {
	color: #fff;
	font-size: 2rem;
	text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.4);
	display: block;
}
footer .storeName a:hover {
	opacity: 0.6;
}
footer .storeName a img {
	max-width: 230px;
	max-height: 25px;
}
footer ul {
	display: -webkit-flex;
	display: flex;
	width: 850px;
	position: relative;
	top: -10px;
	margin-left: auto;
}
footer ul li {
	-webkit-flex-grow: 1;
	flex-grow: 1;
	height: 50px
}
footer ul li a {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 2px 0 2px 40px;
	color: #fff;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	filter: dropshadow(color=#000000, offX=0, offY=2);
	text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.4);
	box-shadow: 3px 6px 5px 0px rgba(0, 0, 0, 0.3);
	overflow: visible;
	background: #ee8700;
	background: linear-gradient(#ee8700, #c16e00);
	transition: all 0.3s ease;
	line-height: 1.2;
	top: 0px;
}
footer ul li a:hover {
	top: -5px;
	background: linear-gradient(#f88d00, #d07700);
}
footer ul li a:before {
	position: absolute;
	content: "";
	height: 120%;
	width: 40px;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
}
footer ul li a:after {
	position: absolute;
	content: "";
	top: 0px;
	left: 0px;
	width: 40px;
	height: 100%;
}
footer ul li.try a:after {
	background: url('../img/i_try.png') no-repeat center center;
	background-size: 60%;
}
footer ul li.store a:after {
	background: url('../img/i_store.png') no-repeat center center;
	background-size: 60%;
}
footer ul li.catalog a:after {
	background: url('../img/i_catalog.png') no-repeat center center;
	background-size: 60%;
}
footer ul li.online a:after {
	background: url('../img/i_online.png') no-repeat center center;
	background-size: 65%;
}
footer ul li.shodan a:after {
	background: url('../img/i_shodan.png') no-repeat center center;
	background-size: 70%;
}
footer .pagetop {
	height: 60px;
	width: 60px;
	position: relative;
	top: -14px;
	margin: 0 25px 0 10px;
	transition: all 0.3s ease;
}
footer .pagetop:hover {
	top: -20px;
}
footer .pagetop a {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.3);
}
footer .pagetop a:after {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	top: 10px;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 15px;
	border-top: 3px solid #fff;
	border-left: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
footer .store_name_img {
	display: none;
}
/* storename logo */
footer.logo {
	background: #fff;
}
footer.logo .storeName {
	padding: 0px 20px 8px;
}
footer.logo .storeName .store_name_img {
	display: block;
}
footer.logo .storeName .store_name_text {
	display: none;
}
@media (max-width: 767px) {
	footer {
		position: fixed!important;
		min-width: initial;
		height: auto;
		bottom: 0;
	}
	footer .footer_inner {
		display: block;
		width: 100%;
		position: relative;
	}
	footer .storeName {
		padding-left: 15px;
	}
	footer .storeName a {
		font-size: 1.2rem;
		display: block;
		padding: 4px 5px 3px;
	}
	footer ul {
		width: 100%;
		border-left: 1px solid #deba8b;
		border-bottom: 1px solid #9d5900;
		position: static;
	}
	footer ul li {
		border-right: 1px solid #deba8b;
		height: 32px;
	}
	footer ul li a {
		font-size: 1rem;
		padding: 0 6px 0 0;
		text-align: center;
		box-shadow: none;
		background: linear-gradient(#e99a31, #bc7c27);
	}
	footer ul li a:hover {
		background: linear-gradient(#e99a31, #bc7c27);
	}
	footer ul li a:before {
		display: none;
	}
	footer ul li a:after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: auto;
		right: 6px;
		width: 6px;
		height: 6px;
		margin: auto;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		background: none!important;
	}
	footer .pagetop {
		height: 43px;
		width: 43px;
		top: -23px;
		right: 20px;
		margin: 0;
		position: absolute;
	}
	footer .pagetop:hover {
		top: -23px;
	}
	footer .pagetop a {
		box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.3);
	}
	footer .pagetop a:after {
		top: 9px;
		width: 12px;
		height: 12px;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
	}
	footer.logo .storeName {
		padding: 0 0 0 15px;
	}
	footer.logo .storeName a {
		padding: 6px 5px 5px;
	}
	footer.logo .storeName a img {
		vertical-align: top;
	}
}



