.cart-step-nav {
	margin: 0 auto 28px;
	padding: 0;
	display: flex;
	justify-content: center;
	counter-reset: progress_num;
	list-style-type: none;
}

.cart-step-nav>li {
	width: 11em;
}

.cart-step-nav__thumb {
	position: relative;
	z-index: 1;
}

.cart-step-nav__thumb span {
	counter-increment: progress_num;
	display: flex;
	position: relative;
	width: 43px;
	aspect-ratio: 1;
	margin-inline: auto;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
}

#fs_ShoppingCart,
#fs_ShoppingCartSubscribe {
	--step_color01: var(--fs-color-maincolor__font);
}

#fs_CustomerDetails,
#fs_CustomerDetailsSubscribe {
	--step_color02: var(--fs-color-maincolor__font);
}

#fs_CheckoutWithMultiAddress,
#fs_Checkout,
#fs_CheckoutV2,
#fs_CheckoutWithSubscribe,
#fs_CheckoutWithAmazon {
	--step_color03: var(--fs-color-maincolor__font);
}

#fs_CheckoutSuccess,
#fs_CheckoutSuccessSubscribe {
	--step_color04: var(--fs-color-maincolor__font);
}

.cart-step-nav>li:nth-child(1) .cart-step-nav__thumb span {
	background-color: var(--step_color01, var(--GRAY_8));
}

.cart-step-nav>li:nth-child(2) .cart-step-nav__thumb span {
	background-color: var(--step_color02, var(--GRAY_8));
}

.cart-step-nav>li:nth-child(3) .cart-step-nav__thumb span {
	background-color: var(--step_color03, var(--GRAY_8));
}

.cart-step-nav>li:nth-child(4) .cart-step-nav__thumb span {
	background-color: var(--step_color04, var(--GRAY_8));
}

#fs_CheckoutSuccess .cart-step-nav>li:nth-child(4) .cart-step-nav__thumb span,
#fs_CheckoutSuccessSubscribe .cart-step-nav>li:nth-child(4) .cart-step-nav__thumb span {
	background-color: var(--fs-color-font--productPrice, var(--GRAY_8));
}

#fs_ShoppingCart .step_1,
#fs_ShoppingCartSubscribe .step_1,
#fs_CustomerDetails .step_2,
#fs_CustomerDetailsSubscribe .step_2,
#fs_Checkout .step_3,
#fs_CheckoutWithMultiAddress .step_3,
#fs_CheckoutWithSubscribe .step_3,
#fs_CheckoutWithAmazon .step_3,
#fs_CheckoutSuccess .step_4,
#fs_CheckoutSuccessSubscribe .step_4 {
	font-weight: 700;
}

#fs_CheckoutSuccess .step_4,
#fs_CheckoutSuccessSubscribe .step_4 {
	color: var(--fs-color-font--productPrice);
}

#fs_CheckoutSuccess .step_4::after,
#fs_CheckoutSuccessSubscribe .step_4::after {
  content: '！';
}

main:has(.fs-c-noResultMessage) .cart-step-nav {
	display: none;
}

.cart-step-nav__thumb span:after {
	content: counter(progress_num);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--fs-color-maincolor);
}

.cart-step-nav>li:not(:nth-child(4)) .cart-step-nav__thumb:before {
	content: "";
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 50%;
	left: 100%;
	content: '';
	background-image: linear-gradient(to right, var(--fs-color-maincolor__font), var(--fs-color-maincolor__font) 2px, transparent 3px, transparent 4px);
	background-size: 2px 1px;
	background-repeat: repeat-x;
	height: 1px;
	z-index: -1;
}

.cart-step-nav__ttl {
	text-align: center;
	font-size: clamp(10px, 1.4vw, 14px);
}
