.entrance-supply-gear {
	--supply-navy: #102a49;
	--supply-teal: #2f6f72;
	--supply-gold: #d5ad51;
	--supply-paper: #fff8e8;
	--supply-ink: #12263b;
	position: relative;
	isolation: isolate;
	width: min(100%, 1440px);
	min-height: min(880px, 94vh);
	margin-inline: auto;
	padding: clamp(18px, 3vw, 44px);
	overflow: hidden;
	box-sizing: border-box;
	color: var(--supply-ink);
	background: transparent;
	box-shadow: none;
}

.entrance-supply-gear *,
.entrance-supply-gear *::before,
.entrance-supply-gear *::after { box-sizing: border-box; }

.entrance-supply-gear__layout {
	display: grid;
	grid-template-columns: minmax(560px, 1fr) minmax(280px, 340px);
	align-items: center;
	gap: clamp(14px, 2.5vw, 42px);
	max-width: 1280px;
	margin-inline: auto;
}

.entrance-supply-machine {
	position: relative;
	min-width: 0;
	aspect-ratio: 1 / 1.03;
	outline: 0;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
	cursor: grab;
}

.entrance-supply-machine:active { cursor: grabbing; }
.entrance-supply-machine:focus-visible { outline: 3px dashed var(--supply-teal); outline-offset: 6px; }

.entrance-supply-machine__support {
	position: absolute;
	z-index: 3;
	left: 50%;
	top: 36.8%;
	width: 57%;
	height: auto;
	transform: translateX(-50%);
	filter: drop-shadow(0 12px 8px #0b203b33);
	pointer-events: none;
}

.entrance-supply-machine__gears {
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
}

.entrance-supply-pinion {
	position: absolute;
	aspect-ratio: 1;
}

.entrance-supply-pinion img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 5px 5px #081b2e42);
	transform: rotate(var(--pinion-rotation, 0deg));
	transform-origin: 50% 50%;
	will-change: transform;
}

.entrance-supply-machine__gears .inner-1 {
	--pinion-rotation: var(--inner-gear-1, 0deg);
	left: 28%;
	top: 29%;
	width: 28%;
}

.entrance-supply-machine__gears .inner-2 {
	--pinion-rotation: var(--inner-gear-2, 0deg);
	left: 51%;
	top: 33%;
	width: 22%;
}

.entrance-supply-machine__gears .inner-3 {
	--pinion-rotation: var(--inner-gear-3, 0deg);
	left: 44%;
	top: 43%;
	width: 15%;
}

.entrance-supply-machine__wheel,
.entrance-supply-machine__gondolas {
	position: absolute;
	left: 50%;
	top: 3%;
	width: min(78%, 720px);
	aspect-ratio: 1;
	transform: translateX(-50%);
}

.entrance-supply-machine__wheel {
	z-index: 1;
	pointer-events: none;
}

.entrance-supply-machine__outer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 10px 8px #0b203b40);
	transform: rotate(var(--gear-rotation, 0deg));
	will-change: transform;
}

.entrance-supply-machine__gondolas {
	z-index: 6;
	pointer-events: none;
}

.entrance-supply-gondola {
	position: absolute;
	width: clamp(66px, 12%, 102px);
	aspect-ratio: .76;
	padding: 7px 6px 9px;
	border: 1px solid #d4c7a4;
	border-radius: 1px;
	background: var(--supply-paper);
	box-shadow: 0 7px 10px #0c26384c, 0 0 0 1px #fff inset;
	color: var(--supply-ink);
	transform: translate(-50%, calc(-50% + var(--gondola-y-shift, 0px))) scale(var(--gondola-scale, var(--gondola-rest-scale, .56)));
	transform-origin: center;
	transition: filter .34s ease, opacity .34s ease, transform .42s cubic-bezier(.2,.8,.25,1);
	pointer-events: auto;
	cursor: pointer;
	will-change: transform;
}

.entrance-supply-gondola__clip {
	position: absolute;
	left: 50%;
	top: -8px;
	width: 22px;
	height: 13px;
	border: 1px solid #7e672d;
	background: var(--supply-gold);
	transform: translateX(-50%);
}

.entrance-supply-gondola__photo,
.entrance-supply-inspector__photo {
	display: block;
	background: radial-gradient(circle at 50% 42%, #fffdf5, #c9d7d5 72%, #677d82);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.entrance-supply-gondola__photo {
	width: 100%;
	height: 57%;
	border: 1px solid #233d4d55;
}

.entrance-supply-gondola__caption {
	display: block;
	min-width: 0;
	margin-top: 5px;
	text-align: center;
}

.entrance-supply-gondola__caption b,
.entrance-supply-gondola__caption small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.entrance-supply-gondola__caption b { font-size: clamp(8px, .9vw, 11px); }
.entrance-supply-gondola__caption small { margin-top: 2px; font-size: clamp(6px, .68vw, 8px); }

.entrance-supply-gondola.is-selected {
	--gondola-scale: 1.12;
	z-index: 30 !important;
	filter: drop-shadow(0 0 9px #eec44c) brightness(1.04);
}

.entrance-supply-gondola:not(.is-selected) { opacity: .86; }
.entrance-supply-gondola:focus-visible { outline: 3px solid var(--supply-gold); outline-offset: 2px; }

.entrance-supply-machine__selection {
	position: absolute;
	z-index: 20;
	left: 50%;
	top: auto;
	bottom: 7%;
	transform: translateX(-50%);
	pointer-events: none;
}

.entrance-supply-machine__selection span {
	display: block;
	padding: 5px 10px;
	border: 1px solid #7f672e;
	background: var(--supply-gold);
	box-shadow: 3px 3px 0 var(--supply-ink);
	font: 900 10px/1 ui-monospace, monospace;
	letter-spacing: .12em;
}

.entrance-supply-machine__hint {
	position: absolute;
	z-index: 20;
	left: 50%;
	bottom: 1%;
	width: max-content;
	margin: 0;
	padding: 6px 12px;
	border-top: 2px solid var(--supply-ink);
	background: #fff8e8df;
	transform: translateX(-50%);
	text-align: center;
	pointer-events: none;
}

.entrance-supply-machine__hint span,
.entrance-supply-machine__hint small { display: block; }
.entrance-supply-machine__hint span { font: 900 11px/1.1 ui-monospace, monospace; letter-spacing: .12em; }
.entrance-supply-machine__hint small { margin-top: 3px; font-size: 9px; font-weight: 700; }

.entrance-supply-inspector {
	position: relative;
	z-index: 25;
	min-width: 0;
	padding: 14px 15px 16px;
	border-right: 5px solid var(--supply-ink);
	border-bottom: 5px solid var(--supply-ink);
	background: #fff9eaf0;
	box-shadow: 8px 9px 18px #0c243535;
}

.entrance-supply-inspector__eyebrow {
	margin: 0 0 8px;
	font: 900 10px/1.2 ui-monospace, monospace;
	letter-spacing: .18em;
}

.entrance-supply-inspector__card {
	position: relative;
	width: min(100%, 246px);
	aspect-ratio: .76;
	margin: 0 auto 10px;
	padding: 12px 12px 50px;
	outline: 0;
	background: #fffdf6;
	box-shadow: 0 8px 18px #0f253838, inset 0 0 0 1px #d8ccb1;
	transform-style: preserve-3d;
	cursor: ns-resize;
	touch-action: pan-x;
}

.entrance-supply-inspector__card:focus-visible { outline: 3px dashed var(--supply-teal); outline-offset: 3px; }
.entrance-supply-inspector__card.is-flipping { animation: supply-card-y-flip .55s cubic-bezier(.5,.05,.2,1); }

.entrance-supply-inspector__photo {
	width: 100%;
	height: 76%;
	border: 1px solid #263e4e55;
}

.entrance-supply-inspector__caption {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 10px;
	min-width: 0;
	text-align: center;
}

.entrance-supply-inspector__caption > * {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.entrance-supply-inspector__caption em { font: 800 9px/1.1 sans-serif; }

.entrance-supply-inspector__details {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 10px;
	min-height: 96px;
	padding: 9px 10px;
	border-top: 2px solid var(--supply-ink);
	background: #fffdf7;
}

.entrance-supply-inspector__details span { align-self: start; justify-self: start; padding: 3px 6px; background: var(--supply-gold); font-size: 10px; font-weight: 900; }
.entrance-supply-inspector__details strong { font-size: 20px; text-align: right; }
.entrance-supply-inspector__details del { grid-column: 2; color: #6c6c6c; font-size: 10px; text-align: right; }
.entrance-supply-inspector__details p { grid-column: 1 / -1; margin: 3px 0 0; font-size: 11px; font-weight: 700; line-height: 1.4; }

.entrance-supply-inspector__products {
	display: flex;
	gap: 5px;
	min-height: 46px;
	margin: 8px 0;
	overflow-x: auto;
	scrollbar-width: thin;
}

.entrance-supply-inspector__products button {
	flex: 0 0 42px;
	height: 42px;
	padding: 3px;
	border: 1px solid var(--supply-ink);
	background: #fff;
	cursor: pointer;
}

.entrance-supply-inspector__products button.is-selected { border: 3px solid var(--supply-gold); }
.entrance-supply-inspector__products img { width: 100%; height: 100%; object-fit: contain; }
.entrance-supply-inspector__products i { display: grid; place-items: center; height: 100%; background: #d9e1e3; font: 800 7px/1 sans-serif; }

.entrance-supply-gear__footer button {
	border: 1px solid var(--supply-ink);
	background: var(--supply-gold);
	color: var(--supply-ink);
	box-shadow: 2px 2px 0 var(--supply-ink);
	font: 900 15px/1 sans-serif;
	cursor: pointer;
}

.entrance-supply-gear__footer {
	position: relative;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 40px;
	margin-top: 3px;
}

.entrance-supply-gear__footer p { margin: 0; font-size: 11px; font-weight: 900; }
.entrance-supply-gear__footer button { padding: 7px 11px; font-size: 11px; }
.entrance-supply-gear__footer button[hidden] { display: none; }

.entrance-supply-gear[data-damage="2"] .entrance-supply-machine::after,
.entrance-supply-gear[data-damage="3"] .entrance-supply-machine::after {
	position: absolute;
	z-index: 50;
	right: 8%;
	top: 19%;
	padding: 4px 9px;
	border: 1px solid var(--supply-ink);
	background: #fff8e8;
	font: 900 17px/1 sans-serif;
	transform: rotate(4deg);
}

.entrance-supply-gear[data-damage="2"] .entrance-supply-machine::after { content: "ガタ ガタ"; }
.entrance-supply-gear[data-damage="3"] .entrance-supply-machine::after { content: "回しすぎ!!"; color: #b11b2c; }
.entrance-supply-gear[data-damage="2"] .entrance-supply-machine__outer { filter: drop-shadow(0 10px 8px #0b203b40) saturate(.82) brightness(.94); }
.entrance-supply-gear[data-damage="4"] .entrance-supply-machine__gears .inner-1 { animation: supply-gear-left 1.2s ease-out forwards; }
.entrance-supply-gear[data-damage="4"] .entrance-supply-machine__gears .inner-2 { animation: supply-gear-right 1.35s ease-out forwards; }
.entrance-supply-gear[data-damage="4"] .entrance-supply-machine__gears .inner-3 { animation: supply-gear-down 1.05s ease-out forwards; }
.entrance-supply-gear[data-damage="4"] .entrance-supply-machine { cursor: not-allowed; }

@keyframes supply-card-y-flip { 0%{transform:rotateY(0)} 48%{transform:rotateY(90deg) scale(.94)} 52%{transform:rotateY(-90deg) scale(.94)} 100%{transform:rotateY(0)} }

@media (max-width: 980px) {
	.entrance-supply-gear { min-height: 0; padding: 18px 12px 26px; }
	.entrance-supply-gear__layout { grid-template-columns: 1fr; gap: 6px; }
	.entrance-supply-machine { width: min(100%, 760px); margin-inline: auto; }
	.entrance-supply-inspector { width: min(100%, 600px); margin: -4px auto 8px; }
}

@media (max-width: 620px) {
	.entrance-supply-gear { width: 100%; padding: 13px 8px 20px; background-position: center top; box-shadow: none; }
	.entrance-supply-machine { aspect-ratio: 1 / 1.08; }
	.entrance-supply-machine__wheel,
	.entrance-supply-machine__gondolas { top: 4%; width: 87%; }
	.entrance-supply-machine__support { top: 42.2%; width: 63%; }
	.entrance-supply-machine__gears .inner-1 { left: 25%; top: 30%; width: 31%; }
	.entrance-supply-machine__gears .inner-2 { left: 52%; top: 34%; width: 24%; }
	.entrance-supply-machine__gears .inner-3 { left: 44%; top: 44%; width: 17%; }
	.entrance-supply-machine__selection { transform: translateX(-50%) scale(.82); }
	.entrance-supply-gondola { width: clamp(55px, 14%, 70px); padding: 5px 4px 6px; }
	.entrance-supply-gondola__clip { top: -6px; width: 17px; height: 10px; }
	.entrance-supply-gondola { --gondola-scale: var(--gondola-rest-scale, .54); }
	.entrance-supply-gondola.is-selected { --gondola-scale: 1.08; }
	.entrance-supply-gondola__caption small { display: none; }
	.entrance-supply-machine__hint { bottom: 0; padding: 4px 8px; }
	.entrance-supply-machine__hint small { display: none; }
	.entrance-supply-inspector { padding: 10px 10px 12px; border-width: 0 3px 3px 0; }
	.entrance-supply-inspector__card { width: 190px; margin-bottom: 8px; padding: 9px 9px 42px; }
	.entrance-supply-inspector__details { min-height: 84px; padding: 7px; }
	.entrance-supply-inspector__details strong { font-size: 18px; }
	.entrance-supply-gear__footer { align-items: stretch; flex-direction: column; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.entrance-supply-gear *,
	.entrance-supply-gear *::before,
	.entrance-supply-gear *::after {
		scroll-behavior: auto !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}

/* v1.4.0 — PC/SP共通の真中心ジオメトリ。 */
.entrance-supply-machine{
	container-type:inline-size;
	--wheel-size:min(87cqw,720px);
	--wheel-top:4%;
	aspect-ratio:1 / 1.08;
	touch-action:pan-y;
}
.entrance-supply-machine__wheel,
.entrance-supply-machine__gondolas{
	left:50%;
	top:var(--wheel-top);
	width:var(--wheel-size);
	transform:translateX(-50%);
}
.entrance-supply-machine__wheel{
	pointer-events:auto;
	touch-action:none;
	clip-path:circle(50% at 50% 50%);
	cursor:grab;
}
.entrance-supply-gear.is-dragging .entrance-supply-machine__wheel{cursor:grabbing}
.entrance-supply-machine__outer{transform-origin:50% 50%}
.entrance-supply-machine__support{
	left:50%;
	top:calc(var(--wheel-top) + var(--wheel-size) / 2);
	width:min(63cqw,520px);
	transform:translate(-50%,-8.5%);
}
.entrance-supply-machine__gears{
	inset:auto;
	left:50%;
	top:var(--wheel-top);
	width:var(--wheel-size);
	aspect-ratio:1;
	transform:translateX(-50%);
}
.entrance-supply-machine__gears .inner-1{left:21.3%;top:32.3%;width:35.6%}
.entrance-supply-machine__gears .inner-2{left:52.3%;top:37.2%;width:27.6%}
.entrance-supply-machine__gears .inner-3{left:43.1%;top:49.7%;width:19.5%}

/* 横長の大きな商品ゴンドラ。名称は写真上へ重ねる。 */
.entrance-supply-gondola{
	width:clamp(118px,22%,190px);
	aspect-ratio:1.62 / 1;
	padding:4px;
	overflow:visible;
	border-width:2px;
}
.entrance-supply-gondola__photo{
	width:100%;
	height:100%;
	border:0;
}
.entrance-supply-gondola__caption{
	position:absolute;
	left:4px;
	right:4px;
	bottom:4px;
	min-width:0;
	margin:0;
	padding:14px 6px 5px;
	background:linear-gradient(transparent,#0b203bd9 52%);
	color:#fff;
	text-align:left;
	text-shadow:0 1px 2px #000;
}
.entrance-supply-gondola__caption b{font-size:clamp(11px,1.1vw,15px);line-height:1.15}
.entrance-supply-gondola__caption small{margin-top:2px;font-size:clamp(7px,.72vw,9px);line-height:1.1;opacity:.9}
.entrance-supply-gondola.is-selected{--gondola-scale:var(--gondola-selected-scale,1.1)}
.entrance-supply-gondola:not(.is-selected){opacity:.9}

/* 右側の商品詳細：一行で読める情報は一行に固定する。 */
.entrance-supply-gear__layout{
	grid-template-columns:minmax(0,1fr) minmax(320px,380px);
	gap:clamp(18px,2.4vw,36px);
}
.entrance-supply-inspector{padding:16px 17px 18px}
.entrance-supply-inspector__details{
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center;
	gap:5px 9px;
	min-height:86px;
}
.entrance-supply-inspector__details>span,
.entrance-supply-inspector__details>strong,
.entrance-supply-inspector__details>del{
	grid-row:1;
	white-space:nowrap;
}
.entrance-supply-inspector__details>span{grid-column:1}
.entrance-supply-inspector__details>strong{grid-column:2;justify-self:end;min-width:0}
.entrance-supply-inspector__details>del{grid-column:3;justify-self:end}
.entrance-supply-inspector__details>p{
	grid-column:1 / -1;
	grid-row:2;
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
.entrance-supply-inspector__caption>*{white-space:nowrap}
.entrance-supply-inspector__photo{transition:opacity .18s ease}
.entrance-supply-inspector__photo.is-loading{opacity:.72}

@media(max-width:980px){
	.entrance-supply-gear__layout{grid-template-columns:1fr}
}
@media(max-width:620px){
	.entrance-supply-machine{--wheel-size:87cqw}
	.entrance-supply-machine__support{width:63cqw}
	.entrance-supply-gondola{width:clamp(104px,29%,154px);padding:3px}
	.entrance-supply-gondola__caption{left:3px;right:3px;bottom:3px;padding:11px 5px 4px}
	.entrance-supply-gondola__caption b{font-size:11px}
	.entrance-supply-gondola__caption small{display:block;font-size:7px}
	.entrance-supply-gondola.is-selected{--gondola-scale:var(--gondola-selected-scale,1.08)}
	.entrance-supply-inspector__details{grid-template-columns:auto minmax(0,1fr) auto}
}

/* v1.4.8 — ゴンドラ本体を拡大。選択中だけ下へ逃がして待機札との衝突を防ぐ。 */
.entrance-supply-gondola.is-selected{--gondola-y-shift:var(--gondola-selected-shift,0px)}
/* v1.4.1 — 素材内の実ハブ（x=50%, y=47.32%）を全機構の共通軸にする。 */
.entrance-supply-machine{
	--wheel-axis-x:50%;
	--wheel-axis-y:47.32%;
	--wheel-axis-y-ratio:.4732;
}
.entrance-supply-machine__wheel{
	clip-path:none;
}
.entrance-supply-machine__outer{
	transform-origin:var(--wheel-axis-x) var(--wheel-axis-y);
}
.entrance-supply-machine__support{
	top:calc(var(--wheel-top) + var(--wheel-size) * var(--wheel-axis-y-ratio));
	transform:translate(-50%,-7.44%);
}

/* 実画像の透明余白を含めても、歯の中心が固定されたまま回る。 */
.entrance-supply-machine__gears .inner-1{left:21.5%;top:29.7%;width:35.6%}
.entrance-supply-machine__gears .inner-2{left:51.8%;top:34.8%;width:27.6%}
.entrance-supply-machine__gears .inner-3{left:42.9%;top:47.1%;width:19.5%}
.entrance-supply-machine__gears .inner-1 img{transform-origin:49.45% 49.48%}
.entrance-supply-machine__gears .inner-2 img{transform-origin:51.90% 48.80%}
.entrance-supply-machine__gears .inner-3 img{transform-origin:50.54% 49.45%}

/* 操作中は擬音を出さず、固定軸の小ギアだけが機械らしく微振動する。 */
.entrance-supply-gear.is-gear-moving:is([data-damage="1"],[data-damage="2"],[data-damage="3"]) .entrance-supply-pinion{
	animation:supply-running-tremble .10s steps(2,end) infinite;
}
.entrance-supply-gear[data-damage="1"] .entrance-supply-machine__outer{animation:none}
.entrance-supply-gear[data-damage="1"] .entrance-supply-machine::after{content:none;display:none}
@keyframes supply-running-tremble{
	0%,100%{translate:-.8px .45px}
	50%{translate:.8px -.45px}
}

/* 歯車3色を順番に使ったゴンドラ。写真は見切れる程度まで拡大する。 */
.entrance-supply-gondola{
	--gondola-frame:var(--supply-navy);
	--gondola-edge:#081a2d;
	border-color:var(--gondola-edge);
	background:var(--gondola-frame);
	box-shadow:0 7px 10px #0c26384c,0 0 0 2px #f8e6a666 inset;
}
.entrance-supply-gondola:nth-child(3n + 2){--gondola-frame:var(--supply-teal);--gondola-edge:#17484d}
.entrance-supply-gondola:nth-child(3n){--gondola-frame:var(--supply-gold);--gondola-edge:#6f5318}
.entrance-supply-gondola__clip{border-color:var(--gondola-edge);background:var(--gondola-frame)}
.entrance-supply-gondola__photo,
.entrance-supply-inspector__photo{
	position:relative;
	overflow:hidden;
}
.entrance-supply-gondola__photo{
	background-size:cover;
	background-position:center 45%;
	box-shadow:0 0 0 1px #fff8e899 inset;
}
.entrance-supply-gondola__photo.is-no-image::after,
.entrance-supply-inspector__photo.is-no-image::after{
	content:"No Image";
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	color:#173044aa;
	font:800 10px/1.1 ui-monospace,monospace;
	letter-spacing:.08em;
}

/* 商品情報の価格を中央へ揃える。 */
.entrance-supply-inspector__card{overflow:visible}
.entrance-supply-inspector__details{grid-template-columns:1fr auto 1fr}
.entrance-supply-inspector__details>strong{
	grid-column:2;
	justify-self:center;
	text-align:center;
}
.entrance-supply-inspector__details>del{grid-column:3}

@media(min-width:981px){
	/* PCだけゴンドラをもう一段大きくし、右側の商品票を上へ揃える。 */
	.entrance-supply-gondola{width:clamp(176px,30%,260px)}
	.entrance-supply-inspector{align-self:start;margin-top:-24px}
	.entrance-supply-inspector__caption em{margin-top:3px;font-size:13px}
	.entrance-supply-inspector__eyebrow{margin-bottom:5px;font-size:12px}
}

@media(max-width:620px){
	/* スマホでも商品写真を判別できる大きさを確保する。 */
	.entrance-supply-gondola{width:clamp(148px,46%,210px)}
	.entrance-supply-inspector__caption{bottom:2px}
}

/* v1.4.2 — 見出しを商品情報へ移動。商品送りは下段サムネイルの両端へ固定。 */
.entrance-supply-gear__layout{
	align-items:start;
}
.entrance-supply-inspector{
	margin-top:0;
}
.entrance-supply-inspector__heading{
	display:grid;
	gap:8px;
	margin:0 0 10px;
	padding-bottom:10px;
	border-bottom:3px solid var(--supply-ink);
}
.entrance-supply-inspector__heading p,
.entrance-supply-inspector__heading div{
	margin:0;
}
.entrance-supply-inspector__heading p{
	display:grid;
	gap:2px;
	padding:8px 10px;
	border-left:5px solid var(--supply-gold);
	background:#fff8e8;
	box-shadow:4px 4px 0 #163654;
}
.entrance-supply-inspector__heading p span,
.entrance-supply-inspector__heading p small,
.entrance-supply-inspector__heading div small{
	font:800 9px/1.15 ui-monospace,monospace;
	letter-spacing:.14em;
}
.entrance-supply-inspector__heading p b{
	font:900 clamp(30px,3.2vw,46px)/.9 Impact,"Arial Black",sans-serif;
	letter-spacing:.035em;
}
.entrance-supply-inspector__heading div{
	display:grid;
	justify-items:end;
	min-width:0;
	text-align:right;
}
.entrance-supply-inspector__heading div strong{
	display:block;
	max-width:100%;
	overflow:hidden;
	font-size:clamp(18px,2vw,28px);
	line-height:1.12;
	text-overflow:ellipsis;
	white-space:nowrap;
}

/* 破損時は偶数だけでなく、吊られている全ゴンドラを落とす。 */
.entrance-supply-gear[data-damage="4"] .entrance-supply-gondola:nth-child(4n + 1){--drop-x:-55px;--drop-rotate:-28deg;animation-delay:.02s!important}
.entrance-supply-gear[data-damage="4"] .entrance-supply-gondola:nth-child(4n + 2){--drop-x:32px;--drop-rotate:22deg;animation-delay:.10s!important}
.entrance-supply-gear[data-damage="4"] .entrance-supply-gondola:nth-child(4n + 3){--drop-x:-18px;--drop-rotate:-17deg;animation-delay:.17s!important}
.entrance-supply-gear[data-damage="4"] .entrance-supply-gondola:nth-child(4n){--drop-x:58px;--drop-rotate:31deg;animation-delay:.24s!important}
@media(max-width:620px){
	.entrance-supply-inspector__heading p b{font-size:32px}
}

/* v1.4.3 — 商品画像の4方向操作、ゴンドラ直接回転、残骸化。 */
/* PC/SPで右側ギアの大きさと位置を統一する。 */
.entrance-supply-machine__gears .inner-2{
	left:52%;
	top:34%;
	width:24%;
}
.entrance-supply-gondola{touch-action:none}

/* 主画像を囲む4方向の矢印だけで、商品軸とカラー軸を明示する。 */
.entrance-supply-inspector__card{
	cursor:grab;
	touch-action:none;
}
.entrance-supply-inspector__card:active{cursor:grabbing}
.entrance-supply-inspector__photo{
	position:absolute;
	left:12px;
	right:12px;
	top:12px;
	bottom:124px;
	width:auto;
	height:auto;
	overflow:visible;
}
.entrance-supply-inspector__photo-control{
	position:absolute;
	z-index:8;
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	padding:0;
	border:1px solid #102a49;
	background:#102a49;
	color:#fff8e8;
	box-shadow:2px 2px 0 #102a4966;
	font:900 18px/1 sans-serif;
	cursor:pointer;
	touch-action:manipulation;
	opacity:.32;
	transition:opacity .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.entrance-supply-inspector__photo-control:is(:hover,:focus-visible,:active){
	background:#102a49;
	color:#fff8e8;
	box-shadow:2px 2px 0 #102a49;
	opacity:1;
}
.entrance-supply-inspector__photo-control:focus-visible{
	outline:3px solid #fff;
	outline-offset:2px;
}
.entrance-supply-inspector__photo-control.is-left{
	left:-17px;
	top:50%;
	transform:translateY(-50%);
}
.entrance-supply-inspector__photo-control.is-right{
	right:-17px;
	top:50%;
	transform:translateY(-50%);
}
.entrance-supply-inspector__photo-control.is-up{
	left:50%;
	top:-17px;
	transform:translateX(-50%);
}
.entrance-supply-inspector__photo-control.is-down{
	left:50%;
	bottom:-17px;
	transform:translateX(-50%);
}
/* 下段はサムネイルだけ。商品送り矢印は主画像へ集約する。 */
.entrance-supply-inspector__products{
	width:100%;
	margin:10px 0 0;
}

/* 破損パーツは透明化せず、観覧車の下に残骸として留める。 */
.entrance-supply-gear[data-damage="4"] .entrance-supply-machine__outer{
	animation:supply-frame-break 1.25s cubic-bezier(.2,.7,.3,1) forwards;
}
.entrance-supply-gear[data-damage="4"] .entrance-supply-gondola{
	animation:supply-gondola-drop 1.25s cubic-bezier(.3,.2,.6,1) forwards!important;
}
@keyframes supply-frame-break{
	to{translate:0 48%;rotate:24deg;scale:.72;opacity:.92}
}
@keyframes supply-gear-left{
	to{translate:-165px 365px;rotate:-250deg;opacity:.94}
}
@keyframes supply-gear-right{
	to{translate:180px 375px;rotate:290deg;opacity:.94}
}
@keyframes supply-gear-down{
	to{translate:36px 390px;rotate:-190deg;opacity:.94}
}
@keyframes supply-gondola-drop{
	to{translate:var(--debris-x,0) var(--debris-y,360px);rotate:var(--debris-rotate,24deg);opacity:.96}
}

@media(max-width:620px){
	.entrance-supply-inspector__photo{left:9px;right:9px;top:9px;bottom:90px}
	.entrance-supply-inspector__photo-control{width:30px;height:30px;font-size:16px}
	.entrance-supply-inspector__photo-control.is-left{left:-15px}
	.entrance-supply-inspector__photo-control.is-right{right:-15px}
	.entrance-supply-inspector__photo-control.is-up{top:-15px}
	.entrance-supply-inspector__photo-control.is-down{bottom:-15px}
}

/* v1.4.4 — 操作矢印を写真外へ出し、空白を商品説明へ戻す。 */
.entrance-supply-machine{--wheel-top:0%}
.entrance-supply-machine__selection{bottom:11%}

.entrance-supply-inspector{padding:13px 15px 14px}
.entrance-supply-inspector__heading{
	gap:5px;
	margin-bottom:7px;
	padding-bottom:7px;
}
.entrance-supply-inspector__heading p{padding:6px 9px}
.entrance-supply-inspector__eyebrow{margin-bottom:6px}
.entrance-supply-inspector__card{
	width:min(100%,300px);
	aspect-ratio:.86;
	margin-bottom:8px;
	padding:0;
}
.entrance-supply-inspector__photo{
	left:40px;
	right:40px;
	top:42px;
	bottom:112px;
}
.entrance-supply-inspector__photo-control.is-left{left:-38px}
.entrance-supply-inspector__photo-control.is-right{right:-38px}
.entrance-supply-inspector__photo-control.is-up{top:-38px}
.entrance-supply-inspector__photo-control.is-down{bottom:-38px}

.entrance-supply-inspector__photo-control::after{
	content:attr(data-control-hint);
	position:absolute;
	z-index:20;
	display:block;
	width:max-content;
	max-width:150px;
	padding:5px 7px;
	border:1px solid var(--supply-ink);
	background:#102a49f2;
	box-shadow:2px 2px 0 #8ea0b3;
	color:#fff8e8;
	font:800 9px/1.15 ui-monospace,monospace;
	letter-spacing:.03em;
	opacity:0;
	pointer-events:none;
	transition:opacity .14s ease;
}
.entrance-supply-inspector__photo-control:is(:hover,:focus-visible)::after{opacity:1}
.entrance-supply-inspector__photo-control.is-left::after{
	right:calc(100% + 6px);
	top:50%;
	transform:translateY(-50%);
}
.entrance-supply-inspector__photo-control.is-right::after{
	left:calc(100% + 6px);
	top:50%;
	transform:translateY(-50%);
}
.entrance-supply-inspector__photo-control.is-up::after{
	left:50%;
	bottom:calc(100% + 6px);
	transform:translateX(-50%);
}
.entrance-supply-inspector__photo-control.is-down::after{
	left:50%;
	top:calc(100% + 6px);
	transform:translateX(-50%);
}
.entrance-supply-inspector__details{
	min-height:0;
	padding:8px 9px;
}
.entrance-supply-inspector__details>p{
	margin-top:2px;
	line-height:1.32;
	-webkit-line-clamp:4;
}
.entrance-supply-inspector__products{margin-top:6px}

@media(max-width:620px){
	.entrance-supply-machine{--wheel-top:0%}
	.entrance-supply-machine__selection{bottom:11%}
	.entrance-supply-inspector__card{
		width:230px;
		aspect-ratio:.82;
		padding:0;
	}
	.entrance-supply-inspector__photo{
		left:29px;
		right:29px;
		top:38px;
		bottom:92px;
	}
	.entrance-supply-inspector__photo-control.is-left{left:-31px}
	.entrance-supply-inspector__photo-control.is-right{right:-31px}
	.entrance-supply-inspector__photo-control.is-up{top:-32px}
	.entrance-supply-inspector__photo-control.is-down{bottom:-32px}
}
@media(hover:none){
	.entrance-supply-inspector__photo-control{opacity:.68}
	.entrance-supply-inspector__photo-control:active{opacity:1}
	.entrance-supply-inspector__photo-control::after{display:none}
}

/* v1.4.6 — 中心軸を固定し、スポーク長とゴンドラ軌道だけを可変径にする。 */
.entrance-supply-machine{
	--mechanism-size:min(87cqw,720px);
	--machine-axis-top:calc(var(--wheel-top) + var(--mechanism-size) * var(--wheel-axis-y-ratio));
}
.entrance-supply-machine__wheel,
.entrance-supply-machine__gondolas{
	top:calc(var(--machine-axis-top) - var(--wheel-size) * var(--wheel-axis-y-ratio));
}
.entrance-supply-machine__gears{
	top:calc(var(--machine-axis-top) - var(--mechanism-size) * var(--wheel-axis-y-ratio));
	width:var(--mechanism-size);
}
.entrance-supply-machine__support{
	top:var(--machine-axis-top);
	width:min(63cqw,520px);
}

/* 写真下はカラー名だけ。下矢印用の空間を確保し、商品名は詳細側へ移す。 */
.entrance-supply-inspector__photo{bottom:122px}
.entrance-supply-inspector__photo-control.is-down{bottom:-34px}
.entrance-supply-inspector__caption{bottom:12px}
.entrance-supply-inspector__caption em{
	margin:0;
	font:500 20px/1.2 sans-serif;
}
.entrance-supply-inspector__details{
	display:grid;
	grid-template-columns:1fr auto 1fr;
	gap:5px 10px;
	min-height:0;
	padding:9px 10px;
}
.entrance-supply-inspector__product-name{
	grid-column:1 / -1;
	display:block;
	overflow:hidden;
	font-size:18px;
	font-weight:700;
	line-height:1.25;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.entrance-supply-inspector__details>[data-product-status]{grid-column:1;grid-row:2}
.entrance-supply-inspector__details>[data-product-price]{grid-column:2;grid-row:2;justify-self:center}
.entrance-supply-inspector__details>[data-product-msrp]{grid-column:3;grid-row:2;justify-self:end}
.entrance-supply-inspector__details>[data-product-comment]{grid-column:1 / -1;grid-row:3}

@media(max-width:620px){
	.entrance-supply-inspector__photo{bottom:108px}
	.entrance-supply-inspector__photo-control.is-down{bottom:-32px}
	.entrance-supply-inspector__caption{bottom:11px}
	.entrance-supply-inspector__caption em{font-size:16px}
	.entrance-supply-inspector__product-name{font-size:15px}
}
