.installment {
	--u: 1px;
	position: relative;
	width: 750px;
	max-width: 100%;
	margin: 0 auto;
	background: #fff;
	color: #222;
}

.installment,
.installment *,
.installment *::before,
.installment *::after {
	box-sizing: border-box;
}

.installment img {
	display: block;
	max-width: 100%;
}

/* PC */
.promoContainer .installment {
	--u: 1px;
	width: 750px;
	max-width: 100%;
}

/* MO */
.contents.promotionType .installment {
	--u: calc(100vw / 750);
	width: calc(750 * var(--u)) !important;
	max-width: 750px;
}

@media screen and (min-width: 750px) {
	.contents.promotionType .installment {
		--u: 1px;
		width: 750px !important;
	}
}

.installment .visual {
	position: relative;
}

.installment .visual-text {
	position: absolute;
	top: calc(108 * var(--u));
	left: calc(52 * var(--u));
	z-index: 2;
}

.installment .visual-subtitle {
	margin: 0 0 calc(22 * var(--u));
	color: #000;
	font-size: calc(32 * var(--u));
	font-weight: 400;
	line-height: 130%;
	letter-spacing: calc(-1.2 * var(--u));
	white-space: nowrap;
}

.installment .visual-image {
	width: 100%;
	height: auto;
}

.installment .info {
	padding: calc(49 * var(--u)) 0;
	background: #fff;
}

.installment .info-content {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: calc(28 * var(--u));
	row-gap: calc(25 * var(--u));
	width: calc(100% - calc(172 * var(--u)));
	max-width: calc(480 * var(--u));
	margin: 0 auto;
}

.installment .info-row {
	display: contents;
}

.installment .info-label {
	margin: 0;
	text-align: left;
	color: #1e2023;
	font-size: calc(30 * var(--u));
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: calc(-1.2 * var(--u));
}

.installment .info-value {
	flex: 1;
	min-width: 0;
	margin: 0;
	text-align: left;
	color: #5a5b64;
	font-size: calc(30 * var(--u));
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: calc(-1.1 * var(--u));
	word-break: keep-all;
	overflow-wrap: normal;
	line-break: strict;
}

.installment .table-wrap {
	padding: 0 calc(48 * var(--u)) calc(78 * var(--u));
	background: #fff;
}

.installment .table {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-spacing: 0;
	border-collapse: collapse;
	table-layout: fixed;
	background: #f8f8f8;
}

.installment .table col:nth-child(1) {
	width: 27%;
}

.installment .table col:nth-child(2) {
	width: 35%;
}

.installment .table col:nth-child(3) {
	width: 38%;
}

.installment .table th,
.installment .table td {
	margin: 0;
	border: 0;
	border-right: calc(1 * var(--u)) solid #ddd;
	border-bottom: calc(1 * var(--u)) solid #d5d5d5;
	text-align: center;
	vertical-align: middle;
}

.installment .table th {
	border-color: #585858;
}

.installment .table th:last-child,
.installment .table td:last-child {
	border-right: 0;
}

.installment .table thead th {
	height: calc(120 * var(--u));
	padding: calc(15 * var(--u)) calc(10 * var(--u));
	background: #585858;
	color: #fff !important;
	font-size: calc(26 * var(--u));
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: calc(-1 * var(--u));
	word-break: keep-all;
	overflow-wrap: normal;
}

/* 테이블 본문 */
.installment .table tbody tr {
	min-height: calc(100 * var(--u));
}

.installment .table tbody td {
	height: calc(100 * var(--u));
	padding: calc(18 * var(--u)) calc(8 * var(--u));
	border-right-color: #fff;
	background: #f9f9f9;
	color: #555;
	font-size: calc(25 * var(--u));
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: calc(-1.2 * var(--u));
	word-break: keep-all;
	overflow-wrap: normal;
	line-break: strict;
	white-space: normal;
}

.installment .table tbody td.card {
	background: #fff;
}

.installment .table tbody td.card .card-name {
	font-size: calc(24 * var(--u));
	color: #373737;
	font-weight: 600;
}

.installment .table tbody tr:last-child td {
	border-bottom: calc(1 * var(--u)) solid #d7d7d7;
}

.installment .interest-free,
.installment .slim {
	padding-left: calc(7 * var(--u)) !important;
	padding-right: calc(7 * var(--u)) !important;
	word-break: keep-all;
	overflow-wrap: normal;
	line-break: strict;
	white-space: normal;
}

.installment .card {
	color: #333 !important;
	font-weight: 600 !important;
}

.installment .card-content {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(12 * var(--u));
	width: 100%;
}

.installment .logo {
	display: block;
	flex: 0 0 auto;
	width: calc(64 * var(--u));
	object-fit: contain;
}

.installment .card-name {
	display: block;
	flex: 0 0 auto;
	white-space: nowrap;
}
