@charset "utf-8";
/*=================================
	header
================================ */
#header {
	width: 100%;
	background: #1c1a19;
}
@media print {
	#header {
		display: none;
	}
}
#header.fixed {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 100;
}
#header #headerInner {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
	padding: 25px 0 27px;
}
#header.fixed #headerInner {
	padding: 9px 0 14px;
}
#header .logo {
	width: 128px;
	height: 48px;
	margin-right: auto;
	background: url(/common/img/header_logo02.png) no-repeat 0 0;
	text-indent: -9999px;
}
#header .logo a {
	display: block;
	width: 128px;
	height: 48px;
}
#header.fixed #globalNavi {
	margin-left: auto;
}
#header #globalNavi ul {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
#header #globalNavi ul li {
	margin-right: 48px;
}
#header #globalNavi ul li.contact {
	width: 21px;
	height: 14px;
	margin-right: 28px;
	background: url(/common/img/header_im01.png) no-repeat 0 0;
	text-indent: -9999px;
}
#header #globalNavi ul li a {
	color: #ffffff;
	font-size: 17px;
	font-size: 1.7rem;
	text-decoration: none;
	font-weight: bold;
}
#header.fixed #globalNavi ul li a {
	font-weight: normal;
}
#header #globalNavi ul li a .linkEffect:after {
	background-color: #ffffff;
}
#header #globalNavi ul li a:hover .linkEffect:after {
}

#header #globalNavi ul li.contact a {
	display: block;
}
#header #globalNavi ul li a:hover {
	text-decoration: underline;
}
#header #spNavi {
	display: none;
}

/* Top header */
body#top #header {
	position: fixed;
	top 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background: none;
}
body#top #header.fixed {
	background: #1c1a19;
}
body#top #header #headerInner {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px 0 0;
}
body#top #header.fixed #headerInner {
	padding: 15px 0;
}
body#top #header .logoArea {
	width: 295px;
	height: 111px;
	margin-right: auto;
}
body#top #header.fixed .logoArea {
	position: fixed;
	top: 0;
}
body#top #header.fixed .logoArea {
	width: 128px;
	height: 48px;
}
body#top #header .logoArea .logo {
	width: 128px;
	height: 48px;
	background: url(/common/img/header_logo02.png) no-repeat 0 0;
}
body#top #header.fixed .logoArea .logo {
	width: 128px;
	height: 48px;
	background: url(/common/img/header_logo02.png) no-repeat 0 0;
	text-indent: -9999px;
}
body#top #header .logoArea .logo a {
	display: block;
	width: 128px;
	height: 48px;
}
body#top #header .logoArea .logo + p {
	margin-top: 5px;
	color: #333333;
}
body#top #header.fixed .logoArea .logo + p {
	display: none;
}
body#top #header #globalNavi ul li a {
	color: #333333;
	font-size: 16px;
	font-size: 1.6rem;
	text-decoration: none;
	font-weight: normal;
}
body#top #header.fixed #globalNavi ul li a {
	color: #ffffff;
	font-size: 17px;
	font-size: 1.7rem;
}

/* Shop header */
body#shop #header #headerInner {
	position: relative;
	-webkit-align-items: center;
	align-items: center;
	padding: 24px 0 25px;
}
body#shop #header.fixed #headerInner {
	padding: 23px 0 27px;
}
body#shop #header .logo {
	margin-right: 0;
}
body#shop #header.fixed .logo {
	position: inherit;
}
body#shop #header .shopName {
	padding-left: 19px;
	color: #ffffff;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.2;
}
body#shop #header .shopName a {
	color: #ffffff;
	text-decoration: none;
}
body#shop #header .shopName span {
	display: block;
	font-size: 24px;
	font-size: 2.4rem;
}
body#shop #header .shopContactWrap {
	margin-left: auto;
}
body#shop #header .utilityLink {
	position: absolute;
	top: 0;
	right: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	width: 314px;
	height: 30px;
	padding-left: 37px;
	background: url(/common/img/header_bg02.png) no-repeat 0 0;
}
body#shop #header .utilityLink li {
	padding-left: 15px;
	background: url(/common/img/com_ic27.png) no-repeat 0 0.3em;
}
body#shop #header .utilityLink li:first-child {
	margin-right: 25px;
}
body#shop #header .utilityLink li a {
	color: #ffffff;
	font-size: 13px;
	font-size: 1.3rem;
	text-decoration: none;
}
body#shop #header .utilityLink li a .linkEffect:after {
	background-color: #ffffff;
}
body#shop #header .utilityLink li a:hover .linkEffect:after {
	width: 100%;
}
body#shop #header .shopContact {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
body#shop #header .shopContact .time {
	margin-top: 0;
	color: #cccccc;
	font-size: 12px;
	font-size: 1.2rem;
}
body#shop #header .shopContact .tel {
	margin: 0 0 0 10px;
	padding-left: 25px;
	background: url(/common/img/com_ic12.png) no-repeat 0 0.4em;
	background-size: 16px 22px;
	font-size: 28px;
	font-size: 2.8rem;
}
body#shop #header .shopContact .tel a {
	color: #ffffff;
	text-decoration: none;
	cursor: default;
}
body#shop #header #headerNavi {
	background: url(/common/img/com_bg06.png) no-repeat 50% 100%;
}
body#shop #header #shopNavi {
	background: url(/common/img/header_bg01.png) no-repeat 50% 0;
}
body#shop #header.fixed #shopNavi {
	background: url(/common/img/header_bg01_02.png) no-repeat 50% 0;
}
body#shop #header #shopNavi ul {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
}
body#shop #header #shopNavi ul li {
	display: table;
	width: 25%;
	background: url(/common/img/com_bg04.png) no-repeat 100% 50%;
}
body#shop #header #shopNavi ul li:last-child {
	background: none;
}
body#shop #header #shopNavi ul li * {
	color: #ffffff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
}
body#shop #header #shopNavi ul li a {
	display: table-cell;
	height: 72px;
	text-align: center;
	vertical-align: middle;
}
body#shop #header #shopNavi ul li a .linkEffect:after {
	background-color: #ffffff;
}
body#shop #header #shopNavi ul li a:hover .linkEffect:after {
	width: 100%;
}


/*=================================
	footer
================================ */
#footer {
	width: 100%;
	background: #1c1a19;
}
#footer #footerInner {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
	padding: 25px 0 25px;
}
#footer #pageTopBtn {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	text-indent: -9999px;
}
#footer #pageTopBtn a {
	display: block;
	width: 60px;
	height: 60px;
	background: #1c1a19 url(/common/img/footer_ic01.png) no-repeat 50% 50%;
	border: solid 1px #8e8d8c;
	transition-property:all;
	transition-duration:0.2s;
}
#footer #pageTopBtn a:hover {
	-ms-filter:"alpha(opacity=70)";
	filter:alpha(opacity=70);
	opacity:0.7;
}
#footer .utilityLink {
	margin-right: auto;
}
#footer .utilityLink li {
	padding-left: 16px;
	background: url(/common/img/footer_ic02.png) no-repeat 0 50%;
}
#footer .utilityLink li a {
	color: #ffffff;
	text-decoration: none;
}
#footer .utilityLink li a[target="_blank"]:after {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 9px;
	background: url(/common/img/footer_ic03.png) no-repeat 0 0;
	content: "";
}
#footer .utilityLink a:hover {
	text-decoration: underline;
}
#footer #copyright {
	color: #ffffff;
	font-size: 12px;
	font-size: 1.2rem;
}


/*=================================
	topicPathArea
================================ */
#topicPathArea {
	overflow: hidden;
	width: 100%;
}
#topicPathArea .topicPathList {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	max-width: 1000px;
	margin: 15px auto 0;
}
#topicPathArea .topicPathList li {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.1;
}
#topicPathArea .topicPathList li:after {
	margin: 0 4px;
	content: "/";
}
#topicPathArea .topicPathList li:last-child:after {
	display: none;
}
#topicPathArea .topicPathList li a {
	text-decoration: none;
}
#topicPathArea .topicPathList li a:hover {
	text-decoration: underline;
}
#topicPathArea .topicPathList li:last-child a:hover {
	text-decoration: none;
	cursor: default;
}


/*=================================
	container
================================ */
#container {
	width: 100%;
}
#main {
	max-width: 1000px;
	margin: 0 auto;
}
body#top #main {
	position: relative;
	max-width: 100%;
	padding-bottom: 100px;
}
body#contact #main {
	padding-bottom: 100px;
}



@media only screen and (max-width: 640px) {

	/*=================================
		header
	================================ */
	#header {
		width: 100%;
		background: #1c1a19;
	}
	#header.fixed {
		position: fixed;
		left: 0;
		width: 100%;
		z-index: 100;
	}
	#header #headerInner {
		position: relative;
		display: block;
		max-width: 100%;
		margin: 0 auto;
		padding: 19px 0 18px 10px;
	}
	#header.fixed #headerInner {
		position: relative;
		padding: 19px 0 18px 10px;
	}
	#header .logo {
		width: 48px;
		height: 18px;
		margin-right: auto;
		background: url(/common/img/header_logo01.png) no-repeat 0 0;
		background-size: 48px 18px;
		text-indent: -9999px;
	}
	#header.fixed .logo {
		position: inherit;
		top: auto;
	}
	#header .logo a {
		display: block;
		width: 48px;
		height: 18px;
	}
	#header #globalNavi {
		display: none;
	}
	#overlay {
		position: fixed;
		display: none;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.75);
		z-index: 110;
	}
	#header #spNavi {
		display: block;
	}
	#header #spNavi .menuSw {
		position: absolute;
		top: 0;
		right: 0;
		margin: 0;
		z-index: 120;
	}
	#header #spNavi .menuSw a {
		display: block;
		width: 50px;
		height: 55px;
		background: url(/common/img/header_ic01_sp.png) no-repeat 50% 50%;
		background-size: 20px 17px;
		text-indent: -9999px;
	}
	#header #spNavi .menuSw.on a {
		background: #ffffff url(/common/img/header_ic02_sp.png) no-repeat 50% 50%;
		background-size: 15px 15px;
	}
	#header #spNavi .menuBody {
		overflow-y: scroll;
		display: none;
		position: absolute;
		top: 55px;
		width: 100%;
		background: #ffffff;
		z-index: 120;
	}
	#header #spNavi .menuBody .menuList {
		padding: 10px 15px;
	}
	#header #spNavi .menuBody .menuList .iconLinkList01 li {
		font-size: 15px;
		font-size: 1.5rem;
	}
	#header #spNavi .menuBody .menuList .iconLinkList01 li a {
		padding-left: 15px;
	}
	#header #spNavi .menuBody * {
		text-decoration: none;
	}
	#header #spNavi .menuBody .iconLink01 {
		padding: 0 15px 10px;
		font-size: 15px;
		font-size: 1.5rem;
	}
	#header #spNavi .menuBody .shopMenu {
		display: table;
		border-top: solid 1px #333333;
		border-bottom: solid 1px #333333;
	}
	#header #spNavi .menuBody .shopMenu li {
		display: table-cell;
		width: 33%;
		padding: 5px 10px;
		border-left: solid 1px #333333;
		text-align: center;
		vertical-align: middle;
	}
	#header #spNavi .menuBody .shopMenu li:first-child {
		border-left: none;
	}
	#header #spNavi .menuBody .shopMenu li a {
		display: block;
		line-height: 1.3;
	}
	#header #spNavi .menuBody .contactWrap {
		padding: 0 15px;
	}
	#header #spNavi .menuBody .contact {
		margin-top: 15px;
		text-align: center;
	}
	#header #spNavi .menuBody .contact dt {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
	}
	#header #spNavi .menuBody .contact dd .note {
		margin-top: 5px;
		font-size: 9px;
		font-size: 0.9rem;
	}
	#header #spNavi .menuBody .contact dd .telBtn,
	#header #spNavi .menuBody .contact dd .mailBtn {
		margin-top: 5px;
	}
	#header #spNavi .menuBody .contact dd .telBtn a,
	#header #spNavi .menuBody .contact dd .mailBtn a {
		display: inline-block;
		width: 100%;
		padding: 10px 10px;
		background: #1e1917;
		font-size: 15px;
		font-size: 1.5rem;
		color: #ffffff;
	}
	#header #spNavi .menuBody .contact dd .telBtn a:before {
		display: inline-block;
		width: 13px;
		height: 18px;
		margin: 0 5px 0 0;
		background: url(/common/img/com_ic12.png) no-repeat 0 0;
		background-size: 13px 18px;
		vertical-align: middle;
		content: "";
	}
	#header #spNavi .menuBody .contact dd .mailBtn a:before {
		display: inline-block;
		width: 15px;
		height: 10px;
		margin: 0 9px 2px 0;
		background: url(/common/img/com_ic14.png) no-repeat 0 0;
		background-size: 15px 10px;
		vertical-align: middle;
		content: "";
	}
	#header #spNavi .menuBody .contact dd .mailBtn a:after {
		display: inline-block;
		width: 15px;
		height: 10px;
		margin: 0 0 0 5px;
		background: url(/common/img/com_ic10.png) no-repeat 0 0;
		background-size: 10px 10px;
		vertical-align: middle;
		content: "";
	}
	#header #spNavi .menuBody .closeWrap {
		padding: 0 15px 20px;
	}
	#header #spNavi .menuBody .closeWrap .twoColType li {
		margin-right: 0;
		width: 47%;
	}
	#header #spNavi .menuBody .closeWrap .twoColType li:last-child {
		margin-left: auto;
	}
	#header #spNavi .menuBody .closeWrap .twoColType li a {
		padding: 7px 5px;
	}
	#header #spNavi .menuBody .closeWrap #closeLink {
		margin-top: 20px;
		text-align: center;
	}
	#header #spNavi .menuBody .closeWrap #closeLink a:before {
		display: inline-block;
		width: 10px;
		height: 10px;
		margin: 0 7px 0 0;
		background: url(/common/img/com_ic09.png) no-repeat 0 0;
		background-size: 10px 10px;
		vertical-align: middle;
		content: "";
	}

	/* Top header */
	body#top #header {
		width: 100%;
		z-index: 100;
		background: none;
	}
	body#top #header #headerInner {
		display: block;
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}
	body#top #header.fixed #headerInner {
		padding: 0;
		background: none;
	}
	body#top #header .logoArea {
		position: absolute;
		top: 240px;
		left: 50%;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		width: auto;
		height: auto;
		margin: 0 0 0 -80px;
	}
	body#top #header .logoArea {
		display: none;
	}

	/* Shop header */
	body#shop #header #headerInner {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		padding: 18px 0 19px 10px;
	}
	body#shop #header.fixed #headerInner {
		padding: 18px 0 19px;
	}
	body#shop #header .logo {
		width: 48px;
		height: 18px;
		margin-right: 15px;
		background: url(/common/img/header_logo01.png) no-repeat 0 0;
		background-size: 48px 18px;
	}
	body#shop #header .logo a {
		width: 48px;
		height: 18px;
	}
	body#shop #header .shopName {
		padding-left: 15px;
		color: #ffffff;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	body#shop #header .shopName a {
		color: #ffffff;
		text-decoration: none;
	}
	body#shop #header .shopName span {
		display: block;
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
	}
	body#shop #header .shopContactWrap,
	body#shop #header .utilityLink,
	body#shop #header .shopContact {
		display: none;
	}
	body#shop #header #shopNavi {
		display: none;
	}


	/*=================================
		footer
	================================ */
	#footer {
		width: 100%;
		background: #1c1a19;
	}
	#footer #footerInner {
		display: block;
		max-width: 100%;
		margin: 0 auto;
		padding: 20px 15px;
	}
	#footer #pageTopBtn {
		display: none;
		position: fixed;
		bottom: 15px;
		right: 0;
		text-indent: -9999px;
	}
	#footer #pageTopBtn a {
		display: block;
		width: 45px;
		height: 45px;
		background: #8d8d8d url(/common/img/footer_ic01_sp.png) no-repeat 50% 50%;
		background-size: 15px 8px;
		border: none;
		transition-property:all;
		transition-duration:0.2s;
	}
	#footer .utilityLink {
		margin-right: auto;
	}
	#footer .utilityLink li {
		padding-left: 11px;
		background: url(/common/img/footer_ic02.png) no-repeat 1px 50%;
		background-size: 4px 7px;
	}
	#footer .utilityLink li a[target="_blank"]:after {
		display: inline-block;
		width: 9px;
		height: 9px;
		margin-left: 5px;
		background: url(/common/img/footer_ic03.png) no-repeat 0 0;
		background-size: 9px 9px;
		content: "";
	}
	#footer #copyright {
		margin-top: 5px;
		color: #ffffff;
		font-size: 10px;
		font-size: 1.0rem;
	}


	/*=================================
		topicPathArea
	================================ */
	#topicPathArea {
		display: none;
	}


	/*=================================
		container
	================================ */
	#main {
		max-width: 100%;
		margin: 0 auto;
	}
	body#top #main {
		padding-bottom: 50px;
	}
	body#contact #main {
		padding-bottom: 50px;
	}
	section {
		padding: 0 15px;
	}
	section section {
		padding: 0;
	}

}
