@charset "utf-8";

/* common -------------------------------*/
*,
::before,
::after {
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
::before,
::after {
	pointer-events: none;
}
:focus { outline: none;}

html {
	font-family: verdana, sans-serif;
	font-size: 62.5%;
	background-color: #fff;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}
body {
	color: #555;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;
	background-color: #fdfdfd;
}

body, div, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, form { font-weight: 500;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { margin: 0px\9;}

a,
a:visited { color: #0d2f82;}
a:active,
a:focus,
a:hover {
	color: #9af;
	text-decoration: none;
	outline: none;
}
a,
img {
	list-style: none;
	border-style: none;
}
img {
	width: 100%;
	vertical-align: middle;
}
a:active img,
a:focus img,
a:hover img {
	opacity: 0.7;
}
a, img, input, button {
	transition: all 0.3s;
}

/* thumbnail */
.thumb50 {
	max-width: 13.34vw;
	max-height: 13.34vw;
}
.thumb100 {
	max-width: 26.67vw;
	max-height: 26.67vw;
}
.thumb120 {
	max-width: 32vw;
	max-height: 32vw;
}
.thumb150 {
	max-width: 40vw;
	max-height: 40vw;
}
.thumb200 {
	max-width: 53.34vw;
	max-height: 53.34vw;
}
@media (min-width: 768px) {
	img[class^="thumb"] {
		object-fit: cover;
		font-family: 'object-fit: cover;'; /*IE対策*/
	}
	.thumb50 {
		max-width: 50px;
		max-height: 50px;
	}
	.thumb100 {
		max-width: 100px;
		max-height: 100px;
	}
	.thumb120 {
		max-width: 120px;
		max-height: 120px;
	}
	.thumb150 {
		max-width: 150px;
		max-height: 150px;
	}
	.thumb200 {
		max-width: 200px;
		max-height: 200px;
	}
}

/* form input */
input::placeholder,
input::-webkit-input-placeholder {
	color: #fcc;
}
button,
input:not([type=radio]):not([type=checkbox]),
select,
textarea {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
input[type=text],
input[type=email],
input[type=password],
input[type=tel],
select,
textarea {
	padding: 0.6em;
	font-size: 1.8rem;
	line-height: 1.4;
	border: 1px solid #ccc;
	border-radius: 0.3rem;
}
input[type=text],
input[type=email],
input[type=password],
input[type=tel],
select,
textarea,
.form-control,
.custom-select {
	height: calc(2.6em + 2px);
	font-size: 1.6rem;
}
input[type=radio],
input[type=checkbox],
.form-inline .form-check-input {
	margin-right: 0.25em;
	vertical-align: middle;
}
input[type=radio],
input[type=radio] + label,
input[type=checkbox],
input[type=checkbox] + label,
input[type=button],
input[type=image],
input[type=submit],
button {
	vertical-align: middle;
	cursor: pointer;
}
label > input[type=radio] + span,
label > input[type=checkbox] + span {
	vertical-align: middle;
}
.checkToggle [type=checkbox] {
	display: none;
}
.checkToggle label {
	position: relative;
	padding-right: 1em;
}
.checkToggle label::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.3em);
	right: 0.2em;
	width: 0.6em;
	height: 0.6em;
	border: 2px solid;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
	transition: all 0.3s;
}
.checkToggle [type=checkbox]:checked + label::after {
	transform: rotate(135deg) translateX(-0.15em);
}

input:disabled + label {
	opacity: .4;
}
select {
	vertical-align: bottom;
}
select::-ms-expand {
	display: none;
}
.selectWrap {
	position: relative;
}
.selectWrap::before,
.selectWrap::after {
	content: "";
	position: absolute;
	top: 55%;
	right: 5px;
	width: 0;
	height: 0;
	border-width: 0.3rem;
	border-style: solid;
	border-color: transparent #333 #333 transparent;
	transform: rotate(45deg) translate(-100%);
	transform-origin: center;
	pointer-events: none;
}
.selectWrap::before {
	top: 50%;
	transform: rotate(-135deg) translate(100%);
}

textarea {
	height: 16rem;
}
textarea.form-control {
	min-height: 16rem;
}

/* headline */
h1, h2, h3, h4, h5, h6 {
	position: relative;
	overflow: hidden;
}
h2 {
	margin-bottom: 1em;
	padding: 4.8rem 0 1.6rem;
	font-size: 2.4rem;
	text-align: center;
	border-bottom: 1px solid #ccc;
}
h3 {
	margin: 1rem 0;
	padding: 4px 0 4px 0.5em;
	border-left: 5px solid #666;
}

#container {
	position: relative;
	min-height: 100%;
	height: auto;
	overflow: hidden;
}

hr {
	margin: 1.6rem 0;
	border: 1px solid #000;
	border-width: 1px 0 0;
}

p {
	margin: 1em 0;
}
em {
	font-style: normal;
}
.em_frame {
	display: inline-block;
	margin: 0 0.2em;
	padding: 0 0.4em;
	border: 1px solid;
}

.pc { display: none;}
.sp { display: block;}
@media (min-width: 768px) {
	.pc { display: block;}
	.sp { display: none;}
}


/* font 1rem=10px, 1em=16px */
.x-large { font-size: 1.875em !important;}/*30px*/
.large { font-size: 1.5em !important;}/*24px*/
.m-large { font-size: 1.25em !important;}/*20px*/
.m-small { font-size: 0.875em !important;}/*14px*/
small, .small { font-size: 0.75em !important;}/*12px*/
.x-small { font-size: 0.6875em !important;}/*11px*/


/* table */
table {
	width: 100%;
	border-collapse: collapse;
}
caption,
.caption {
	padding: 18px 0;
	color: #000;
	font-size: 1.1em;
	caption-side: top;
	border-bottom: 1px solid #ccc;
}
th,
td {
	padding: 20px 16px;
	border-bottom: 1px solid #ccc;
}
th {
	background-color: #f7f7f7;
}
td {}
.mainForm > table,
.mainForm form > table {
	/*margin: 2rem auto;
	max-width: 600px;*/
}
.mainForm th {
	min-width: 30%;
	text-align: left;
}

/* list */
dl,
ol,
ul {
	margin: 0;
}
dd {
	margin-bottom: 0;
}
.mainForm dl {
	border-top: 1px solid #ccc;
}
caption + dl,
.caption + dl {
	border-top: 0 none;
}
.mainForm dt,
.mainForm dd {
	padding: min(3%, 24px);
	border-bottom: 1px solid #ccc;
}
.mainForm dt {
	-ms-flex-preferred-size: 14em;
	flex-basis: 14em;
	background-color: #f7f7f7;
}
.mainForm dd {
	-ms-flex-preferred-size: calc(100% - 14em);
	flex-basis: calc(100% - 14em);
}
@media (max-width: 767px) {
	.mainForm dt,
	.mainForm dd {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
	}
}

/* TOPランキング/TOPセール商品/商品一覧/セール商品一覧 */
@media only screen and (min-width: 1200px) {
	.listBox {
		-ms-flex-preferred-size: 20%;
		flex-basis: 20%;
	}
}
.listBox figure {
	position: relative;
}
@media only screen and (max-width: 575px) {
	.listBox figure {
		margin-bottom: 1rem;
	}
}
.listBox figcaption {
	position: absolute;
	z-index: 1;
}
.listBox img {
	object-fit: cover;
	font-family: 'object-fit: cover;'; /*IE対策*/
}
.flag_icon {
	margin: 0.2em;
	padding: 0 0.5em;
	font-size: 0.65em;
	font-weight: 500;
	background: #fff;
	box-shadow: 0 0 0.2em rgba(0,0,0,0.5);
	border-radius: 1em;
}
.flag_icon span {
	font-size: 1.2em;
}
.listBox p {
	margin-top: 0.3em;
}

.btnArea {
	position: relative;
	margin-top: 3rem;
	margin-bottom: 3rem;
}
@media only screen and (max-width: 991px) {
	.btnArea .col-6 .btn-wrap {
		display: block;
	}
	.btnArea .col-6 .btn_s,
	.btnArea .col-6 .btn_m {
		min-width: 100%;
	}
}
.btn,
a.btn {
	padding: 0 2em;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.2;
	white-space: nowrap;
	background-color: #245aac;
	transition: all 0.3s;
}
.btn:active,
.btn:focus,
.btn:hover {
	color: #fff;
	opacity: 0.7;
}
/*
.btn_no,
.btn.btn_no,
.btn_s.btn_no,
.btn_m.btn_no {
	padding: 0 25px 0 35px;
	background-color: #c0c0c0;
}
.btn_no:hover,
.btn.btn_no:hover,
.btn_s.btn_no:hover,
.btn_m.btn_no:hover {
	background-color: #aaa;
}
*/

/* classes */
.hidden {
}
.noWrap {
}
.cancel {
	color: #a16171;
	font-size: 1.5rem;
	vertical-align: bottom;
}
.description {
	color: #889;
	font-size: 1.2rem;
	line-height: initial;
}
.description.red {
	color: red;
}
.important {
	color: #f00;
	font-weight: 600;
}
.number {
	color: #03f;
	font-weight: 600;
}
.point {
	color:#f06;
	font-weight: 600;
}
.price {
	font-size: 1.2em;
	font-weight: 600;
}
.reply {
	font-weight: 600;
	background-color: #ffc0cb;
}
.title {
	color: #333;
	font-weight: 600;
}
.u_line {
	text-decoration: underline;
}
.bg-gray {
	background-color: #000;
}

.man,
.blue {
	color: #06c;
}
.woman,
.red {
	color: #f36;
}


.noData {
	color: #888;
	font-weight: 400;
}

.widthFull { width: 100%;}
.widthHalf { width: 49%;}
.ime_a { ime-mode: active;}
.ime_d { ime-mode: disabled;}
.required,
.hissu {
	display: inline-block;
	position: relative;
	margin-left: 0.4em;
	padding: 0.2em 0.4em;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	background-color: #ff566e;
	border-radius: 0.2em;
}
.required::before,
.hissu::before {
	content: "必須"
}

.inputPostal .postalTop { width: 4em;}
.inputPostal .postalUnder { width: 5em;}

.successDisp,
.errorDisp {
	margin-bottom: 5px;
	padding: 1em;
	color: #fff;
	background-color: #4d8eff;
}
.errorDisp {
	background-color: #e04d4d;
}
.successDisp li,
.errorDisp li {
}

/* error */
#error {
	color: #f36;
}

/* ページャーエリア */
.pagerArea {
	position: relative;
	margin: 2em 0;
	font-size: 90%;
}
.pagerArea .current_d::after,
.pagerArea .current_a::after {
	content: "▼";
	padding: 0 3px;
}
.pagerArea .current_a::after {
	content: "▲";
}
@media (max-width: 991px) {
	.pagerArea .text-center {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-top: 0.8em;
	}
}

/* ページャー */
.pager {}
.pager p {
	font-size: 0;
}
.pager p a,
.pager p strong {
	display: inline-block;
	margin: 0 0.2em;
	padding: 0 0.5em;
	color: #fff;
	font-size: initial;
	line-height: 1.8;
	text-decoration: none;
	background-color: #c5c4d5;
	border: 1px solid #b5b4c5;
	border-radius: 0.2em;
}
.pager p a:active,
.pager p a:focus,
.pager p a:hover,
.pager p a.current,
.pager p strong {
	color: #333;
	background-color: #fff;
	border: 1px solid #666;
}



/* HEADER -------------------------------*/
header {
	position: relative;
	padding-bottom: 0;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #bbb;
	z-index: 100;
}
header::after {
	content: "";
	display: block;
	clear: both;
}
@media (min-width: 768px) {
	.header_top {
		box-shadow: 0 1px 4px rgba(0,0,0,0.15);
	}
}
.header_top_inner {
	padding-top: 14px;
	padding-bottom: 14px;
}
/* logo */
.logo {
	font-family: serif;
	font-size: 2.8rem;
	font-variant: small-caps;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.logo {
		padding-right: 30px;/* space for burger */
		font-size: 2.4rem;
		line-height: 1.3;
	}
}
.logo a {
	display: block;
}
.logo img {
	max-width: min(300px, 50vw);
	width: 100%;
}

.globalNav .container {
	padding: 0;
}
/*nav{float:right;}*/
/*nav>ul{float:left;position:relative}*/
nav > ul {
	float: right;
}
nav li {
	list-style: none;
	float: left;
}
nav li a {
	padding: 30px;
	font-size: 14px;
	float: left;
}
nav li a:active,
nav li a:focus,
nav li a:hover {
	background-color: #f7f7f7;
}
.dropdown ul {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	padding: 20px 0;
	background-color: #eee;
}
.dropdown ul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #bbb;
}
.dropdown:hover ul {
	display: block;
	z-index: 1;
	animation: dropdown 0.5s ease-out both;
}
@keyframes dropdown {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.dropdown li {
	white-space: nowrap;
	float: none;
}
.dropdown:hover .mega-dropdown {
	display: -ms-flexbox;
	display: flex;
}
ul.mega-dropdown {
	padding: 20px 35px;
	width: 100%;
}
@media only screen and (max-width: 991px) {
	.dropdown ul::before {
		content: none;
	}
}
.catCell {
	-ms-flex-preferred-size: 25%;
	flex-basis: 25%;
}
.dropdown span {
	display: inline-block;
	padding-top: 0.7em;
	font-size: 14px;
}
.dropdown li a {
	display: block;
	padding: 10px 35px;
	min-width: 200px;
	border-radius: 3px;
	float: none;
}
.dropdown li a:active,
.dropdown li a:focus,
.dropdown li a:hover {
	background-color: #FAFBFB;
}

#menu-icon {
	display: none;
}

@media only screen and (max-width: 1170px) {
	nav > ul > li > a {
		padding: 35px 15px
	}
}
@media only screen and (min-width: 768px) {
	.header_top_inner {
		padding-top: 0;
		padding-bottom: 0;
	}
	.cartNav li {
		padding: 0 1em;
	}
	.cartNav li a {
		display: block;
		position: relative;
		height: 5em;
		font-size: 12px;
		line-height: 5em;
	}
	.cartNav li a::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background-color: #555;
		transform: scale(0, 1);
		transition: 0.4s;
	}
	.cartNav li a:hover::before {
		transform: scale(1);
	}

	li.btn-cart {
		padding-right: 0;
	}
	.btn-cart a {
		padding: 0 20px;
		color: #fff;
		background-color: #03b18e;
	}
	.btn-cart a:active,
	.btn-cart a:focus,
	.btn-cart a:hover {
		background-color: #038268;
	}
	.btn-cart a::before {
		content: none;
	}

	.cart_item_purchase_badge {
		display: inline-block;
		position: relative;
		margin-left: 0.3rem;
		min-width: 1.8rem;
		height: 1.8rem;
		color: #03b18e;
		line-height: 1.4;
		text-align: center;
		z-index: 1;
	}
	.cart_item_purchase_badge::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: 100%;
		background-color: #fff;
		border-radius: 50%;
		transform: translate(-50%, -50%);
		z-index: -1;
	}

	.globalNav .container {
		padding: 0 15px;
	}
	nav {
		overflow: visible;
	}
}

@media only screen and (max-width: 767px) {
	.cart_item_purchase_badge {
		position: absolute;
		min-width: 1.75rem;
		height: 1.75rem;
		color: #fff;
		font-size: 1rem;
		line-height: 1.75;
		text-align: center;
		background: #03b18e;
		border-radius: 50%;
	}

	nav {
		display: none;
		position: absolute;
		left: 0;
		padding: 5%;
		width: 100%;
		max-height: 80vh;
		background-color: #eee;
		overflow-y: scroll;
		border-bottom: 6px solid #eee;
	}
	#menu-icon {
		display: block;
		position: absolute;
		right: 15px;
		top: 50%;
		margin-top: -12px;
	}
	#menu-icon span {
		display: block;
		margin-bottom: 5px;
		width: 30px;
		border: 2px solid #000;
		transition: all 0.6s;
	}
	#menu-icon.active .first {
		margin-top: 10px;
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
	}
	#menu-icon.active .second {
		position: relative;
		top: -9px;
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
	}
	#menu-icon.active .third {
		opacity: 0;
	}

	nav ul {
		float: none;
	}
	nav > ul {
		margin-bottom: 20px;
	}
	nav li {
		float: none;
	}
	nav ul li a {
		display: block;
		padding: 0.6em;
		float: none;
	}

	#header nav ul ul {
		display: block;
		position: static;
		padding: 0;
		background: none;
	}
	#header nav a {
		padding: 0.6em;
	}
	#header nav a:active,
	#header nav a:focus,
	#header nav a:hover {
		background-color: #FAFBFB;
		border-radius: 3px;
	}
	#header nav ul li li a::before {
		content: "- ";
	}

	.cartNav {
		display: none;
	}
	.headerSearchBox {
		margin-top: 0.6em;
	}

	@media (orientation: portrait) {
		#search_form .form-group {
			margin-bottom: 0.6rem;
			width: 100%;
		}
		#search_form div:nth-child(2) {
			width: calc(100% - 3em);
		}
	}
	@media (orientation: landscape) {
		#search_form div:nth-child(2) {
			-webkit-box-flex: 1;
			-ms-flex-positive: 1;
			flex-grow: 1;
		}
		.headerSearchBox .word {
			margin: 0 2%;
			width: 96%;
		}
	}
}

.headerSearchBox .btn_s {
	min-width: 3em;
	height: calc(1.6rem * 2.6 + 2px);
	min-height: auto;
	line-height: initial;
}

/* TOPスライダー */
#topCarrousel {
	background-color: #f5f5f5;
}
.slick-list.draggable {
	max-height: 450px;
}

/* FOOTER --------------------------------------------*/
footer {
	background-color: #000;
	color: white;
}
footer h2 {
	padding: 0 0 0.3em;
	font-size: 1.8rem;
	text-align: left;
	border-bottom: 1px solid #acacac;
}

footer a,footer a:visited{
	text-decoration: none;
	color: white;
}
@media only screen and (max-width: 991px) {
	footer h2 {
		margin-bottom: 0.3em;
	}
}

.footer-menu {
	font-size: 1.4rem;
	line-height: 2em;
}

.copyright {
	padding: 1em 0;
	font-size: 0.8em;
}

/* ページ上部に戻る */
.pagetop {
	position: fixed;
	right: 25px;
	bottom: 40px;
	width: 50px;
	height: 50px;
	z-index: 100;
}
.pagetop a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	text-align: center;
	text-decoration: none;
	background-color: #999;
	border-radius: 50%;
	opacity: 0.6;
}
.pagetop a:active,
.pagetop a:focus,
.pagetop a:hover {
	background-color: #9af;
}
.pagetop a::before {
	content: '\f106';
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-family: "Font Awesome 5 Free";
	font-size: 25px;
	font-weight: 900;
	transform: translate(-50%, -50%);
	transition: all 0.2s;
}
.pagetop a:active::before,
.pagetop a:focus::before,
.pagetop a:hover::before {
	top: 30%;
}

/* コンテンツエリア */
#contents {
	overflow: hidden;
}
/* サイドエリア */
#left_bar,
#right_bar {
	width: 0;
	overflow: hidden;
}

/* ボタン --------------------------------*/
.btn_s,
.btn_m,
a.btn_s,
a.btn_m {
	display: inline-block;
	position: relative;
	min-height: 50px;
	color: #fff;
	font-size: 0.9375em;/* 15px */
	line-height: 50px;
	text-align: center;
	background-color: #000;
	border: none;
	border-radius: 0.25rem;
	cursor: pointer;
}
.btn_s {
	min-width: 150px;
}
.btn_m {
	padding: 0 20px;
	min-width: 300px;
}
@media only screen and (max-width: 320px) {
	.btn_m {
		min-width: 200px;
	}
}
a.btn_s::after,
a.btn_m::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn_s:active,
.btn_m:active,
.btn_s:focus,
.btn_m:focus,
.btn_s:hover,
.btn_m:hover {
	opacity: 0.7;
}
.refuse .btn_s,
.refuse .btn_m {
	background-color: #aaa;
}
.refuse a.btn_s::after,
.refuse a.btn_m::after {
	right: auto;
	left: 10px;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

a.btn_delete {
	display: inline-block;
	margin-bottom: 5px;
	padding: 0 0.8em;
	color: #666;
	font-size: 80%;
	background-color: #ccc;
	border-radius: 2px;
}
a.btn_delete:hover {
	opacity: 0.7;
}

.btn-wrap {
	display: inline-block;
	position: relative;
}
.btn-wrap::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn-wrap.refuse a.btn_s,
.btn-wrap.refuse a.btn_m {
	background-color: #aaa;
}
.btn-wrap.refuse a.btn_s:active,
.btn-wrap.refuse a.btn_m:active,
.btn-wrap.refuse a.btn_s:focus,
.btn-wrap.refuse a.btn_m:focus,
.btn-wrap.refuse a.btn_s:hover,
.btn-wrap.refuse a.btn_m:hover {
	background-color: #888;
}
.btn-wrap.refuse::after {
	left: 10px;
	right: auto;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

/* ボタン...商品詳細 */
.btn_cart {
	display: block;
	width: 100%;
	height: 50px;
	font-size: 1.4em;
}

.snsArea > * {
	margin-bottom: 0.8rem;
}
.snsArea a.btn_introduce {
	margin-right: 1em;
	padding: 0 0.5em;
	height: 20px;
	font-size: 12px;
	line-height: 20px;
	border-radius: 0.2em;
}
/* ボタン...マイページ：お届け先一覧/プロフィール一覧 */
a.btn_conf,
input.btn_conf {
	padding: 0;
	width: 100%;
	font-size: 0.88em;
	line-height: 2.8;
}


/* 矢印 --------------------------------*/
.txt-arrow {
    position: relative;
    margin: 10px 0;
    font-size: 14px;
    color: #FFF;
    text-align: center;
}
.txt-arrow::after {
	content: "";
	position: absolute;
	right: 4px;
	bottom: 6px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 6px solid #000;
}


/* 下層 --------------------------------*/
/* 共通 */
section {
	margin-bottom: 50px;
}
@media only screen and (min-width: 992px) {
	section {
		margin-bottom: 100px;
	}
}

/* TOP */
.topPage h2 {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

/* Swiper */
.item-slider {
	position: relative;
	overflow: hidden;
}
@media (max-width:767px) {
	.swiper-slide {
		padding: 3px;
	}
}
h4.m-small {
	margin-top: 0.3em;
	height: 3.6em;
	text-align: left;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
	color: #fff;
	text-shadow: 0 0 4px rgba(0,0,0,0.4);
	opacity: 0.5;
}
.swiper-button-next:active,
.swiper-container-rtl .swiper-button-prev:active,
.swiper-button-prev:active,
.swiper-container-rtl .swiper-button-next:active,
.swiper-button-next:focus,
.swiper-container-rtl .swiper-button-prev:focus,
.swiper-button-prev:focus,
.swiper-container-rtl .swiper-button-next:focus,
.swiper-button-next:hover,
.swiper-container-rtl .swiper-button-prev:hover,
.swiper-button-prev:hover,
.swiper-container-rtl .swiper-button-next:hover {
	opacity: 1;
}

/* TOP 新着情報＆ニュース一覧 */
.news dt {
	-ms-flex-preferred-size: 8em;
	flex-basis: 8em;
	font-size: 1.4rem;
}
.news dd {
	-ms-flex-preferred-size: calc(100% - 8em);
	flex-basis: calc(100% - 8em);
}

/* TOP - 新商品 */

/* TOP - セール商品・セール商品一覧 */
.saleBox figcaption {
	width: 100%;
}
.tag-sale {
	margin: 0.2em;
	padding: 0.2em 0;
	color: #fff;
	font-size: 0.8em;
	background-color: #df4578;
	border-radius: 2em;
	opacity: 0.8;
}
.saleBox p {
	margin-bottom: 0;
}
.sale_bar {
	position: relative;
	top: 6px;
	padding: 0.3em 0;
	background: #ffc3cb;
}
.saleBox .sale_bar::after {
	content: "";
	position: absolute;
	top: -20px;
	left: 10px;
	border-color: transparent;
	border-bottom-color: #ffc3cb;
	border-style: solid;
	border-width: 10px;
}


/* TOP - ランキング */
.tag-rankorder {
	padding: 0 1rem;
	color: #fff;
	font-size: 1.2rem;
	background-color: rgba(128, 128, 128, 0.7);
}
.tag-rankorder.rank1 {background-color: rgba(234, 196, 18, 0.8);}
.tag-rankorder.rank2 {background-color: rgba(166, 187, 198, 0.8);}
.tag-rankorder.rank3 {background-color: rgba(210, 159, 0, 0.7);}
.tag-rankorder span {font-size: 1.6rem;}

.special-offer-price {
	padding: 0.4rem 0.6rem;
	color: #d9081b;
	font-weight: 600;
	white-space: nowrap;
	background-color: #fff;
	border: 1px solid;
}


/* recommend-item */
.recommend-item {
	position: relative;
	margin-bottom: 20px;
}

/* category-item */
.category-item {
	position: relative;
	margin-bottom: 20px;
}
.category-item span {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 7px;
	width: 100%;
	color: #fff;
	font-size: 12px;
	background-color: rgba(0, 0, 0, 0.72);
}

/* 特集 */
.feature {
	position: relative;
	height: 260px;
	background-image: url(../images/top_feature_bg_2.jpg);
	background-position: center;
	background-size: cover;
}
.feature-inner {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.shop-message {
	color: #fff;
	font-size: min(3.5em, 9vw);
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

@media only screen and (min-width: 992px) {
	/* recommend-item */
	.recommend-item {
		margin-bottom: 0;
	}
	.category-item span {
		font-size: 14px;
	}
}

/* カテゴリ一覧・セール商品一覧 */
#search_area {
	padding: 1.5em;
	background-color: #f7f7f7;
}
#search_area h3 {
	margin-top: 0;
}
.catHeader {
	background-blend-mode: color;
	background-color: rgba(0,0,0,0.3);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.catHeader.ch17 {
	background-image: url(../images/catHeader17.jpg);
}
.catHeader.ch21 {
	background-image: url(../images/catHeader21.jpg);
}
.catHeader span {
	color: #fff;
	font-size: 1.8em;
	line-height: 8;
}

/* 商品詳細 */
.breadcrumb {
	display: block;
	background: none;
}
.regularIcon {
	margin-right: 0.5em;
	padding: 0.2em 0.6em;
	color: #2b7d12;
	font-size: 90%;
	white-space: nowrap;
	background-color: #cec;
}
.product-photo {
	width: 100%;
	text-align: center;
	overflow: hidden;
}
.product-photo a {
	display: block;
}
.product-photo img {
	max-width: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain;'; /*IE対策*/
}
.product-photo-thumb {
	max-width: 100%;
}
.product-photo-thumb ul {
}
.product-photo-thumb li {
	margin: 0px 12px 12px 0;
	width: 84px;
	height: 84px;
	border: 1px solid #ccc;
	overflow: hidden;
}
.product-photo-thumb li a {
	display: block;
}
.product-photo-thumb li img {
	max-width: 82px;
	max-height: 82px;
}
@media only screen and (min-width: 992px) {
	.product-photo img {
		margin: 0 auto;
		max-width: 440px;
	}
	.product-photo-thumb {
		margin: 0 auto;
		max-width: 440px;
	}
}
#detailCommentArea {
	margin-bottom: 60px;
	padding-top: 20px;
	border-top: 1px solid #ccc;
}

select[name="item_num"] {
	width: 4em;
	text-align: left;
}

.addFav a,
.favAdded {
	display: inline-block;
	padding: 0.1em 0.6em;
	border: 1px solid;
}
.favAdded {
	color: #15ac15;
}

/* お友達紹介 */
.introduce a {
	font-size: 1.1em;
}

/* 商品詳細 レビュー */
.reviewStatsLeft table {
	background-color: #fff;
	border: 1px solid #ddd;
}
.reviewStatsLeft td {
	font-size: 0.85em;
	line-height: 1.6;
	border: 0px none;
}
.reviewStatsBar {
	width: 0;
	height: 1.5em;
	background-color: #f9da2f;
	box-shadow: 2px 2px 1px 0 rgba(0,0,0,0.25);
	border: 0 none;
}
@media only screen and (max-width: 768px) {
	.reviewStatsRightBottom {
		text-align: center;
	}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.reviewStatsRight .btn_m {
		width: 100%;
		min-width: auto;
	}
}
.reviewList {
	margin-bottom: 20px;
	background-color: #fff;
}
.reviewList:last-child {
	margin-bottom: 0;
}
.bestVote {
	background-color: #eee;
	border-width: 1px;
	border-style: solid solid none;
	border-color: #ccc;
}
.reviewList td {
	border: 1px solid #ccc;
}
.reviewList ul {
	margin: 8px;
}
.reviewList li {
	position: relative;
	padding: 6px;
	border-bottom: 1px solid #ddd;
}
.reviewList li:last-child {
	border-bottom: none;
}
.rvwStar {
	width: auto;
	vertical-align: text-bottom;
}
.posted {
	display: inline-block;
	padding: 0 2em;
	color: #888;
	line-height: 2.6;
	background-color: #ddd;
}
.customer {
	display: inline-block;
	margin-left: 0.5em;
	color: #4a4;
	font-size: 85%;
}

.btnVote {
	margin-left: 1em;
	padding: 4px;
	width: 4em;
	text-align: center;
	border: 1px solid;
	border-radius: 2px;
}
.estimated {
	color: #4ccb8b;
}
.violation a {
	padding: 2px 5px;
	color: #e44;
	font-size: 0.8em;
	border: 1px solid #e44;
}
.violation a:hover {
	color: #fff;
	background-color: #e44;
}


/* cart */
.flow {
	margin: 1.5em 0;
}
.flow li {
	padding: 0.1em 0.6em;
	white-space: nowrap;
}
.flow li.current {
	background-color: #fbd2a1;
	border-radius: 0.2em;
}

.cart_item_box {
	margin: 6px 0;
	padding-right: 0.5em;
	border-bottom: 1px solid #ddd;
}
.cart_item_box .flexbox a {
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.cart_item_spec {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
}
.cart_item_total {
	padding: 0.5em;
	background-color: #eee;
}
.cart_point_disp {
	padding: 0.5em;
	border: 1px solid #ddd;
	border-radius: 2px;
}
.cart_amount input {
	margin: 3px;
	padding-bottom: 3px;
	width: 1.5em;
	height: 1.5em;
	font-size: 1.2em;
	background-color: #ddd;
	border: 0 none;
	transition: all .2s;
}

.commission {
	background-color: #ffc;
}
.priceRow {
	min-width: 12rem;
	text-align: right;
}

.btn.btn_proceed {
	width: 100%;
	font-size: 1.5em;
	line-height: 2.8;
	background-color: #29c413;
}
.btn.btn_back {
	width: 100%;
	color: #888;
	font-size: 1.2em;
	background-color: #eee;
}
.AmazonLoginButton,
.AmazonPayButton {
	text-align: center;
	transition: all 0.3s;
}
.AmazonLoginButton:active,
.AmazonLoginButton:focus,
.AmazonLoginButton:hover,
.AmazonPayButton:active,
.AmazonPayButton:focus,
.AmazonPayButton:hover {
	opacity: 0.7;
}

/* 購入手続きフォーム */
.cartLoginForm .btnArea {
	margin-top: 1rem;
}

.buyForm caption,
.buyForm .caption {
	margin-top: 1em;
}
.buyForm td {
	padding-right: 0;
	background: none;
	border: 0 none;
}
@media only screen and (max-width: 767px) {
	.buyForm td {
		padding-left: 0;
	}
}
.inputName {}
.inputName li {
	-ms-flex-preferred-size: 49%;
	flex-basis: 49%;
}
.inputAddress li {
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	padding-bottom: 0.4em;
}
.efoBox {
	position: relative;
}
.efoBox i {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.inputPostal {position: relative;}
.inputPostal #add_btn {
	line-height: 50px;
}
.inputPostal .efoBox {display: inline-block;}
.inputPostal .description {
	margin-left: auto;
	font-size: initial;
}
.radioArea li {
	padding-top: 0.25em;
	padding-bottom: 0.25em;
}
.form-inline .form-check {
/*
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	*/
}
.radioArea label {
	margin-right: 1em;
	white-space: nowrap;
	cursor: pointer;
}
@media (min-width: 576px) {
	.form-inline .form-check:last-child label {
		margin-right: 0;
	}
}
@media (max-width: 575px) {
	.form-inline .form-check label {
		margin-right: 0;
	}
}

.paymentDescription {
	position: relative;
	padding: 0.8em;
	background-color: #fff;
	border-radius: 0.5em;
}

select[name="birthday_y"],
select[name="birthday_m"],
select[name="birthday_d"] {
	text-align: right;
}

#privacy_box {
	padding: 5%;
	height: 12em;
	overflow-y: scroll;
	overflow-x: hidden;
	background: #f9f9f9;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.25) inset;
	border: 2px solid #ccc;
}
#privacy_box dl,
#privacy_box dt,
#privacy_box dd {
	border: 0 none;
}
#privacy_box dt {
	padding: 0;
	background: none;
}
#privacy_box dd {
	padding: 0.5em 0.5em 1.2em;
	font-size: 85%;
}

.questionnaire {
	box-shadow: 0 0 0.2em rgba(0,0,0,0.5);
}
.buyForm .questionnaire td {
	padding-right: 1em;
}


.submitArea button {
	width: 100%;
	color: #fff;
	font-size: 1.2em;
	line-height: 2.8;
	background-color: #c0c0c0;
	border: 0;
	border-radius: 0.3em;
	cursor: not-allowed;
}
.submitArea #sub {
	font-weight: 600;
	background-color: #0cc306;
	cursor: pointer;
	transition: all 0.3s;
}
.submitArea #sub:active,
.submitArea #sub:focus,
.submitArea #sub:hover {
	opacity: 0.7;
}

/* efo.js 上書き */
div.floatBox {
	padding: 0;
	background: none;
	z-index: 101;
}
.float_success, .float_error {
	padding: 3%;
	background-color: rgba(0,0,0,0.65);
}
.float_success {
	background-color: #0cc306;
}


/* Amazon Pay 購入手続き */
#amazonForm #amazon_area {
	text-align: left;
}
#amazonForm #addressBookWidgetDiv {
	width: 100%;
}
#amazonForm #walletWidgetDiv {
	margin-left: 0;
	width: 100%;
}

/* クーポンチェック */
#couponErrorMsg {
	display: block;
	margin-top: 5px;
	padding: 1em;
	color: #fff;
	background-color: #e04d4d;
}

/* Amazon購入ボタン */
#amazonForm #amazon_order {
	width: 100%;
	background-color: #0cc306;
	box-shadow: none;
	transition: all 0.3s;
}
#amazonForm #amazon_order:active,
#amazonForm #amazon_order:focus,
#amazonForm #amazon_order:hover {
	opacity: 0.7;
}

/* 内容確認フォーム */
.teiki_alert,
.reguler_buy_delivery th {
	color: #2b7d12;
	background-color: #cec;
	border-bottom: 0 none;
}
.reguler_buy_delivery span {
	display: block;
}
div.teiki_alert {
	padding: 1em;
}
#bond {
	padding: 1.5em;
	background-color: #fee;
	border: 2px dashed #f66;
}
.btnFinish {
	font-size: 1.5em;
	background-color: #29c413;
}
.btnFinish:active,
.btnFinish:focus,
.btnFinish:hover {
}

/* 完了 */
.mailStep {
	padding: 5%;
	background-color: #eee;
	border: 1px solid #ccc;
}
.mailStep li:nth-child(odd) {
	-ms-flex-preferred-size: 23%;
	flex-basis: 23%;
	font-size: 3rem;
	line-height: 1.2;
	text-align: center;
	background-image: url(../images/icon_mail.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.cvsPaymentBox {
	padding: 30px;
	background-color: #eee;
	border-radius: 0.5em;
}
.cvsPaymentBox dl {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.cvsPaymentBox dt {
	-ms-flex-preferred-size: 35%;
	flex-basis: 35%;
}
.cvsPaymentBox dd {
	-ms-flex-preferred-size: 60%;
	flex-basis: 60%;
}

/* プライバシーポリシー */
.privacyPage dt {
	margin-bottom: 0.6em;
	color: #333;
	font-weight: 600;
}
.privacyPage dd {
	margin-bottom: 1.5em;
	padding-left: 1em;
}

/* ご利用規約 */
.rules {
	padding: 2em;
	height: 30rem;
	font-size: 85%;
	background-color: #f5fff0;
	overflow: auto;
	border: 2px solid #ccc;
}

/* お問い合わせ */
.askForm [name^="tel"] {
	width: 100%;
}

/* マイページ/購入履歴 */
.myPageHistory,
.myPageFavorite {
	margin-bottom: 60px;
}
.historyBox {
	border: 1px solid #ccc;
	border-width: 1px 0;
}
.historyDetailCol {
	-ms-flex-preferred-size: 25%;
	flex-basis: 25%;
}
@media (max-width:991px) {
	.historyDetailCol {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		width: 50%;
	}
}
.historyDetailCol dt {
	padding: 0.6em;
	background-color: #f7f7f7;
}
.historyDetailCol dd {
	padding: 0.6em;
	white-space: nowrap;
	border-bottom: 1px solid #ccc;
}
/* マイページ/お気に入り */
.favoriteItem {
	-ms-flex-preferred-size: calc(97% / 6);
	flex-basis: calc(97% / 6);
	margin-right: 0.6%;
	margin-bottom: 8px;
	padding: 0.8%;
	border: 1px solid #ccc;
}
@media (min-width: 1200px) {
	.favoriteItem:nth-child(6n) {
		margin-right: 0;
	}
}
@media (max-width: 1199px) and (min-width: 992px) {
	.favoriteItem {
		-ms-flex-preferred-size: calc(96% / 5);
		flex-basis: calc(96% / 5);
		margin-right: 1%;
	}
	.favoriteItem:nth-child(5n) {
		margin-right: 0;
	}
}
@media (max-width: 991px) and (min-width: 768px) {
	.favoriteItem {
		-ms-flex-preferred-size: calc(97% / 4);
		flex-basis: calc(97% / 4);
		margin-right: 1%;
	}
	.favoriteItem:nth-child(4n) {
		margin-right: 0;
	}
}
@media (max-width: 767px) and (min-width: 576px) {
	.favoriteItem {
		-ms-flex-preferred-size: calc(96% / 3);
		flex-basis: calc(96% / 3);
		margin-right: 2%;
	}
	.favoriteItem:nth-child(3n) {
		margin-right: 0;
	}
}
@media (max-width: 575px) {
	.favoriteItem {
		-ms-flex-preferred-size: calc(97% / 2);
		flex-basis: calc(97% / 2);
		margin-right: 3%;
		margin-bottom: 0.8em;
	}
	.favoriteItem:nth-child(2n) {
		margin-right: 0;
	}
}
.favoriteItem p {
	margin-top: 0;
}
.favoriteItem form .btn {
	padding: 0;
	width: 100%;
}
.favoriteItem .btn_delete {
	margin-top: 5px;
	margin-bottom: 0;
	width: 100%;
	line-height: 2;
}
/* マイページ/お届け先一覧 */
.delivAddressBox {
	border-bottom: 1px solid #ccc;
}
.delivAddCol {
	border: 0 none;
}
.delivAddCol dd {
	white-space: nowrap;
	border-bottom: 0 none;
}
@media (min-width:768px) {
	.delivAddCol dt,
	.delivAddCol dd {
		padding: 0.8em;
	}
	.delivAddCol:first-child {
		-ms-flex-preferred-size: 20%;
		flex-basis: 20%;
	}
	.delivAddCol:nth-child(2) {
		-ms-flex-preferred-size: 55%;
		flex-basis: 55%;
	}
	.delivAddCol:last-child {
		-ms-flex-preferred-size: 25%;
		flex-basis: 25%;
	}
}
@media (max-width:767px) {
	.delivAddCol dt,
	.delivAddCol dd {
		padding: 0.8em;
	}
	.delivAddCol {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
	}
}


/* マイページ/定期購入一覧 */
.renounced {
	margin-right: 0.5em;
	padding: 0 0.8em;
	color: #fff;
	background-color: #b77;
	float: left;
}
.subscHistoryBox {
	border-top: 1px solid #ccc;
}
.subscHistoryBox .historyDetailCol {
	-ms-flex-preferred-size: calc(100% / 3);
	flex-basis: calc(100% / 3);
}
/* マイページ/定期購入詳細 */
#regular_list_detail .renounced,
.regular_buy_delete .renounced {
	margin-right: 0;
	text-align: center;
	float: none;
}

/* マイページ/定期購入詳細・退会 */
.btn-cancel input {
	background-color: #6a1d1d;
}
.btn-cancel input:active,
.btn-cancel input:focus,
.btn-cancel input:hover {
	background-color: #e83030;
	opacity: 1;
}
.btn-cancel::after {
	content: none;
}

/* マイページ/お問い合せ一覧 */
.myInfoHistoryBox .historyDetailCol {
	-ms-flex-preferred-size: calc(100% / 3);
	flex-basis: calc(100% / 3);
}
.notReply {
	color: #999;
}
.replied {
	display: inline-block;
	padding: 0 0.6em;
	color: #fff;
	background-color: #8bf;
}

/* マイページ/予約一覧 */
.resvHistoryBox {
	border-top: 1px solid #ccc;
}
.resvHistoryBox .historyDetailCol {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}



/* メールアドレス表示 */
.mailDisplay {
	font-size: 150%;
	border-bottom: 3px solid;
}

/* ドメイン指定の説明 */
.domain_setting {}
.domain_setting .caption {
	padding-bottom: 0.3em;
	font-size: 1.8em;
	font-weight: 600;
	border-bottom: 0 none;
}
.domain_setting li > div {
	padding: 1rem;
}
.service {
	background-color: #bff9d7;
}
.domain_setting input {
	min-width: 15em;
	background: #eee;
}
.domSet {
	padding: 0.3em;
	text-align: center;
	background-color: #ccc;
}
.domSet + p {
	margin-top: 0.4em;
}

/* ピックアップ商品一覧 */
.pickupList li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #ccc;
}
.pickupList li:last-child {
	margin-bottom: 0;
	border-bottom: 0;
}
.pickupList .pickupImg {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.2);
}

/* ログイン */
.register_panel li {
	list-style-type: disc;
	line-height: 1.8;
}






/*** 打ち消し用（後で消去） ***/
@media only screen and (max-width: 991px) {
	.slick-next,
	.slick-prev {
		display: none !important;
	}
}


/* カスタマイズ */
p#top_text {
    text-align: center;
    font-size: 34px;
    margin:  0;
}

p#top_text span{
	font-size:18px;
}

