@media not (forced-colors: active) {
	.thinScroller {
		--color-primary: #c1c1c1;
		--color-primary-active: #a8a8a8;
		--size: 8px; /* スクロールバーの幅 */
		--thumb-color: var(--color-primary); /* スクロールバーの移動する部分の色 */
		--thumb-color-active: var(--color-primary-active); /* スクロールバーの移動する部分がホバー状態の時の色 */
		--track-color: color-mix(in srgb, var(--color-primary) 20%, white); /* スクロールバーの背景色 */
		--thumb-radius: 8px; /* スクロールバーの移動する部分の角丸 */
		--track-radius: 8px; /* スクロールバーの背景部分の角丸 */
	}
	@supports not selector(::-webkit-scrollbar) {
		.thinScroller {
			scrollbar-color: var(--thumb-color) var(--track-color);
			scrollbar-width: thin; /* 初期値のautoと選択 */
		}
	}
	@supports selector(::-webkit-scrollbar) {
		.thinScroller::-webkit-scrollbar {
			inline-size: var(--size); /* 横書き時 縦スクロール (=width) */
			block-size: var(--size); /* 横書き時 横スクロール (=height) */
		}
		.thinScroller::-webkit-scrollbar-thumb {
			background-color: var(--thumb-color);
			border-radius: var(--thumb-radius);
		}
		.thinScroller::-webkit-scrollbar-thumb:hover {
			background-color: var(--thumb-color-active);
		}
		.thinScroller::-webkit-scrollbar-track {
			background-color: var(--track-color);
			border-radius: var(--track-radius);
		}
	}
}

#gContainerInner { margin: 0px auto; padding: 10px 15px; }
#gMainBodyAndInfoWrapper { display: flex; flex-direction: row-reverse; align-items: flex-start; justify-content: start; gap: 20px; }
#gMainBody { float: none; display: block; overflow: hidden; flex-grow: 1; }
.infoArea { width: 100%; box-sizing: border-box; }
.detailArea .patternA #slideshow { height: unset; }
.detailArea .patternA #slideshow div.image2,
.detailArea .patternA #slideshow div.image2 div img,
.detailArea .patternA #slideshow div.image { width: 560px; min-width: 560px; height: unset; aspect-ratio: 1400 / 1000; }
.detailArea .patternA #slideshow div.image div { width: 100%; height: 100%; }
.detailArea .patternA #slideshow div.image div a.imageLink { display: block; width: 100%; height: 100%; }
.detailArea .patternA #slideshow div.image .mainImg { width: 100%; height: 100%; }
.detailArea .patternA #slideshow div.image2 .splide__arrow { background: none; transform-origin: center; transform: translateY(-50%) scale(1.5); filter: drop-shadow(0px 0px 0px #000); outline: none; /* no focus ring */ }
.detailArea .patternA #slideshow div.image2 .splide__arrow svg { fill: #fff; }
.detailArea .patternA #slideshow div.itemThumbnails { height: 400px; }
.detailArea .patternA #slideshow div.itemThumbnails,
.detailArea .patternA #slideshow div.itemThumbnails ul { width: 184px; min-width: 184px; }
.detailArea .patternA #slideshow div.itemThumbnails ul li { width: 84px; height: unset; aspect-ratio: 1400 / 1000; margin: 0px 8px 8px 0px; }
.detailArea .patternA #slideshow div.itemThumbnails ul li .thum { width: 100%; height: 100%; }
.detailArea .patternA #slideshow div.itemThumbnails .viewport a.prev,
.detailArea .patternA #slideshow div.itemThumbnails .viewport a.next { width: calc(100% - 8px); }
.detailArea .patternA #slideshow { display: flex; gap: 8px; width: auto; }
.detailArea .patternA #slideshow div.itemThumbnails { position: relative; top: unset; right: unset; }
.detailArea .patternA #slideshow div.itemThumbnails ul { left: 0px; right: unset; }
.detailArea .patternA #slideshow div.spacer { width: 7px; min-width: 7px; }
.detailArea .patternC { width: auto; }
.detailArea .patternC #slideshow { display: flex; gap: 15px; width: auto; }
.detailArea .patternC #slideshow .image2 { min-width: 420px; max-width: 420px; }
.detailArea .patternC #slideshow .image2 .splide__slide img { width: 420px; height: 300px; }
.detailArea .patternC #slideshow .image2 .listBtn,
.detailArea .patternC #slideshow .image2 .itemListBtn { display: none; }
.detailArea .patternC #slideshow .itemThumbnails { position: static; overflow-y: auto; }

:root { --item-panel-width: 765px; --scrollbar-width: 15px; }
#gContainerInner { width: fit-content; min-width: 950px; max-width: 1440px; box-sizing: border-box; }
#mainForm { min-width: 340px; max-width: calc(min(100vw, 1440px) - var(--scrollbar-width) - 50px - var(--item-panel-width)); }
#gMainBody { width: var(--item-panel-width); max-width: var(--item-panel-width); }
@media (max-width: 1170px) {
	:root { --item-panel-width: 675px; }
	.detailArea .patternA #slideshow div.itemThumbnails,
	.detailArea .patternA #slideshow div.itemThumbnails ul { width: 92px; min-width: 92px; }
}
@media (max-width: 1078px) { /* 560+20+340=920 */
	:root { --item-panel-width: 560px; }
	.detailArea .patternA #slideshow div.itemThumbnails,
	.detailArea .patternA #slideshow div.spacer { display: none; }
}

#imageGroupings { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px; margin: 8px 0px 10px 0px; background-color: #eee; }
#imageGroupings { margin-right: 21px; }
@media (max-width: 1170px) { #imageGroupings { margin-right: 23px; } }
@media (max-width: 1078px) { #imageGroupings { margin-right: 0px; } }
#imageGroupings a { border-radius: 1em; padding: 8px 10px; color: #000; background: #fff; font-size: 80%; text-decoration: none; line-height: 1; white-space: nowrap; cursor: pointer; }
#imageGroupings a[data-imageGroupingCode^='VIDEO_'] { background: #ffffff url(/common/img/ico/ico_video02bk.png) no-repeat 8px/16px; padding-left: 28px; }
#imageGroupings a[data-imageGroupingCode^='VIDEO_'].active { background-image: url(/common/img/ico/ico_video02wh.png); }
#imageGroupings a.active { color: #fff; background-color: #888; }

.salesCopy { font-size: 120%; font-weight: bold; }
.salesCopy:empty { display: none; }
.reviewInfo { margin: 0px; }
.reviewInfo a { display: inline-block; color: inherit; text-decoration: none; }
.reviewInfo .bold { font-weight: bold; }
.reviewInfo .stars { color: transparent; background: linear-gradient(to right,#e08023,#e08023 var(--stars-percent),#d0d0d0 var(--stars-percent),#d0d0d0); background-clip: text; margin: 0px 3px; }
.reviewInfo .stars::before { content: "★★★★★"; }
.detailArea { position: relative; }
.detailArea .patternA #slideshow div.image a.listBtn,
.detailArea .patternA #slideshow div.image2 a.listBtn { right: 10px; transform: none; }
.detailArea .patternA #slideshow div.image2 a.listBtn.hideForVideo { display: none; }
.showVertViewBtn { display: inline-block; }
.showVertViewBtn::before { display: inline-block; width: 18px; height: 18px; content: ""; background: url(/_resource/image/btn_list05.png) no-repeat center/contain; vertical-align: middle; margin-right: 5px; }
.showVertViewBtn span { vertical-align: middle; }
#linksDiv { display: flex; flex-wrap: wrap; margin: 5px 10px 0px 10px; gap: 10px; }
#linksDiv span { display: inline-block; border: 1px solid gray; background-color: rgba(255,255,255,0.8); padding: 3px; line-height: 1em; }
#linksDiv span:empty { display: none; }
.optionsDiv { margin: 15px 10px 0px 10px; }
.optionsDiv h2 { margin-top: 0px; }
.optionsDiv .showOptionListLink { text-decoration: underline; cursor: pointer; }
.infoAreaInner { margin-top: 15px; }
.infoArea h1.itemName { font-size: 125%; margin: 15px 10px 5px 10px; }
.infoArea table th,
.infoArea table td { padding: 5px 10px; }
.infoArea table td .price { font-size: 230% !important; }
.infoArea table td .price .tax { font-size: 60%; }
.infoArea .curtainMetadataPanel table { width: calc(100% - 20px); margin: 0px 10px 10px 10px; }
.infoArea .curtainMetadataPanel table td[colspan='2'] { padding: 10px !important; }
.infoArea tr.buttonsArea p.num select { width: 195px !important; }
.infoArea tr.buttonsArea .amzn01 { width: 100% !important; }
.infoArea div.buttonsArea p.num select { width: calc(100% - 20px) !important; }
.infoArea div.buttonsArea .amzn01 { width: calc(100% - 20px) !important; }
.infoArea .amazonPayAvailable { width: fit-content; }
.infoArea .cart a { padding: 15px 0px; line-height: 1; }
.infoArea .cart a img { transform: scale(1.2); transform-origin: left; }

.selectArea h2 { margin: 0px !important; padding-left: 0px !important; }
.radioList { display: flex; gap: 10px; box-sizing: border-box; width: 100%; padding: 0px 10px 10px 10px; overflow-x: auto; }
.radioList label { display: block; box-sizing: border-box; width: 150px; padding: 3px 5px; border: 1px solid #c0c0c0; flex-shrink: 0; }
.radioList label.selected { background-color: #fae8e3; border: 2px solid #802837; }
.radioList label input[type=radio] { display: none; }
.radioList label .name { display: block; line-height: 1.2; }
.radioList label .photo { display: block; }
.radioList label .photo .thumbnail { display: block; position: relative; }
.radioList label .photo .thumbnail img { width: 100%; aspect-ratio: 1400 / 1000; margin: 3px 0px 0px 0px; }
.radioList label .photo .thumbnail .zoomIcon::before {
	display: block; position: absolute; right: 5px; bottom: 5px; width: 31px; height: 31px;
	content: ""; background: url(/common/img/btn/btn_zoom01.png); background-size: contain;
}
.radioList label .price { display: block; color: #802837; font-weight: bold; text-align: right; }
.radioList label .price .tax { font-size: 70%; font-weight: normal; }

#stickyAddToCart { position: fixed; top: calc(var(--headerHeight) + var(--extraHeaderHeight) + 15px); right: calc(max(15px, (100% - 1440px) / 2)); font-size: 13px; z-index: calc(var(--z-float) + 2); }
#stickyAddToCart.neverShow { display: none !important; }
#stickyAddToCart .background { display: none; }
#stickyAddToCart .panel {
	width: calc(min(min(100vw, 1440px) - var(--scrollbar-width) - 50px - var(--item-panel-width), 100vw - var(--scrollbar-width) - 725px - 15px * 3));
	max-width: 430px;
	box-sizing: border-box;
	background-color: #ffffff; padding: 20px; border: 1px solid #baa487; /*border-radius: 8px;*/ box-shadow: 0px 0px 5px rgba(0,0,0,0.4);
	display: flex; flex-wrap: wrap; gap: 15px;
}
#stickyAddToCart .panel .infobox { display: flex; flex-wrap: wrap; gap: 15px; width: 100%; }
#stickyAddToCart .panel .infobox .mesg { width: 100%; display: flex; justify-content: space-between; align-items: center; line-height: 1.5; }
#stickyAddToCart .panel .infobox .mesg span { font-weight: bold; }
#stickyAddToCart .panel .infobox .mesg a.close { font-size: 150%; font-weight: bold; text-decoration: none; cursor: pointer; }
#stickyAddToCart .panel .infobox .photo { width: 120px; }
#stickyAddToCart .panel .infobox .photo img { display: block; width: 100%; aspect-ratio: 1400 / 1000; }
#stickyAddToCart .panel .infobox .info { width: calc(100% - 120px - 15px); }
#stickyAddToCart .panel .infobox .info .itemName { font-size: 110%; }
#stickyAddToCart .panel .infobox .info .selectopt { font-size: 110%; line-height: 1.5; margin-left: 10px; }
#stickyAddToCart .panel .infobox .info .selectopt .selectOptLink.button01 { display: inline-block; line-height: 1; padding: 8px; margin: 3px 0px; }
#stickyAddToCart .panel .infobox .info .specnote { font-size: 85%; line-height: 1.5; margin-left: 10px; }
#stickyAddToCart .panel .infobox .info .curtainmeta { font-size: 75%; line-height: 1.4; margin-left: 10px; }
#stickyAddToCart .panel .infobox .info .refPrice,
#stickyAddToCart .panel .infobox .info .price { font-size: 150%; font-weight: bold; }
#stickyAddToCart .panel .infobox .info .refPrice .ref,
#stickyAddToCart .panel .infobox .info .refPrice .tax,
#stickyAddToCart .panel .infobox .info .price .tax { font-size: 60%; font-weight: normal; text-decoration: inherit; }
#stickyAddToCart .panel .infobox .info .price .discountPercent {
	color: #fff; background-color: #802837; font-weight: bold; font-size: 60%;
	padding: 2px 5px; margin: 0px 5px 0px 0px; border-radius: 2px;
}
#stickyAddToCart .panel hr { width: 100%; margin: 10px 0px !important; }
#stickyAddToCart .panel .buttons { display: block; width: 100%; text-align: center; }
#stickyAddToCart .panel .buttons .confirmDiv { display: none; gap: 15px; }
@media (max-width: 1150px) {
	#stickyAddToCart { display: none !important; }
}

.reviewDiv { padding-bottom: 10px; border-bottom: 1px dotted #ccc; }
.reviewGauges { margin: 10px 0px 20px 0px; }
.reviewGauges a { text-decoration: underline; cursor: pointer; }
.reviewGauges .gauge { display: inline-block; width: 240px; height: 1em; background: #d0d0d0; margin: 0px 10px; vertical-align: middle; }
.reviewGauges .gauge span { display: block; height: 100%; background: #e08023; }
.reviewNote { margin: 0px; color: #842c37; }
.reviewComment { margin: 0px; padding: 10px 0px; border-bottom: 1px dotted #eee; }
.reviewComment .flex { display: flex; justify-content: space-between; }
.reviewComment .flex > span { display: block; }
.reviewComment .flex .stars { font-size: 140%; line-height: 1; color: #e08023; }
.reviewComment .main .items:empty { display: none; }
.reviewComment .main .items:not(:empty)::before { content: "ご注文商品："; }
.reviewComment .main .items span { display: block; }
.reviewComment .main .items span::before { content: "・"; }
.reviewComment .moreDiv { margin-top: 3px; }
.reviewComment .moreDiv a { text-decoration: underline; cursor: pointer; }
.reviewComment.showLess .main { max-height: calc(10em * 1.8)/*10 lines*/; overflow: hidden; }
.reviewComment:not(.showLess) .moreDiv { display: none; }
.itemReviewPanel { line-height: 1.8; }
.itemReviewPanel .reviewDiv { margin: 0px 10px; }
.itemReviewPanel .reviewComment { margin: 0px 10px; }

/* itemReviewPanel */
.itemReviewPanel { position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: var(--z-overlay); display: none; }
.itemReviewPanel .background { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; background-color: #1f1f1f; opacity: 0.5; }
.itemReviewPanel h2 { padding-left: 10px !important; }
.itemReviewPanel h3 { font-size: 120%; padding-left: 10px !important; }
.itemReviewPanel .container { position: absolute; top: 35px; left: calc(50% - 700px / 2); right: calc(50% - 700px / 2); bottom: 35px; background-color: #ffffff; border: 1px solid gray; box-shadow: 0px 0px 5px rgba(0,0,0,0.8); padding-bottom: 40px; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.itemReviewPanel .backBtn { display: block; position: absolute; top: 5px; right: calc(50% - 700px / 2); width: 28px; height: 28px;
	color: #ffffff;
	background-color: gray;
	border-radius: 3px;
	overflow: hidden;
	z-index: 10;
}
.itemReviewPanel .backBtn span { display: block; }
.itemReviewPanel .backBtn span::before,
.itemReviewPanel .backBtn span::after { content: ""; display: block; background-color: #ffffff; transform: rotate(45deg); }
.itemReviewPanel .backBtn span::before { width: 16px; height: 2px; margin: 13px 0px 0px 6px; }
.itemReviewPanel .backBtn span::after { width: 2px; height: 16px; margin: -9px 0px 0px 13px; }
.itemReviewPanel .filterDiv { margin: 0px 10px; padding: 5px 0px; }
.itemReviewPanel .filterDiv:empty { display: none; }
.itemReviewPanel .filterDiv span { display: inline-block; padding: 3px 5px; background-color: #e0e0e0; border: 1px solid #808080; }

/* optionsListPanel */
.optionsListPanel { position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: var(--z-overlay); display: none; }
.optionsListPanel .background { position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; background-color: #1f1f1f; opacity: 0.5; }
.optionsListPanel .container { position: absolute; top: 35px; left: calc(50% - 400px / 2); right: calc(50% - 400px / 2); bottom: 35px; background-color: #ffffff; border: 1px solid gray; box-shadow: 0px 0px 5px rgba(0,0,0,0.8); padding-bottom: 20px; overflow: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.optionsListPanel .backBtn { display: block; position: absolute; top: 5px; right: calc(50% - 400px / 2); width: 28px; height: 28px;
	color: #ffffff;
	background-color: gray;
	border-radius: 3px;
	overflow: hidden;
	z-index: 10;
}
.optionsListPanel .backBtn span { display: block; }
.optionsListPanel .backBtn span::before,
.optionsListPanel .backBtn span::after { content: ""; display: block; background-color: #ffffff; transform: rotate(45deg); }
.optionsListPanel .backBtn span::before { width: 16px; height: 2px; margin: 13px 0px 0px 6px; }
.optionsListPanel .backBtn span::after { width: 2px; height: 16px; margin: -9px 0px 0px 13px; }
.optionsListPanel .list {}
.optionsListPanel .list a { display: block; padding: 10px; border-bottom: 1px dotted #cccccc; }
.optionsListPanel .list a.selected { border: 2px solid #802837; background-color: #fae8e3; }
.optionsListPanel .list a:hover { background-color: #fae8e3; }
.optionsListPanel .list a img { width: 136px; height: 97px; margin-right: 10px; }
.optionsListPanel .list a .text:not(:first-child) { max-width: calc(100% - 136px - 10px); }

/*  different design that I don't like */
/*
.itemReviewPanel .background { opacity: 0.8; }
.itemReviewPanel .container { top: 40px; left: 0px; right: 0px; bottom: 0px; }
.itemReviewPanel .backBtn { top: 6px; background-color: transparent; }
.itemReviewPanel .backBtn span::before { width: 22px; height: 1px; margin: 13px 0px 0px 3px; transform: rotate(45deg) scale(1.3); }
.itemReviewPanel .backBtn span::after { width: 1px; height: 22px; margin: -11px 0px 0px 13px; transform: rotate(45deg) scale(1.3); }

.optionsListPanel .background { opacity: 0.8; }
.optionsListPanel .title { position: absolute; top: 20px; left: 50%; transform: translate(-50%, -50%); color: #ffffff; }
.optionsListPanel .container { top: 40px; left: 0px; right: 0px; bottom: 0px; }
.optionsListPanel .backBtn { top: 6px; background-color: transparent; }
.optionsListPanel .backBtn span::before { width: 22px; height: 1px; margin: 13px 0px 0px 3px; transform: rotate(45deg) scale(1.3); }
.optionsListPanel .backBtn span::after { width: 1px; height: 22px; margin: -11px 0px 0px 13px; transform: rotate(45deg) scale(1.3); }
*/

.imageFlipSnap.itemCoord.small .item {
	border: 1px solid #ccc;
	box-sizing: border-box;
}
.imageFlipSnap.itemCoord.small .item div {
	margin: 5px;
}

.nBlock .nBlockInner.w950 { width: 100%; min-width: 950px; max-width: 1440px; box-sizing: border-box; margin: 0px auto; padding: 10px 15px; }
.nBlock .nBlockInner .w725 { width: 725px; }

.imageFlipSnapList .backBtn,
.imageFlipSnapItemList .backBtn,
.imageFlipSnapVertView .backBtn,
.optionsListPanel .backBtn,
.itemReviewPanel .backBtn { background: none; transform: scale(1.5); }
.lightbox .lb-closeContainer {  }

.searchTags { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0px; }
.searchTags a { line-height: 1; padding: 5px 10px; border: 1px solid #512923; border-radius: 15px; white-space: nowrap; }
.searchTags a::before { content: "#"; }
