@charset "UTF-8";


:root {
	--color-primary: #15654c;
	--color-text: #000;
	--color-inversion: #fff;
	--color-primary-bg: #FCFCFA;
	--color-border-1: #E0E0D7;
	--color-neutral: #f5f4f0;

	--fontSize: 15px;
	--font-2xs: calc(var(--fontSize) * 0.733);/* 11px */
	--font-xs: calc(var(--fontSize) * 0.8);/* 12px */
	--font-s: calc(var(--fontSize) * 0.93);/* 14px */
	--font-m: calc(var(--fontSize) * 0.93);/* 14px */
	--font-l: calc(var(--fontSize) * 1);
	--font-l: calc(var(--fontSize) * 1);
	--font-xl: calc(var(--fontSize) * 1.133);/* 17px */
	--font-2xl: calc(var(--fontSize) * 1.133);/* 17px */
	--font-3xl: calc(var(--fontSize) * 1.46);/* 22px */
	--font-4xl: calc(var(--fontSize) * 2);/* 30px */
	--primary-font: "Noto Sans JP", sans-serif;
	--accent-font: "Reddit Sans", sans-serif;

	--container-max-width: 1600px;
	--container-max-width02: 1280px;
}

@media (min-width: 1000px) {
	:root {
		--font-2xs: calc(var(--fontSize) * 0.733);/* 11px */
		--font-xs: calc(var(--fontSize) * 0.8);/* 12px */
		--font-s: calc(var(--fontSize) * 0.93);/* 14px */
		--font-m: calc(var(--fontSize) * 1);
		--font-l: calc(var(--fontSize) * 1.133);/* 17px */
		--font-xl: calc(var(--fontSize) * 1.333);/* 20px */
		--font-2xl: calc(var(--fontSize) * 1.6);/* 24px */
		--font-3xl: calc(var(--fontSize) * 2.266);/* 34px */
		--font-4xl: calc(var(--fontSize) * 2.8);/* 42px */
	}
}
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* -------------------------------------
common
----------------------------------------*/
body {
	background-color: var(--color-primary-bg);
	font-size: var(--font-m);
	font-family: var(--primary-font);
	color: var(--color-text);
	line-height: 1.75;
	font-weight: 400;
	letter-spacing: 0.05em;
	overflow-x: hidden;
}
a {
	color: inherit;
}
.cf:after {
	content: "";
	clear: both;
	display: block;
}
.ib {
	display: inline-block;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
strong {
	font-weight: 600;
}
.mode_pc,
.mode_pc_ib  {
	display: none;
}
.mode_sp {
	display: block;
}
.mode_sp_ib {
	display: inline-block;
}
.mover {
	transition: opacity 0.2s ease-out;
	backface-visibility: hidden;
	zoom: 1;
	&:hover {
		opacity: 0.7;
	}
	&.type02 {
		&:hover {
			opacity: 0.9;
		}
	}
}
.inner,
.inner02,
.spInner {
	padding: 0 4vw;
	.inner02 {
		padding: 0;
	}
}
.contentWrap {
	overflow-x: hidden;
}
ol, ul, dl {
	padding: 0;
}
li {
	list-style: none;
}
dt {
	font-weight: 400;
}
.anchor {
	margin-top: -70px;
	padding-top: 70px;
}
@media (min-width: 768px) {
	.inner,
	.pc_inner {
		width: 90%;
		max-width: var(--container-max-width);
		margin: auto;
		padding: 0;
	}
	.pc_inner02,
	.inner02 {
		width: 90%;
		max-width: var(--container-max-width02);
		margin: auto;
		padding: 0;
		.ec-contactRole, .ec-shelfRole, .ec-searchnavRole, .ec-role, ec-mypageRole {
			padding: 0;
			width: 100%;
		}
	}
}
@media (min-width: 1000px) {
	.spInner {
		padding: 0;
	}
	.mode_pc {
		display: block;
	}
	.mode_pc_ib {
		display: inline-block;
	}
	.mode_sp,
	.mode_sp_ib {
		display: none;
	}
	.anchor {
		margin-top: -80px;
		padding-top: 80px;
	}
}
.ec-searchnavRole .ec-searchnavRole__infos {
	max-width: inherit;
	padding-left: 0;
	padding-right: 0;
}
.ec-customerRole,
.ec-registerRole,
.ec-contactRole,
.ec-shelfRole,
.ec-searchnavRole,
.ec-role,
.ec-mypageRole,
.ec-cartRole {
	color: var(--color-text);
	padding: 0 4vw;
	h1, .h1, h2, .h2, h3, .h3 {
		font-weight: 500;
	}
	.inner {
		padding: 0;
	}
	@media (min-width: 1000px) {
		padding: 0;
		width: 90%;
		max-width: var(--container-max-width);
	}
}
.ec-cartRole .ec-cartRole__cart,
.ec-cartRole .ec-cartRole__actions {
	margin: 0;
}
.ec-orderRole,
.ec-off1Grid {
	padding: 0 4.5%;
	margin: auto;
	.ec-off1Grid__cell {
		width: 100%;
		margin-left: 0;
	}
	@media (min-width: 1000px) {
		padding: 0;
		width: 90%;
		max-width: var(--container-max-width02);
	}
}
.pageTitle,
.ec-pageHeader {
	padding: 60px 0;
	h1 {
		font-size: var(--font-3xl);
		border: none;
		margin: 0;
	}
	@media (min-width: 1000px) {
		padding: 120px 0;
		h1 {
		}
	}
}
.c-btn {
	min-width: 170px;
	text-align: center;
	display: inline-block;
	color: var(--color-inversion);
	background-color: var(--color-primary);
	padding: 8px;
	border: 1px solid var(--color-primary);
	position: relative;
	z-index: 1;
	border-radius: 50px;
	transition: all .2s ease-in-out;
	&:after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
		content: '';
		width: 6px;
		height: 6px;
		margin: auto;
		border: 0px;
		border-top: solid 1px var(--color-inversion);
		border-right: solid 1px var(--color-inversion);
		transform: rotate(45deg);
		z-index: 1;
	}
	&:hover {
		background-color: var( --color-inversion);
		color: var(--color-primary);
		&:after {
			border-top: solid 1px var(--color-primary);
			border-right: solid 1px var(--color-primary);

		}
	}
	@media (min-width: 1000px) {
		padding: 10px;
	}
}
.ec-layoutRole {
	background-color: var(--color-primary-bg);
}
.ec-headerNaviRole,
.ec-layoutRole .ec-layoutRole__contents {
	max-width: inherit;
}
.ec-layoutRole__contents {
	padding-top: 100px;
	padding-bottom: 40px;
	@media (min-width: 768px) {
		padding-top: 146px;
		padding-bottom: 80px;
	}
}
/*
header
---------------------------*/
header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	transition: .3s;
	z-index: 20;
	background-color: var(--color-primary-bg);
	transition: 0.5s ease;
	.ec-headerNaviRole {
		position: relative;
		transition: 0.5s ease;
		border-bottom: 1px solid var(--color-border-1);
		padding: 15px 4vw;
	}
	.icon__svg svg {
		fill: #000;
	}
	&.is-fixed {
		position: fixed;
		transition: all 1000ms;
		transform: translate(0, -5px);
		box-shadow: 0 3px 10px #0000000d;
		.headerComment {
			display: none;
		}
		.ec-headerNaviRole {
			top: 0;
			left: 0;
			right: 0;
			padding: 15px 4vw 10px;
			border: none;
		}
	}
	.headerComment {
		text-align: center;
		font-size: var(--font-2xs);
		line-height: 1.4;
		padding: 5px 4vw;
		border-bottom: 1px solid var(--color-border-1);
	}
	.fa-cart-shopping:before, .fa-shopping-cart:before {
		content: none;
	}
	.icon__svg svg {
		width: 24px;
		height: 24px;
	}
	.ec-cartNavi {
		background: transparent;
		padding: 0;
		min-width: inherit;
		height: inherit;
		align-items: center;
		.ec-cartNavi__badge {
			position: absolute;
			left: auto;
			right: -5px;
			top: -5px;
		}
	}
	.ec-cartNavi .ec-cartNavi__icon,
	.ec-headerNav .ec-headerNav__item {
		font-size: inherit;
	}
	.ec-headerNav__item {
		margin: 0 15px;
	}
	.ec-headerNav__item,
	.ec-cartNavi{
		position: relative;
	}
	.ec-cartNavi .ec-cartNavi__badge {
		background-color: var(--color-primary);
	}
	@media (min-width: 1000px) {
		.headerComment {
			text-align: left;
		}
		.ec-headerNaviRole {
			padding: 30px 0;
		}
		&.is-fixed {
			.ec-headerNaviRole {
				padding: 20px 0 15px;
			}
		}
		.headerComment {
			font-size: var(--font-xs);
			padding: 10px 0;
		}
	}
}
.ec-drawerRole .ec-headerSearch {
	padding: 12px;
}
.ec-drawerRole .ec-headerSearch,
.ec-drawerRole,
.ec-drawerRole .ec-headerLinkArea {
	background-color: #fff;
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading,
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
	background-color: #fff;
	color: #000;
	font-weight: 400;
	font-size: var(--font-s);
	padding: 16px;
	img {
		width: 24px;
	}
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading {
	border-top: none;
	&:first-of-type {
		border-top: 1px solid #ccc;
	}
}
c-drawerRole .ec-headerLinkArea .ec-headerLink__item {
	padding: 16px;
}
.ec-headerNaviRole {
	.header__logo {
		h1 {
			margin: 0;
		}
		img {
			max-width: 170px;
		}
	}
	.ec-headerNaviRole__right {
		display: block;
	}
	.ec-headerNaviRole__navWrap {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.ec-headerNavSP {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 5px;
		left: auto;
		background-color: transparent;
		margin: auto;
		font-size: 0;
	}
	.ec-headerNaviRole__right {
		width: auto;
	}
	.ec-headerNaviRole__navWrap {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 60px;
		margin: auto;
	}
	.pc__nav {
		display: none;
	}
	@media (min-width: 1000px) {
		justify-content: space-between;
		&:after {
			content: none;
		}

		.ec-headerNavSP {
			right: 0;
		}
		.ec-headerNaviRole__nav {
			display: inline-block;
			a {
				letter-spacing: .1em;
			}
		}
		.ec-headerNaviRole__navWrap {
			position: relative;
		}
		.ec-headerNav {
			display: flex;
			align-items: center;
		}
		.pc__nav {
			display: flex;
			align-items: center;
			padding-right: 30px;
			margin-bottom: 0;
			li {
				font-size: var(--font-m);
				color: var(--color-text);
				&+li {
					padding-left: 25px;
				}
			}
		}
	}
}
.ec-drawerRoleClose.is_active {
	display: none!important;
}
.ec-categoryNaviRole {
	max-width: inherit;
	display: none;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px 10px 5px;
	.ec-itemNav {
		width: 65%;
	}
	.ec-itemNav__nav {
		display: block;
		li a {
			background-color: transparent;
		}
		li ul li a,
		> li:hover li:hover > a {
			background-color: #fff;
			color: #000;
		}
		li ul li ul:before {
			color: #000;
		}
	}
	.ec-headerNaviRole__search {
		width: 35%;
	}
	@media (min-width: 1000px) {
		display: flex;
	}
}

.snsIconWrap {
	display: flex;
	justify-content: center;
	padding-top: 10px;
	div {
		&+div {
			padding-left: 10px;
		}
	}
	.icon__svg {
		svg {
			width: 24px;
			height: auto;
			fill: #000;
		}
	}
}
/*
footer
---------------------------*/
footer {
	border-top: 1px solid var(--color-border-1);
	.footer__inner {
		position: relative;
		padding-top: 40px;
		>div {
			&:first-of-type {
				padding-bottom: 15px;
			}
			&+div {
				border-top: 1px solid var(--color-border-1);
				padding-top: 15px;
				margin-top: 15px;
			}
		}
		.snsIconWrap {
			justify-content: flex-end;
		}
	}
	p {
		font-size: var(--font-s);
	}
	dt {
		font-size: var(--font-m);
		font-weight: 600;
		padding-bottom: 15px;
	}
	li {
		font-size: var(--font-s);
		line-height: 1.4;
		&+li {
			padding-top: 15px;
		}
	}
	.copy {
		font-family: var(--accent-font);
		font-size: var(--font-2xs);
		padding-top: 10px;
	}
	.footer__bottom {
		margin-top: 0;
		padding: 20px 0;
		/*border-top: 1px solid var(--color-border-1);*/
	}
	@media (min-width: 1000px) {
		.iconWrap {
			padding-top: 0;
		}
		.footer__inner {
			padding-top: 50px;
			padding-bottom: 50px;
			display: flex;
			justify-content: space-between;
			>div {
				width: 30%;
				&+div {
					margin-top: 0;
					padding: 0 0 0 40px;
					border-top: none;
					border-left: 1px solid var(--color-border-1);
					border-top: none;
				}
				&:first-of-type {
					padding-bottom: 0;
				}
			}
		}
		ul {
			display: block;
		}
		li {
			width: 100%;
		}
		.copy {
			padding-top: 0;
		}
		.footer__bottom {
			padding: 30px 0;
			.inner {
				display: flex;
				align-items: center;
				justify-content: space-between;
			}
		}
	}
}
.pagetop {
	display: none;
	position: fixed;
	width: 40px;
	height: 40px;
	z-index: 11;
	bottom: 0;
	right: -0;
	background-color: var(--color-primary);
	opacity: 0.9;
	a {
		display: block;
		width: 40px;
		height: 40px;
	}
	&:before {
		content: '';
		width: 15px;
		height: 15px;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		transform: rotate(-45deg);
		position: absolute;
		bottom: 8px;
		right: 12px;
	}
}
.ec-headerSearch__keyword {
	position: relative;
	background-color: #fff;
	border-radius: 50px;
	.ec-input input {
		height: auto;
		padding: 15px;
	}
	input {
		border-radius: 50px;
	}
	button {
		border: none;
		background: transparent;
		position: absolute;
		top: 0;
		right: 10px;
		bottom: 0;
		cursor: pointer;
	}
}
.ec-cartNaviIsset,
.ec-searchIsset,
.ec-drawerRole {
	position: fixed;
	top: 0;
	left: auto;
	right: 0;
	margin: auto;
	display: block;
	transform: translateX(300px);
	transition: 0.5s; /* ← 追加 */
	z-index: 2001;
	height: 100vh;
	width: 280px;
	background-color: #fff;
	overflow: visible;
	>div {
		position: relative;
		overflow-x: auto;
		padding: 50px 0;
	}
	.close__btn {
		display: block;
		opacity: 0;
		position: absolute;
		top: 10px;
		left: -30px;
		cursor: pointer;
		pointer-events: none;
		svg {
			width: 24px;
		}
	}
	&:before {
		content: none;
	}
	@media (min-width: 1000px) {
		width: 400px;
		transform: translateX(420px);
		.close__btn {
			top: 20px;
		}
	}
}
.ec-searchIsset {
	>div {
		padding: 50px 4vw;
	}
	@media (min-width: 1000px) {
		>div {
			padding: 50px;
		}
	}
}
.ec-overlayRole,
.ec-cartNaviIsset-bg,
.ec-searchIsset-bg  {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.3);
	z-index: 2000;
	transition: transform .6s cubic-bezier(.75,0,.175,1), visibility .6s cubic-bezier(.75,0,.175,1);
}

.have_curtain .ec-overlayRole,
.ec-cartNaviIsset-bg.is-active,
.ec-searchIsset-bg.is-active {
	display: block;
	opacity: 1;
	visibility: visible;
	background: rgba(0, 0, 0, 0.3);
	/*transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);*/
}
.ec-drawerRole.is_active,
.ec-cartNaviIsset.is-active,
.ec-searchIsset.is-active {
	display: block;
	transform: translateX(0);
	.close__btn {
		opacity: 1;
	}
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
	border-top: none;
}
.ec-itemNav__nav li a,
.ec-itemNav__nav li ul li a {
	font-size: var(--font-s);
	font-weight: 400;
}
.ec-drawerRole {
	.ec-itemNav__nav {
		display: block;

		li ul li {
			overflow: visible;
			height: auto;
		}
		> li:hover > ul > li  {

		}
		li {
			display: block;
			text-align: left;
			float: none;
			width: 100%;
			a {
				text-align: left;
				background-color: #fff;
			}
			div {
				position: relative;
				border-bottom: 1px solid var(--color-border-1);
			}
			ul {
				position: relative;
				display: none;
				min-width: 150px;
				top: 0;
				left: 0;
				li a {
					font-size: var(--font-s);
					font-weight: bold;
					text-align: left;
					@media (min-width: 1000px) {
						position: relative;
						font-size: 13px;
						font-weight: 400;
						border-bottom: none;
					}
				}
			}
		}
		>li:has(ul) {
			a {
				margin-right: 50px;
			}
			.toggleBtn {
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				right: 20px;
				margin: auto;
				z-index: 20;
				cursor: pointer;
				width: 20px;
				height: 20px;
				&:before,
				&:after {
					content: "";
					display: block;
					background-color: #000;
					position: absolute;
					top: 0;
					bottom: 0;
					margin: auto;
					-webkit-transition-duration: .4s;
					transition-duration: .4s;
				}
				&:before {
					width: 15px;
					height: 1px;
					right: 0;
				}
				&:after {
					width: 1px;
					height: 15px;
					right: 7px;
					transform: none;
				}
				&.open {
					&:after {
						top: 0;
						border: none;
						-webkit-transform: rotate(90deg);
						transform: rotate(90deg);
					}
				}
			}
		}
		li:not(:has(ul)) .toggleBtn {
			display: none;
		}
	}
	.snsIconWrap {
		padding: 20px 4vw;
	}
}
.ec-drawerRole {
	.ec-headerCategoryArea {
		.ec-itemNav__nav {
			li ul li a,
			li ul li ul li a {
				padding-left: 20px;
				border-bottom: none;
			}
			>li:hover > a,
			li a {
					background-color: #fff;
					border-bottom: none;
			}
			a {
				position: relative;
				padding: 15px;
			}
		}
	}
}
.contentTitleArrowWrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	.contentTitle {
		padding-bottom: 0;
	}
	@media (min-width: 1000px) {
		.contentTitleArrowWrap {
			margin-bottom: 30px;
		}
	}
}
.contentBox {
	padding: 30px 0;
	@media (min-width: 1000px) {
		padding: 60px 0;
	}
}
.contentTitle {
	text-align: left;
	font-size: var(--font-2xl);
	padding-bottom: 20px;
	margin: 0;
	span {
		display: block;
		font-family: var(--accent-font);
		font-size: var(--font-xs);
		letter-spacing: .15em;
		padding-bottom: 1em;
	}
	@media (min-width: 1000px) {
		padding-bottom: 30px;
	}
}
.ec-rectHeading h1,
.ec-rectHeading .h1,
.ec-rectHeading h2,
.ec-rectHeading .h2,
.ec-rectHeading h3,
.ec-rectHeading .h3,
.ec-rectHeading h4,
.ec-rectHeading .h4,
.ec-rectHeading h5,
.ec-rectHeading .h5,
.ec-rectHeading h6,
.ec-rectHeading .h6,
.subTitle {
	text-align: left;
	font-size: var(--font-2xl);
	color: var(--color-text);
	font-weight: 500;
	background-color: transparent;
	padding: 0 0 10px 0;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--color-primary);
	@media (min-width: 1000px) {
		padding-bottom: 20px;
		margin-bottom: 25px;
	}
}
.ec-orderDelivery .ec-orderDelivery__title,
.innerTitle,
.definitionTitle {
	text-align: left;
	font-size: var(--font-xl);
	color: var(--color-text);
	font-weight: 500;
	margin-bottom: 10px;
	position: relative;
	padding-left: 15px;
	&:before {
		content: "";
		display: block;
		width: 5px;
		height: 5px;
		border-radius: 50px;
		background-color: var(--color-primary);
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}
}
.definitionContent {
	p, dd {
		line-height: 1.75;
	}
	.read {
		padding-bottom: 3em;
	}
	.definitionBox {
		&+.definitionBox {
			padding-top: 20px;
		}
	}
	ul,
	p {
		+p,
		+ul {
			padding-top: 10px;
		}
	}
	li {
		&+li {
			padding-top: 10px;
		}
	}
	@media (min-width: 1000px) {
		.definitionBox {
			&+.definitionBox {
				padding-top: 30px;
			}
		}
	}
}

/*
productList
reccomendList
---------------------------*/
#productList,
#reccomendList {
	padding: 0;
	margin: 80px 0;
	text-align: center;
	overflow: hidden;
	.detail {
		text-align: left;
		padding: 16px 0 0;
		.title {
			font-weight: 400;
			padding-bottom: 5px;
		}
	}
	.slick-arrow-wrap,
	.slick-arrow-wrap02 {
		/*width: 80%;*/
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
	}
	.slick-arrow {
		position: relative;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: 1px solid var(--color-border-1);
		cursor: pointer;
		transition: all 0.3s ease-out;
		&:before {
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			left: 0;
			height: 20px;
			width: 20px;
			background-image: url(../../assets/icon/arrow-right-thin.svg);
			background-size: contain;
			content: '';
			display: block;
			margin: auto;
		}
		&:hover {
			background-color: var(--color-primary);
			&:before {
				background-image: url(../../assets/icon/arrow-right-thin-w.svg);
			}
		}
	}
	.slick-arrow.prev {
		margin-right: 10px;
	}
	.slick-arrow.prev:before {
		transform: scale(-1, 1);
	}
	.slick-dots {
		bottom: -80px;
	}
	.slick-dots li {
		margin: 0;
	}
	.slick-dots li button:before {
		font-size: 10px;
	}
	.btnWrap.mode_sp {
		text-align: right;
		padding-top: 20px;
	}
	picture {
		display: block;
		aspect-ratio: 1;
		overflow: hidden;
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
	.detail {
		.price {
			text-align: right;
			font-family: var(--accent-font);
		}
	}
	@media (min-width: 1000px) {
		margin: 120px 0;
		.mainTitle {
			padding-bottom: 80px;
		}
		.detail {
			padding: 18px 0 0;
		}
		.productListNav,
		.reccomendListNav {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding-top: 40px;
		}
		.slick-arrow-wrap,
		.slick-arrow-wrap02 {
			width: 140px;
			margin: inherit;
			padding: 0;
		}
		.slick-arrow {
			height: 50px;
			width: 50px;
		}
		.slick-dots {
			bottom: -110px;
		}
	}
}
/*
productList
---------------------------*/
#productList {
	.slick-list {
		width: calc(100% + (100vw - 100%) / 2);
	}
	.productListSlide {
		.slick-slide  {
			width: 65vw;
			margin: 0 10px;
		}
	}
	@media (min-width: 768px) {
		.productListSlide {
			.slick-slide {
				width: 21vw;
				margin: 0 16px;
			}
		}
	}
}
/*
reccomendList
---------------------------*/
#reccomendList {
	.slick-list {
		width: calc(100% + (100vw - 100%) / 2);
	}
	.slick-arrow {
		&:before {
			background-image: url(../../assets/icon/arrow-right-thin-w.svg);
		}
	}
	.reccomendListSlide {
		.slick-slide  {
			width: 65vw;
			margin: 0 10px;
		}
	}
	@media (min-width: 1000px) {
		.slick-list{
			width: 100%;
		}
		.reccomendListSlide {
			margin: 0 -20px;
			.slick-slide  {
				width: inherit;
				margin: 0 16px;
			}
		}
	}
}
/*
topicSlide
---------------------------*/
.topicSlide {
	display: block;
	.slick-slide {
		margin: 0;
		width: calc(100vw / 3);
		overflow: hidden;
		height: auto;
		div {
			height: auto;
			overflow: hidden;
		}
		picture {
			display: block;
			aspect-ratio: 1;
			overflow: hidden;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		img {
			vertical-align: middle;
		}
	}
	@media (min-width: 1000px) {
		.slick-slide {
			margin: 0;
			width: calc(100vw / 5);
			overflow: hidden;
		}
	}
}
/*
accordion
---------------------------*/
.accordion {
	dl {
		overflow: hidden;
		+dl {
			margin-top: 15px;
		}
	}
	dt, dd {
		position: relative;
		background-color: #fff;
		line-height: 1.75;
		padding: 10px;
	}
	dd {
		display: none;
	}
	.open {
		dd {
			display: block;
			border-top: 1px solid var(--color-border-1);
		}
		.arrow {
			>span {
				&:after {
					top: 12px;
					transform: rotate(-45deg);
				}
			}
		}
	}
	.arrow {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		display: inline-block;
		width: 26px;
		height: 26px;
		margin: auto;
		>span {
			display: block;
			width: 26px;
			height: 26px;
			position: relative;
			&:after {
				content: "";
				display: block;
				position: absolute;
				top: 8px;
				left: 0;
				right: 0;
				width: 8px;
				height: 8px;
				border: 0px;
				border-top: solid 1px var(--color-text);
				border-right: solid 1px var(--color-text);
				transform: rotate(135deg);
				z-index: 1;
				margin: auto;
				transition-duration: 0.4s;
			}
		}
	}
	@media (min-width: 1000px) {
		dl {
			+dl {
				margin-top: 20px;
			}
		}
		.open {
			.arrow {
				>span {
					&:after {
						top: 16px;
					}
				}
			}
		}
		dt, dd {
			padding: 20px;
		}
	}
	.arrow {
		right: 20px;
		width: 36px;
		height: 36px;
		>span {
			width: 36px;
			height: 36px;
			&:after {
				top: 13px;
				width: 8px;
				height: 8px;
			}
		}
	}
}
/*
tableStyle
---------------------------*/
.tableStyle {
	padding: 10px 0;
	>dt, dd {
		line-height: 2;
		p, li {
			line-height: 2;
			&+p {
				padding-top: 5px;
			}
		}
	}
	>dl {
		border-bottom: 1px solid var(--color-border-1);
		margin-bottom: 0;
		&:first-of-type {
			dt {
				padding-top: 0;
			}
		}
		>dt {
			font-weight: 500;
			line-height: 1.5;
			padding: 20px 0 15px;
			margin-bottom: 0;
		}
		>dd {
			font-size: var(--font-s);
			line-height: 1.5;
			padding: 0 0 20px;
			margin-bottom: 0;
			.note {
				font-size: var(--font-s);
				padding-top: 0;
			}
			ul {
				margin-bottom: 0;
				li {
					text-indent: -1em;
					padding-left: 1em;
					&+li {
						padding-top: 5px;
					}
				}
			}
			dl {
				display: block;
				border: none;
				&+dl {
					padding-top: 35px;
				}
				dt {
					width: 100%;
					font-weight: 500;
					line-height: 1.5;
					padding-bottom: 15px;
				}
				dd {
					width: 100%;
					line-height: 1.5;
				}
			}
		}
	}
	@media (min-width: 1000px) {
		padding: 20px 0;
		>dl {
			display: flex;
			align-items: center;
			background-color: transparent;
			padding: 0;
			&:last-of-type {
				border-bottom: none;
			}
			&:first-of-type {
				dt {
					padding-top: 20px;
				}
			}
			>dt, >dd {
				padding: 25px 0;
				p, li {
					line-height: 2;
				}
			}
			>dt {
				width: 240px;
			}
			>dd {
				width: calc(100% - 240px);
				.note {
					 font-size: var(--font-s);
				}
			}
		}
	}
}
/*
faq
---------------------------*/
#faq {
	.faq__qa {
		dt, dd {
			position: relative;
			padding-left: 35px;
			&:after {
				position: absolute;
				top: 9px;
				left: 10px;
				content: "";
				font-family: var(--accent-font);
				color: var(--color-primari);
				font-weight: 300;
				font-size: var(--font-xxl);
			}
		}
		dt {
			&:after {
				content: "Q";
			}
		}
		dd {
			&:after {
				content: "A";
			}
		}
	}
	@media (min-width: 1000px) {
		.faq__qa {
			dt, dd {
				padding-left: 50px;
				&:after {
					top: 20px;
					left: 20px;
				}
			}
		}
	}
}


/* btn input
------------------------------------------*/

input, button {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	appearance: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input[type="checkbox"], input[type="radio"] {
	appearance: auto;
	margin-bottom: 5px;
}
.ec-input input,
.ec-birth input,
.ec-select input,
.ec-halfInput input,
.ec-numberInput input,
.ec-zipInput input,
.ec-telInput input {
	height: auto;
}
.ec-blockBtn--action {
	height: auto;
	line-height: 1;
	font-weight: 400;
	background: var(--color-primary);
	border-radius: 5px;
	border: none;
	transition: all .2s ease-in-out;
	padding: 18px;
	&:hover {
		background: var(--color-primary);
		opacity: 0.8;
	}
}
.ec-inlineBtn--cancel,
.ec-inlineBtn--action,
.ec-inlineBtn,
.ec-blockBtn--cancel,
.ec-blockBtn--action,
.ec-blockBtn,
.ec-guest .ec-guest__actions a,
.ec-totalBox .ec-totalBox__btn a {
	outline: none !important;
	cursor: pointer;
	display: block;
	margin: 0 auto;
	padding: 16px 5px;
	width: 100%;
	height: auto;
	color: var(--color-text);
	font-size:  16px;
	font-weight: 400 !important;
	text-align: center;
	line-height: 1;
	background-color: #fff;
	letter-spacing: .05em;
	text-decoration: none;
	border: var(--color-text) 1px solid !important;
	border-radius: 100px;
	box-shadow: none !important;
	transition: all 0.3s ease;
	appearance: none;
}
::placeholder {
	opacity: 0.4 !important;
}

.ec-inlineBtn--cancel,
.ec-inlineBtn--action,
.ec-inlineBtn,
.ec-blockBtn--cancel,
.ec-blockBtn--action,
.ec-blockBtn,
.ec-guest .ec-guest__actions a {
	&:hover {
		opacity: .8;
		background-color: #fff;
		color: var(--color-text);
	}
}
.ec-inlineBtn--cancel,
.ec-inlineBtn--action,
.ec-inlineBtn {
	margin: 0;
	max-width: 200px;
}
.ec-inlineBtn--action,
.ec-blockBtn--action,
.ec-mypageRole .ec-blockBtn--cancel,
.ec-orderDelivery__change .ec-inlineBtn,
.ec-orderDelivery__edit .ec-inlineBtn {
	min-width: 100px;
	color: var(--color-inversion) !important;
	background: var(--color-primary) !important;
	border: var(--color-primary) 1px solid !important;
}
/*.btn-image,
.btn-normal {
margin: 50px 0 0 0;
}
.btn-image a,
.btn-normal a {
width: 200px;
}
.btn-image a {
color: var(--color-inversion) !important;
background: var(--color-primary) !important;
border: none !important;
}
*/

.ec-layoutRole__main {
	input[type="text"],
	input[type="number"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	textarea,
	select {
		display: block;
		margin: 0 0 8px 0;
		padding: 10px;
		width: 100%;
		height: auto;
		line-height: 1.75;
		background-color: #fff;
		border: var(--color-border-1) 1px solid;
		transition: all 0.3s ease;
		appearance: none;
		&:focus {
			border: var(--color-border-1) 1px solid;
			box-shadow: none;
		}
	}
}
.ec-layoutRole__main input[type="tel"] {
	display: inline-block;
}
.ec-layoutRole__main {
	textarea {
		height: 200px;
	}
	select,
	select:focus {
		display: inline-block;
		width: auto;
		padding: 10px 32px 10px 10px;
		-webkit-appearance: none;
		appearance: none;
		background-image: url(../../assets/icon/caret-down.svg);
		background-repeat: no-repeat;
		background-size: 14px auto;
		background-position: right 7px center;
	}
}
.ec-registerRole__actions .ec-checkbox {
	margin-bottom: 20px;
}
.ec-checkbox label {
	font-weight: 400;
}
.ec-zipInputHelp .ec-zipInputHelp__icon {
	top: 0;
}
@media (min-width: 1000px) {
	.ec-inlineBtn {
		min-width: auto;
	}
	.ec-halfInput {
		display: flex;
	}
	.ec-halfInput input[type=text],
	.ec-halfInput .ec-errorMessage {
		margin-left: 15px;
		width: 45%
	}
	.ec-halfInput input[type=text]:first-of-type, .ec-halfInput .ec-errorMessage:first-of-type {
		margin-left: 15px;
	}
}

/* mypage
------------------------------------------*/
.ec-favoriteRole {
	.ec-favoriteRole__item .ec-closeBtn--circle {
		right: -5px;
		top: -5px;
	}
	.ec-favoriteRole__itemPrice {
		text-align: right;
		font-family: var(--accent-font);
	}
}
.ec-navlistRole .ec-navlistRole__item {
	transition: all 0.3s ease;
	a {
		font-size: var(--font-m);
		font-weight: 400;
	}
}
.ec-navlistRole .ec-navlistRole__item.active,
.ec-navlistRole .ec-navlistRole__item:hover {
	background-color: var(--color-primary);
	a {
		color: #fff
	}
}
.ec-welcomeMsg {
	margin: 50px 0;
	padding-bottom: 0;
	border-bottom: none;
	p {
		line-height: 1.75;
	}
}

/* modal
------------------------------------------*/
.ec-modal {
	.ec-modal-wrap {
		padding: 30px;
		max-width: 800px;
		border: none;
	}
	.ec-modal-close {
		top: 5px;
		right: 5px;
		height: 30px;
		width: 30px;
		span {
			display: none;
		}
		&:before,
		&:after {
			content: "";
			position: absolute;
			top: 14px;
			left: 5px;
			width: 20px;
			height: 1px;
			background: var(--color-text);
			border-radius: 1px;
		}
		&:before {
			transform: rotate(45deg);
		}
		&:after {
			transform: rotate(-45deg);
		}
	}
	.ec-modal-header {
		font-size: var(--font-m);
	}
	.ec-role {
		display: flex;
		justify-content: center;
		gap: 10px;
		padding: 0;
		span,
		a {
			max-width: 300px;
		}
	}
}
/* cart
------------------------------------------*/
.ec-orderRole {
	color: var(--color-text);
	font-size:  var(--font-m);
	.ec-orderPayment {
		padding-bottom: 20px;
	}
	.ec-input {
		p {
			padding-bottom: .5em;
		}
	}
	.ec-totalBox .ec-totalBox__spec dd,
	.ec-totalBox .ec-totalBox__spec dd {
		font-family: var(--accent-font);
	}
	.ec-totalBox__price {
		font-weight: 600;
		font-family: var(--accent-font);
	}
	.ec-orderDelivery__edit,
	.ec-totalBox__pointBlock {
		margin-bottom: 20px;
	}
	@media (min-width: 1000px) {
		.ec-orderDelivery__edit,
		.ec-orderPayment {
			padding-bottom: 30px;
		}
		.ec-totalBox {
			padding: 20px;
		}
	}
}
.ec-progress {
	margin-bottom: 30px;
	.ec-progress__number {
		font-weight: 400;
		font-family: var(--accent-font);
		background-color: var(--color-text);
		border: 1px solid var(--color-text);
	}
	.is-complete {
		.ec-progress__number {
			background-color: #fff;
			color: var(--color-text);
		}
		.ec-progress__label {
			color: var(--color-text);
		}
	}
	.ec-progress__item:after {
		top: 13px;
		height: 1px;
		background-color: var(--color-text);
	}
	.ec-progress__label {
		font-weight: 400;
	}
}
.ec-registerRole .ec-registerRole__actions {
	padding-top: 20px;
	.ec-link {
		text-decoration: underline;
	}
}
.ec-addressList .ec-addressList__remove {
	display: table-cell;
}
.ec-alert-warning {
	background-color: var(--color-primary);
}
.ec-alert-warning .ec-alert-warning__text {
	font-weight: 400;
}
@media (min-width: 1000px) {
	.ec-progress {
		margin-bottom: 60px;
		.ec-progress__item:after {
			top: 20px;
		}
	}
	.ec-registerRole .ec-registerRole__actions {
		padding-top: 40px;
	}
}



.ec-label {
	font-weight: 400;
}
.ec-contactRole,
.ec-customerRole {
	color: var(--color-text);
	font-size:  var(--font-m);
}

.ec-topicpath .ec-topicpath__item a,
.ec-zipInputHelp span,
.ec-link {
	color: var(--color-text);
	&:hover {
		color: var(--color-text);
		opacity: .8;
	}
}

.ec-borderedDefs dl {
	border-bottom: 1px solid var(--color-border-1);
}
#RelatedProduct-product_area {
    margin-top: 30px;
    @media (min-width: 1000px) {
        margin-top: 50px;
    }
}