@charset "UTF-8";

/* ---------------------------
	Index
	1. Base
	2. Header
	3. Global Navigation
	4. Main
	5. Footer
	6. Menu
--------------------------- */





/* ---------------------------
	Base
--------------------------- */
body {
	line-height: 1.75;
	letter-spacing: 0.03em;
	font-family: "Lato", Arial, Helvetica, "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "meiryo", sans-serif;
	font-size: 12px;
	color: #3a3a3a;
	-webkit-text-size-adjust: 100%;
	min-width: 100%;
}

.wrapper {
	-webkit-transition: left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	position: relative;
	left: 0;
}




/*	Link
-----------------------------*/
a {
	color: #202020;
	text-decoration: none;
}


/*	Image
-----------------------------*/
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
iframe {
	display: block;
	width: 100%;
}


/*	Text
-----------------------------*/
em, strong {
	font-style: normal;
	font-weight: bold;
}




/* ---------------------------
	Header
--------------------------- */
.header {
	position: relative;
	background-color: #f2f2f2;
	padding-bottom: 10px;
}


/*	Header Logo
-----------------------------*/
.header_logo {
	margin: 0 auto;
	padding: 0 45px;
	width: 110px;
	height: 45px;
}
.header_logo a {
	display: inline-block;
	padding-top: 45px;
	width: 100%;
	height: 0;
	overflow: hidden;
	background: url("../img/common/logo_header.png") no-repeat center;
	background-size: contain;
}



/*	Header Cart
-----------------------------*/
.header_cart {
	width: 45px;
	height: 45px;
	position: absolute;
	top: 0;
	right: 0;
}
.header_cart a {
	display: block;
	padding-top: 45px;
	width: 100%;
	height: 0;
	overflow: hidden;
	background: url("../img/common/icon_cart.png") no-repeat center;
	background-size: 20px auto;
}


/*	Menu Button
-----------------------------*/
.menu_button {
	width: 42px;
	height: 45px;
	position: absolute;
	top: 0;
	left: 0;
}
.menu_button a {
	display: block;
	padding-top: 45px;
	width: 100%;
	height: 0;
	overflow: hidden;
	background: url("../img/common/icon_menu.png") no-repeat center;
	background-size: 20px auto;
}
.menu_button a.js_menu_button_close {
	background-image: url("../img/common/icon_menu_close.png");
}




/* ---------------------------
	Global Navigation
--------------------------- */
.gnav ul {
	overflow: hidden;
}
.gnav li {
	margin-left: .5%;
	margin-bottom: .5%;
	width: 33%;
	float: left;
}
.gnav li:nth-child(3n+1) {
	margin-left: 0;
}
.gnav a {
	display: block;
	background: #fff;
	text-align: center;
	line-height: 35px;
	letter-spacing: 1px;
	font-weight: bold;
	font-size: 11px;
}
.gnav li.current a {
	opacity: 0.6;
}




/* ---------------------------
	Main
--------------------------- */




/* ---------------------------
	Footer
--------------------------- */
.footer {
	letter-spacing: 2px;
	text-align: center;
}



/*	Footer List
-----------------------------*/
.footer_list {
	margin-bottom: 36px;
}
.footer_list li {
	margin-top: 1px;
}
.footer_list a {
	display: block;
	background: #d6d6d6;
	line-height: 30px;
	letter-spacing: normal;
	text-align: center;
	font-size: 10px;
}



/*	Footer Button
-----------------------------*/
.footer_button a {
	display: block;
	height: 36px;
	line-height: 36px;
	font-weight: bold;
	font-size: 11px;
	color: #7b7b7b;
}
.footer_button a:after {
	content: "";
	display: inline-block;
	margin-left: 8px;
	vertical-align: top;
	width: 9px;
	height: 98%;
	background: url("../img/common/icon_arrow_goto_top.png") no-repeat center;
	background-size: contain;
}



.fnav{
	text-align: center;
}
.fnav_top {
	background: #fff;
}
.fnav_top li+li{
	border-top: 2px solid #f2f2f2;
}
.fnav_top a {
	display: block;
	padding: 8px 0;
	font-weight: bold;
	font-size: 11px;
}


.fnav_middle ul {
	padding: 10px 20px;
	border-bottom: 1px solid #999;
	font-size: 0; /* Remove Margins of Inline Block */
}
.fnav_middle li {
	margin: 0 10px;
	display: inline-block;
	vertical-align: top;
}
.fnav_middle a {
	display: block;
	letter-spacing: 1px;
	line-height: 25px;
	font-size: 10px;
}


.fnav_bottom ul {
	padding: 10px 0;
	text-align: left;
	display: table;
	margin: 0 auto;
}
.fnav_bottom li {
}
.fnav_bottom a {
	display: block;
	padding: 7px 0 8px;
	letter-spacing: 1px;
	line-height: 22px;
	font-size: 11px;
}
.fnav_bottom img {
	display: inline-block;
	margin-right: 5px;
	width: 22px;
	vertical-align: middle;
}
.fnav_lang{
	padding: 5px 0;
	background: #dedede;
}
.fnav_lang li{
	display: inline-block;
}
.fnav_lang a,
.fnav_lang span{
	display: inline-block;;
	padding: 5px 10px;
}
.fnav_lang span{
	color: #888;
}

/*	Footer Address
-----------------------------*/
.footer address {
	display: block;
	line-height: 45px;
	letter-spacing: .1em;
	font-size: 9px;
	background: #aaa;
	color: #fff;
}
.footer address a{
	color: #fff;
}




/* ---------------------------
	Menu
--------------------------- */

/*	Menu Body
-----------------------------*/
.menu {
	width: 245px;
	height: 100%;
	background: #fff;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	position: fixed;
	left: -245px;
	top: 0;
	bottom: 0;
	-webkit-transition: left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: left 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.menu dl {
	padding: 0 15px;
}
.menu dt {
	line-height: 45px;
	font-weight: bold;
	font-size: 11px;
}


/*	Menu Body Active
-----------------------------*/
/* html */.menu_active {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}
/* html */.menu_active body {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
/* html */.menu_active .wrapper {
	width: 100%;
	height: 100%;
	left: 245px;
}
/* html */.menu_active .menu {
	left: 0;
}


/*	Menu Main
-----------------------------*/
.menu_main li {
	margin-top: 1px;
}
.menu_main li:first-child {
	margin-top: 0;
}
.menu_main a {
	display: block;
	padding: 10px 10px;
	background-color: #f2f2f2;
	font-size: 12px;
}


/*	Menu Sub
-----------------------------*/
.menu_sub {
	padding: 16px 0;
	border-bottom: 1px solid #999;
}
.menu_sub a {
	display: block;
	padding: 12px 0;
	line-height: 1;
	font-size: 11px;
}


/*	Menu Icon
-----------------------------*/
.menu_icon {
	padding: 16px 0;
	border-bottom: 1px solid #999;
}
.menu_icon a {
	display: block;
	padding: 10px 0;
	line-height: 18px;
	font-size: 10px;
}
.menu_icon a:before {
	content: "";
	display: inline-block;
	margin-right: 6px;
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	vertical-align: middle;
}

.menu_icon .menu-facebook a:before {
	background-image: url("/img/common/icon_facebook@2x.png");
}
.menu_icon .menu-twitter a:before {
	background-image: url("/img/common/icon_twitter@2x.png");
}
.menu_icon .menu-instagram a:before {
	background-image: url("/img/common/icon_instagram@2x.png");
}
.menu_icon .menu-line a:before {
	background-image: url("/img/common/icon_line@2x.png");
}
.menu_icon .menu-mail a:before {
	background-image: url("/img/common/icon_mail@2x.png");
}
.menu_icon .menu-catalog a:before {
	background-image: url("/img/common/icon_catalog@2x.png");
}


/*	Menu Close
-----------------------------*/
.menu_close a {
	display: block;
	padding: 24px 0 25px;
	line-height: 11px;
	font-size: 10px;
}
.menu_close a:before {
	content: "";
	display: inline-block;
	margin-right: 9px;
	width: 10.5px;
	height: 11px;
	background: url("../img/common/icon_close.png") no-repeat center;
	background-size: contain;
	vertical-align: top;
}
