@charset "utf-8";


.fs-body-search,
.fs-body-category{
	.fs-l-main,
	.fs-l-pageMain{
		max-width:100%;
		width:100%;
		padding:0;
		overflow:hidden;
	}
	.fs-c-productList{
		margin-top:40px;
	}
	.fs-c-listControl{
		display:none;
	}
}

.fs-body-search .fs-c-productList .fs-c-productList__controller,
.fs-body-category .fs-c-productList .fs-c-productList__controller{
	width:calc(100% - 60px);
	margin-left:auto;
	margin-right:auto;
	justify-content:right;
}
@media (max-width:767px){
	.fs-body-search .fs-c-productList .fs-c-productList__controller,
	.fs-body-category .fs-c-productList .fs-c-productList__controller{
		width:calc(100% - 40px);
	}
}




.fs-body-search .fs-c-productList,
.fs-body-category .fs-c-productList,
.fs-body-product .fs-c-featuredProduct{
	.fs-c-productList__list{
		width:100%;
		max-width:2400px;
		margin:0 auto;
		padding:1px 0;
		--cols:8;
		--gap:1px;
		--gridSize:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
		display:grid;
		grid-template-columns: repeat(auto-fill, var(--gridSize));
		gap:0 var(--gap);
	}
	@media (max-width:2100px){.fs-c-productList__list{--cols:7}}
	@media (max-width:1800px){.fs-c-productList__list{--cols:6}}
	@media (max-width:1500px){.fs-c-productList__list{--cols:5}}
	@media (max-width:1200px){.fs-c-productList__list{--cols:4}}
	@media (max-width:900px){.fs-c-productList__list{--cols:3}}
	@media (max-width:767px){.fs-c-productList__list{--cols:2}}

	.fs-c-productListCarousel__list__item{
		cursor:pointer;
		display:inline-flex!important;
		flex-direction:column;
	}
	.fs-c-productList__list__item{
		position:relative;
		padding:35px 9.5%;
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 20;
		cursor:pointer;
	}
	@media (max-width:1200px){
		.fs-c-productList__list__item{padding:30px 7.5%;}}
	@media (max-width:767px){
		.fs-c-productList__list__item{padding:30px 5.5%;}}

	.fs-c-productList__list__item::before{
		content:"";
		width:calc(100% + 2px);
		height:calc(100% + 1px);
		position:absolute;
		left:-1px;
		top:0px;
		border:1px solid #f1f1f1;
		pointer-events:none;
	}
	.fs-c-productList__list__item > form{
		display:contents;
	}
	.fs-c-productListCarousel__list__item
	> *:not(.fs-c-productListItem__imageContainer):not(.fs-c-productListItem__productName):not(.fs-c-productListItem__prices):not(.fs-c-productMarks),
	.fs-c-productList__list__item > form
	> *:not(.fs-c-productListItem__imageContainer):not(.fs-c-productListItem__productName):not(.fs-c-productListItem__prices):not(.fs-c-productMarks){
		order:99;
	}
	.fs-c-productListCarousel__list__item > .fs-c-productMarks,
	.fs-c-productList__list__item > form > .fs-c-productMarks{
		order:98;
	}

	.fs-c-productListItem__imageContainer a img{
		transform:scale(0.95);
		transition:transform 0.15s ease-in-out;
	}
	.fs-c-productList__list__item:hover
		.fs-c-productListItem__imageContainer a img{
		transform:scale(0.98);
	}
	.fs-c-productListItem__productName,
	.fs-c-productListItem__productName > a{
		display:contents;
	}
	.fs-c-productListItem__productName > a:hover{
		color:inherit;
	}
	.fs-c-productListItem__control{
		position:static;
		padding:0;
		display:contents;
	}
	.fs-c-button--viewProductDetail{
		display:none !important;
	}
	.fs-c-button--addToWishList--icon,
	.fs-c-button--removeFromWishList--icon{
		position:absolute;
		right:8px;
		top:8px;
		margin:0;
	}
	.fs-c-productName__copy,
	.fs-c-productName__name,
	.fs-c-price__value{
		margin-top:30px;
		width:100%;
		display:block;
		text-align:center;
	}
	.fs-c-productName__name{
		margin-top:0.8em;
	}
	.fs-c-price__value{
		margin-top:0em;
	}
	.fs-c-productName__copy{
		font-size:12px;
		font-weight:bold;
		line-height:150%;
	}
	.fs-c-productName__name{
		font-size:14px;
		font-weight:bold;
		line-height:150%;
	}
	.fs-c-price__value{
		font-size:14px;
		font-weight:bold;
		line-height:150%;
	}

	.fs-c-productPrice--selling .fs-c-productPrice__main__label{
		display:none;
	}
	.fs-c-price__currencyMark{
		display:none;
	}
	.fs-c-productPrice__addon{
		display:none;
	}
	.fs-c-productPrice{
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
	}
	.fs-c-price__value::before{
		content:"\00A5";
	}

	.fs-c-productMark{
		margin-top:15px;
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
		gap:3px;
	}
	.fs-c-productMark__mark{
		border:1px solid #5E6363;
		color:inherit;
		font-size:12px;
		line-height:100%;
		padding:0.2em 0.5em;
		white-space:nowrap;
		background:none;
		border-radius:3px;
	}

	.fs-c-productListItem__outOfStock{
		width:140px;
		max-width:100%;
		height:30px;
		display:flex;
		justify-content:center;
		align-items:center;
		font-size:12px;
		background:#f0f0f0;
		color:inherit;
		margin:15px auto 0 auto;
	}

	img[alt="お問い合わせ受付中"]{
		display:none;
	}
	.fs-c-productList__list__item:has(img[alt="お問い合わせ受付中"])::after{
		content:"お問い合わせ受付中";
		width:100%;
		font-size:12px;
		line-height:150%;
		display:block;
		margin-top:15px;
		color:#335CA3;
		text-align:center;
		order:100;
	}

	.fs-c-productList-nextPageLoader{
		width:100%;
		height:300px;
		display:flex;
		justify-content:center;
	}
	.fs-c-productList-nextPageLoader img{
		width:300px;
		height:300px;
	}

	.fs-c-productListItem__notice{
		display:flex;
		justify-content:center;
		align-items:center;
	}
}







.fs-c-productList-openConditionsButton{
	width:350px;
	max-width:calc(100% - 60px);
	height:50px;
	position:fixed;
	left:50%;
	bottom:5px;
	transform:translatex(-50%);
	background:#1B1B1B;
	color:white;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:16px;
	font-weight:bold;
	cursor:pointer;
	border-radius:5px;
	transition:opacity 0.3s ease-out;
}
body:has(footer.viewed) .fs-c-productList-openConditionsButton{
	opacity:0;
	pointer-events:none;
}
.fs-c-productList-openConditionsButton:hover{
	background:#2c2c2c;
}
.fs-c-productList-openConditionsButton > i{
	width:0.75em;
	height:0.75em;
	display:block;
	margin-left:1.5em;
	position:relative;
}
.fs-c-productList-openConditionsButton > i:before,
.fs-c-productList-openConditionsButton > i:after{
	content:"";
	width:100%;
	height:2px;
	background:white;
	position:absolute;
	left:0;
	top:calc(50% - 1px);
}
.fs-c-productList-openConditionsButton > i:after{
	transform:rotate(90deg);
}
@media (max-width:767px){
	.fs-c-productList-openConditionsButton{
		width:230px;
		height:40px;
		bottom:5px;
		font-size:14px;
	}
	.fs-c-productList-openConditionsButton > i{
		margin-left:1em;
	}
}


.fs-c-productList-conditionsModal{
	position:fixed;
	width:100%;
	height:100lvh;
	left:0;
	top:0;
	background:rgba(0,0,0,0.5);
	backdrop-filter:blur(3px);
	z-index:65000;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.4s ease-out;
}
.fs-c-productList-conditionsModal.active{
	opacity:1;
	pointer-events:all;
}

.fs-c-productList-conditionsModalViewport{
	width:600px;
	max-width:100%;
	height:100svh;
	position:fixed;
	right:0;
	top:0;
	background:white;
	transform:translatex(100%);
	transition:transform 0.4s ease-out;
	overflow-y:scroll;
}
.fs-c-productList-conditionsModal.active
	.fs-c-productList-conditionsModalViewport{
	transform:none;
}

.fs-c-productList-conditionsModalContents{
	padding:50px 10%;
}

.fs-c-productList-conditionsModalScrollbar{
	width:5px;
	height:100svh;
	position:fixed;
	z-index:10;
	right:0;
	top:0;
	background:#f1f1f1;
	opacity:0;
	pointer-events:none;
}
.fs-c-productList-conditionsModalScrollbar > i{
	display:block;
	width:100%;
	height:100px;
	position:absolute;
	left:0;
	top:0;
	background:#a0a0a0;
}
.fs-c-productList-conditionsModalViewport.isOverflow
	+ .fs-c-productList-conditionsModalScrollbar{
	opacity:1;
	pointer-events:all;
}

.fs-c-productList-conditionsModalClose{
	width:40px;
	height:40px;
	position:fixed;
	right:20px;
	top:20px;
	cursor:pointer;
}
.fs-c-productList-conditionsModalClose::before,
.fs-c-productList-conditionsModalClose::after{
	content:"";
	width:100%;
	height:1px;
	position:absolute;
	left:0;
	top:calc(50% - 0.5px);
	background:#707070;
}
.fs-c-productList-conditionsModalClose::before{
	transform:rotate(-45deg);
}
.fs-c-productList-conditionsModalClose::after{
	transform:rotate(45deg);
}
@media (max-width:767px){
	.fs-c-productList-conditionsModalClose{
		width:30px;
		height:30px;
		right:10px;
		top:10px;
	}
}

.fs-c-productList-conditionsModalTitle{
	font-size:22px;
	font-weight:bold;
	line-height:150%;
	margin-bottom:60px;
}
@media (max-width:767px){
	.fs-c-productList-conditionsModalTitle{
		font-size:18px;
		line-height:150%;
	}
}

.fs-c-productList-conditionsModalColumnTitle{
	font-size:15px;
	line-height:150%;
	margin-bottom:10px;
}
.fs-c-productList-conditionsModalColumn{
	font-size:15px;
	line-height:150%;
	display:flex;
	margin-bottom:30px;
	align-items:center;
}
.fs-c-productList-conditionsModalColumn > span{
	width:5em;
	flex-shrink:0;
	text-align:center;
}
@media (max-width:767px){
	.fs-c-productList-conditionsModalColumn > span{
		width:3em;
	}
}

.fs-c-productList-conditionsModal input[type="text"],
.fs-c-productList-conditionsModal input[type="number"]{
	width:100%;
	font-size:16px;
	font-weight:normal;
	padding:0 0.5em;
	margin:0;
	border:1px solid #DADADA;
	background:none;
	outline:none;
	height:40px;
	line-height:40px;
	appearance:none;
}
.fs-c-productList-conditionsModal input[type="number"]{
	text-align:center;
}
.fs-c-productList-conditionsModal input[type="number"]::-webkit-outer-spin-button, 
.fs-c-productList-conditionsModal input[type="number"]::-webkit-inner-spin-button{ 
	-webkit-appearance:none;
	appearance:none;
	margin:0;
}
.fs-c-productList-conditionsModal input[type="number"]{ 
	-moz-appearance:textfield;
}
.fs-c-productList-conditionsModal input[type="text"]::placeholder{
	font-size:14px;
	color:#707070;
}

.fs-c-productList-conditionsModalColumn.checkboxes{
	flex-wrap:wrap;
	gap:15px;
}



.fs-c-productList-conditionsModalColumn label{
	--checkboxSize:1.5em;
	height:var(--checkboxSize);
	display:flex;
	align-items:center;
	padding-left:calc(var(--checkboxSize) * 1.25);
	position:relative;
	cursor:pointer;
}
.fs-c-productList-conditionsModalColumn label::before{
	content:"";
	width:var(--checkboxSize);
	height:var(--checkboxSize);
	position:absolute;
	left:0;
	top:0;
	border:1px solid #DADADA;
}
.fs-c-productList-conditionsModalColumn label input{
	display:none;
}
.fs-c-productList-conditionsModalColumn label:has(input:checked)::before{
	background:#3566AF;
	border-color:#3566AF;
}
.fs-c-productList-conditionsModalColumn label:has(input:checked)::after{
	content:"";
	width:var(--checkboxSize);
	height:var(--checkboxSize);
	position:absolute;
	left:0;
	top:0;
	clip-path: polygon(10% 50%, 35% 65%, 95% 20%, 65% 50%, 35% 80%, 5% 50%);
	background:white;
	transform:scale(0.65,1.0);
}

.fs-c-productList-conditionsModal button[type="submit"]{
	width:350px;
	max-width:calc(100% - 60px);
	height:50px;
	position:relative;
	margin:60px auto 0 auto;
	background:#1B1B1B;
	color:white;
	display:flex;
	justify-content:center;
	align-items:center;
	font-size:16px;
	font-weight:bold;
	cursor:pointer;
	border-radius:5px;
}
.fs-c-productList-conditionsModal button[type="submit"]:hover{
	background:#2c2c2c;
}
.fs-c-productList-conditionsModal button[type="submit"] img{
	width:18px;
	height:18px;
	display:block;
	filter:grayscale(1) brightness(10);
	position:absolute;
	right:15px;
	top:calc(50% - 9px);
}