@charset "UTF-8";

#footer > div{
	width: var(--contents-width, 1120px);
	margin:0 auto;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerWrapFlex{
	display:flex;
	justify-content: space-between;
	text-align: left;
	align-items: flex-end;
	}
/*type1*/
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex{
	display:flex;
	flex-wrap:wrap;
	justify-content: initial;
	width:100%;
}
/*type2*/
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex{
	display:flex;
	flex-wrap:wrap;
	justify-content: initial;
	width:100%;
}

#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex > span{
	width:calc(25% - 10px);
	margin-left:5px;
	margin-right:5px;
	padding-left:5px;
	padding-right:5px;
	margin-bottom:10px;
	/*border-bottom:1px solid #;*/
	
	border-color:#FF178F;
	background-color:#FF178F;
	border-radius:4px;
	text-align:left;
	box-sizing:border-box;
	white-space:nowrap;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex > span:hover{
	background-color:#FF178F;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex a{
	display:block;
	/*
	display:flex;
	*/
	width:100%;
	box-sizing:border-box;
	padding: 5px;
	color:#FF54A4;
	}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex a:hover{
	text-decoration:none;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) #finfo{
		text-align:center;
	min-width:360px;
}
@media screen and (max-width: 640px) {
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) #finfo{
		min-width:100%;
	}
}
#footer.footerLayoutType1 .logoWrap,
#footer.footerLayoutType2 .logoWrap {
	padding:0px 0 0px 0;
					text-align:center;
}
#footer.footerLayoutType1 .logoWrap > span,
#footer.footerLayoutType2 .logoWrap > span {
	display: inline-block;
}
#footer.footerLayoutType1 .logoWrap > span a,
#footer.footerLayoutType2 .logoWrap > span a {
	position: relative;
	left:0px;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerWrapFlex #finfo img{
	width:auto;
	max-width: 100%;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) #finfo p{
	display:inline-block;
	margin-left:5px;
	margin-right:5px;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) #finfo p.openTime {
	margin-right:5px;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) #finfo p.openTime + .holiday{
	margin-right:5px;
}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) #copy{
	}
#footer[class*=footerLayoutType]:not(.footerLayoutType0) #copy span{
	display:inline-block;
}
#footer #copy span {
	display:inline-block;
			line-height:1.4;
	}
#footer[class*=footerLayoutType] .businessHoursWrap{
	display:inline-block;
}
#returnTop .spFooterBusinessHoursWrap,
#returnTop .spFooterFixTelNum{
	display:inline-block;
	/*width:100%;*/
}
#returnTop .spFooterReceptionTime{
	font-size:12px;
}
body.sp #footer #finfo{
	padding-top:8px;
}
@media screen and (max-width: 640px) {
	#footer > div{
		width: var(--contents-sp-width);
	}
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerWrapFlex{
		display:flex;
		flex-wrap:wrap;
	}
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex{
		padding-left:0px;
	}
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerWrapFlex > div{
	}
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex > span{
					width:calc((100% / 2 ) - 5px);
				margin-right:2.5px;
		margin-left: 2.5px;
	}
	/*
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex span:nth-child(2n){
		margin-left:10px;
	}
	*/
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) #finfo{
		width:100%;
		margin-left:0;
		/*min-width:340px;*/
		min-width:100%;
		/*padding:0 10px;*/
	}
			#footer #finfo{
		padding-top:8px;
	}
		#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerWrapFlex #finfo img{
		width:auto;
		max-width: 95%;
	}
	#footer.footerLayoutType1 .logoWrap,
	#footer.footerLayoutType2 .logoWrap {
		padding:0px 0 0px 0;
									text-align:center;
	}
	#footer.footerLayoutType1 .logoWrap > span,
	#footer.footerLayoutType2 .logoWrap > span {
		display: inline-block;
	}
	#footer.footerLayoutType1 .logoWrap > span a,
	#footer.footerLayoutType2 .logoWrap > span a {
		position: relative;
		left:0px;
	}
}


/*------ footer -----*/

footer {
	clear: left;
	width: 100%;
	text-align: center;
	font-style: normal;
}

#footer {
	width: 100%;
	padding: 30px 0 30px 0;
	position: relative;
}
.footerMenu{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	margin-bottom:6px;
	font-size:25px;
}
.footerMenu a{
	display:inline-block;
	white-space:nowrap;
	padding-left:10px;
	padding-right:10px;
	margin-bottom:5px;
}
	@media screen and (min-width: 641px) {
	.footerMenuFlex a span.googleWebFontEn,
	.footerMenu a span.googleWebFontEn{
		font-size:14px;
	}
	.footerMenuFlex a span.googleWebFontJp,
	.footerMenu a span.googleWebFontJp{
		font-size:14px;
	}
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex a p,
	.footerMenu a p{
		display:flex;
		flex-wrap:nowrap;
		justify-content: left;
		align-items: center;
		padding-left:0px;
		padding-right:0px;
		border-bottom:1px solid transparent;
	}
					.footerMenuFlex a span.googleWebFontEn,
		.footerMenu a span.googleWebFontEn{
			display:none;
		}
	}
@media screen and (max-width: 640px) {
	.footerMenuFlex a span.googleWebFontEn,
	.footerMenu a span.googleWebFontEn{
		font-size:14px;
	}
	.footerMenuFlex a span.googleWebFontJp,
	.footerMenu a span.googleWebFontJp{
		font-size:14px;
	}
	#footer[class*=footerLayoutType]:not(.footerLayoutType0) .footerMenuFlex a p,
	.footerMenu a p{
		display:flex;
		flex-wrap:nowrap;
		justify-content: left;
		align-items: center;
		padding-left:0px;
		padding-right:0px;
		margin-left:0px;
		margin-right:10px;
		border-bottom:1px solid transparent;
	}
					.footerMenuFlex a span.googleWebFontEn,
		.footerMenu a span.googleWebFontEn{
			display:none;
		}
	}



#textlink {
	font-size: 11px;
	line-height: 20px;
	padding: 15px 0;
}

#textlink a i {
	display: none;
}

#textlink p {
	position: relative;
	z-index: 10;
}

#textlink p br {
	display: none;
}

.pcReturnTop{
	display:block;
	position: fixed;
	bottom: 25px;
	right: 25px;
	width: 50px;
	height: 50px;
	z-index: 100;
}
.pcReturnTop a{
	position: fixed;
	padding: 0;
	text-indent:-9999px;
	bottom:25px;
		right:25px;
		width:50px;
	height:50px;
	border-radius:4px;
	/*z-index:10;*/
	z-index:1000;
	transition: .3s;
}
.pcReturnTop a:after {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	position: absolute;
	margin: auto;
	top: 10px;
	bottom: 0;
	left: 0;
	right: 0;
	border-top: solid 3px currentColor;
	border-right: solid 3px currentColor;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
body.sp .pcReturnTop a{
	display:none;
}

#pageTop {
	padding: 20px 0;
}

#pageTop a {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 200px;
	height: 50px;
	font-size: 18px;
	line-height: 20px;
	border-width: 2px;
	border-style: solid;
	padding: 20px 0 0 0;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#pageTop a:after {
	content: "";
	display: block;
	clear: both;
	position: absolute;
	top: 9px;
	left: 50%;
	margin-left: -4px;
	width: 6px;
	height: 6px;
	border-top-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-left-style: solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#pageTop a:hover {
	text-decoration: none;
}

#finfo {
	font-size: 14px;
	line-height: 18px;
}
#finfo .footerShopInfo{
	line-height: 1.2;
}
#finfo h2 {
	font-size: 14px;
	font-weight: normal;
}

#ad {
	font-size: 10px;
	line-height: 16px;
	padding: 15px 0;
}

#ad br {
	display: none;
}

#copyRight {
	font-size: 10px;
	line-height: 14px;
}
