.p-lifting {
	--lifting-blue: #0065b4;
	--lifting-blue-dark: #00447a;
	--lifting-blue-soft: #eef6fb;
	--lifting-border: #d7e1e8;
	--lifting-text-sub: #54585a;
}

.p-lifting-hero {
	min-height: 220px;
	background:
		linear-gradient(120deg, rgba(0, 68, 122, .96), rgba(0, 101, 180, .82)),
		linear-gradient(30deg, transparent 0 45%, rgba(255, 255, 255, .08) 45% 48%, transparent 48% 100%);
}

.p-lifting .c-section__content > p:first-child { margin-top: 0; }

.p-lifting .c-box--white {
	padding: 28px 32px;
	border: 1px solid var(--lifting-border);
	border-radius: 8px;
	background: #fff;
}

.p-lifting-accordion {
	margin-top: 20px;
	border: 1px solid var(--lifting-border);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.p-lifting-accordion__summary {
	position: relative;
	padding: 20px 56px 20px 24px;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.6;
	color: var(--lifting-blue-dark);
	cursor: pointer;
	list-style: none;
	background: var(--lifting-blue-soft);
}

.p-lifting-accordion__summary::-webkit-details-marker { display: none; }

.p-lifting-accordion__summary::before,
.p-lifting-accordion__summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 24px;
	width: 18px;
	height: 2px;
	background: var(--lifting-blue);
	transform: translateY(-50%);
}

.p-lifting-accordion__summary::after {
	transform: translateY(-50%) rotate(90deg);
	transition: transform .2s ease;
}

.p-lifting-accordion[open] .p-lifting-accordion__summary::after {
	transform: translateY(-50%) rotate(0deg);
}

.p-lifting-accordion__summary:focus-visible {
	outline: 3px solid #ffc000;
	outline-offset: -3px;
}

.p-lifting-accordion__body { padding: 24px; }

.p-lifting-scroll-note {
	margin: 0 0 12px;
	font-size: 1.4rem;
	color: var(--lifting-text-sub);
}

.p-lifting-table-scroll {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--lifting-border);
	border-radius: 6px;
}

.p-lifting-table {
	width: 100%;
	min-width: 720px;
	margin: 0;
	border-collapse: collapse;
	background: #fff;
}

.p-lifting-table--flag {
	min-width: 1040px;
	table-layout: fixed;
}

.p-lifting-table__col-flag { width: 220px; }
.p-lifting-table__col-status { width: 180px; }
.p-lifting-table__col-summary { width: auto; }

.p-lifting-table--flag tr > :nth-child(1) { width: 220px; min-width: 220px; }
.p-lifting-table--flag tr > :nth-child(2) { width: 180px; min-width: 180px; }
.p-lifting-table--flag tr > :nth-child(3) { width: auto; }

.p-lifting-table th,
.p-lifting-table td {
	padding: 14px 16px;
	vertical-align: top;
	line-height: 1.65;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
}

.p-lifting-table tr:first-child > th {
	background: var(--lifting-blue);
	color: #fff;
}

.p-lifting-table tbody th {
	background: #f4f7f9;
	color: #222;
}

.p-lifting-table .txtCenter { text-align: center; }
.p-lifting-table .txtLeft { text-align: left; }
.p-lifting-table .fontRed { color: #d64541; }
.p-lifting-table .equal-justify-nolast { display: inline; }

.p-lifting .c-list {
	margin: 8px 0 0;
	padding-left: 1.5em;
}

.p-lifting-note-block {
	margin-top: 12px;
	padding: 14px 16px;
	background: #f7f9fa;
	border-left: 4px solid var(--lifting-blue);
}

.p-lifting-note-block__heading {
	margin: 0 0 6px;
	font-weight: 700;
}

.p-lifting-alpha-list p { margin: 6px 0; }

@media (max-width: 767px) {
	.p-lifting-hero { min-height: 170px; }
	.p-lifting .c-box--white { padding: 20px; }

	.p-lifting-accordion__summary {
		padding: 15px 46px 15px 16px;
		font-size: 16px;
		line-height: 1.55;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.p-lifting-accordion__summary::before,
	.p-lifting-accordion__summary::after {
		right: 16px;
		width: 16px;
	}

	.p-lifting-accordion__body { padding: 12px; }
	.p-lifting-scroll-note { display: none; }

	.p-lifting-table-scroll {
		overflow: visible;
		border: 0;
		border-radius: 0;
	}

	.p-lifting-table,
	.p-lifting-table--flag {
		display: block;
		width: 100%;
		min-width: 0;
		table-layout: auto;
		background: transparent;
	}

	.p-lifting-table colgroup { display: none; }
	.p-lifting-table tbody { display: block; }
	.p-lifting-table tbody > tr:first-child { display: none; }

	.p-lifting-table tbody > tr {
		display: block;
		margin: 0 0 14px;
		border: 1px solid var(--lifting-border);
		border-radius: 6px;
		background: #fff;
		overflow: hidden;
	}

	/* Each field is stacked vertically. This preserves usable text width for long content. */
	.p-lifting-table tbody > tr > th,
	.p-lifting-table tbody > tr > td,
	.p-lifting-table--flag tbody > tr > th:nth-child(n),
	.p-lifting-table--flag tbody > tr > td:nth-child(n) {
		display: block;
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		padding: 12px 14px;
		border: 0;
		border-bottom: 1px solid var(--lifting-border);
		font-size: 14px;
		line-height: 1.7;
		text-align: left;
		white-space: normal;
		word-break: normal;
		overflow-wrap: break-word;
		background: #fff;
		color: #222;
	}

	.p-lifting-table tbody > tr > :last-child { border-bottom: 0; }

	.p-lifting-table tbody > tr > th::before,
	.p-lifting-table tbody > tr > td::before {
		content: attr(data-label);
		display: block;
		margin: -12px -14px 10px;
		padding: 8px 14px;
		font-size: 13px;
		font-weight: 700;
		line-height: 1.45;
		color: var(--lifting-blue-dark);
		background: var(--lifting-blue-soft);
		border-bottom: 1px solid var(--lifting-border);
		word-break: normal;
		overflow-wrap: break-word;
	}

	.p-lifting-table tbody > tr > th[data-label] {
		font-weight: 700;
	}

	.p-lifting-table .txtCenter,
	.p-lifting-table .txtLeft { text-align: left; }

	.p-lifting-table .c-list {
		display: block;
		width: auto;
		margin: 8px 0 0;
		padding-left: 1.4em;
	}

	.p-lifting-table .c-list li {
		padding-left: .15em;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.p-lifting-table p,
	.p-lifting-table div,
	.p-lifting-table span,
	.p-lifting-table strong {
		max-width: 100%;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.p-lifting-table a {
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.p-lifting-note-block {
		padding: 12px;
	}
}

@media print {
	.p-lifting-accordion { break-inside: avoid; }
	.p-lifting-accordion__body { display: block !important; }
	.p-lifting-table-scroll { overflow: visible; border: 0; }
	.p-lifting-table,
	.p-lifting-table--flag { min-width: 0; }
}
