/* カスタマイズ用CSS */

/* -----------------------------------------------
 * Common
 *------------------------------------------------*/
:root {
	--color-base: #b71254;
	--color-base-50: #db88a9;
	--color-base-30: #e9b7cb;
	--color-base-20: #f1d0dd;
	--color-base-10: #f8e7ee;
	--color-bg-pink: #fcf5f8;
	--color-bg-gray: #f0f0f0;
	--color-bg-gray-light: #f5f5f5;
	--color-border: #bdb39c;
	--color-dark: #251b12;
	--color-text: #564a2b;
	--color-linktext: #337ab7;
	/*--color-linktext-hover: #0a58ca;*/
	--color-linktext-hover: #296292;
	--color-btn-action: #b71254;
	--color-btn-action-hover: #9d0938;
	--color-tag1: #f08584;
	--color-tag2: #ffb300;
	--color-tag3: #4ebdbd;
	--color-tag4: #5a9bd5;
	--color-tag5: #7bb661;
	--color-tag6: #e984bd;
	--color-tag7: #a884dc;
	--color-tag8: #f28c47;
	--color-tag9: #355c7d;
	--color-tag10: #788a91;
	--color-red: /*#cf3c39*/#cc0033;
	--font-family-serif: "Noto Serif JP", serif;
	--font-family-sans-serif: 'Open Sans', 'Noto Sans JP', sans-serif;
	--font-family-roboto: 'Roboto', sans-serif;
}

*, *::before, *::after {
	box-sizing: border-box;
}

:root {
	scroll-behavior: auto;
}

body {
	color: #1a1a1a;
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
	background: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

button, input, optgroup, select, textarea {
	font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
}

.serif {
	font-family: 'Playfair Display', 'Noto Serif JP', serif;
}

.nowrap {
	white-space: nowrap;
}

a {
	/*color: var(--color-linktext);*/
	transition: .2s;
}

a:hover {
	color: var(--color-linktext-hover);
}

::selection {
	background: rgba(183, 18, 84, 0.3);
}

::-moz-selection {
	background: rgba(183, 18, 84, 0.3);
}

h2 {
	/*font-family: 'Playfair Display', 'Noto Serif JP', "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;*/
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}


/* Alignment
 * ---------------------------------------- */

.alignleft {
	text-align: left;
}
.alignright {
	text-align: right;
}
.aligncenter {
	text-align: center;
}


/* Text
 * ---------------------------------------- */
.text-attention {
	color: #ff0033;
}
.indent-1 {
	margin-left: 1em;
	text-indent: -1em;
}


/* Table
 * ---------------------------------------- */
table {
	caption-side: top;
	margin: 1.5em 0;
	border-collapse: collapse;
}

table caption {
	margin: 0 0 3px;
	color: #1a1a1a;
}

th,
td {
	padding: 0.5em 0.5em;
	border: solid 1px #ccc;
	font-weight: normal;
}

th {
	background: var(--color-base-10);
	font-weight: 500;
	text-align: center;
}

.table-row {
	margin: 1.5em 0;
	border-collapse: collapse;
}

.table-row th,
.table-row td {
	padding: 0.8em 0.5em;
	border-left: none;
	border-right: none;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}

.table-row th {
	text-align: left;
}

@media screen and (min-width: 768px) {
	th,
	td {
		padding: 0.8em 0.8em;
	}
	.table-row th,
	.table-row td {
		padding: 0.8em 0.8em;
	}
}


/* Link
 * ---------------------------------------- */
.ec-link {
	color: var(--color-linktext);
}
.ec-link:hover {
	color: var(--color-linktext-hover);
}

.linkimg {
	transition: .2s;
}
.linkimg:hover {
	opacity: .8;
}


/* Button
 * ---------------------------------------- */

/* Inline Button */
.ec-inlineBtn {
	font-size: 14px;
	line-height: 1.42857;
	padding: 10px 16px;
	border-radius: 3px;
	color: #1a1a1a;
	background-color: var(--color-bg-gray-light);
	transition: .2s; 
}
.ec-inlineBtn:hover,
.ec-inlineBtn:active,
.ec-inlineBtn:focus {
	background-color: #ccc;
	box-shadow: none;
}

.ec-inlineBtn--action {
	margin: 10px 5px;
	border-radius: 3px;
	border-color: var(--color-btn-action);
	background-color: var(--color-btn-action);
	outline: none !important;
	transition: .2s;
}
.ec-inlineBtn--action:hover,
.ec-inlineBtn--action:active,
.ec-inlineBtn--action:focus {
	border-color: var(--color-btn-action-hover) !important;
	background-color: var(--color-btn-action-hover) !important;
	box-shadow: none;
}

.ec-inlineBtn--cancel {
	margin: 10px 5px;
	border-color: #888;
	border-radius: 3px;
	outline: none !important;
	background: #888;
	transition: .2s;
}

.ec-inlineBtn--cancel:hover,
.ec-inlineBtn--cancel:active,
.ec-inlineBtn--cancel:focus {
	border-color: #666;
	background: #666;
}

@media only screen and (max-width: 767px) {
	.ec-inlineBtn--action,
	.ec-inlineBtn--cancel {
		display: block;
		width: 200px;
		margin: 10px auto;
	}
}

/* Block Button */
.ec-blockBtn,
.ec-blockBtn--primary,
.ec-blockBtn--action,
.ec-blockBtn--cancel {
	font-size: 16px;
	font-weight: 500;
	outline: none;
	border-radius: 4px;
	transition: .2s;
}

.ec-blockBtn:focus,
.ec-blockBtn--primary:focus,
.ec-blockBtn--action:focus,
.ec-blockBtn--cancel:focus,
.ec-blockBtn:active,
.ec-blockBtn--primary:active,
.ec-blockBtn--action:active,
.ec-blockBtn--cancel:active {
	outline: none !important;
}

.ec-blockBtn--action {
	background-color: var(--color-btn-action);
	border-color: var(--color-btn-action);
	outline: none !important;
}

.ec-blockBtn--action:disabled,
.ec-blockBtn--action.disabled {
	border-color: var(--color-base-50);
	background: var(--color-base-50);
}

.ec-blockBtn--action:not(:disabled):hover,
.ec-blockBtn--action:not(:disabled):active,
.ec-blockBtn--action:not(:disabled):focus {
	background-color: var(--color-btn-action-hover);
	border-color: var(--color-btn-action-hover);
	cursor: pointer;
}

.ec-blockBtn--cancel {
	border-color: #666;
	background: #666;
}

.ec-blockBtn--cancel:hover,
.ec-blockBtn--cancel:active,
.ec-blockBtn--cancel:focus {
	border-color: #444;
	background: #444;
}

.btn-check:checked + .ec-blockBtn--action:focus,
.btn-check:active + .ec-blockBtn--action:focus,
.btn-check:focus + .ec-blockBtn--action,
.ec-blockBtn--action:focus,
.ec-blockBtn--action:active:focus,
.ec-blockBtn--action.active:focus,
.show > .ec-blockBtn--action.dropdown-toggle:focus {
	box-shadow: 0 0 0 0.25rem rgba(157,9,56,0.4);
}

/* Original Button */
.btn-area .btn {
	display: inline-block;
	position: relative;
	margin: 1em auto 0.5em;
	padding: 1em 2.5em;
	border: 1px solid var(--color-base);
	border-radius: 100px;
	background: #fff;
	color: var(--color-base);
	text-decoration: none;
	transition: .2s;
}

.btn-area .btn:hover {
	background: var(--color-base);
	color: #fff;
}

.btn-area .btn-link {
	padding: 1em calc(2.5em + 35px) 1em 2.5em;
}

.btn-area .btn-link:before,
.btn-area .btn-link:after {
	content: "";
	display: block;
	position: absolute;
	right: 2em;
	top: 50%;
	width: 26px;
	height: 1px;
	background: var(--color-base);
	transition: .2s;
}

.btn-area .btn-link:before {
	width: 26px;
}

.btn-area .btn-link:after {
	width: 8px;
	transform: rotate(25deg);
	transform-origin: right bottom;
}

.btn-area .btn-link:hover:before,
.btn-area .btn-link:hover:after {
	right: 1.5em;
	margin-left: 0.5em;
	background: #fff;
}


/* Form
 * ---------------------------------------- */
.ec-input input,
.ec-telInput input,
.ec-zipInput input,
.ec-numberInput input,
.ec-halfInput input {
	display: block;
	width: 100%;
	height: auto;
	padding: 0.5em 0.75em;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.3;
	color: #333;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.ec-select:last-child {
	margin-bottom: 0;
}

.ec-zipInput input {
	display: inline-block;
}

.ec-input:last-child input,
.ec-halfInput:last-child input,
.ec-numberInput:last-child input,
.ec-zipInput:last-child input,
.ec-telInput:last-child input,
.ec-select:last-child input,
.ec-birth:last-child input {
	margin-bottom: 0px;
}

.ec-input select,
.ec-halfInput select,
.ec-numberInput select,
.ec-zipInput select,
.ec-telInput select,
.ec-select select,
.ec-birth select {
	color: #333;
	font-weight: normal;
}

.ec-input input:focus,
.ec-birth input:focus,
.ec-select input:focus,
.ec-halfInput input:focus,
.ec-numberInput input:focus,
.ec-zipInput input:focus,
.ec-telInput input:focus,
.ec-input textarea:focus,
.ec-birth textarea:focus,
.ec-select textarea:focus,
.ec-halfInput textarea:focus,
.ec-numberInput textarea:focus,
.ec-zipInput textarea:focus,
.ec-telInput textarea:focus,
.ec-input select:focus,
.ec-birth select:focus,
.ec-select select:focus,
.ec-halfInput select:focus,
.ec-numberInput select:focus,
.ec-zipInput select:focus,
.ec-telInput select:focus {
	border-color: #666;
}

.ec-select .select_ui,
.ec-birth .select_ui {
	display: inline-block;
	font-weight: normal;
	margin: 0;
	position: relative;
	width: 100%;
}

.ec-select select,
.ec-birth select {
	width: 100%;
	height: auto;
	padding: 0.5em 0.75em;
	font-size: 16px;
	line-height: 1.3;
	color: #333;
	background-color: #fff;
	background-image: url(../img/common/arrow-down.svg);
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-size: 12px auto;
	border: 1px solid #ccc;
	border-radius: 0;
	-webkit-appearance: none;
	transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	width: auto;
	max-width: 100%;
	cursor: pointer;
	padding-right: calc(20px + 0.75em);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.ec-birth select {
	margin: 0;
}

.ec-birth span {
	margin: 0 8px;
}

/* label */
.ec-label {
	font-weight: normal;
}

@media only screen and (min-width: 768px) {
	.ec-label {
		margin-bottom: 0;
	}
}

.ec-checkbox label {
	font-weight: normal;
}


/* zip */
.ec-zipInputHelp {
	font-size: 0.9em;
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
	top: -5px;
	width: 18px;
	height: 18px;
	margin-top: 0;
	background: #666;
	font-size: 12px;
}

.ec-zipInputHelp a span {
	margin-left: 5px;
	padding: 0;
	vertical-align: middle;
}

.ec-zipInputHelp a:hover span {
	color: var(--color-linktext-hover);
}

/* required */
.ec-required {
	font-weight: 600;
}

/* action area */
.ec-registerRole__actions .ec-checkbox {
	margin-bottom: 1.5em;
}

/* error */
.error.ec-input textarea {
	border-color: #CF3F34;
	background: #FDF1F0
}

@media only screen and (min-width: 768px) {
    .ec-halfInput.error .ec-errorMessage {
		display: inline-block;
		width: 45%;
	}
	.ec-halfInput.error .ec-errorMessage + .ec-errorMessage {
		margin-left: 15px;
	}
}


/* -----------------------------------------------
 * Header
 *------------------------------------------------*/
.ec-layoutRole__header {
	height: 60px;
}

.ec-layoutRole .ec-layoutRole__header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1001;
	margin: 0;
	transition: .3s;
}

.ec-headerRole {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	width: auto !important;
	max-width: 1280px;
	max-width: 100%;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
	transition: .2s;
}

body.scrolled .ec-layoutRole .ec-layoutRole__header .ec-headerRole {
	box-shadow: 0 0 8px rgba(0,0,0,0.2);
}

@media only screen and (max-width: 767px) {
	.ec-layoutRole__header {
		height: 60px;
	}
	.ec-headerRole {
		height: 60px;
		padding: 0 10px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
	.ec-layoutRole__header {
		height: 70px;
	}
	.ec-headerRole {
		height: 70px;
		padding: 0 10px;
	}
}

@media only screen and (min-width: 1280px) {
	.ec-layoutRole__header {
		height: 110px;
	}
	.ec-headerRole {
		height: 110px;
		padding: 20px 40px;
	}
	body.scrolled .ec-layoutRole .ec-layoutRole__header {
		height: 80px;
	}
	body.scrolled .ec-layoutRole .ec-layoutRole__header .ec-headerRole {
		height: 80px;
		padding: 10px 40px;
	}
}

.ec-headerRole *,
.ec-headerRole *::before,
.ec-headerRole *::after {
	box-sizing: border-box;
}

.ec-headerRole:after {
	content: "";
	display: none;
 }

.ec-headerRole .ec-headerRole__left {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.ec-headerRole .ec-headerRole__right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}


/* Site Title
 * ---------------------------------------- */
.ec-headerTitle {
	display: flex;
	align-items: center;
	height: 40px;
	margin: 5px 20px 5px 0;
	transition: .2s;
}

.ec-headerTitle .ec-headerTitle__title a,
.ec-headerTitle .ec-headerTitle__title img {
	display: block;
	width: auto;
	height: 100%;
	margin: 0 !important;
	transition: .2s;
}

.ec-headerTitle .ec-headerTitle__title img {
	height: 40px;
}

@media screen and (min-width: 768px) {
 	.ec-headerTitle {
		height: 50px;
		margin: 0 20px 0 0;
	}
	.ec-headerTitle .ec-headerTitle__title {
		height: 50px;
	}
	.ec-headerTitle .ec-headerTitle__title img {
		height: 50px;
	}
}

@media screen and (min-width: 1280px) {
	.ec-headerTitle {
		height: 70px;
		margin-right: 30px;
	}
 	.ec-headerTitle .ec-headerTitle__title,
	.ec-headerTitle .ec-headerTitle__title img {
		height: 70px;
	}
	body.scrolled .ec-headerTitle {
		height: 60px;
	}
	body.scrolled .ec-headerTitle__title {
		height: 60px;
		transition: .2s;
	}
	body.scrolled .ec-headerTitle__title img {
		height: 60px;
	}
}


/* Header Menu
 * ---------------------------------------- */

.ec-headerMenu {
	display: flex;
	align-items: center;
	color: #1a1a1a;
	font-size: 14px;
}

@media screen and (min-width: 1280px) {
	.ec-headerMenu {
		position: relative;
	}
}

@media screen and (max-width: 767px) {
	.ec-headerMenu__item.hidden_mobile {
		display: none;
	}
}

.ec-headerMenu .ec-headerMenu__item > a,
.ec-headerMenu .ec-headerMenu__item > button {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 7px;
	padding: 9px 9px;
	border-radius: 20px;
	border: solid 1px transparent;
	background: transparent;
	color: #333;
	line-height: 1;
	text-decoration: none;
	transition: .2s;
}

.ec-headerMenu .ec-headerMenu__item > a:hover,
.ec-headerMenu .ec-headerMenu__item > button:hover {
	color: var(--color-base);
	text-decoration: none;
}

.ec-headerMenu .ec-headerMenu__itemIcon {
	font-size: 20px;
}

.ec-headerMenu .ec-headerMenu__itemLink {
	margin-left: 3px;
}

.ec-headerMenu__item__separator {
	display: inline-block;
	position: relative;
	margin: 0 5px;
}
.ec-headerMenu__item__separator:after {
	content: "";
	display: block;
	width: 1px;
	height: 16px;
	background: #1a1a1a;
	transform: rotate(20deg);
}

@media only screen and (max-width: 767px) {
	.ec-headerMenu__item__separator {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	.ec-headerMenu .ec-headerMenu__item > a:hover,
	.ec-headerMenu .ec-headerMenu__item > button:hover {
		background: var(--color-bg-gray-light);
		color: var(--color-base);
		text-decoration: none;
	}
}

/* Search */
.ec-headerMenu .ec-headerSearch__body {
	position: absolute;
	top: 100%;
	z-index: 998;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	transition: .3s;
}

.ec-headerMenu .ec-headerSearch__body.is-active {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media only screen and (max-width: 767px) {
	.ec-headerMenu .ec-headerSearch__body {
		width: 100%;
		left: 0;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
	.ec-headerMenu .ec-headerSearch__body {
		width: 100%;
		left: 0;
	}
}

@media only screen and (min-width: 1280px) {
	.ec-headerMenu .ec-headerSearch__body {
		left: 0;
		top: calc(100% + 10px);
		width: 380px;
		padding-top: 6px;
	}
}

.ec-headerSearch .ec-headerSearch__wrap {
	display: flex;
	align-items: center;
	position: relative;
	background-color: var(--color-base-10);
	padding: 10px;
}

@media only screen and (min-width: 1280px) {
	.ec-headerMenu .ec-headerSearch__wrap {
		filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.2));
	}
	.ec-headerMenu .ec-headerSearch__wrap:after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		position: absolute;
		bottom: 100%;
		left: 16px;
		border: solid 10px transparent;
		border-bottom-color: var(--color-base-10);
	}
}

.ec-headerSearch .ec-headerSearch__category {
	float: none;
	width: auto;
	margin-right: 2px;
}

.ec-headerSearch .ec-headerSearch__category .ec-select,
.ec-headerSearch .ec-headerSearch__category .ec-birth {
	margin: 0;
}

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
	background: #fff;
	color: #1a1a1a;
	border-radius: 0 !important;
	text-align: left;
}

.ec-headerSearch .ec-headerSearch__category .ec-select select {
	padding: 8px 24px 8px 8px;
	color: #333;
}

.ec-headerSearch .ec-headerSearch__category .ec-select .select_ui select,
.ec-headerSearch .ec-headerSearch__category .ec-birth .select_ui select {
	display: block;
	font-size: 13px;
	height: 40px;
	padding: 5px 0.7em !important;
	border: none;
	max-width: 50vh;
}

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search::before {
	top: 1.1em;
	right: 0.4em;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #333;
}

.ec-headerSearch .ec-headerSearch__keyword {
	position: relative;
	float: none;
	width: auto;
	color: #525263;
	border: none;
	background-color: #fff;
	border-radius: 0 !important;
	flex: 1 1 auto;
}

.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
	border: none;
	margin: 0;
	border-radius: 0;
	font-size: 16px;
	height: 40px;
	padding-left: 1em;
	padding-right: 40px;
}

.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
	width: 22px;
	height: 22px;
	color: #333;
	font-size: 22px;
	line-height: 1;
}

.ec-headerSearch .ec-headerSearch__keyword .ec-icon:hover {
	color: var(--color-base);
}

/* Cart */
.ec-cartNavi {
	display: block;
	width: auto;
	min-width: 20px !important;
	height: auto;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	font-size: 20px;
	line-height: 1;
}

.ec-cartNavi .ec-cartNavi__icon {
	display: block;
	margin: 0 7px 0 0;
	padding: 10px 8px;
	border-radius: 50%;
	color: #333;
	font-size: 20px;
	transform: translateY(1px);
}

.ec-cartNavi .ec-cartNavi__badge {
	top: -2px;
	left: 60%;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.ec-cartNavi .ec-cartNavi__icon {
		margin: 0 7px;
		font-size: 20px;
	}
	.ec-cartNavi .ec-cartNavi__icon:hover {
		background: var(--color-bg-gray);
		color: var(--color-base);
	}
	.ec-cartNavi .ec-cartNavi__badge {
		position: absolute;
		top: -2px;
		left: 60%;
	}
}

.ec-cartNaviIsset,
.ec-cartNaviNull {
	display: block;
	right: 10px;
	top: calc(100% - 10px);
	width: 320px;
	min-width: 256px;
	max-width: 320px;
	margin-top: 10px;
	padding: 16px;
	background: #f5f5f5;
	filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	transition: .3s;
}
.ec-cartNaviIsset.is-active,
.ec-cartNaviNull.is-active {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
.ec-cartNaviIsset::before,
.ec-cartNaviNull::before {
	content: "";
	display: block;
	border-style: solid;
	border-width: 0 8.5px 10px 8.5px;
	border-color: transparent transparent #f5f5f5 transparent;
	position: absolute;
	top: -9px;
	right: 62px;
	width: 0;
	height: 0;
	box-sizing: border-box;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartImage {
	width: 90px;
}
.ec-cartNaviIsset .ec-cartNaviIsset__cartContent {
	width: calc(100% - 90px);
}

.ec-cartNaviIsset__cartContentTitle {
	font-weight: 600;
}
.ec-cartNaviIsset__cartContentTitle .ec-font-size-1 {
	font-weight: normal;
}
.ec-blockBtn.ec-cartNavi--cancel {
	background: #ddd;
}
.ec-blockBtn.ec-cartNavi--cancel:hover {
	background: #ccc;
}

@media only screen and (max-width: 339px) {
	.ec-cartNaviIsset,
	.ec-cartNaviNull {
		width: 300px;
	}
}

@media only screen and (min-width: 768px) {
    .ec-cartNaviIsset,
	.ec-cartNaviNull {
		right: 0;
		top: 100%;
    }
	.ec-cartNaviIsset::before,
	.ec-cartNaviNull::before {
		top: -9px;
		right: 18px;
    }
}

@media only screen and (min-width: 1280px) {
    .ec-cartNaviIsset,
	.ec-cartNaviNull {
		top: calc(100% + 7px);
    }
}

.ec-cartNaviNull .ec-cartNaviNull__message {
	padding: 16px 8px;
	border: none;
	background-color: var(--color-bg-gray);
	color: #1a1a1a;
	font-size: 15px;
	font-weight: 400;
}


/* Global Navigation
 * ---------------------------------------- */
.ec-headerNav {
	font-size: 14px;
	color: #1a1a1a;
}

@media only screen and (max-width: 1279px) {
	.ec-headerNav {
		display: none;
	}
}

.ec-headerNav .ec-headerNav__item {
	display: inline-block;
	position: relative;
	vertical-align: top;
	margin-right: 20px;
	font-size: 14px;
}

.ec-headerNav__item > a {
	display: block;
	position: relative;
	color: inherit;
	padding-top: 2px;
	padding-bottom: 2px;
	text-decoration: none;
}

.ec-headerNav__item > a:hover {
	color: var(--color-base);
}

.ec-headerNav__item > a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--color-base);
	transition: .2s;
}

.ec-headerNav__item > a:hover:after {
	width: 100%;
}

/*--- Sub Menu ---*/
.ec-headerNav__item.has-submenu .submenu {
	position: absolute;
	top: 100%;
	left: 0;
	width: auto;
	min-width: 300px;
	padding-top: 14px;
	pointer-events: none;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	transition: .2s;
}

.ec-headerNav__item.has-submenu:hover .submenu {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0,0,0);
	pointer-events: auto; /* 隣のメニューに干渉しないようにnoneとしていたので解除 */
}

.ec-headerNav__item.has-submenu .submenu__body {
	background-color: #fff;
	color: #333;
	padding: 15px;
	filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
	position: relative;
}

.ec-headerNav__item.has-submenu .submenu__body:after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	bottom: 100%;
	left: 15px;
	border: solid 10px transparent;
	border-bottom-color: #fff;
}

.ec-categoryTree,
.submenu ul {
	font-size: 0.933em;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

.ec-categoryTree li,
.submenu li {
	margin: 0;
	padding: 0;
	border-bottom: solid 1px var(--color-bg-gray);
	white-space: nowrap;
	position: relative;
	text-align: left;
}

.ec-categoryTree li a,
.submenu li a {
	display: block;
	line-height: 1;
	padding: 1em 0.5em;
	transition: .2s;
	color: inherit;
}

.ec-categoryTree li a:hover,
.submenu li a:hover {
	background: var(--color-base-10);
	text-decoration: none;
}

.ec-categoryTree li ul,
.submenu li ul {
	margin: 0;
	padding: 15px;
	list-style-type: none;
	min-width: 10em;
	position: absolute;
	top: 0.5em;
	left: calc(100% - 0.5em);
	background-color: #fff;
	color: inherit;
	z-index: 9;
	border: solid 1px #ddd;
	visibility: hidden;
	opacity: 0;
	transition: .2s;
}

.ec-categoryTree li:hover > ul,
.submenu li:hover > ul {
	visibility: visible;
	opacity: 1;
}

@media only screen and (min-width: 768px) {}


/* Drawer Button
 * ---------------------------------------- */
.ec-drawerButton {
	display: block;
	cursor: pointer;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.ec-drawerButton {
		width: 45px;
		height: 45px;
		padding: 10px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
	.ec-drawerButton {
		width: 50px;
		height: 50px;
		padding: 12px;
	}
}

@media only screen and (min-width: 1280px) {
	.ec-drawerButton {
		display: none;
	}
}

.ec-drawerButton .burger {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #1a1a1a;
	position: relative;
	top: 50%;
	text-indent: -9999px;
	transition: .3s;
}

.ec-drawerButton .burger:before,
.ec-drawerButton .burger:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: #1a1a1a;
	position: absolute;
	left: 0;
	transition: .3s;
}

.ec-drawerButton .burger:before {
	top: -8px;
}

.ec-drawerButton .burger:after {
	bottom: -8px;
}

body.have_curtain .ec-drawerButton .burger {
	background-color: transparent;
}

body.have_curtain .ec-drawerButton .burger:before {
	top: 0;
	transform: rotate(225deg);
}

body.have_curtain .ec-drawerButton .burger:after {
	bottom: 0;
	transform: rotate(135deg);
}


.site-description {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: 0.05em;
}


/* -----------------------------------------------
 * Drawer
 *------------------------------------------------*/
.ec-overlayRole,
.ec-drawerRoleClose,
.ec-drawerRole {
	display: block;
}

.ec-drawerRole {
 	position: fixed;
	padding: 20px;
	top: 60px;
	left: 0;
	z-index: 1000;
	width: 100%;
	/*max-width: 400px;*/
	height: calc(100vh - 60px);
	box-sizing: border-box;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	background-color: var(--color-bg-gray-light);
	color: #1a1a1a;
	visibility: hidden;
	/*transform: translate3d(100vw, 0, 0);*/
	transform: translate3d(0, -100%, 0);
	transition: .3s;
}

.ec-drawerRole.is-active {
	visibility: visible;
	transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 767px) {
	.ec-drawerRole {
		top: 60px;
		max-width: 100%;
		height: calc(100vh - 60px);
		padding: 20px 6.25vw;
		padding-left: 6.25vw;
	}
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
    .ec-drawerRole {
		display: flex;
		justify-content: center;
		gap: 40px;
		top: 70px;
		height: calc(100vh - 70px);
        padding: 40px 3.906vw;
		transform: translate3d(0, -100%, 0);
		transition: .3s;
    }
	.ec-drawerRole.is-active {
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}
	.ec-drawerMenu {
		width: 300px;
		max-width: calc((100% - 80px) / 3);
	}
}

@media screen and (min-width: 1280px) {
	.ec-overlayRole,
	.ec-drawerRoleClose,
	.ec-drawerRole {
		display: none;
	}
}

/* Lists */
.ec-drawerMenu {}

.ec-drawerMenu__item {
	position: relative;
	border-bottom: 1px dotted #ccc;
}

.ec-drawerMenu__item a {
	display: block;
	padding: 0.6em 2em 0.6em 0;
	color: #333;
	font-size: 14px;
	font-size: min(4.5vw, 18px);
}

.ec-drawerMenu__item a:hover {
	color: var(--color-base);
}

.ec-drawerMenu__item.has-category {
	border-bottom: none;
}

.ec-drawerMenu__item ul {
	list-style: none;
	margin: 0 0 0 1em;
	padding: 0;
}

.ec-drawerMenu__item li {
	margin: 0;
	padding: 0;
}

.ec-drawerMenu__item li a {
	display: block;
	position: relative;
	padding: 0.4em 0 0.4em 1em;
}

.ec-drawerMenu__item li a:before {
	content: "\f0da";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 11px;
	position: absolute;
	left: 0.3em;
	top: 50%;
	margin-top: -0.5em;
	color: var(--color-base-50);
	line-height: 1;
}

.ec-drawerMenu .categoryOpenBtn:after {
	content: "\f078";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 12px;
	font-size: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: calc((1em / 1) * 2.6 ); /* 親要素のフォントサイズの1.5行分＋用下余白分　調整-0.2 */
	color: var(--color-base);
	text-align: center;
	cursor: pointer;
	transition: .2s;
}

.ec-drawerMenu .categoryOpenBtn.is-open:after {
	transform: rotateX(180deg);
}

.ec-drawerMenu .ec-drawerMenu__icon {
	display: inline-block;
	width: 20px;
	margin-right: 5px;
	color: var(--color-base);
	text-align: center;
}

.ec-drawerMenu.small-menu {
	margin-top: 1em;
}

.ec-drawerMenu.small-menu .ec-drawerMenu__item {
	border: none;
}

.ec-drawerMenu.small-menu .ec-drawerMenu__item a {
	padding: 0.2em 0;
	font-size: 13px;
	font-size: min(4vw, 16px);
}

@media screen and (min-width: 768px) {
	.ec-drawerMenu__item a {
		font-size: 16px;
	}
	.ec-drawerMenu.small-menu {
		margin-top: 0;
	}
	.ec-drawerMenu.small-menu .ec-drawerMenu__item a {
		margin: 0.5em 0;
	}
}


/* Footer Guide
 * ---------------------------------------- */
.footer_guide {
	background: var(--color-bg-gray);
}

.footer_guide_inner {
	max-width: 1360px;
	margin: 0 auto;
	padding-bottom: 15px;
}

.footer_guide_item {
	margin: 0;
	padding: 15px 15px 0;
	box-sizing: border-box;
	font-size: 15px;
	text-align: center;
}

.footer_guide_item_inner {
	padding: 15px;
	background: #fff;
}

.footer_guide_item_title {
	margin: 0 auto 1em;
	color: var(--color-base);
	font-size: 16px;
	font-weight: bold;
}

.footer_guide_item p {
	text-align: left;
}

.footer_guide_item p strong {
	font-size: 16px;
	line-height: 2em;
}

.footer_guide_item .only-wide {
	display: none;
}

.footer_guide_item .btn-area {
	margin: 1em auto 0;
}

@media screen and (min-width: 768px) {
	.footer_guide_inner {
		padding-bottom: 20px;
	}
	.footer_guide_item {
		padding: 20px 20px 0;
	}
}

@media screen and (min-width: 960px) {
	.footer_guide_inner {
		display: flex;
		justify-content: center;
		gap: 30px;
		margin: 0 auto;
		padding: 40px;
	}
	.footer_guide_item,
	.footer_guide_item:first-child,
	.footer_guide_item:last-child {
		align-self: stretch;
		width: calc(100% / 3);
		padding: 0;
	}
	.footer_guide_item_inner {
		padding: 20px;
	}
	.footer_guide_item p {
		min-height: 4.5em;
	}
}

@media screen and (min-width: 1280px) {
	.footer_guide_inner {
		gap: 40px;
	}
	.footer_guide_item_inner {
		padding: 30px;
	}
	.footer_guide_item .only-wide {
		display: inherit;
	}
}


/* -----------------------------------------------
 * Footer
 *------------------------------------------------*/

.ec-layoutRole__footer {}

/* Site Footer
 * ---------------------------------------- */
.ec-footerRole {
	margin: 0;
	padding: 0;
	border: none;
	background: var(--color-base);
	color: #fff;
}

.ec-footerRole .ec-footerRole__inner {
	max-width: 1360px;
	padding: 30px 0px;
	color: #fff;
	line-height: 1.5;
}

@media screen and (min-width: 960px) {
	.ec-footerRole .ec-footerRole__inner {
		padding: 40px 40px;
	}
	.ec-footerRole .ec-footerRole__block {
		display: flex;
	}
	.ec-footerRole__item {
		width: 50%;
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}
}

/* info */
.ec-footerShopInfo {
	text-align: center;
}

.footer-shopname {
	height: 40px;
	font-size: 20px;
	font-weight: bold;
}

.footer-addr {
	margin: 0;
	font-size: min(3.6vw, 13px);
}

.footer-hp {
	margin: 20px auto 0;
	font-size: min(3.6vw, 13px);
}
.footer-hp-icon {
	margin-right: 0.8em;
}
.footer-hp a {
	display: inline-block;
	padding: 0.5em 1em;
	border: 1px solid #fff;
	border-radius: 50px;
	color: #fff;
	text-decoration: none;
}

@media screen and (min-width: 960px) {
	.ec-footerShopInfo {
		text-align: left;
	}
	.footer-hp {
		margin: 20px auto 0;
		font-size: min(3.6vw, 13px);
	}
	.footer-hp a {
		padding: 0;
		border: none;
	}
	.footer-hp-icon {
		display: inline-block;
		width: 25px;
		height: 25px;
		margin-right: 0.5em;
		padding-left: 2px;
		border: 1px solid #fff;
		border-radius: 50%;
		box-sizing: border-box;
		font-size: 12px;
		line-height: 23px;
		text-align: center;
	}
	.footer-hp a:hover .footer-hp-text {
		text-decoration: underline;
	}
}

/* links */
.ec-footerLinks {
	text-align: center;
}

.footer-sns {
	margin: 0.8em auto;
}

.footer-sns a {
	display: inline-block;
	opacity: .8;
	width: 30px;
	margin: 0 10px;
	color: #fff;
	font-size: 30px;
	vertical-align: middle;
	transition: .2s;
}
.footer-sns a:hover {
	opacity: 1;
}
.footer-sns a img {
	display: block;
}

@media screen and (min-width: 960px) {
	.ec-footerLinks {
		text-align: right;
	}
	.footer-sns {
		margin: 0;
	}
}

/* bottom */
.ec-footerRole__bottom {}

.ec-footerNav {
	margin: 15px 0;
	margin: 0;
	padding: 0;
	text-align: center;
}

.ec-footerNav a {
	display: inline-block;
	margin: 0 0.5em 0 0;
	padding: 0;
	color: #fff;
	font-size: min(2.8vw, 12px);
}

.ec-footerNav a:last-of-type {
	margin-right: 0;
}

.ec-footerNav a:hover {
	text-decoration: underline;
}

.ec-footerCopyright {
	margin: 20px auto 0;
	font-size: min(2.8vw, 12px);
	text-align: center;
}

@media screen and (min-width: 960px) {
	.ec-footerRole__bottom {
		align-items: center;
		margin-top: 20px;
		padding-top: 15px;
		border-top: 1px solid #db88a9;
	}
	.ec-footerNav {
		margin: 0;
		text-align: left;
	}
	.ec-footerNav a {
		margin-right: 1.5em;
	}
	.ec-footerCopyright {
		margin: 0;
		text-align: right;
	}
}

/* To Top Button
 * ---------------------------------------- */
.ec-blockTopBtn {
	width: 40px;
	height: 40px;
	right: 10px;
	bottom: 10px;
	border-radius: 50%;
	line-height: 40px;
	opacity: 0.8;
	background-color: #d47198;
	color: #fff;
	font-size: 16px;
	transition: .2s;
}
.ec-blockTopBtn:hover {
	opacity: 1;
}

@media only screen and (min-width: 768px) {
	.ec-blockTopBtn {
		width: 50px;
		height: 50px;
		right: 20px;
		bottom: 20px;
		line-height: 50px;
	}
}


/* -----------------------------------------------
 * Contents
 *------------------------------------------------*/

.ec-layoutRole {
	background: #fff;
}

.ec-layoutRole .ec-layoutRole__contents {
	width: 100%;
	max-width: 100%;
	padding: 40px 0;
}

.product_page .ec-layoutRole .ec-layoutRole__contents {
	/* 関連商品プラグイン、レビュープラグイン有効化時調整 */
	/*padding-bottom: 0;*/
}

.front_page .ec-layoutRole .ec-layoutRole__contents {
	padding: 0;
}

@media print, screen and (min-width: 768px) {
	.ec-layoutRole .ec-layoutRole__contents {
		padding: 50px 0 60px;
	}
}

@media print, screen and (min-width: 1024px) {
	.ec-layoutRole .ec-layoutRole__contents {
		padding: 60px 0 80px;
	}
}

@media only screen and (min-width: 1280px) {
	.ec-layoutRole .ec-layoutRole__contents {
		padding: 80px 0 100px;
	}
}


/* ec-role
 * ---------------------------------------- */
.ec-role,
.ec-shelfRole {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	color: #1a1a1a;
}

.front_page .ec-role,
.front_page .ec-shelfRole {
	margin: 0 auto;
	padding-top: 40px;
	padding-bottom: 40px;
}

.front_page .ec-role.bg-pink,
.front_page .ec-shelfRole.bg-pink {
	background: var(--color-bg-pink);
}

.ec-shelfRole {
	max-width: 1360px;
}

@media only screen and (min-width: 768px) {
	.front_page .ec-role,
	.ec-shelfRole {
		padding-left: 40px;
		padding-right: 40px;
	}
	.front_page .ec-role,
	.front_page .ec-shelfRole {
		padding-top: 60px;
		padding-bottom: 60px;
	}
}

@media only screen and (min-width: 1024px) {
	.front_page .ec-role,
	.front_page .ec-shelfRole {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

@media only screen and (min-width: 1280px) {
	.front_page .ec-role,
	.front_page .ec-shelfRole {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}

.ec-role-inner,
.ec-shelfRole-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
}

.ec-orderRole,
.ec-registerRole,
.ec-registerCompleteRole,
.ec-contactRole,
.ec-contactConfirmRole,
.ec-contactCompleteRole,
.ec-withdrawRole {
	color: #1a1a1a;
	font-size: 15px;
}

/* Help Role */
.ec-helpRole {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 20px;
	font-size: 15px;
}

@media only screen and (min-width: 768px) {
	.ec-helpRole {
		padding: 0 40px;
	}
}


/* Grid Cell
 * ---------------------------------------- */

/* Grid 1 */
@media screen and (min-width: 768px) {
	.ec-off1Grid .ec-off1Grid__cell {
		width: 100%;
	}
	.ec-off1Grid .ec-off1Grid__cell {
		margin-left: auto;
	}
}

/* Grid 2 */
.ec-off2Grid .ec-off2Grid__cell {
	width: 100%;
	max-width: 800px;
}

@media screen and (min-width: 768px) {
	.ec-off2Grid .ec-off2Grid__cell {
		margin: 0 auto;
	}
}

/* Grid 3 */
@media only screen and (min-width: 768px) {
	.cart_page .ec-grid3 {
		display: block;
	}
	.cart_page .ec-grid3 .ec-grid3__cell2,
	.cart_page .ec-grid3 .ec-grid3__cell {
		width: 100%;
		max-width: 800px;
		margin: 0 auto;
	}
}


/* Form Layout
 * ---------------------------------------- */
.ec-borderedDefs {
	margin-top: 30px;
	margin-bottom: 30px;
}

.ec-borderedDefs dl {
	padding: 15px 0;
}

.ec-borderedDefs dt {
	margin-bottom: 5px;
}

.ec-borderedDefs dd {
	line-height: inherit;
}

.ec-borderedDefs dd:last-child {
	margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
	.ec-borderedDefs dl {
		padding: 20px 0;
	}
	.ec-borderedDefs dt {
		margin-bottom: 0;
		padding-top: 0;
	}
	#page_forgot .ec-borderedDefs dt {
		padding-top: 8px;
	}
	.ec-borderedDefs dd {
		line-height: inherit;
	}
}


/* Heading
 * ---------------------------------------- */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
	line-height: 1.4;
}

.ec-secHeading {
	margin: 0 auto 30px;
	color: #1a1a1a;
	text-align: center;
}

.ec-secHeading .ec-secHeading__en {
	display: block;
	font-family: var(--font-family-roboto);
	font-size: 28px;
	font-weight: normal;
	letter-spacing: 0.2em;
}
.ec-secHeading .ec-secHeading__ja {
	display: block;
	margin-top: 1em;
	color: var(--color-base);
	font-family: var(--font-family-serif);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.2em;
}

@media only screen and (min-width: 768px) {
	.ec-secHeading {
		margin: 0 auto 50px;
	}
	.ec-secHeading .ec-secHeading__en {
		font-size: 32px;
	}
}

.ec-reportHeading h1,
.ec-reportHeading .h1,
.ec-reportHeading h2,
.ec-reportHeading .h2,
.ec-reportHeading h3,
.ec-reportHeading .h3,
.ec-reportHeading h4,
.ec-reportHeading .h4,
.ec-reportHeading h5,
.ec-reportHeading .h5,
.ec-reportHeading h6,
.ec-reportHeading .h6,
.ec-reportHeading p {
	color: #1a1a1a;
    font-weight: 600;
    font-size: clamp( 20px, calc( 15px + 1.5625vw ), 30px );
}


/* -----------------------------------------------
 * Home
 *------------------------------------------------*/

/* Slider
 * ---------------------------------------- */
.ec-sliderRole {
	max-width: 100%;
	margin-bottom: 0;
	padding: 0;
	color: #1a1a1a;
}


/* Eyacatch
 * ---------------------------------------- */
.ec-eyecatchRole__item {}

.eyecatch-img-box {
	width: 100%;
	aspect-ratio: 3/2;
}

.eyecatch-img-box img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.eyecatch-text-box {
	padding: 30px 0 0 0;
	background: #fff;
}

.eyecatch-text-catch {
	margin-bottom: 1em;
	font-family: var(--font-family-serif);
	font-size: 20px;
	font-size: clamp(20px,3.1vw,28px);
	font-weight: 600;
	text-align: center;
}

.eyecatch-text-description {
	margin-bottom: 1em;
	font-size: 15px;
	line-height: 1.8;
}

.eyecatch-text-box .btn-area {
	text-align: center;
}

@media screen and (min-width: 960px) {
	.ec-eyecatchRole__item {
		display: flex;
	}
	.ec-eyecatchRole__item.reverse {
		flex-direction: row-reverse;
	}
	.eyecatch-img-box {
		width: 50%;
		max-width: 500px;
		aspect-ratio: 1/1;
		overflow: hidden;
	}
	.eyecatch-img-box img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.eyecatch-text-box {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 50%;
		padding: 40px;
	}
	.eyecatch-text-catch {
		font-size: 28px;
		text-align: left;
	}
	.eyecatch-text-description {
		margin-bottom: 1.5em;
		font-size: 16px;
		line-height: 2;
	}
	.eyecatch-text-box .btn-area {
		text-align: left;
	}
}

@media screen and (min-width: 1280px) {
	.eyecatch-text-box {
		width: calc(100% - 500px);
		padding: 50px;
	}
}


/* New Item / 新着商品
--------------------------------------------------*/
.ec-newItemRole {}

.ec-newItemRole__list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ec-newItemRole__list .ec-newItemRole__listItem {
	display: flex;
	flex-direction: column;
	width: 48%;
	margin-bottom: 25px;
	padding: 0;
}

.ec-newItemRole__list .ec-newItemRole__listItem:nth-child(odd) {
	margin-right: 4%;
	padding: 0;
}

.ec-newItemRole__list .ec-newItemRole__listItem:nth-child(even) {
	padding: 0;
}

.ec-newItemRole__list .ec-newItemRole__listItem:nth-last-child(-n+2) {
	margin-bottom: 0;
}

.ec-newItemRole__listItem a {
	display: block;
	position: relative;
	color: #1a1a1a !important;
}

.ec-newItemRole__listItemImage {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	margin-bottom: 1em;
}

.ec-newItemRole__listItemImage img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .4s;
}

.ec-newItemRole .ec-newItemRole__listItemTitle {
	margin: 8px 0 0;
	font-size: 14px;
	transition: .4s;
}

.ec-newItemRole__listItem a:hover .ec-newItemRole__listItemTitle {
	color: var(--color-base);
}

.ec-newItemRole .ec-newItemRole__listItemPrice {
	margin: 5px 0 0;
	font-size: 13px;
}

@media screen and (min-width: 768px) {
	.front_page .ec-shelfRole.ec-newItemRole {
		padding-top: 40px;
	}
	.ec-newItemRole__list {
		margin: 0 -15px;
	}
	.ec-newItemRole__list .ec-newItemRole__listItem,
	.ec-newItemRole__list .ec-newItemRole__listItem:nth-child(odd),
	.ec-newItemRole__list .ec-newItemRole__listItem:nth-child(even) {
		width: 25%;
		margin-right: 0;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.ec-newItemRole__list .ec-newItemRole__listItem:nth-last-child(-n+4) {
		margin-bottom: 0;
	}
	.ec-newItemRole__listItemImage {
		width: 100%;
		overflow: hidden;
	}
	.ec-newItemRole__listItem a:hover .ec-newItemRole__listItemImage img {
		transform: scale(1.1);
	}
	.ec-newItemRole .ec-newItemRole__listItemTitle {
		margin: 1em 0 0;
		font-size: 16px;
	}
	.ec-newItemRole .ec-newItemRole__listItemPrice {
		margin: 0.5em 0 0;
		font-size: 15px;
	}
}

@media screen and (min-width: 1280px) {
	.front_page .ec-shelfRole.ec-newItemRole {
		padding-top: 60px;
	}
	.ec-newItemRole__list {
		margin: 0 -20px;
	}
	.ec-newItemRole__list .ec-newItemRole__listItem,
	.ec-newItemRole__list .ec-newItemRole__listItem:nth-child(odd),
	.ec-newItemRole__list .ec-newItemRole__listItem:nth-child(even) {
		margin-bottom: 40px;
		padding: 0 20px;
	}
	.ec-newItemRole__list .ec-newItemRole__listItem:nth-last-child(-n+4) {
		margin-bottom: 0;
	}
}


/* Recommended - おすすめ商品
--------------------------------------------------*/
.ec-shelfGrid {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ec-shelfGrid .ec-shelfGrid__item {
	display: flex;
	flex-direction: column;
	width: 48%;
	margin-bottom: 25px;
	padding: 0;
}

.ec-shelfGrid .ec-shelfGrid__item:nth-child(odd) {
	margin-right: 4%;
	padding: 0;
}

.ec-shelfGrid .ec-shelfGrid__item:nth-child(even) {
	padding: 0;
}

.ec-shelfGrid .ec-shelfGrid__item:nth-last-child(-n+2) {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.ec-shelfGrid {
		margin: 0 -15px;
	}
	.ec-shelfGrid .ec-shelfGrid__item,
	.ec-shelfGrid .ec-shelfGrid__item:nth-child(odd),
	.ec-shelfGrid .ec-shelfGrid__item:nth-child(even) {
		width: 25%;
		margin-right: 0;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.ec-shelfGrid .ec-shelfGrid__item:nth-last-child(-n+4) {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 1280px) {
	.ec-shelfGrid {
		margin: 0 -20px;
	}
	.ec-shelfGrid .ec-shelfGrid__item,
	.ec-shelfGrid .ec-shelfGrid__item:nth-child(odd),
	.ec-shelfGrid .ec-shelfGrid__item:nth-child(even) {
		margin-bottom: 40px;
		padding: 0 20px;
	}
	.ec-shelfGrid .ec-shelfGrid__item:nth-last-child(-n+4) {
		margin-bottom: 0;
	}
}

.ec-shelfGrid__item-image {
	height: auto !important;
	margin-bottom: 1em;
}

.ec-shelfGrid__item a {
	display: block;
	position: relative;
	color: #1a1a1a;
}

.ec-shelfGrid__item .item_img {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	margin-bottom: 1em;
}

.ec-shelfGrid__item .item_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .4s;
}

.ec-shelfGrid__item .item_name {
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: bold;
	transition: .4s;
}

.ec-shelfGrid__item a:hover .item_name {
	color: var(--color-base);
}

.ec-shelfGrid__item .item_price {
	margin-top: 5px;
	font-size: 13px;
	font-weight: 500;
}

.ec-shelfGrid__item .item_comment {
	margin-top: 10px;
	font-size: 12px;
}

@media print, screen and (min-width: 768px) {
	.ec-shelfGrid__item a {
		display: block;
	}
	.ec-shelfGrid__item .item_img {
		width: 100%;
		overflow: hidden;
	}
	.ec-shelfGrid__item a:hover .item_img img {
		transform: scale(1.1);
	}
	.ec-shelfGrid__item .item_name {
		margin: 1em 0 0;
		font-size: 16px;
	}

	.ec-shelfGrid__item .item_price {
		margin-top: 0.5em;
		font-size: 15px;
	}

	.ec-shelfGrid__item .item_comment {
		margin-top: 0.8em;
		font-size: 13px;
	}
}


/* Categories - 商品カテゴリー
--------------------------------------------------*/
.ec-categoryRole {
	margin: 0 auto;
	padding: 0;
	background: none;
}

.ec-categoryRole .ec-categoryRole__listItem {
	width: 100%;
	height: auto;
	margin-bottom: 4%;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	.ec-categoryRole .ec-categoryRole__list {
		flex-wrap: wrap;
	}
	.ec-categoryRole .ec-categoryRole__listItem {
		width: calc((100% - 60px) / 3);
		margin-right: 0;
		margin-bottom: 0;
		padding: 0;
	}
	.ec-categoryRole .ec-categoryRole__listItem:not(:nth-child(3n)) {
		margin-right: 30px;
	}
}

@media screen and (min-width: 1360px) {
	.ec-categoryRole .ec-categoryRole__list {
		flex-wrap: nowrap;
		gap: calc((100% - 1200px) / 2);
	}
	.ec-categoryRole .ec-categoryRole__listItem,
	.ec-categoryRole .ec-categoryRole__listItem:not(:nth-child(3n)) {
		width: 400px;
		margin: 0;
		padding: 0;
	}
}

.ec-categoryRole__listItem a {
	display: block;
	position: relative;
	width: 100%;
	overflow: hidden;
	color: #fff;
	font-family: var(--font-family-serif);
	font-size: 20px;
	font-size: clamp( 18px, calc( 14.8px + 1vw ), 22px );
	font-size: 5vw;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-shadow: 0 0 5px rgba(0,0,0,0.8);
}

.ec-categoryRole__listItem a:hover {
	text-decoration: none;
}

.ec-categoryRole__listItem a .img {
	width: 100%;
	height: 100%;
	aspect-ratio: 10/4;
	transition: .3s;
}

.ec-categoryRole__listItem a .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-categoryRole__listItem a .text {
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

@media print, screen and (min-width: 768px) {
	.ec-categoryRole__listItem a {
		display: block;
		font-size: clamp( 18px, calc( 9px + 1.25vw ), 22px );
	}
	.ec-categoryRole__listItem a .img  {
		transform-origin: center center;
		transform: scale(1.01) translateZ(0);
	}
	.ec-categoryRole__listItem a:hover .img {
		transform: scale(1.1) translateZ(0);
	}
}


/* Pick Up - ピックアップ
--------------------------------------------------*/

.ec-topicRole__listItem a {
	display: block;
	position: relative;
	width: 100%;
	overflow: hidden;
}

.ec-topicRole .ec-topicRole__listItemTitle {
	transition: .3s;
}

.ec-topicRole .ec-topicRole__listItemTitle .font-s {
	color: #666;
	font-size: 0.9em;
}

.ec-topicRole a:hover .ec-topicRole__listItemTitle,
.ec-topicRole a:hover .ec-topicRole__listItemTitle .font-s {
	color: var(--color-base);
}

@media print, screen and (min-width: 768px) {
	.ec-topicRole .ec-topicRole__listItem:nth-last-of-type(-n+2) {
		margin-bottom: 0;
	}
	.ec-topicRole__listItemImage {
		position: relative;
		overflow: hidden;
	}
	.ec-topicRole__listItem a .ec-topicRole__listItemImage img {
		display: block;
		transform-origin: center center;
		transform: translateZ(0);
		transition: .3s;
	}
	.ec-topicRole__listItem a:hover .ec-topicRole__listItemImage img {
		transform: scale(1.1) translateZ(0);
	}
}

@media screen and (min-width: 1360px) {
	.ec-topicRole .ec-topicRole__listItem:not(:last-of-type) {
		margin-right: 40px;
	}
}


/* News
 * ---------------------------------------- */
.ec-newsRole {
	margin-bottom: 0;
	padding: 40px 20px 10px;
}

@media screen and (min-width: 768px) {
	.ec-newsRole {
		padding: 60px 40px 30px;
	}
}

@media screen and (min-width: 1024px) {
	.ec-newsRole {
		padding: 80px 40px 50px;
	}
}

@media screen and (min-width: 1280px) {
	.ec-newsRole {
		padding: 100px 40px 70px;
	}
}

.ec-newsRole .ec-newsRole__newsHeading {
	position: relative;
}

.ec-newsRole .ec-newsRole__news {
	width: 100%;
	max-width: 800px;
	margin: 30px auto;
	padding: 0;
	border-top: solid 1px #ccc;
}

@media screen and (min-width: 768px) {
	.ec-newsRole .ec-newsRole__news {
		padding: 0;
		border: none;
		border-top: solid 1px #ccc;
	}
}

.ec-newsRole .ec-newsRole__newsItem {
	padding: 0.8em 0;
	border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 768px) {
	.ec-newsRole .ec-newsRole__newsItem {
		padding: 1.1em 0;
	}
}

.ec-newsRole .ec-newsRole__newsDate {
	display: block;
	margin: 0;
	color: #888888;
	font-size: 15px;
	font-weight: 600;
}

@media screen and (min-width: 768px) {
	.ec-newsRole .ec-newsRole__newsDate {
		margin: 0 0 0 10px;
	}
}

.ec-newsRole .ec-newsRole__newsTitle {
	display: block;
	margin-bottom: 0;
	width: calc(100% - 35px);
	color: #1a1a1a;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
	.ec-newsRole .ec-newsRole__newsTitle {
		width: calc(100% - 40px);
	}
}

.ec-newsRole .ec-newsRole__newsClose {
    display: block;
    position: absolute;
	right: 10px;
	top: 50%;
	width: auto;
	height: auto;
	margin-top: -0.5em;
	color: var(--color-base);
	line-height: 1;
}

.ec-newsRole .ec-newsRole__newsCloseBtn {
	position: relative;
	right: auto;
	width: auto;
	height: auto;
	background: transparent;
	color: var(--color-base);
}

@media screen and (min-width: 768px) {
	.ec-newsRole .ec-newsRole__newsClose {
		right: 15px;
	}
}

.ec-newsRole__newsItem .ec-newsRole__newsDescription,
.ec-newsRole__newsItem.is_active .ec-newsRole__newsDescription {
	margin: 0.8em 0 0;
	font-size: 15px;
}

.ec-newsRole .ec-newsRole__newsDescription a:hover {
	color: var(--color-linktext-hover);
}

@media screen and (min-width: 768px) {
	.ec-newsRole__newsItem .ec-newsRole__newsDescription,
	.ec-newsRole__newsItem.is_active .ec-newsRole__newsDescription {
		margin: 1em 40px 0 10px;
	}
}

.ec-newsRole__link {
	margin-top: 1em;
}


/* Access
 * ---------------------------------------- */
.top-access {
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.top-access {
		margin: 0 auto;
		background: url(../img/top/access_bg.jpg) center center no-repeat #000;
		background-size: cover;
	}
}

.top-access-inner {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0;
}

@media screen and (min-width: 768px) {
	.top-access-inner {
		display: flex;
		padding: 40px;
	}
}

.top-access-info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 30px 20px;
	color: #fff;
	font-size: 15px;
	text-align: center;
	background: url(../img/top/access_bg.jpg) center center no-repeat #000;
	background-size: cover;
}

@media screen and (min-width: 768px) {
	.top-access-info {
		width: 50%;
		background: none;
	}
}

.top-access-info-name {
	margin: 0 auto 15px;
	font-family: var(--font-family-serif);
	font-size: 28px;
	font-weight: bold;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
	letter-spacing: 0.2em;
}
.top-access-info-addr {
	margin: 1em auto;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}

.top-access-info .btn-link {
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	background: var(--color-base);
	color: #fff;
}
.top-access-info .btn-link:before,
.top-access-info .btn-link:after {
	background: #fff;
}
.top-access-info .btn-link:hover {
	border-color: var(--color-btn-action-hover);
	background: var(--color-btn-action-hover);
}

.top-access-map {}

@media screen and (min-width: 768px) {
	.top-access-map {
		width: 50%;
	}
}


/* Other Block
 * ---------------------------------------- */

/* New Item */
.ec-newItemRole {
	padding: 0 20px;
}

@media screen and (min-width: 768px) {
	.ec-newItemRole {
		padding: 0 40px;
	}
}

/* Topics */
.ec-topicRole {
	margin: 0 auto;
	padding: 40px 20px;
}

@media screen and (min-width: 768px) {
	.ec-topicRole {
		margin: 0 auto;
		padding: 60px 40px;
	}
}

@media screen and (min-width: 1024px) {
	.ec-topicRole {
		margin: 0 auto;
		padding: 80px 40px;
	}
}

@media screen and (min-width: 1280px) {
	.ec-topicRole {
		margin: 0 auto;
		padding: 100px 40px;
	}
}


/* -----------------------------------------------
 * Pages Common
 *------------------------------------------------*/

.ec-headingTitle {
	margin: 0 0 20px;
	font-size: 32px;
	font-weight: 500;
	color: #1a1a1a;
}

.ec-pageHeader {
	margin: 0 auto 30px;
	padding: 0;
}

.ec-pageHeader h1,
.ec-mypageRole .ec-pageHeader h1 {
	position: relative;
	margin: 0 auto;
	padding: 0 0 1em;
	border: none;
	font-size: 22px;
	font-size: clamp(22px,5vw,36px);
	font-weight: 600;
	font-family: var(--font-family-serif), serif;
	text-align: center;
	letter-spacing: 0.1em;
}

.ec-pageHeader h1:after,
.ec-mypageRole .ec-pageHeader h1:after {
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 25px);
	bottom: 0;
	width: 50px;
	height: 2px;
	background: var(--color-base);
}

@media print, screen and (min-width: 768px) {
	.ec-pageHeader,
	.ec-mypageRole .ec-pageHeader {
		margin: 0 auto 40px;
	}
	.ec-pageHeader h1,
	.ec-mypageRole .ec-pageHeader h1 {
		padding: 0 0 1em;
		font-size: 36px;
	}
}

@media print, screen and (min-width: 960px) {
	.ec-pageHeader,
	.ec-mypageRole .ec-pageHeader {
		margin: 0 auto 60px;
	}
}

@media print, screen and (min-width: 1280px) {
	.ec-pageHeader,
	.ec-mypageRole .ec-pageHeader {
		margin: 0 auto 80px;
	}
}


/* -----------------------------------------------
 * Product List
 *------------------------------------------------*/

/* Search
 * ---------------------------------------- */
.ec-searchnavRole {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
	color: #1a1a1a;
	font-size: 15px;
}

.ec-searchnavRole__topicpath {
	background: var(--color-bg-gray);
}

.ec-topicpath {
	padding: 1em;
	border: none;
}

.ec-topicpath .ec-topicpath__item,
.ec-topicpath .ec-topicpath__divider,
.ec-topicpath .ec-topicpath__item--active {
	min-width: 22px;
	color: #1a1a1a;
}

.ec-topicpath .ec-topicpath__item--active {
	font-weight: normal;
}

.ec-topicpath .ec-topicpath__item a,
.ec-topicpath .ec-topicpath__item--active a {
	color: #1a1a1a;
}

.ec-topicpath .ec-topicpath__item a:hover,
.ec-topicpath .ec-topicpath__item--active a:hover {
	color: var(--color-linktext-hover);
	text-decoration: underline;
}

.ec-searchnavRole .ec-searchnavRole__infos {
	max-width: 1360px;
	margin: 20px 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	color: #1a1a1a;
	font-size: 14px;
}

.ec-searchnavRole__actions .ec-select select {
	font-size: 15px;
}

@media print, screen and (min-width: 768px) {
	.ec-searchnavRole {
		padding-left: 40px;
		padding-right: 40px;
	}
	.ec-topicpath {
		padding: 1em;
		font-size: 15px;
	}
	.ec-searchnavRole .ec-searchnavRole__infos {
		margin: 20px 0 40px;
		padding-top: 5px;
		border-top: none;
		font-size: 15px;
	}
}


/* List
 * ---------------------------------------- */
/* soldout */
.ec-shelfGrid__item-image {
	position: relative;
}
.ec-shelfGrid__item-image .soldout {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 4vw;
	font-weight: 700;
	letter-spacing: 0.2em;
}

@media screen and (min-width: 768px) {
	.ec-shelfGrid__item-image .soldout {
		font-size: clamp( 16px, calc( 8px + 1vw ), 20px )
	}
}

/* tags */
.ec-shelfGrid__item .ec-productRole__tags {
	list-style: none;
	margin: 8px 0;
	padding: 0;
}
/*
.ec-shelfGrid__item .ec-productRole__tag {
 	display: inline-block;
	margin: 0 0 2px;
	padding: 0.25em 0.4em;
	list-style: none;
	font-size: 10px;
	border-radius: 3px;
	**
	border: 1px solid var(--color-base);
	background: #fff;
	color: var(--color-base);
	**
	border: 1px solid #ddd;
	background: var(--color-bg-gray-light);
	color: #333;
}
*/
.ec-shelfGrid__item .ec-productRole__tag {
 	display: inline-block;
	margin: 0 0 2px;
	padding: 0.5em 0.75em;
	list-style: none;
	font-size: 10px;
	border-radius: 20px;
	border: none;
	color: #fff;
	line-height: 1;
}

.ec-shelfGrid__item .ec-productRole__tag.tag_1 {
	background: var(--color-tag1);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_2 {
	background: var(--color-tag2);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_3 {
	background: var(--color-tag3);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_4 {
	background: var(--color-tag4);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_5 {
	background: var(--color-tag5);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_6 {
	background: var(--color-tag6);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_7 {
	background: var(--color-tag7);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_8 {
	background: var(--color-tag8);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_9 {
	background: var(--color-tag9);
}
.ec-shelfGrid__item .ec-productRole__tag.tag_10 {
	background: var(--color-tag10);
}

@media print, screen and (min-width: 768px) {
	.ec-shelfGrid__item .ec-productRole__tags {
		margin: 10px 0;
	}
	.ec-shelfGrid__item .ec-productRole__tag {
		/*margin: 0 1px 2px;*/
		font-size: 12px;
	}
}


/* Category Header
 * ---------------------------------------- */
.category-header-area {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto 30px;
	padding: 0 20px;
}

@media print, screen and (min-width: 768px) {
	.category-header-area {
		margin: 0 auto 40px;
		padding: 0 40px;
	}
}

@media print, screen and (min-width: 1024px) {
	.category-header-area {
		margin: 0 auto 60px;
	}
}

@media screen and (min-width: 1280px) {
	.category-header-area {
		margin: 0 auto 80px;
	}
}

.category-header {
	position: relative;
	width: 100%;
	height: calc((100vw - 20px) * 0.4); /* 10:4 */
	margin: 0 auto;
	background-color: rgba(0,0,0,0.3);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: multiply;
}

.category-header.category-header-common {
	background-image: url(../img/product/cat_header_common.jpg);
}
.category-header.cat-id__1 {
	background-image: url(../img/product/cat_header_1.jpg);
}
.category-header.cat-id__2 {
	background-image: url(../img/product/cat_header_2.jpg);
}
.category-header.cat-id__3 {
	background-image: url(../img/product/cat_header_3.jpg);
	background-position: center top;
}
.category-header.cat-id__4 {
	background-image: url(../img/product/cat_header_4.jpg);
}
.category-header.cat-id__5 {
	background-image: url(../img/product/cat_header_5.jpg);
}
.category-header.cat-id__6 {
	background-image: url(../img/product/cat_header_6.jpg);
}

@media print, screen and (min-width: 768px) {
	.category-header {
		height: calc((100vw - 40px) * 0.313); /* 16:5 */
	}
}

@media screen and (min-width: 1360px) {
	.category-header {
		height: 400px;
	}
}

.category-header-title {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	color: #fff;
	font-family: var(--font-family-serif);
	font-size: 24px;
	font-weight: 600;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}

@media print, screen and (min-width: 768px) {
	.category-header-title {
		font-size: 32px;
	}
}

.category-description {
	margin: 20px auto 0;
	font-size: 15px;
}

@media print, screen and (min-width: 768px) {
	.category-description {
		margin: 40px auto 0;
		font-size: 16px;
	}
}


/* pagination? */
.ec-pager .ec-pager__item--active {
	background: #E1F2FE;
}


/* -----------------------------------------------
 * Product Detail
 *------------------------------------------------*/

/* Layout
 * ---------------------------------------- */
.ec-productRole {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 20px;
	color: #1a1a1a;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
	.ec-productRole {
		padding: 0 40px;
	}
}

.ec-productRole-grid {}

.ec-productRole-grid__cell {
	position: relative;
	min-height: 1px;
}

@media print, screen and (min-width: 960px) {
	.ec-productRole-grid {
		display: flex;
	}
	.ec-productRole-grid__cell {
		width: 50%;
	}
	.ec-productRole-grid__cell_left {
		padding-right: 20px;
	}
	.ec-productRole-grid__cell_right {
		padding-left: 20px;
	}
}


/* Image
 * ---------------------------------------- */
.ec-sliderItemRole {
	padding: 0;
}

.product_page .slide-item {
	display: block !important;
}

.product_page .slide-item img {
	height: auto !important;
}

.ec-sliderItemRole .slideThumb {
	width: 20%;
	margin-bottom: 0;
	padding: 5px;
}

.ec-sliderItemRole .slideThumb img {
	width: 100%;
}

@media only screen and (min-width: 768px) {
	.ec-sliderItemRole .item_nav {
		margin: 10px -5px 0;
	}
}


/* Contents
 * ---------------------------------------- */

/* title */
.ec-productRole .ec-productRole__title .ec-headingTitle {
	margin-bottom: 20px;
	font-size: 22px;
}

@media screen and (min-width: 768px) {
	.ec-productRole .ec-productRole__title .ec-headingTitle {
		font-size: 32px;
	}
}

/* tag */
.ec-productRole .ec-productRole__tags {
	margin-bottom: 20px;
	padding: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.ec-productRole .ec-productRole__tag {
	margin: 0 0 3px 0;
	padding: 0.5em 0.75em;
	border: none;
	border-radius: 20px;
	background: #666;
	color: #fff;
	font-size: 80%;
	font-weight: normal;
	line-height: 1;
}

.ec-productRole .ec-productRole__tag.tag_1 {
	background: var(--color-tag1);
}
.ec-productRole .ec-productRole__tag.tag_2 {
	background: var(--color-tag2);
}
.ec-productRole .ec-productRole__tag.tag_3 {
	background: var(--color-tag3);
}
.ec-productRole .ec-productRole__tag.tag_4 {
	background: var(--color-tag4);
}
.ec-productRole .ec-productRole__tag.tag_5 {
	background: var(--color-tag5);
}
.ec-productRole .ec-productRole__tag.tag_6 {
	background: var(--color-tag6);
}
.ec-productRole .ec-productRole__tag.tag_7 {
	background: var(--color-tag7);
}
.ec-productRole .ec-productRole__tag.tag_8 {
	background: var(--color-tag8);
}
.ec-productRole .ec-productRole__tag.tag_9 {
	background: var(--color-tag9);
}
.ec-productRole .ec-productRole__tag.tag_10 {
	background: var(--color-tag10);
}

/* price */
.ec-productRole .ec-productRole__priceRegular {
	margin: 16px 0;
	padding: 0;
	font-size: 14px;
}

.ec-productRole__priceRegular .ec-productRole__priceRegularTax {
	font-feature-settings: 'palt';
}

.ec-productRole .ec-productRole__priceRegularTax {
	margin-left: 0;
}

.ec-productRole .ec-productRole__price {
	margin: 16px 0;
	padding: 0;
	border: none;
	color: var(--color-red);
	font-size: 24px;
	line-height: 1.2;
}

.ec-price .ec-price__price {
	padding: 0;
}

.ec-productRole__price .ec-price__tax {
	color: #1a1a1a;
	font-feature-settings: 'palt';
}

/* code */
.ec-productRole .ec-productRole__code {
	margin: 32px 0 10px;
	padding: 0;
	border: none;
	font-size: 14px;
}

.product-listmark {
	display: inline-block;
	position: relative;
}
.product-listmark:before {
	content: "●";
	margin-right: 3px;
	color: var(--color-base-30);
}

/* category */
.ec-productRole .ec-productRole__category {
	margin: 10px 0 16px;
	padding: 0;
	border: none;
	font-size: 14px;
}

.ec-productRole__category_label {
	margin-bottom: 5px;
}

.ec-productRole .ec-productRole__category ul {
	list-style: disc;
	margin: 0 0 0 2.5em;
}

.ec-productRole .ec-productRole__category a {
	color: var(--color-linktext);
}

.ec-productRole .ec-productRole__category a:hover {
	color: var(--color-linktext-hover);
	text-decoration: underline;
}

/* action */
.ec-productRole__actionsBox {
	margin: 20px 0;
	padding: 20px;
	/*border: 1px solid var(--color-base-20);*/
	background: var(--color-bg-gray-light);
}

.ec-productRole .ec-productRole__actions {
	margin-bottom: 20px;
	padding: 0;
}

.ec-productRole__actions .ec-select label {
	font-weight: normal;
}

.ec-productRole .ec-productRole__btn {
	width: 100%;
	min-width: 200px;
	max-width: 350px;
}

.ec-productRole__btn button {
	display: flex;
	justify-content: center;
	align-items: center;
}
.ec-productRole__btn button .btn-icon {
	font-size: 20px;
}

.ec-productRole__actionsBox *:last-child .ec-productRole__btn {
	margin-bottom: 0;
}

.ec-blockBtn--cancel.favoriteBtn {
	border-color: #888;
	background: #fff;
	color: #333;
}

.ec-blockBtn--cancel.favoriteBtn:hover {
	background: var(--color-bg-gray);
}

.ec-blockBtn--cancel.favoriteBtn .btn-icon {
	color: var(--color-base);
}

.ec-blockBtn--cancel.favoriteBtn--added {
	border-color: #888;
	background: #888;
	color: #333;
}

.ec-blockBtn--cancel.favoriteBtn--added .btn-icon {
	color: #fff;
}

@media print, screen and (min-width: 768px) {
	.ec-productRole__actionsBox {
		margin: 30px 0;
		padding: 25px;
	}
	.ec-productRole__actions .ec-select .mb-3,
	.ec-productRole__actions .ec-numberInput {
		display: flex;
		align-items: center;
	}
	.ec-productRole__actions .ec-select label,
	.ec-productRole__actions .ec-numberInput span {
		display: inline-block;
		width: 6em;
		margin-right: 0;
	}
}

/* description */
.ec-productRole .ec-productRole__description {
	margin-top: 16px;
	font-size: 15px;
}


/* Modal
 * ---------------------------------------- */
.ec-modal-box .ec-role {
	margin-bottom: 0;
}

@media screen and (max-width: 767px) {
	.ec-modal-box .ec-inlineBtn--cancel,
	.ec-modal-box .ec-inlineBtn--action {
		display: block;
		width: 200px;
		margin: 10px auto;
		font-weight: 500;
	}
}


/* -----------------------------------------------
 * Cart
 *------------------------------------------------*/
.cart_page .ec-layoutRole__main .ec-role:first-child {
	margin: 0 auto;
}

.ec-cartRole {
	max-width: 1360px;
	color: #1a1a1a;
	font-size: 15px;
}

.ec-cartRole .ec-cartRole {
	max-width: 100%;
	padding: 0;
}

@media screen and (min-width: 768px) {
	.ec-cartRole {
		padding: 0 40px;
	}
}

/* Progress */
.ec-cartRole .ec-cartRole__progress {
	margin: 0 auto 30px;
}

@media screen and (min-width: 768px) {
	.ec-cartRole .ec-cartRole__progress {
		margin: 0 auto 50px;
	}
}

.ec-cartRole .ec-cartRole__progress .ec-progress {
	margin: 0 auto;
	padding: 0;
}


.ec-progress .ec-progress__number {
	background: #bbb;
}

.ec-progress .is-complete .ec-progress__number {
	background: var(--color-base);
}

.ec-progress .ec-progress__label {
	font-size: min(2.5vw, 12px);
	font-weight: 400;
}

@media screen and (max-width: 767px) {
	.ec-progress .ec-progress__label {
		letter-spacing: 0;
	}
}

.ec-progress .is-complete .ec-progress__label {
	color: var(--color-base);
}

.ec-progress .ec-progress__item:after {
	background: #bbb;
}

@media screen and (max-width: 767px) {
	.ec-progress .ec-progress__item:after {
		top: 1em;
	}
}

.ec-cartRole .ec-cartRole__totalText {
	margin: 0 auto 30px;
	padding: 0;
}

@media screen and (min-width: 768px) {
	.ec-cartRole .ec-cartRole__totalText {
		margin: 0 auto 50px;
	}
}

/* Cart Table */
.ec-cartRole .ec-cartRole__cart {
	margin: 0 auto;
}

.ec-cartRole__actions + .ec-cartRole__cart {
	margin-top: 30px;
}

.ec-cartTable {
	background: #fff;
}

.ec-cartHeader {
	padding: 0;
}

.ec-cartHeader .ec-cartHeader__label {
	padding: 0.75em 0;
	background: var(--color-base-10);
	font-size: 0.85em;
	font-weight: normal;
	text-align: center;
}

.ec-cartRow {
	position: relative;
	margin: 0;
	padding: 0;
}

.ec-cartRow:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	border-bottom: 1px solid var(--color-base-10);
}

.ec-cartRow li {
	padding: 10px;
}

.ec-cartRow .ec-cartRow__delColumn {
	border: none;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon {
	display: inline-block;
	position: relative;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon:after {
	content: "\f00d";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	display: inline-block;
	width: 30px;
	height: 30px;
	border: 2px solid #ddd;
	border-radius: 50%;
	background: #fff;
	color: #333;
	line-height: 26px;
	text-align: center;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon:hover:after {
	border-color: var(--color-red);
	background: var(--color-red);
	color: #fff;
}

.ec-cartRow .ec-cartRow__delColumn .ec-icon img {
	display: none;
}

.ec-cartRow .ec-cartRow__contentColumn {
	padding: 10px 0;
	border: none;
}

.ec-cartRow .ec-cartRow__img {
	width: 120px;
	padding: 0;
}

.ec-cartRow .ec-cartRow__summary {
	width: calc(100% - 100px);
	margin: 0;
	padding-left: 10px;
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__name {
	font-size: 0.9em;
	font-weight: normal;
}

.ec-cartRow .ec-cartRow__summary .ec-cartRow__name a {
	display: inline-block;
	margin-bottom: 0.2em;
	font-size: 16px;
	font-weight: 600;
}

.ec-cartRow .ec-cartRow__amountColumn {
	border: none;
}

.ec-cartRole .ec-cartRole__totalAmount {
	color: var(--color-red);
}

.ec-cartRow .ec-cartRow__subtotalColumn {
	border: none;
}

@media screen and (min-width: 768px) {
	.ec-cartRow .ec-cartRow__contentColumn {
		display: flex;
		align-items: center;
	}
	.ec-cartRow .ec-cartRow__img {
		display: block;
		width: 100px;
		padding: 0;
	}
	.ec-cartRow .ec-cartRow__summary {
		width: calc(100% - 120px);
		padding-left: 20px;
	}
}

@media screen and (max-width: 767px) {
	.ec-cartTable {
		border-top: 1px solid var(--color-base-10);
	}
	.ec-cartRow {
		display: flex;
		flex-flow: row wrap;
		position: relative;
		padding: 1em;
	}
	.ec-cartRow .ec-cartRow__delColumn {
		position: absolute;
		right: 0;
		top: 0.5em;
		width: 50px;
		padding: 0;
		border: none;
	}
	.ec-cartRow .ec-cartRow__contentColumn {
		order: 1;
		flex: 0 0 100%;
		width: 100%;
		margin-bottom: 0.8em;
		padding: 0 0 1em;
		border: none;
		border-bottom: 1px dashed var(--color-base-10);
	}
	.ec-cartRow .ec-cartRow__img {
		display: inline-block;
		width: 22vw;
		max-width: 120px;
		vertical-align: top;
    }
	.ec-cartRow .ec-cartRow__summary {
		display: inline-block;
		width: calc(100% - 150px);
		vertical-align: top;
		padding-left: 1em;
	}
	.ec-cartRow .ec-cartRow__amountColumn {
		order: 3;
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		justify-content: flex-end;
		height: 36px;
		padding: 0;
		border: none;
	}
	.ec-cartRow .ec-cartRow__amountColumn .ec-cartRow__amountSP {
		margin: 0;
		padding-right: 1em;
	}
	.ec-cartRow .ec-cartRow__subtotalColumn {
		order: 4;
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: flex-end;
		height: 36px;
		min-width: 25%;
		padding-left: 1em;
		border: none;
	}
}

@media screen and (max-width: 529px) {
	.ec-cartRow .ec-cartRow__summary {
		width: calc(100% - 22vw - 30px);
	}
}

/* Cart Complete */
.ec-cartCompleteRole {
	color: #1a1a1a;
}


/* -----------------------------------------------
 * Shopping
 *------------------------------------------------*/

/*--- Shopping Login ---*/
@media print, screen and (min-width: 768px) {
	.ec-guest .ec-guest__actions {
		max-width: 300px;
		margin: 1.5em auto 0;
	}
}


/*--- Nonmember ---*/
.ec-customerRole {
	color: #1a1a1a;
}


/*--- Order ---*/
.ec-rectHeading h2 {
	background: var(--color-base-10);
	font-family: var(--font-family-sans-serif);
	font-size: 16px;
	font-weight: 500;
}

.ec-orderRole__detail .ec-orderAccount:first-child .ec-rectHeading h2 {
	margin-top: 0;
}

.ec-totalBox {
	background: var(--color-bg-gray-light);
}

.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
	color: var(--color-red);
}

.ec-totalBox .ec-totalBox__btn {
	margin-top: 10px;
}

#shopping_order_use_point {
	margin-top: 5px;
}


/* -----------------------------------------------
 * Login
 *------------------------------------------------*/
.ec-login {
	margin: 0 auto 20px;
	padding: 30px 13%;
}

.ec-login__link {
	font-size: 0.9em;
}

.ec-guest {
	padding: 13%;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.ec-login {
		margin: 0 16px;
		padding: 30px 10% 50px;
	}
	.ec-guest {
		padding: 10%;
	}
}


/* -----------------------------------------------
 * Mypage
 *------------------------------------------------*/

/*--- Mypage Common ---*/
/* Mypage Role */
.ec-mypageRole {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 20px;
	color: #1a1a1a;
	font-size: 15px;
	line-height: inherit;
}

@media only screen and (min-width: 768px) {
	.ec-mypageRole {
		padding: 0 40px;
	}
}

/* Mypage Navlist */
.ec-navlistRole .ec-navlistRole__item {
	font-weight: 500;
}

.ec-navlistRole .ec-navlistRole__item.active {
	background: var(--color-base);
}

.ec-navlistRole .ec-navlistRole__item a {
	color: #333;
}

.ec-navlistRole .ec-navlistRole__item a:hover {
	background: var(--color-base-10);
	color: #333;
}

.ec-navlistRole .ec-navlistRole__item.active a,
.ec-navlistRole .ec-navlistRole__item.active a:hover {
	background: transparent;
	color: #fff;
	cursor: default;
}

/* Mypage Message */
.ec-welcomeMsg {
	color: #1a1a1a;
}

/*--- Favorite ---*/
.ec-favoriteRole .ec-favoriteRole__itemList {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ec-favoriteRole .ec-favoriteRole__item {
	width: 48%;
	margin-bottom: 4%;
	padding: 0;
}

.ec-favoriteRole .ec-favoriteRole__item:nth-child(odd) {
	margin-right: 4%;
	padding: 0;
}

.ec-favoriteRole .ec-favoriteRole__item .ec-closeBtn--circle {
	position: absolute;
	right: 15px;
	top: 10px;
}

.ec-favoriteRole .ec-favoriteRole__item .ec-closeBtn--circle:hover {
	background: var(--color-red);
}

@media screen and (min-width: 768px) {
	.ec-favoriteRole__detail {
		margin: 0 -15px;
	}
	.ec-favoriteRole .ec-favoriteRole__item,
	.ec-favoriteRole .ec-favoriteRole__item:nth-child(odd),
	.ec-favoriteRole .ec-favoriteRole__item:nth-child(even) {
		width: 25%;
		margin-right: 0;
		margin-bottom: 30px;
		padding: 0 15px;
	}
	.ec-favoriteRole .ec-favoriteRole__item .ec-closeBtn--circle {
		right: 25px;
	}
}

@media screen and (min-width: 1280px) {
	.ec-favoriteRole__detail {
		margin: 0 -20px;
	}
	.ec-favoriteRole .ec-favoriteRole__item,
	.ec-favoriteRole .ec-favoriteRole__item:nth-child(odd),
	.ec-favoriteRole .ec-favoriteRole__item:nth-child(even) {
		margin-bottom: 40px;
		padding: 0 20px;
	}
	.ec-favoriteRole .ec-favoriteRole__item .ec-closeBtn--circle {
		right: 30px;
	}
}

.ec-favoriteRole .ec-favoriteRole__item-image {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
}
.ec-favoriteRole .ec-favoriteRole__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ec-favoriteRole .ec-favoriteRole__itemTitle {
	font-weight: bold;
}

.ec-favoriteRole .ec-favoriteRole__itemPrice {
	font-weight: 500;
}

/*--- History ---*/
.ec-historyRole .ec-historyRole__contents {
	color: #333;
}

.ec-historyListHeader .ec-definitions dt {
	margin-right: 0.5em;
}

/*--- Withdraw ---*/
.ec-withdrawConfirmRole .ec-withdrawConfirmRole__title {
	text-align: center;
}


/* -----------------------------------------------
 * Forget
 *------------------------------------------------*/

 .ec-forgotRole {
	color: #1a1a1a;
 }


/* -----------------------------------------------
 * Pages
 *------------------------------------------------*/
.ec-pageRole {
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 20px;
}

@media print, screen and (min-width: 768px) {
	.ec-pageRole {
		padding: 0 40px;
	}
}

.page-content-wrap {
	position: relative;
}

.page-content-block {
	margin: 40px 0;
}

.page-content-block:first-child {
	margin-top: 0;
}

.page-content-block:last-child {
	margin-bottom: 0;
}

@media print, screen and (min-width: 768px) {
	.page-content-block {
		margin: 60px 0;
	}
}

@media print, screen and (min-width: 1280px) {
	.page-content-block {
		margin: 80px 0;
	}
}

.page-content-block > div:first-child {
	margin-top: 0;
}

.page-content-block h2 {
	position: relative;
	margin: 1.5em auto 1em;
	padding: 0.5em;
	background: var(--color-base-20);
	font-family: var(--font-family-serif);
	font-weight: 600;
	font-size: 20px;
	font-size: clamp( 18px, calc( 16px + 0.625vw ), 22px );
	line-height: 1.3;
	text-align: left;
}

.page-content-block h2.mt0 {
	margin-top: 0;
}

@media print, screen and (min-width: 768px) {
	.page-content-block h2 {
		margin: 50px auto 30px;
		padding: 0.6em;
	}
}

@media print, screen and (min-width: 1024px) {
	.page-content-block h2 {
		margin: 60px auto 30px;
	}
}

.page-content-block h3 {
	margin: 1.5em 0 1em;
	padding: 0.1em 0 0.1em 0.5em;
	border-left: solid 6px var(--color-base);
	font-size: 18px;
	font-size: clamp( 17px, calc( 15.5px + 0.46875vw ), 20px );
	font-weight: bold;
	line-height: 1.3;
}

.page-content-block img {
	max-width: 100%;
}


/* Layout Block
 * ---------------------------------------- */

/* Content-box : Introduction */
.page-cont-introduction {
	position: relative;
	margin: 30px auto;
}

.page-cont-intro__img {}

.page-cont-intro__img img {
	display: block;
	width: 100%;
	height: 100%;
}

.page-cont-intro__text {
	padding: 30px 0 0;
}

.page-cont-intro__text .catch {
	margin-bottom: 1em;
	font-family: var(--font-family-serif);
	font-size: 18px;
	font-size: clamp(18px,4.5vw,26px);
	font-weight: 600;
	font-feature-settings: "palt";
}

.page-cont-intro__text p {
	margin: 0;
	font-size: 15px;
}

@media print, screen and (min-width: 960px) {
	.page-cont-introduction {
		display: flex;
		align-items: center;
		margin: 50px auto;
	}
	.page-cont-intro__img {
		align-self: stretch;
		width: 50%;
	}
	.page-cont-intro__img img {
		height: 100%;
		object-fit: cover;
	}
	.page-cont-intro__text {
		width: 50%;
		padding: 30px;
	}
	.page-cont-intro__text .catch {}
	.page-cont-intro__text p {
		line-height: 1.8;
	}
}

@media screen and (min-width: 960px) and (max-width: 1279px) {
	.page-cont-intro__text .catch br {
		display: none;
	}
}

@media screen and (min-width: 1280px) {
	.page-cont-intro__text {
		width: 50%;
		padding: 10px 50px;
	}
	.page-cont-intro__text .only-wide {
		display: inline;
	}
}


/* Content-box : Points */
.page-cont-points {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
}

.points-item {
	background: #fff;
	padding: 20px;
	box-shadow: 0 0 8px -3px rgba(0,0,0,0.1);
}

.points-item__img {
	margin: 0 0 1em;
}
.points-item__img img {
	display: block;
	width: 100%;
	height: auto;
}
.points-item__text {
	font-size: 15px;
}
.points-item__text_title {
	margin-bottom: 0.5em;
	font-family: var(--font-family-serif);
	font-size: 1.2em;
	font-weight: 700;
}
.points-item__text p {}

@media screen and (min-width: 640px) and (max-width: 959px) {
	.points-item {
		display: flex;
	}
	.points-item__img {
		width: 30%;
	}
	.points-item__text {
		width: 70%;
		padding-left: 20px;
	}
}

@media print, screen and (min-width: 960px) {
	.page-cont-points {
		flex-direction: row;
		gap: 30px;
	}
	.points-item {
		padding: 25px;
	}
}

@media screen and (min-width: 1280px) {
	.points-item {
		padding: 30px;
	}
	.points-item__img {
		margin-bottom: 1.25em;
	}
}


/* Content-box : Right Image */
.page-cont-right-img {
	position: relative;
}

.page-cont-right-img__text {
	line-height: 1.6;
}

.page-cont-right-img__img {
	margin: 0 auto 1em;
}

.page-cont-right-img__img img {
	display: block;
	width: 100%;
	height: auto;
}

@media print, screen and (min-width: 768px) {
	.page-cont-right-img {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		width: 100%;
	}
	.page-cont-right-img__text {
		order: 0;
		width: 50%;
		text-align: justify;
	}
	.page-cont-right-img__img {
		order: 1;
		width: 50%;
		margin: 5px 0 0;
	}
}

@media print, screen and (min-width: 960px) {
	.page-cont-right-img {
		gap: 0;
	}
	.page-cont-right-img__text {
		width: calc(100% - 400px);
	}
	.page-cont-right-img__img {
		width: 360px;
	}
}


/* Content-box : Shop Info */
.page-cont-shopinfo {
	position: relative;
}

.page-cont-shopinfo-box {}

.page-cont-shopinfo__img {
	margin: 0 auto 1em;
}

.page-cont-shopinfo__img img {
	display: block;
	width: 100%;
	height: auto;
}

.page-cont-shopinfo__info {
	margin: 1em auto;
}

.page-cont-shopinfo__info table {
	width: 100%;
	margin: 0;
}

.page-cont-shopinfo__map {}

@media screen and (min-width: 768px) {
	.page-cont-shopinfo__img {
		margin: 0 auto 30px;
	}
	.page-cont-shopinfo__info {
		margin: 40px auto;
	}
}

@media print, screen and (min-width: 960px) {
	.page-cont-shopinfo-box {
		display: flex;
		justify-content: space-between;
		gap: 40px;
	}
	.page-cont-shopinfo__img {
		align-self: stretch;
		order: 1;
		width: 50%;
		margin: 0;
	}
	.page-cont-shopinfo__img img {
		object-fit: cover;
		height: 100%;
	}
	.page-cont-shopinfo__info {
		order: 0;
		width: 50%;
		margin: 0;
	}
	.page-cont-shopinfo__map {
		width: 100%;
		margin-top: 40px;
	}
}

@media print, screen and (min-width: 1024px) {
	.page-cont-shopinfo-box {
		gap: 50px;
		margin-top: 40px;
	}
	.page-cont-shopinfo__map {
		margin-top: 50px;
	}
}


/* Content-box : Gallery */
.page-cont-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}

.page-cont-gallery li {
	width: calc(50% - 10px);
	aspect-ratio: 4/3;
	margin: 0;
	padding: 0;
}

.page-cont-gallery li a {
	display: block;
	margin: 0;
	padding: 0;
}

.page-cont-gallery li a:hover {
	opacity: .8;
}

.page-cont-gallery li img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	padding: 0;
}

@media print, screen and (min-width: 768px) {
	.page-cont-gallery {
		gap: 30px;
	}
	.page-cont-gallery li {
		width: calc((100% / 3) - 20px);
	}
}


/* Small Photos */
.small-photo .photo-item {
	width: 100%;
	margin: 15px auto;
	box-sizing: border-box;
	transition: .3s;
}
.small-photo .photo-item:last-child {
	margin-bottom: 0;
}
.small-photo .photo-item:hover {
	opacity: .75;
}
.small-photo .photo-item img {
	max-widtgh: 100%;
}

@media print, screen and (min-width: 480px) {
	.small-photo .photo-item {
		float: left;
		width: 48%;
		margin: 0 4% 20px 0;
	}
	.small-photo .photo-item:nth-child(2n) {
		margin-right: 0;
	}
}

@media print, screen and (min-width: 640px) {
	.small-photo {
		display: flex;
		margin-top: 30px;
	}
	.small-photo .photo-item,
	.small-photo .photo-item:nth-child(2n){
		float: none;
		width: 33.33%;
		margin: 0 20px 0 0;
	}
	.small-photo .photo-item:last-child {
		margin-right: 0;
	}
}

@media print, screen and (min-width: 1030px) {
	.small-photo {
		margin-top: 40px;
	}
	.small-photo .photo-item,
	.small-photo .photo-item:nth-child(2n) {
		margin: 0 35px 0 0;
	}
}


/* Content-box : Bottom Contact */
.page-cont-bottom-contact {
	margin: 0 auto;
	padding: 25px 20px;
	border: 4px solid var(--color-base-10);
	background: #fff;
	font-size: 15px;
	text-align: center;
}

.bottom-contact__tit {
	margin-bottom: 10px;
	font-family: var(--font-family-serif);
	font-size: 20px;
	font-weight: 500;
}

.bottom-contact__tel {
	color: var(--color-base);
	font-family: var(--font-family-serif);
	font-size: min(10vw,42px);
	font-weight: bold;
}

.page-cont-bottom-contact *:last-child {
	margin-bottom: 0;
}

.page-cont-bottom-contact .tel-btn-wrap,
.page-cont-bottom-contact .tel-btn {
	display: none;
}

.ua-sp .page-cont-bottom-contact .tel-btn-wrap {
	display: block;
}

.ua-sp .page-cont-bottom-contact .tel-btn {
	display: block;
	position: relative;
	width: 230px;
	margin: 1em auto 0;
	padding: 0.8em;
	border-radius: 99px;
	background: var(--color-base);
	color: #fff;
	font-size: 16px;
}

.page-cont-bottom-contact .tel-btn .icon {
	margin-right: 0.5em;
}

@media print, screen and (min-width: 768px) {
	.page-cont-bottom-contact {
		padding: 40px 20px;
		font-size: 16px;
	}
	.bottom-contact__tit {
		font-size: 24px;
	}
	.bottom-contact__tel a {
		color: var(--color-base);
	}
}


/* -----------------------------------------------
 * About
 *------------------------------------------------*/
.greeting {
	margin-top: 10px;
	margin-bottom: 0;
	padding: 0 20px 18vw;
	background: url("../img/about/greeting_bg.jpg") center bottom no-repeat;
	background-size: 100% auto;
	-webkit-print-color-adjust: exact;
	text-align: left;
}

@media print, screen and (min-width: 768px) {
	.greeting {
		padding: 0 30px 18vw;
		background: url("../img/about/greeting_bg.jpg") center top no-repeat;
		background-size: cover;
	}
}

@media screen and (min-width: 1090px) {
	.greeting {
		text-align: center;
	}
}

@media screen and (min-width: 1300px) {
	.greeting {
		padding: 0 30px 240px;
	}
}

.greeting p {
	margin-bottom: 1em;
	line-height: 1.5;
}

@media screen and (max-width: 1089px) {
	.greeting p .pc-only {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.accessmap {
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 75%; /* 比率を4:3に固定 */
	}
	.accessmap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


/* -----------------------------------------------
 * Guide
 *------------------------------------------------*/

/* page navi */
.guide-navi {
	padding: 0.8em 0 0.5em 1em;
	background: var(--color-bg-gray-light);
	text-align: center;
}

.guide-navi ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.guide-navi li {
	display: inline-block;
	margin: 0 1em 0.3em 0;
	font-size: clamp( 13px, calc( 12px + 0.3125vw ), 15px );
}

.guide-navi li a {
	position: relative;
	color: #1a1a1a;
	text-decoration: none;
	transition: .2s;
}

.guide-navi li a:before {
	content: "\f0da";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	margin-right: 5px;
	color: var(--color-base);
	font-size: 0.9em;
}

.guide-navi li a:hover {
	color: var(--color-base);
}

.guide-navi .only-pc {
	display: none;
}

@media screen and (min-width: 768px) {
	.guide-navi {
		padding: 25px 25px calc(25px - 0.3em) 25px;
	}
	.guide-navi ul {
		display: inline-block;
	}
	.guide-navi li {
		margin: 0 1.5em 0.3em 0;
	}
	.guide-navi li:last-of-type {
		margin-right: 0;
	}
	.guide-navi .only-pc {
		display: inline;
	}
}

/* step */
.guide-step {}
.guide-step dt {
	margin: 1.5em 0 0.5em;
	font-weight: bold;
}
.guide-step dd {
	margin-bottom: 1.5em;
}

.guide dl table {}

.guide .font-l {
	font-size: 1.5em;
	font-weight: bold;
}

/* guide sommon */
.guide-content-block p {
	margin-bottom: 1.5em;
}

.guide-note {
	font-size: 0.9em;
}

.guide-table th {
	font-feature-settings: "palt";
}

.guide-table .font-s {
	font-size: 0.8em;
}


/* -----------------------------------------------
 * Contact
 *------------------------------------------------*/
.contact-notice {
	font-size: 14px;
}

.ec-zipInputHelp span {
	color: var(--color-link-text);
}

.ec-contactCompleteRole .ec-reportDescription {
	text-align: left;
	font-size: 15px;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
	.ec-contactCompleteRole .ec-reportDescription {
		text-align: center;
	}
}


/* -----------------------------------------------
 * Privacy / Agreement
 *------------------------------------------------*/
.help_dl {
	margin-top: 1.5em;
}
.help_dl dt {
	margin-bottom: 1em;
	font-weight: bold;
}
.help_dl dd {
	margin-bottom: 1.5em;
}
.help_dl dd ol {
	padding-left: 1.5em;
}


/* -----------------------------------------------
 * Plugins Block
 *------------------------------------------------*/

/* 共通タイトル
 * ---------------------------------------- */
#product_review_area h3,
#RelatedProduct-product_area h3 {
	display: block;
	position: relative;
	margin: 0 auto 30px;
	font-family: var(--font-family-serif);
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}

#product_review_area h3:before,
#product_review_area h3:after,
#RelatedProduct-product_area h3:before,
#RelatedProduct-product_area h3:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: calc(50% - 80px);
	height: 1px;
	box-sizing: border-box;
	background: var(--color-base-50);
}

#product_review_area h3:before,
#RelatedProduct-product_area h3:before {
	left: 0;
}

#product_review_area h3:after,
#RelatedProduct-product_area h3:after {
	right: 0;
}

@media print, screen and (min-width: 768px) {
	#product_review_area h3,
	#RelatedProduct-product_area h3 {
		margin: 0 auto 40px;
	}
}


/* 商品レビュー管理プラグイン / ProductReview42 
 * ---------------------------------------- */
#product_review_area {
	max-width: 1360px;
	margin: 40px auto 0;
	padding: 0 20px;
	border-top: none !important;
	box-sizing: border-box;
	color: #1a1a1a;
}

@media print, screen and (min-width: 768px) {
	#product_review_area {
		margin: 50px auto 0;
		padding: 0 40px;
	}
}

@media only screen and (min-width: 1024px) {
	#product_review_area {
		margin: 60px auto 0;
	}
}

@media only screen and (min-width: 1280px) {
	#product_review_area {
		margin: 80px auto 0;
	}
}

#product_review_area .ec-role {
	padding: 0;
}

#product_review_area .ec-rectHeading {}
#product_review_area .ec-rectHeading.is_active {}

#product_review_area .ec-rectHeading h4 {
	position: relative;
	padding: 1.25em;
	background: var(--color-base-50);
	color: #1a1a1a;
	font-size: 16px;
	font-weight: normal;
	text-align: center;
}

#product_review_area .ec-rectHeading .recommend_average {}

#product_review_area .ec-rectHeading .chevron {
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -0.5em;
	line-height: 1;
}

#product_review_area .ec-rectHeading i {
	transform: rotate(180deg) !important;
}
#product_review_area .ec-rectHeading.is_active i {
	transform: rotate(0deg) !important;
}

#reviewContent {
	margin-bottom: 1.5em;
}

#product_review_area .ec-inlineBtn--action {
	display: block;
	width: 250px;
	margin: 0 auto;
	padding: 1em;
	border: none;
	background: var(--color-base);
	color: #fff;
	font-size: 16px;
	font-weight: normal;
}


/* 関連商品プラグイン / RelatedProduct42
 * ---------------------------------------- */
#RelatedProduct-product_area {
	margin: 40px auto 0;
}

@media print, screen and (min-width: 768px) {
	#RelatedProduct-product_area {
		margin: 50px auto 0;
	}
}

@media only screen and (min-width: 1024px) {
	#RelatedProduct-product_area {
		margin: 60px auto 0;
	}
}

@media only screen and (min-width: 1280px) {
	#RelatedProduct-product_area {
		margin: 80px auto 0;
	}
}

#RelatedProduct-product_area .ec-shelfGrid {
	margin: 40px auto 0;
}

@media screen and (min-width: 1280px) {
	#RelatedProduct-product_area .ec-shelfGrid {
		flex-wrap: nowrap;
		gap: 20px;
	}
	#RelatedProduct-product_area .ec-shelfGrid__item {
		width: 20%;
		margin: 0;
		padding: 0;
	}
}

#RelatedProduct-product_area .ec-shelfGrid__item-image {
	width: 100%;
	overflow: hidden;
	aspect-ratio: 1/1;
}

#RelatedProduct-product_area .ec-shelfGrid__item-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .4s;
}

#RelatedProduct-product_area a:hover .ec-shelfGrid__item-image img {
	transform: scale(1.1);
}

#RelatedProduct-product_area .ec-shelfGrid__item-image + p {
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: 600;
	transition: .4s;
}

#RelatedProduct-product_area a:hover .ec-shelfGrid__item-image + p {
	color: var(--color-base);
}

#RelatedProduct-product_area .ec-shelfGrid__item-image + p + p {
	margin: 5px 0 0;
	font-size: 13px;
}

#RelatedProduct-product_area .ec-shelfGrid__item a + span {
	display: block;
	margin-top: 8px;
	font-size: 12px;
}

@media print, screen and (min-width: 768px) {
	#RelatedProduct-product_area .ec-shelfGrid__item-image + p {
		margin: 1em 0 0;
		font-size: 16px;
	}
	#RelatedProduct-product_area .ec-shelfGrid__item-image + p + p {
		margin: 0.3em 0 0;
		font-size: 14px;
	}
	#RelatedProduct-product_area .ec-shelfGrid__item a + span {
		margin-top: 0.6em;
		font-size: 12px;
	}
}


/* -----------------------------------------------
 * Print
 *------------------------------------------------*/
@media print {
	.ec-headerNav {
		display: none;
	}
	.ec-drawerButton {
		width: 50px;
		height: 50px;
		padding: 12px;
	}
	.ec-sliderRole {
		width: 100%;
		height: 40vw;
		background: url(../img/print/mainvisual.jpg) 0 0 no-repeat;
		background-size: cover;
	}
	.ec-sliderRole .main_visual {
		display: none;
	}
	.ec-footerRole .ec-footerRole__inner {
		padding: 30px 20px;
	}
}


