custom-options{
	display:none !important;
}


.productModalMessage{
	width:100%;
	height:100lvh;
	background:rgba(255,255,255,0.65);
	backdrop-filter:blur(4px);
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	left:0;
	top:0;
	z-index:65535;
	cursor:pointer;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.3s ease-out;
}
.productModalMessage.active{
	opacity:1;
	pointer-events:all;
}
.productModalMessage > div{
	width:600px;
	max-width:80vw;
	height:auto;
	padding:45px;
	background:white;
	border-radius:10px;
	box-shadow:0 5px 20px 0 rgba(0,0,0,0.10);
	font-size:16px;
	line-height:170%;
	pointer-events:none;
	text-align:right;
}
.productModalMessage p{
	text-align:left;
}
.productModalMessage span{
	font-size:14px;
	line-height:100%;
	padding:0.35em 0.65em;
	background:var(--blue);
	color:white;
	display:inline-block;
	margin-top:0.5em;
}
@media (max-width:768px){
	.productModalMessage > div{
		padding:25px;
	}
}









.productInformations{
	margin:60px auto 0 auto;
	width:var(--contentsSize);
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.productImagesArea{
	width:41.67%;
}
.productImagesViewport{
	position:sticky;
	top:calc(var(--headerSize) + 15px);
	left:auto;
}
.productInformation{
	width:51.17%;
	position:relative;
}
.productImages{
	width:100%;
	height:auto;
	aspect-ratio:var(--itemImageAspectRatio);
	border-radius:10px;
	overflow:hidden;
	position:relative;
}
.productImages .splide__track,
.productImages .splide__list{
	height:100%;
}
.productImage{
	height:auto;
	aspect-ratio:var(--itemImageAspectRatio);
	position:relative;
}
.productImage img{
	width:100%;
	max-width:100%;
	height:auto;
	aspect-ratio:var(--itemImageAspectRatio);
	display:block;
	object-fit:cover;
}
.productThumbnails{
	width:100%;
	position:relative;
	margin:10px 0 0 0;
}
.productThumbnails:not(.is-active) .splide__track,
.productThumbnails:not(.is-active) .splide__list{
	width:100%;
}
.productThumbnails:not(.is-active) .splide__list{
	display:flex !important;
	justify-content:left;
	flex-wrap:wrap;
	--gap:5px;
	--cols:5;
	gap:var(--gap);
}
.productThumbnails .productImage{
	border-radius:5px ;
	overflow:hidden;
	cursor:pointer;
}
.productThumbnails .productImage:has(img.inherit)::before{
	content:"";
	padding-top:100%;
	display:block;
}
.productThumbnails:not(.is-active) .productImage{
	width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols)) !important;
}
.foilSim{
	display:none;
}
.foilSimSelectorChip{
	padding:2px;
	border:1px solid rgba(0,0,0,0.4);
}
.foilSimSelectorFoils .foilSimSelectorChip,
.foilSimWideSelectorFoils .foilSimSelectorChip,
.foilSimSelectorFoils .foilSimSelectorChip > *,
.foilSimWideSelectorFoils .foilSimSelectorChip > *,
.foilSimSelectorFoils .foilSimSelectorChip::after,
.foilSimWideSelectorFoils .foilSimSelectorChip::after{
	border-radius:100%;
	overflow:hidden;
}
.foilSimSelectorChip img,
.foilSimSelectorChip span{
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	object-fit:cover;
	display:block;
}
.foilSimSelectorChip.selected::after{
	content:"";
	width:calc(100% + 4px);
	height:calc(100% + 4px);
	position:absolute;
	left:-2px;
	top:-2px;
	border:4px solid var(--blue);
	pointer-events:none;
}

@media (max-width:768px){
	.productInformations{
		margin:60px auto 0 auto;
		width:var(--contentsSize);
		position:relative;
		display:block;
	}
	.productImagesArea{
		width:100%;
	}
	.productImagesViewport{
		position:relative;
		top:auto;
		left:auto;
	}
	.productImages{
		margin-top:30px;
	}
	.productName{
		margin-top:0 !important;
	}
	.productInformation{
		width:100%;
		margin-top:60px;
	}
	.productThumbnails{
		margin:5px 0 0 0;
	}
	.productThumbnails .splide__slide{
		border:none !important;
	}
	.productThumbnails .splide__slide.is-active::after{
		content:"";
		width:100%;
		height:100%;
		position:absolute;
		left:0;
		top:0;
		border:2px solid var(--blue);
		pointer-events:none;
	}

	.foilSim{
		margin-top:30px;
		padding:15px 0;
		display:block;
		position:relative;
	}
	.foilSim::before{
		content:"";
		width:100vw;
		height:100%;
		position:absolute;
		left:calc(50% - 50vw);
		top:0;
		background:#f5f5f5;
		pointer-events:none;
	}
	.foilSim > *{
		position:relative;
		z-index:2;
	}
	.foilSimTitle{
		/*font-size:16px;*/
		font-size:1.4em;
        font-weight: 600;
		line-height:150%;
	}
	.foilSimTitle > span{
		display:block;
		font-size:14px;
	}
	.foilSimHeader{
		width:100%;
		height:20px;
		font-size:14px;
		line-height:100%;
		display:flex;
		justify-content:center;
		align-items:center;
		color:white;
		background:#909293;
		margin-top:15px;
	}
	.foilSimInfo{
		font-size:14px;
		line-height:150%;
	}
	.foilSimSelector{
		margin:4px 0 7px 0;
	}
	.foilSimSelectorFoils{
		margin-top:12px;
	}

	.productThumbnails .splide__arrow svg,
	.foilSim .splide__arrow svg{
		display:none;
	}
	.productThumbnails .splide__arrow,
	.foilSim .splide__arrow{
		width:min(40px,var(--contentsPadding));
		height:min(40px,var(--contentsPadding));
		border-radius:0;
		background:none;
	}
	.productThumbnails .splide__arrow:disabled,
	.foilSim .splide__arrow:disabled{
		opacity:0;
	}
	.productThumbnails .splide__arrow--prev,
	.foilSim .splide__arrow--prev{
		left:0;
		transform:translate(-100%,-50%);
	}
	.productThumbnails .splide__arrow--next,
	.foilSim .splide__arrow--next{
		right:0;
		transform:translate(100%,-50%);
	}
	.productThumbnails .splide__arrow::before,
	.foilSim .splide__arrow::before{
		content:"";
		width:35%;
		height:35%;
		position:absolute;
		left:32.5%;
		top:32.5%;
	}
	.productThumbnails .splide__arrow--prev::before,
	.foilSim .splide__arrow--prev::before{
		border-left:1px solid #555;
		border-bottom:1px solid #555;
		transform:translatex(33%) rotate(45deg);
	}
	.productThumbnails .splide__arrow--next::before,
	.foilSim .splide__arrow--next::before{
		border-right:1px solid #555;
		border-top:1px solid #555;
		transform:translatex(-33%) rotate(45deg);
	}
}














.foilSimWide{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	align-items:flex-start;
	padding:30px;
	background:#f5f5f5;
	border-radius:10px;
}
.foilSimWideTitle{
	width:100%;
	/*font-size:20px;*/
	font-size:1.4em;
	font-weight: 600;
	line-height:150%;
}
.foilSimWideTitle > span{
	font-size:14px;
	margin-left:1ex;
}
.foilSimWideGroup{
	width:47.6%;
	margin-top:10px;
}
.foilSimWideHeader{
	padding:0.25em 0;
	background:#909293;
	color:white;
	text-align:center;
	font-size:16px;
	line-height:150%;
}
.foilSimWideSelector{
	margin-top:10px;
	width:100%;
	display:flex;
	justify-content:left;
	align-items:flex-start;
	flex-wrap:wrap;
	--gap:5px;
	--cols:6;
	gap:var(--gap);
}
@media (max-width:1200px){
	.foilSimWideSelector{--cols:5;}
}
@media (max-width:1000px){
	.foilSimWideSelector{--cols:4;}
}
.foilSimWideSelector .foilSimSelectorChip{
	width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
	height:auto;
	aspect-ratio:1 / 1;
	display:block;
	position:relative;
	cursor:pointer;
}
.foilSimWideSelector .foilSimSelectorChip.dummy{
	opacity:0 !important;
	pointer-events:none !important;
}
.foilSimWideInfo{
	margin-top:10px;
	font-size:14px;
	line-height:170%;
}
@media (max-width:768px){
	.foilSimWide{
		display:none;
	}
}











.productInformation hr{
	width:100%;
	height:1px;
	border:none;
	background:rgba(0,0,0,0.4);
	margin:30px 0;
}
.productName{
	font-size:22px;
	line-height:170%;
/*追加*/
	font-weight: 600;
}
.productName.forMobile{
	margin-top:30px;
}
.productSimpleExplain{
	margin-top:10px;
	font-size:16px;
	line-height:170%;
}
.productOrder{
	margin-top:80px;
}
.productOrderTitle{
	font-size:24px;
	line-height:100%;
	padding-bottom:0.45em;
	border-bottom:1px solid var(--blue);
}
.productOrderTitle > span{
	font-size:16px;
	display:inline-block;
	margin-left:1em;
}
@media (max-width:768px){
	.productOrderTitle > span{
		font-size:16px;
		line-height:150%;
		display:block;
		margin-left:0;
	}
}

















input:where(.productOption *),
select:where(.productOption *),
textarea:where(.productOption *){
	appearance:none;
	outline:none;
	border:none;
	border-radius:none;
	background:none;
	color:inherit;
	font-family:inherit;
	font-size:16px;
	line-height:inherit;
	margin:0;
	padding:0;
}
input[type="radio"]:where(.productOption *),
input[type="checkbox"]:where(.productOption *){
	display:none;
}
select:where(.productOption *)::-ms-expand{
	display:none;
}
.productOption{
	margin-top:20px;
}
hr + .productOption{
	margin-top:0;
}
.productSubOptions{
	margin-left:9.2%;
	padding-bottom:15px;
}
.productOptionsBlockTitle{
	font-size:20px;
	margin-bottom:15px;
}
.productOptionName{
	font-size:16px;
	line-height:150%;
	margin-bottom:5px;
}
.productOptionName > span{
	font-size:14px;
}
.productOptionPulldown{
	width:100%;
	height:50px;
	border:1px solid black;
	position:relative;
}
.productOptionPulldown select{
	width:100%;
	height:100%;
	outline:none;
	font-size:16px;
	font-weight:bold;
	line-height:100%;
	padding-left:1em;
}
.productOptionPulldown::after{
	content:"";
	width:6px;
	height:6px;
	position:absolute;
	border-right:1px solid black;
	border-bottom:1px solid black;
	right:15px;
	top:calc(50% - 3px);
	transform:rotate(45deg);
}

.productOptionAdditionals > .productOptionName{
	font-size:20px;
	margin-bottom:15px;
}
.productOptionAdditionalGroups{
	--cols:3;
	--gap:20px;
	display:flex;
	flex-wrap:wrap;
	gap:30px var(--gap);
	justify-content:left;
	align-items:stretch;
}
.productOptionAdditionalGroups > .productOptionAdditional{
	width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
	max-width:135px;
}
.productOptionAdditionalGroups:has(.productOptionAdditional:last-child:nth-child(4)){
	--cols:4;
}
.productOptionAdditional img{
	margin-bottom:10px;
	border-radius:10px;
}

.productOption label{
	display:block;
	width:100%;
	height:30px;
	padding-left:30px;
	position:relative;
	display:flex;
	justify-content:left;
	align-items:center;
	white-space:nowrap;
}
.productOption label::before{
	content:"";
	width:20px;
	height:20px;
	position:absolute;
	left:10px;
	top:50%;
	transform:translate(-50%,-50%);
	border:1px solid black;
	border-radius:100%;
}
.productOption label:has(input:checked)::after{
	content:"";
	width:12px;
	height:12px;
	position:absolute;
	left:10px;
	top:50%;
	transform:translate(-50%,-50%);
	background:var(--blue);
	border-radius:100%;
}

.productOptionLinks{
	width:100%;
	display:flex;
	align-items:flex-end;
	flex-direction:column;
	margin-top:0.5em;
}
.productOptionLinks a{
	font-size:14px;
	text-decoration:underline;
	text-underline-offset:0.2em;
}

.productPrice{
	margin-top:60px;
	font-size:28px;
}
.productPriceSuffix{
	font-size:20px;
}
.productStock{
	margin-top:15px;
}
.productButtons{
	margin-top:30px;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-direction:column;
	gap:15px;
}
.productButton{
	width:460px;
	max-width:100%;
	height:70px;
	display:flex;
	justify-content:center;
	align-items:center;
	border-width:2px;
	border-style:solid;
	font-family:inherit;
	font-size:20px;
	border-color:#ccc;
	background:#ccc;
	color:#666;
	fill:#666;
	pointer-events:none;
	transition:border-color 0.15s ease-out,background 0.15s ease-out,color 0.15s ease-out,fill 0.15s ease-out;
}
.productButton svg{
	fill:inherit;
	width:30px;
	height:30px;
	margin-right:10px;
}
.productButton.isCartIn{
	border-color:var(--blue);
	background:var(--blue);
	color:white;
	fill:white;
	pointer-events:all;
}
.productButton.isCartIn:not(.disabled):hover{
	background:white;
	color:var(--blue);
	fill:var(--blue);
}
.productButton.isCartIn.disabled{
	opacity:0.5;
}
.productInfoBottom{
	margin-top:30px;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}

.productStatement{
	margin-top:30px;
	width:100%;
	padding:15px 0;
	border-top:1px solid var(--blue);
	border-bottom:1px solid var(--blue);
	font-size:14px;
	line-height:170%;
}
.productStatementHeader{
	font-size:16px;
	margin-bottom:0.5em;
}
.productOtherLinks{
	margin-top:30px;
	width:100%;
}
.productOtherLinks a{
	font-size:13px;
	display:block;
	padding:0.15em 0;
}

@media (max-width:768px){
	.productSubOptions{
		margin-left:var(--contentsPadding);
	}
	.productOptionAdditionalGroups{
		--cols:3;
		display:flex;
		gap:9px;
		justify-content:left;
		align-items:stretch;
	}
	.productOptionAdditionalGroups > .productOptionAdditional{
		max-width:100%;
	}
	.productOptionAdditionalGroups:has(.productOptionAdditional:last-child:nth-child(4)){
		--cols:2;
	}
	.productOptionAdditional img{
		margin-bottom:7px;
	}

	.productPrice{
		margin-top:60px;
		font-size:28px;
	}
	.productButton{
		width:100%;
		height:60px;
	}
	.productInfoBottom{
		margin-top:30px;
		display:block;
	}

	.productStatement{
		width:100%;
	}
	.productOtherLinks{
		margin-top:15px;
		width:100%;
	}
	.productOtherLinks a{
		padding:0.25em 0;
	}
}













.productExplain{
	margin-top:140px;
}
.explainBlock{
	width:var(--contentsSize);
	margin-left:auto;
	margin-right:auto;
}
.explainBlock:not(:first-of-type){
	margin-top:100px;
}
.explainBlockTitle{
	text-align:center;
	font-size:32px;
	line-height:100%;
	padding-top:70px;
	position:relative;
	margin-bottom:40px;
}
.explainBlockTitle::before{
	content:"";
	position:absolute;
	width:1px;
	height:60px;
	left:calc(50% - 0.5px);
	top:0;
	background:black;
}
.explainBlockTitle > span{
	display:block;
	text-align:center;
	font-size:18px;
	line-height:100%;
	margin-top:10px;
	color:var(--blue);
}
.explainBlock .button{
	margin:60px auto 0 auto;
}

@media (max-width:768px){
	.productExplain{
		margin-top:90px;
	}
	.explainBlock:not(:first-of-type){
		margin-top:60px;
	}
	.explainBlockTitle{
		font-size:24px;
		line-height:100%;
		padding-top:60px;
		margin-bottom:30px;
	}
	.explainBlockTitle::before{
		height:50px;
	}
	.explainBlockTitle > span{
		font-size:12px;
		margin-top:6px;
	}
	.explainBlock .button{
		margin:30px auto 0 auto;
	}
}










.explainPriceLists{
	display:flex;
	justify-content:center;
	align-items:flex-start;
	flex-wrap:wrap;
	gap:40px;
}
.explainPriceList{
	width:580px;
	max-width:100%;
}
.explainPriceTitle{
	border-left:3px solid var(--blue);
	padding-left:0.75em;
	font-size:18px;
	line-height:30px;
	height:30px;
	color:var(--blue);
	margin-bottom:6px;
}
.explainPriceTable{
	width:100%;
	border-collapse:collapse;
}
.explainPriceTable tr{
	border-bottom:1px solid #b2b2b2;
}
.explainPriceTable tr:first-child{
	border-top:1px solid #b2b2b2;
}
/*.explainPriceTable tr > *{
	border-right:1px solid #b2b2b2;
}
.explainPriceTable tr > *:first-child{
	border-left:1px solid #b2b2b2;
}
.explainPriceTable tr > *:first-child{
	border-right:1px solid #b2b2b2;
}*/
.explainPriceTable td,
.explainPriceTable th{
	width:25%;
	font-size:16px;
	line-height:150%;
	text-align:center;
	padding:0.5em 0.5em;
	vertical-align:middle;
}
.explainPriceTable th{
/*	background:#f2f2f2;*/
	background:#f5f5f5;
}
/*追加*/
.explainPriceTable th:first-child{
	border-right:1px solid #b2b2b2;
}
.explainPriceTable td{
	text-align:right;
}
.explainPriceTable td:nth-child(even){
	padding-right:10%;
}
.pricecell{
	border-right:1px solid #b2b2b2;
}
/*ここまで*/

@media (max-width:768px){
	.explainPriceLists{
		gap:30px;
	}
	.explainPriceList{
		width:100%;
		max-width:100%;
	}
	.explainPriceTitle{
		padding-left:0.5em;
		font-size:16px;
		line-height:24px;
		height:24px;
		margin-bottom:5px;
	}
	.explainPriceTable{
		width:100%;
		border-collapse:collapse;
	}
	.explainPriceTable td,
	.explainPriceTable th{
		width:auto;
		font-size:14px;
		line-height:150%;
	}
	.explainPriceTable th{
/*	background:#f2f2f2;*/
	background:#f5f5f5;
	}
}






.explainSpecTable{
	width:750px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	border-collapse:collapse;
}
.explainSpecTable th,
.explainSpecTable td{
	font-size:16px;
	line-height:150%;
	padding:0.5em 1.2em;
	vertical-align:top;
}
.explainSpecTable th{
	width:12em;
	text-align:center;
	background:#F5F5F5;
	padding-left:0;
	padding-right:0;
}
.explainSpecTable td{
	width:calc(100% - 12em);
	text-align:left;
}
@media (max-width:768px){
	.explainSpecTable{
		width:100%;
		max-width:100%;
		display:block;
	}
	.explainSpecTable tbody{
		width:100%;
		display:block;
	}
	.explainSpecTable tr{
		width:100%;
		display:block;
	}
	.explainSpecTable th,
	.explainSpecTable td{
		display:block;
		font-size:14px;
		line-height:150%;
	}
	.explainSpecTable th{
		width:100%;
		text-align:center;
		padding:0.3em 0.5em;
	}
	.explainSpecTable td{
		width:100%;
		text-align:center;
		padding:0.75em 0.5em;
	}
}

@media (min-width:769px){
	.explainSpecTable tr{
		border-bottom:1px solid #b2b2b2;
	}
	.explainSpecTable tr:first-child{
		border-top:1px solid #b2b2b2;
	}
/*	.explainSpecTable tr > *{
		border-right:1px solid #b2b2b2;
	}
	.explainSpecTable tr > *:first-child{
		border-left:1px solid #b2b2b2;
	}*/
}
@media (max-width:768px){
/*	.explainSpecTable tr{
		border-right:1px solid #b2b2b2;
		border-left:1px solid #b2b2b2;
	}*/
	.explainSpecTable tr:first-child{
		border-top:1px solid #b2b2b2;
	}
	.explainSpecTable tr:last-child{
		border-bottom:1px solid #b2b2b2;
	}
}










.explainBlockPanels{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	flex-wrap:wrap;
	--gap:4%;
	--cols:3;
	gap:45px var(--gap);
}
.explainBlockPanels:has(li:last-child:nth-child(even)){
	--cols:2;
	--gap:50px;
}
.explainBlockPanels:has(li:last-child:nth-child(odd):nth-child(3n+4)){
	justify-content:left;
	--gap:50px;
}
.explainBlockPanels li{
	width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
}
.explainBlockPanels:has(li:last-child:nth-child(even)) li{
	width:calc(33.33% - var(--gap) * 0.5);
}
.explainBlockPanels.wide:has(li:last-child:nth-child(even)) li{
	width:calc(45% - var(--gap) * 0.5);
}
.explainBlockPanels img{
	margin-bottom:0.5em;
	border-radius:10px;
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.explainBlockPanels h3{
	font-size:20px;
	line-height:150%;
}
.explainBlockPanels p{
	line-height:150%;
	font-size:14px;
  	letter-spacing: 2px;
  text-align: justify;
}
.explainBlockPanels h4{
	color:var(--blue);
	font-size:18px;
	margin-bottom:4px;
	letter-spacing: 2px;
}
@media (max-width:768px){
	.explainBlockPanels{
		justify-content:left;
		--gap:3%;
		--cols:2;
		gap:20px var(--gap);
	}
	.explainBlockPanels:has(li:last-child:nth-child(even)){
		--gap:3%;
		--cols:2;
	}
	.explainBlockPanels:has(li:last-child:nth-child(odd):nth-child(3n+4)){
		--gap:3%;
		--cols:2;
	}
	.explainBlockPanels li{
		width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
	}
	.explainBlockPanels:has(li:last-child:nth-child(even)) li{
		width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
	}
	.explainBlockPanels.wide:has(li:last-child:nth-child(even)) li{
		width:calc((100% / var(--cols)) - (var(--gap) * (var(--cols) - 1)) / var(--cols));
	}
	.explainBlockPanels img{
		margin-bottom:0.5em;
		border-radius:10px;
		display:block;
		width:100%;
		height:100%;
		object-fit:cover;
	}
	.explainBlockPanels h3{
		font-size:20px;
		line-height:150%;
	}
	.explainBlockPanels p{
		font-size:14px;
	}
}









.explainAttentions{
	background:#f5f5f5;
	position:relative;
	padding:70px 5% 50px 5%;
  	border-radius: 20px;
}
.explainAttentions h3{
	width:380px;
	max-width:100%;
	height:50px;
	display:flex;
	justify-content:center;
	align-items:center;
	background:var(--blue);
  	border-radius: 9999px;
	color:white;
	position:absolute;
	left:50%;
	top:0;
	transform:translate(-50%,-50%);
	font-size:20px;
	line-height:100%;
	letter-spacing:0.1em;
}
.explainAttention:not(:first-of-type){
	margin-top:30px;
}
.explainAttention h4{
	font-size:20px;
  	color:#1ca7cb;
	line-height:150%;
	font-weight: 600;
	letter-spacing:0.1em;
}
.explainAttention p{
	margin-top:0.5em;
	font-size:16px;
	line-height:170%;
	letter-spacing:0.1em;
	padding-left: 2em;
	text-indent: -1em;
}
.explainAttention p::before{
  font-size:0.8em;
  content: "\25CF";
  color:#1ca7cb;
}
@media (max-width:768px){
	.explainAttentions{
		padding:50px 5% 30px 5%;
	}
	.explainAttentions h3{
		width:240px;
		height:34px;
		font-size:16px;
		line-height:100%;
		letter-spacing:0.1em;
	}
	.explainAttention:not(:first-of-type){
		margin-top:20px;
	}
	.explainAttention h4{
		font-size:18px;
		line-height:150%;
	}
	.explainAttention p{
		margin-top:0.5em;
		font-size:14px;
		line-height:170%;
	}
}



.productBottomButtons{
	margin:80px auto 0 auto;
	width:100%;
	max-width:700px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:30px 50px;
}
@media (max-width:768px){
	.productBottomButtons{
		margin-top:60px;
		gap:15px;
	}
}

.productOtherLinks{display:none;}






.productOptionSizeInputs{
	display:block;
}
.productOptionSizeInputs > div{
	width:100%;
	display:flex;
	align-items:center;
}
.productOptionSizeInputs input{
	appearance:none;
	border:1px solid black;
	font-size:16px;
	width:60px;
	height:35px;
	line-height:35px;
	text-align:center;
	margin:0 6px;
	border-radius:0;
}
.productOptionSizeInputs > p{
	display:block;
	font-size:14px;
	line-height:160%;
	margin-top:0.5em;
}




.productThumbnails .productImage{
	aspect-ratio:unset;
	height:unset;
}
.productThumbnails .productImage::before{
	content:"";
	padding-top:100%;
	display:block;
	pointer-events:none;
}
.productThumbnails .productImage img{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	transform:none;
}



.productOption.disabled,
.productOption.disabled + .productSubOptions,
.productOption.disabled + .productSubOptions + hr,
.productOption.disabled + hr{
	display:none !important;
}


.p-product-detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 75px auto 0;
width:var(--contentsSize);
overflow:hidden;
}
@media screen and (max-width: 969px) {
  .p-product-detail {
    display: block;
  }
}
.p-product__ttl {
  margin-top: 0;
  margin-bottom: 20px;
  line-height: 1.4;
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 969px) {
  .p-product__ttl {
    margin-bottom: 15px;
    font-size: 18px;
  }
}

/* レビュー */
.p-product-review {
  margin-bottom: 60px;
}
.p-product-review__item {
  box-sizing: border-box;
  margin-bottom: 30px;
  padding: 20px;
  background: #f8f8f8;
  width:100%;
}
@media screen and (max-width: 969px) {
  .p-product-review__item {
    padding: 20px;
  }
}
.p-product-review__heading {
  margin-bottom: 15px;
}
.p-product-review__ttl {
  margin-bottom: 10px;
  line-height: 1.4;
  font-size: 16px;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 800;
}
.p-product-review-info {
  margin-top: 10px;
  margin-bottom: 10px;
}
.p-product-review-info__item {
  display: inline-block;
  font-size: 12px;
}
.p-product-review-info__item.is-type {
  margin-right: 35px;
}
.p-product-review__img {
  /*margin-bottom: 15px;
  text-align: center;*/
  float: right;
  margin: 0 15px 15px 0;
  width: 150px;
  height: 100%;
  object-fit: cover;
}
.icon_star {
  float: left;
  width: 75px;
  overflow: hidden;
  margin-right: 15px;
}
.icon_star img {
  max-width: inherit;
}
@media screen and (max-width: 969px) {
.p-product-review__img {
  width: 30%;
  }
}

.p-product-review__body {
  margin-top: 15px;
  line-height: 2;
}
.p-product-review__rates {
  display: flex;
  flex-wrap: wrap;
}
.p-product-review__rate {
  width: 18px;
  height: 18px;
  vertical-align: -0.3em;
  fill: currentColor;
  fill: #d8d8d8;
}
.p-product-review__rate.is-color {
  fill: #000000;
}
/* レビュー 返信 */
.p-product-review-reply {
  box-sizing: border-box;
  margin-top: 30px;
  padding: 15px 0;
  border-top: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
}
.p-product-review-reply__ttl {
  font-weight: bold;
}
.p-product-review-reply__body {
  font-size: 12px;
}
.p-product-review-reply__date {
  font-size: 12px;
}
.p-product-review__btn {
  margin-top: 45px;
  text-align: center;
}
@media screen and (max-width: 969px) {
  .p-product-review__btn {
    margin-top: 30px;
  }
}
.input-prepend.input-append input {
  font-size: 24px;
  padding-top: 11px;
  padding-bottom: 11px;
  width: 100px;
  text-align: right;
}
.p-product-form__error-message:empty {
  display:none;
}
/********** button **********/
.c-btn {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  padding: 18px 45px 18px 25px;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  border-left: 0;
  border-right: 0;
  min-width: 150px;
  font-size: 14px;
  font-weight: bold;
  background: transparent;
  color: #000000;
  text-align: left;
  cursor: pointer;
  letter-spacing: 0.3em;
}
.c-btn:before, .c-btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 9px;
  height: 1px;
  background: #000000;
  transition: all 0.3s ease;
}
.c-btn:after {
  transform: rotate(90deg);
}
.c-btn:hover {
  text-decoration: none;
}
.c-btn:hover:before {
  transform: rotate(90deg);
}
.c-btn:hover:after {
  transform: rotate(180deg);
}