html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

img {
	max-width: 100%;
}

@media all and (max-width: 640px) {
	html {
		font-size: 4vw;
	}
}
@media all and (min-width: 641px) {
	html {
		font-size: 2vw;
	}
}
@media all and (min-width: 1001px) {
	html {
		font-size: 20px;
	}
}


html {
	-webkit-font-smoothing: antialiased;
	font-family: 'Hiragino Kaku Gothic Pro', Meiryo, sans-serif;
	font-smoothing: antialiased;
	text-align: center;
	font-feature-settings: 'palt';
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	line-height: 1.5;
}
body {
	margin: 0 auto;
}
a {
	color: #1c91eb;
}


/* -------------------- overBtn -------------------- */

.overBtn {
	display: inline-block;
	position: relative;
	background: no-repeat left top;
}
.overBtn::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: no-repeat left top;
	background-size: 100% auto;
	opacity: 0;
}
.overBtn img {
	opacity: 1;
	position: relative;
}

.overBtn::before,
.overBtn img {
	-webkit-transition: all 150ms ease;
	transition: all 150ms ease;
}
.overBtn:hover::before {
	opacity: 1;
}
.overBtn:hover img {
	opacity: 0;
}

.overBtn[name="toabout"]::before {
	background-image: url(/images/common/btn_toabout_over.png);
}
.overBtn[name="tolist"]::before {
	background-image: url(/images/common/btn_tolist_over.png);
}
.overBtn[name="totop"]::before {
	background-image: url(/images/common/btn_totop_over.png);
}
.overBtn[name="backtolist"]::before {
	background-image: url(/images/common/btn_backtolist_over.png);
}
.overBtn[name="toproducts"]::before {
	background-image: url(/images/common/btn_toproducts_over.png);
}

@media all and (max-width: 640px) {
	.overBtn {
		max-width: 100%;
		width: 14em;
	}
	.overBtn[name="toproducts"] {
		width: 20em;
	}
}
@media all and (min-width: 641px) {
	.overBtn {
		width: 10em;
	}
	.overBtn[name="toproducts"] {
		width: 20em;
	}
}


.ContentsTitle {
	background: #f7f7f7;
}
.ContentsTitle h1 {
	margin: 0 0 1em;
	padding: 0.4em 0;
	font-size: 2.8em;
	line-height: 1;
}
.ContentsTitle h1 img {
	height: 1em;
	vertical-align: top;
}

@media all and (min-width: 641px) {
}


body:not([data-path="/"]) footer {
	margin-top: 4em;
}
footer{
	background-color: #f7f7f7;
	/*height: 60px;*/
	/*padding: 15px 0;*/
}
footer::before {
	content: '';
	display: block;
	height: 5em;
	background: no-repeat center bottom;
	background-size: cover;
}
body[data-path="/"] footer::before {
	content: none;
}

footer address {
	width: ;
	margin: 0;
	padding: 2.5em 0 0;
	font-family: -apple-system, Helvetica;
	font-style: normal;
	background-color: #f7f7f7;
	color: #999999;
	float: right;
	text-align: right;
}
footer a {
	color: inherit;
	text-decoration: none;
}
footer address img {
	display: inline-block;
	width: 9em;
	margin: 0;
}
#foot_area{
	width: 1000px;
	height: 60px;
	margin: 0 auto;
	padding: 15px 0;
}
footer #inbox{
	
}
#foot_banner{
	width: 110px;
	float: left;
}
#foot_banner a:hover{opacity: 0.7;}

@media all and (max-width: 640px) {
	footer{height: 9em;}
	footer::before {
		background-image: url(/images/common/footer_back_sp.jpg);
	}
	footer address {
		width: 100%;
		font-size: 0.65em;
		padding: 0;
	}
	#foot_area{
		width: 90%;
		height: auto;
		margin: 0 auto;
	}
	footer #inbox{
		background-color: #f7f7f7;
		height: 9em;
	}
	#foot_banner{
		width: 30%;
	}
}

@media all and (min-width: 641px) {
	footer::before {
		background-image: url(/images/common/footer_back_pc.jpg);
	}
	footer address {
		width: ;
		font-size: 0.55em;
	}
}
@media screen and (max-width: 768px) {
	#foot_area{
		width: 90%;
		height: 6.5em;
		margin: 0 auto;
		background-color: #f7f7f7;
	}/* 横向きの場合のスタイル */
}


header .home {
	background: no-repeat center top;
	background-size: cover;
	text-align: left;
}
header .home img {
	vertical-align: middle;
	-webkit-transform: translateY(-10%);
	transform: translateY(-10%);
}

@media all and (max-width: 640px) {
	header .home {
		height: 3.5em;
		padding-left: 0.5em;
		background-image: url(/images/common/header_back_sp.jpg);
		line-height: 3.5em;
	}
	header .home img {
		height: 2.25em;
	}
}

@media all and (min-width: 641px) {
	header .home {
		overflow: hidden;
		position: relative;
		height: 5em;
		padding-left: calc((100% - 50em) / 2);
		background-image: url(/images/common/header_back_pc.jpg);
		line-height: 5em;
	}
	header .home img {
		height: 3em;
	}
	header .home::before {
		content: '';
		position: absolute;
		left: 50%;
		bottom: -0.1em;
		width: 38.2em;
		height: 100%;
		-webkit-transform: translateX(-8.4em);
		transform: translateX(-8.4em);
		background: url(/images/common/logo_en2.png) no-repeat left bottom;
		background-size: contain;
	}
	header .home a {
		position: relative;
	}
}

/* ==================== グローバルメニュー ==================== */

.gMenu ul {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	list-style-type: none;
	white-space: nowrap;
}
.gMenu li {
	display: inline-block;
	position: relative;
	/*
	vertical-align: middle;
	*/
	vertical-align: top;
	background: no-repeat center center;
	cursor: pointer;
}

.gMenu li::before,
.gMenu li:last-child::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 1px;
	height: 80%;
	background: #b5c4dc;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.gMenu li::before {
	left: 0;
}
.gMenu li:last-child::after {
	right: 0;
	z-index: 0;
}

.gMenu li a {
	display: block;
	position: absolute;
	overflow: hidden;
	left: 0;
	bottom: 0;
	width: calc(100% + 1px);
	height: 0;
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease;
	background: #0a3c8c;
}
.gMenu li:last-child a {
	width: 100%;
}

.gMenu li.on + li:hover::before {
	z-index: 2;
}
.gMenu li:hover + li.on::before {
	z-index: 2;
}

.gMenu li.on a,
.gMenu li:hover a {
	z-index: 1;
	height: 100%;
}

@media all and (max-width: 640px) {
	.gMenu ul {
		background-color: white;
	}
	.gMenu li {
		width: calc(100vw / 4);
		height: 5em;
		background-size: 5em auto;
	}
	.gMenu li:first-child::before,
	.gMenu li:last-child::after {
		content: none;
	}

	.gMenu li:not(.on) a {
		height: 100%;
		background: none;
	}
	.gMenu li:not(.on) a img {
		opacity: 0;
	}

	.gMenu li:nth-of-type(1) {background-image: url(/images/common/menu1_sp.png);}
	.gMenu li:nth-of-type(2) {background-image: url(/images/common/menu2_sp.png);}
	.gMenu li:nth-of-type(3) {background-image: url(/images/common/menu4_sp.png);}
	.gMenu li:nth-of-type(4) {background-image: url(/images/common/menu6_sp.png);}
	/*.gMenu li:nth-of-type(5) {background-image: url(/images/common/menu6_sp.png);}*/
	/*
	.gMenu li:nth-of-type(5) {background-image: url(/images/common/menu5_sp.png);}
	 */
	
	.gMenu li.on a img {
		width: 80%;
	}
}

@media all and (min-width: 641px) {
	.gMenu {
		position: relative;
	}
	.gMenu::after {
		content: '';
		display: block;
		position: absolute;
		z-index: 2;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: #b5c4dc;
	}
	.gMenu li {
		width: 7.5em;
		height: 4.5em;
		background-size: 7em auto;
	}
	.gMenu li:last-child {
		width: 10em;
	}
	.gMenu li img {
		position: absolute;
		left: 50%;
		bottom: calc(4.5em / 2);
		width: 7em;
		-webkit-transform: translate(-50%, 50%);
		transform: translate(-50%, 50%);
	}
	.gMenu li:nth-of-type(1) {background-image: url(/images/common/menu1_pc.png);}
	.gMenu li:nth-of-type(2) {background-image: url(/images/common/menu2_pc.png);}
	.gMenu li:nth-of-type(3) {background-image: url(/images/common/menu4_pc.png);}
	.gMenu li:nth-of-type(4) {background-image: url(/images/common/menu6_pc.png);}
	/*.gMenu li:nth-of-type(5) {background-image: url(/images/common/menu6_pc.png);}*/
	/*
	.gMenu li:nth-of-type(5) {background-image: url(/images/common/menu5_pc.png);}
	 */

	body:not([data-path="/"]) .gMenu li::before,
	body:not([data-path="/"]) .gMenu li::after {
		content: none;
	}
}

/* ---------- トップのみ ---------- */

body[data-path="/"] .gMenu {
	position: relative;
}
body[data-path="/"] .gMenu ul {
	position: absolute;
}

@media all and (max-width: 640px) {
	body[data-path="/"] .gMenu ul {
		left: 0;
		bottom: 0.75em;
		background: rgba(255,255,255,0.9);
	}
}
@media all and (min-width: 641px) {
	body[data-path="/"] .gMenu::after {
		content: none;
	}
	body[data-path="/"] .gMenu ul {
		left: 50%;
		bottom: 0;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	body[data-path="/"] .gMenu li {
		background-color: rgba(255,255,255,0.9);
	}
	body[data-path="/"] .gMenu li:first-child,
	body[data-path="/"] .gMenu li:first-child:hover a {
		border-top-left-radius: 0.5em;
	}
	body[data-path="/"] .gMenu li:last-child,
	body[data-path="/"] .gMenu li:last-child:hover a {
		border-top-right-radius: 0.5em;
	}

	body[data-path="/"] .gMenu li {
		height: 5em;
		background-size: 8em auto;
	}
	body[data-path="/"] .gMenu li a img {
		bottom: calc(5em / 2);
		width: 8em;
	}

	body[data-path="/"] .gMenu li:first-child::before,
	body[data-path="/"] .gMenu li:last-child::after {
		content: none;
	}
}

/* ---------- スマホメニュー ---------- */

@media all and (max-width: 640px) {
	body:not([data-path="/"]) .gMenu ul {
		box-shadow: 0 0 0.5em rgba(0,0,0,0.2);
		position: fixed;
		left: 0;
		top: 0;
		margin-top: 3.5em;
	}

	body:not([data-path="/"]) .gMenu:not(.open) ul {
		opacity: 0;
		-webkit-transform: translateY(-5%);
		transform: translateY(-5%);
	}
	body:not([data-path="/"]) .gMenu.open ul {
		z-index: 100;
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		-webkit-transition: all 200ms ease;
		transition: all 200ms ease;
	}

	.gMenu button {
		position: fixed;
		right: 0;
		top: 0;
		color: #0a3c8c;
		width: 3.5em;
		height: 3.5em;
		border: none;
		margin: 0;
		padding: 0;
		outline: none;
		background: none;
		font-size: inherit;
	}
	body[data-path="/"] .gMenu button {
		display: none;
	}

	.gMenu button i {
		position: absolute;
		left: 50%;
		top: 50%;
		-webkit-transform: translate(-50%, -50%) scale(1);
		transform: translate(-50%, -50%) scale(1);
		font-size: 2em;
		-webkit-transition: all 150ms ease;
		transition: all 150ms ease;
	}

	.gMenu.open button i:nth-of-type(1),
	.gMenu:not(.open) button i:nth-of-type(2) {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.5);
	}

}

@media all and (min-width: 641px) {
	.gMenu button {
		display: none;
	}
}


/* -------------------- 一覧 -------------------- */

.ProductsList ul {
	display: inline-block;
	position: relative;
	margin: 1em auto 2em;
	padding: 0;
	list-style-type: none;
	text-align: left;
}
.ProductsList li {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	padding: 1em 0 0.5em;
	text-align: center;
}
.ProductsList li a {
	color: inherit;
	text-decoration: none;
}
.ProductsList span.pic {
	display: block;
	margin-top: 0.5em;
	-webkit-transition: opacity 250ms ease;
	transition: opacity 250ms ease;
}
.ProductsList a:hover span.pic {
	opacity: 0.7;
}
.ProductsList span.pic img {
	vertical-align: top;
	max-height: 8em;
}
.ProductsList span.name {
	display: inline-table;
	margin: 0 0.5em;
	border-spacing: 0.25em 0;
	color: #333333;
	text-align: left;
	line-height: 1.3;
}
.ProductsList span.name span,
.ProductsList span.name::before,
.ProductsList span.name::after {
	display: table-cell;
	vertical-align: middle;
}

.ProductsList span.name::before {
	content: '';
	width: 1em;
	height: 1em;
	background: url(/images/common/icon_arrow.png) no-repeat center center;
	background-size: contain;
}
.ProductsList span.name::after {
	content: '\A\A';
	white-space: pre;
}

.ProductsList .summary {
	margin: 0.5em 0 0;
	padding: 0 1em;
}
.ProductsList .summary p {
	margin: 0;
	text-align: left;
	line-height: 1.4;
}

@media all and (max-width: 640px) {
	.ProductsList ul {
		width: 23em;
	}
	.ProductsList li {
		width: 50%;
	}
	.ProductsList span.name {
		font-size: 0.8em;
	}
	.ProductsList .summary p {
		font-size: 0.8em;
	}
}

@media all and (min-width: 641px) {
	.ProductsList {
		padding: 0 calc((100% - 50em) / 2);
	}
	.ProductsList ul {
		display: inline-block;
	}
	body[data-path="/"] .ProductsList ul {
		width: 37.5em;
	}
	.ProductsList li {
		width: 12.5em;
	}
	.ProductsList span.name {
		font-size: 0.7em;
	}
	.ProductsList .summary p {
		font-size: 0.7em;
	}
}

/* 罫線 */

.ProductsList li {
	border: solid #dee7f4;
	border-width: 0 1px;
	margin-left: -1px;
}

.ProductsList li::before {
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	border-top: 1px solid #dee7f4;
	-webkit-transform: translateY(-1em);
	transform: translateY(-1em);
}

@media all and (max-width: 640px) {
	.ProductsList li:nth-of-type(2n+1) {
		border-left: 0;
	}
	.ProductsList li:nth-of-type(2n) {
		border-right: none;
	}

	.ProductsList li:nth-of-type(2n+3)::before {
		content: '';
	}
}

@media all and (min-width: 641px) {

	body[data-path="/"] .ProductsList li:nth-of-type(3n+1),
	body:not([data-path="/"]) .ProductsList li:nth-of-type(4n+1) {
		border-left: 0;
	}
	body[data-path="/"] .ProductsList li:nth-of-type(3n),
	body:not([data-path="/"]) .ProductsList li:nth-of-type(4n),
	body[data-path="/healthfoods/"] .ProductsList li:last-child {
		border-right: none;
	}
	body[data-path="/"] .ProductsList li:nth-of-type(3n+4)::before,
	body:not([data-path="/"]) .ProductsList li:nth-of-type(4n+5)::before {
		content: '';
	}
}

/* -------------------- itemCategory -------------------- */

.itemCategory {
	display: inline-block;
	min-width: 8.5em;
	border: 1px solid;
	padding: 0.5em;
	line-height: 1;
	text-align: center;
}
.itemCategory[data-categoryid="1"] {
	color: #1c91eb;
	border-color: #1c91eb;
}
.itemCategory[data-categoryid="2"] {
	color: #f7931e;
	border-color: #f7931e;
}
.itemCategory[data-categoryid="3"] {
	color: #39b54a;
	border-color: #39b54a;
}
.itemCategory[data-categoryid="4"] {
	color: #ff7b79;
	border-color: #ff7b79;
}
.itemCategory[data-categoryid="5"] {
	color: #22daf5;
	border-color: #22daf5;
}

@media all and (max-width: 640px) {
	.itemCategory {
		font-size: 0.65em;
	}
}
@media all and (min-width: 641px) {
	.itemCategory {
		font-size: 0.55em;
	}
}