.kdd-table-wrap,
.kdd-chart-lineup,
.kdd-chart-layout {
	margin: 1.5em 0;
}

.kdd-chart-lineup .kdd-chart-wrap,
.kdd-chart-layout .kdd-chart-wrap {
	margin: 0;
}

.kdd-lineup-slot {
	display: none !important;
}

/* Theme .info-perform-lineup 外の単独半分幅フォールバック */
@media (min-width: 768px) {
	.kdd-chart-lineup .info-perform-lineup__item.is-half-pc {
		flex: 0 0 520px;
		max-width: 520px;
		padding-top: 0;
		padding-bottom: 30px;
		box-sizing: border-box;
	}

	.kdd-chart-layout--full > .info-perform-lineup__item {
		width: 100%;
	}
}

/*
 * Plugin tables: override theme .c-table01 (PC: 29px/50–60px padding, th width 320px).
 * Match admin-preview density; avoid row-header / thead text wrapping from excess width.
 */
.kdd-table-wrap .c-table01 th,
.kdd-table-wrap .c-table01 td,
.kdd-table-wrap .c-table01 .kdd-table__cell {
	padding: 12px 16px;
	line-height: 1.6;
	vertical-align: middle;
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	max-width: none;
}

.kdd-table-wrap .c-table01 th {
	background: rgba(242, 242, 242, 0.4);
	font-weight: 700;
}

/* Row header column (th): keep labels on one line when possible */
.kdd-table-wrap .c-table01 tbody th.kdd-table__cell {
	white-space: nowrap;
}

@media all and (max-width: 767px) {
	.kdd-table-wrap .c-table01 table,
	.kdd-table-wrap .c-table01 tbody,
	.kdd-table-wrap .c-table01 tr,
	.kdd-table-wrap .c-table01 th,
	.kdd-table-wrap .c-table01 td {
		display: revert;
		width: auto;
		box-sizing: border-box;
	}

	.kdd-table-wrap .c-table01 table {
		display: table;
		width: max-content;
		min-width: 100%;
		border-collapse: collapse;
	}

	.kdd-table-wrap .c-table01 tbody {
		display: table-row-group;
	}

	.kdd-table-wrap .c-table01 tr {
		display: table-row;
	}

	.kdd-table-wrap .c-table01 th,
	.kdd-table-wrap .c-table01 td {
		display: table-cell;
	}

	.kdd-table-wrap .kdd-table-scroll__wrapper,
	.kdd-chart-wrap .kdd-chart-scroll__wrapper {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.kdd-chart-wrap .kdd-chart.js-scrollable {
		min-width: 100%;
		width: max-content;
	}

	.kdd-chart-wrap .kdd-chart__canvas {
		display: block;
		min-width: 480px;
		max-width: none;
	}
}

@media all and (min-width: 768px) {
	.kdd-table-wrap .c-table01 th,
	.kdd-table-wrap .c-table01 td,
	.kdd-table-wrap .c-table01 .kdd-table__cell {
		padding: 14px 20px;
	}

	.kdd-table-wrap .c-table01 tbody th.kdd-table__cell {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.kdd-table__cell--align-left {
	text-align: left;
}

.kdd-table__cell--align-right {
	text-align: right;
}

.kdd-table__caption,
.kdd-chart__caption {
	margin: 0.75em 0;
	font-size: 0.9em;
}

/* Align with theme .info-perform-lineup__tit (kyoritsu-corporate) */
.kdd-chart__title {
	margin: 0 0 8px;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
}

/* 旧 Y 軸ラベル相当（12px・#666）— タイトル直下 */
.kdd-chart__subtitle {
	margin: 0;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	color: #666;
}

@media all and (min-width: 768px) {
	.kdd-chart__title {
		margin-bottom: 10px;
		font-size: 2rem;
	}
}

.kdd-chart__canvas {
	max-width: 100%;
	height: auto !important;
}

.kdd-error {
	color: #b32d2e;
}
