:root {
	/* カラーパレット */
	--WHITE: #ffffff;
	--WHITE_OP50: rgba(255, 255, 255, 0.5);
	--WHITE_OP30: rgba(255, 255, 255, 0.3);
	--BLACK: #000000;

	--GRAY01: #f0f0f0;
	--GRAY01_OP60: rgba(240, 240, 240, 0.6);
	--GRAY02: #cbcbcb;
	--GRAY02_OP80: rgba(203, 203, 203, 0.8);
	--GRAY03: #868686;
	--GRAY04: #b1b5bf;
	--GRAY05: #aaaaaa;
	--GRAY06: #707070;
	--GRAY07: #fcfcfc;
	--GRAY08: #717171;
	--GRAY09: #a7a7a7;

	--DARK01: #1f1e1e;
	--DARK02: #3e3e3e;
	--DARK03: #222222;

	--BLUE01: #12445b;
	--BLUE01_OP90: rgba(18, 68, 91, 0.9);
	--BLUE01_OP80: rgba(18, 68, 91, 0.8);
	--BLUE01_OP70: rgba(18, 68, 91, 0.7);
	--BLUE01_OP10: rgba(18, 68, 91, 0.1);

	--BLUE02: #e7ecef;

	--GOLD01: #a8a17c;
	--GOLD01_OP20: rgba(168, 161, 124, 0.2);

	--YELLOW01: #ffeb00;

	--PINK01: #f8cfdf;

	--GREEN01: #dbef9e;
	--GREEN02: #295731;

	--ORANGE01: #f7cbab;

	--RED01: #a20000;
	--RED02: #a87c7c;
	--RED03: #a00000;

	--BROWN01: #a3762c;

	--PURPLE01: #664271;

	/* テーマカラー */
	--THEME_COLOR_1: var(--BLUE01);

	/* テキストカラー */
	--TXT_COLOR_BASE: var(--DARK01);
	--TXT_COLOR_WHITE: var(--WHITE);
	--TXT_COLOR_GRAY: var(--GRAY03);
	--TXT_COLOR_GOLD: var(--GOLD01);
	--TXT_COLOR_RED: var(--RED01);
	--TXT_BGCOLOR_BROWN_1: var(--BROWN01);
	--TXT_BGCOLOR_YELLOW_1: var(--YELLOW01);
	--TXT_BGCOLOR_GREEN_1: var(--GREEN01);

	/* ボーダーカラー */
	--BDCOLOR_BLUE_1: var(--BLUE01);
	--BDCOLOR_GRAY_1: var(--GRAY02);
	--BDCOLOR_GRAY_2: var(--GRAY05);
	--BDCOLOR_GRAY_3: var(--GRAY06);
	--BDCOLOR_WHITE_1: var(--WHITE_OP30);

	/* 背景カラー */
	--BGCOLOR_GRAY_1: var(--GRAY01);
	--BGCOLOR_GRAY_2: var(--GRAY01_OP60);
	--BGCOLOR_GOLD_1: var(--GOLD01_OP20);
	--BGCOLOR_BLUE_1: var(--BLUE01_OP10);

	/* マスクカラー */
	--MASK_GRAY_1: var(--GRAY02_OP80);

	/* ランキングカラー */
	--RANKING_1ST: var(--GOLD01);
	--RANKING_2ND: var(--GRAY04);
	--RANKING_3RD: var(--RED02);
	--RANKING_OTHER: var(--THEME_COLOR_1);

	/* 共通角丸 */
	--COMMON_BDRS_S: 5px;
	--COMMON_BDRS_M: 10px;
	--COMMON_BDRS_L: 20px;

	/* 共通ボックス影 */
	--COMMON_BXSD: 0px 0px 15px -5px var(--GRAY02);
	--COMMON_BXSD_BTM: 0px 5px 15px -5px var(--GRAY02);

	/* ベースフォント */
	--FF_BASE: "Open Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ",
		Meiryo, sans-serif;
	/* 英数字フォント */
	--FF_EN: "Crimson Text", serif;
	--FF_NUM: var(--FF_BASE);
	--FF_SERIF: "Noto Serif JP", serif;
	--FF_LATO: "Lato", sans-serif;

	/* フォントウェイト */
	--FF_WEIGHT_BASE: var(--FF_W_R);
	--FF_W_R: 400;
	--FF_W_M: 500;
	--FF_W_B: 700;

	/* アニメーション */
	--ANIME_FADEIN: fadeIn 0.5s ease-in-out 0s forwards;
	--ANIME_FADEOUT: fadeOut 0.5s ease-in-out 0s forwards;

	/* フォトサイズ */
	--FZ_10: clamp(9px, 1vw, 10px);
	--FZ_11: clamp(10px, 1.1vw, 11px);
	--FZ_12: clamp(10px, 1.1vw, 12px);
	--FZ_13: clamp(11px, 1vw, 13px);
	--FZ_14: clamp(12px, 1.2vw, 14px);
	--FZ_15: clamp(13px, 1.4vw, 15px);
	--FZ_16: clamp(14px, 1.5vw, 16px);
	--FZ_18: clamp(15px, 1.6vw, 18px);
	--FZ_20: clamp(16px, 1.8vw, 20px);
	--FZ_22: clamp(18px, 2vw, 22px);
	--FZ_24: clamp(20px, 2vw, 24px);
	--FZ_25: clamp(20px, 2vw, 25px);
	--FZ_27: clamp(22px, 2.5vw, 27px);
	--FZ_28: clamp(22px, 2.5vw, 28px);
	--FZ_30: clamp(25px, 3vw, 30px);
	--FZ_35: clamp(25px, 3vw, 35px);
	--FZ_36: clamp(25px, 3vw, 36px);
	--FZ_38: clamp(30px, 3.5vw, 38px);
	--FZ_40: clamp(30px, 3.5vw, 40px);
	--FZ_43: clamp(30px, 4vw, 43px);
	--FZ_50: clamp(30px, 4vw, 50px);
	--FZ_60: clamp(40px, 5vw, 60px);
	--FZ_70: clamp(50px, 6vw, 70px);
	--FZ_10_CONST: 10px;
	--FZ_11_CONST: 11px;
	--FZ_12_CONST: 12px;
	--FZ_13_CONST: 13px;
	--FZ_14_CONST: 14px;
	--FZ_15_CONST: 15px;
	--FZ_16_CONST: 16px;
	--FZ_18_CONST: 18px;
	--FZ_20_CONST: 20px;
	--FZ_22_CONST: 22px;
	--FZ_26_CONST: 26px;
	--FZ_28_CONST: 28px;
	--FZ_30_CONST: 30px;

	/* 行間 */
	--LINE_HEIGHT_S: 1.5;
	--LINE_HEIGHT_M: 1.7;
	--LINE_HEIGHT_L: 2;

	/* ブロック間 */
	--GAP_10: clamp(5px, 1.1vw, 10px);
	--GAP_15: clamp(10px, 1.2vw, 15px);
	--GAP_20: clamp(15px, 1.7vw, 20px);
	--GAP_25: clamp(15px, 1.7vw, 25px);
	--GAP_35: clamp(20px, 2.5vw, 35px);
	--GAP_30: clamp(20px, 2.5vw, 30px);
	--GAP_40: clamp(30px, 3.5vw, 40px);
	--GAP_50: clamp(30px, 3.5vw, 50px);
	--GAP_60: clamp(40px, 4.5vw, 60px);
	--GAP_65: clamp(50px, 5.5vw, 65px);
	--GAP_75: clamp(60px, 6.5vw, 75px);
	--GAP_80: clamp(50px, 5.5vw, 80px);
	--GAP_5_CONST: 5px;
	--GAP_10_CONST: 10px;
	--GAP_15_CONST: 15px;
	--GAP_20_CONST: 20px;
	--GAP_30_CONST: 30px;
	--GAP_40_CONST: 40px;

	/* マージン */
	--MG_5: 5px;
	--MG_10: 10px;
	--MG_15: 15px;
	--MG_20: 20px;
	--MG_30: 30px;
	--MG_40: 40px;
	--MG_50: 50px;
	--MG_60: 60px;
	--MG_80: 80px;

	/* PCマックス幅 */
	--PC_MAX_WIDTH: var(--PC_MAX_WIDTH_M);
	--PC_MAX_WIDTH_SSS: 610px;
	--PC_MAX_WIDTH_SS: 800px;
	--PC_MAX_WIDTH_S: 1000px;
	--PC_MAX_WIDTH_M: 1200px;
	--PC_MAX_WIDTH_L: 1440px;

	/* セクション間隔半分 */
	--GENERALSEC_HALF: calc(var(--GENERALSEC) / 2);

	--WISH_COLOR: #d42929;
	--FS_BTN_COLOR_1: var(--THEME_COLOR_1);
	--FS_BTN_COLOR_2: var(--BGCOLOR_BLUE_1);
	--REVIEW_COLOR: #edc622;
}

.popupNewBodyClass {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 85%;
	max-width: 500px;
	display: block;
	background-color: #fff;
	border: 1px solid #ccc;
	z-index: 2147483647;
	margin: 5px;
	padding: 30px;
	font-size: 1.1rem;
	display: none;
}
.popup_close_linkContainer {
	position: absolute;
	top: 0;
	right: 0;
}
.popup_close_linkContainer a {
	display: block;
	width: 48px;
	aspect-ratio: 1 / 1;
	background: url(../images/close_2.png) no-repeat center center / 30%;
}
.c-cart-in-popup__title {
	font-weight: bold;
	font-size: 1.5rem;
}
.c-cart-in-popup__main {
	max-height: 500px;
	overflow-y: scroll;
}
#js-cart-in-list {
	max-height: 200px;
	overflow-y: scroll;
}
li.c-cart-in-popup__item {
	border-bottom: 1px solid #ccc;
	padding: 10px 0;
}
.c-cart-in-popup__subtotal {
	font-size: var(--FZ_18);
	text-align: right;
	font-weight: bold;
	padding: 20px 0 10px;
}
.c-cart-in-popup__btn-wrapper {
	display: grid;
	gap: 10px;
}
.c-cart-in-popup__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 300px;
	min-height: 50px;
	margin-inline: auto;
	border: none;
	outline: none;
	border-radius: 6px;
	text-align: center;
	font-weight: 400;
	letter-spacing: 0.1em;
	cursor: pointer;
	font-size: 14px;
	@media (hover: hover) {
		transition: 0.5s;
		&:hover {
			filter: brightness(0.8);
		}
	}
}

.c-cart-in-popup__btn--goCart {
	background-color: #95a636;
	color: var(--c-white) !important;
}

.c-cart-in-popup__btn--continue {
	background-color: #231815;
	color: var(--c-white);
}

.c-cart-in-popup__header {
	margin-bottom: var(--GAP_10);
}
.c-cart-in-popup__title {
	text-align: center;
	font-family: "mfw-pkizakinryoustdn-bold", serif;
	font-size: 21px;
	color: var(--txt-c-base);
	padding-bottom: 8px;
	border-bottom: 1px solid var(--txt-c-base);
}
.c-cart-in-popup__item .fs-c-cartTable__product {
	display: grid;
	gap: 15px;
}
.c-cart-in-popup__item .fs-c-productImage {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	padding-right: 0;
}
.c_cart_popup__title {
	font-size: var(--FZ_16);
	margin: var(--GAP_30) 0 var(--GAP_10);
	font-weight: 600;
}
.c-cart-in-popup .fs-c-productPrice__main span.fs-c-price__currencyMark {
	font-size: 13px;
}
.c-cart-in-popup .fs-c-price__value {
	font-size: 16px;
}
.c-cart-in-popup .fs-c-productPrice__addon {
	font-size: 11px;
	margin-left: 5px;
}
.c-cart-in-popup-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 50%);
}

@media screen and (min-width: 768px) {
	.c-cart-in-popup__btn-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
	.c-cart-in-popup .fr3-productListStatic__responsive_1 {
		grid-template-columns: repeat(3, 1fr);
	}
	.c-cart-in-popup .fr3-productListStatic__responsive_1 .fr3-item:nth-of-type(n + 5) {
		display: none;
	}
	.c-cart-in-popup__item .fs-c-cartTable__product {
		grid-template-columns: 130px 1fr;
	}
}
@media screen and (max-width: 767px) {
	.c-cart-in-popup .fr3-productListStatic__responsive_1 {
		grid-template-columns: repeat(2, 1fr);
	}
	.c-cart-in-popup__btn {
		padding: 13px 0px 12px;
	}
	.c-cart-in-popup__item .fs-c-cartTable__product {
		grid-template-columns: 80px 1fr;
	}
	.c-cart-in-popup .fs-c-cartTable__productName__name,
	.c-cart-in-popup .fs-c-listedProductName__name,
	.c-cart-in-popup .fr3-item__productName {
		line-height: 1.6;
	}
}
