/* ---------------------------------------------------------------------- */
/* 汎用 */
/* ---------------------------------------------------------------------- */

/* ベース */
.main-list,
.sub-list {
	padding: 40px 20px;
}

@container (min-width: 769px) {

	/* ベース */
	.main-list,
	.sub-list {
		padding: 70px 20px;
	}

}

/* ---------------------------------------------------------------------- */
/* 上のリスト */
/* ---------------------------------------------------------------------- */

/* 見出し */
.main-list h2 {
	border-bottom: 1px solid var(--bk);
	color: var(--bk);
	font-size: 20px;
	margin: auto;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

@container (min-width: 769px) {

	/* 見出し */
	.main-list h2 {
		font-size: 26px;
		margin-bottom: 40px;
		max-width: var(--content-w);
	}

}

/* ---------------------------------------------------------------------- */
/* 受講料テーブル */
/* ---------------------------------------------------------------------- */

/* 外枠（角丸のクリップとシャドウ用） */
.tuition-table-area {
	border-radius: var(--r-md);
	box-shadow: var(--sh-l);
	margin: auto;
	max-width: var(--content-w);
	overflow: hidden;
}

/* テーブル共通 */
.tuition-table {
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.tuition-table th,
.tuition-table td {
	background-color: var(--wh);
	color: var(--bk);
	font-weight: 500;
	vertical-align: middle;
}

/* 背景の交互塗り分け */
.tuition-table .is-gray {
	background-color: var(--gy);
}

/* 同一種目内の分割行だけに引く横罫線 */
.tuition-table .is-sub {
	border-top: 1px solid var(--gy-ln);
}

/* 備考 */
.tuition-table__remark-note {
	display: block;
}

/* SP専用テーブル */
.tuition-table--pc {
	display: none;
}

.tuition-table--sp .tuition-table__col-label {
	width: 25%;
}

.tuition-table--sp .tuition-table__col-value {
	width: 37.5%;
}

.tuition-table--sp .tuition-table__col-remark {
	width: 37.5%;
}

.tuition-table--sp th,
.tuition-table--sp td {
	font-size: 14px;
	line-height: 20px;
	padding: 14px 10px;
}

.tuition-table--sp .tuition-table__name {
	color: var(--wh);
	font-weight: 600;
	padding: 14px 15px;
	text-align: left;
}

.tuition-table--sp .tuition-table__name.is-violet {
	background-color: var(--pp);
}

.tuition-table--sp .tuition-table__name.is-blue {
	background-color: var(--bl);
}

.tuition-table--sp .tuition-table__label {
	border-right: 1px solid var(--gy-ln);
	text-align: center;
}

.tuition-table--sp .tuition-table__days,
.tuition-table--sp .tuition-table__fee {
	padding-left: 15px;
	text-align: left;
}

.tuition-table--sp .tuition-table__remark {
	border-left: 1px solid var(--gy-ln);
	padding: 14px 15px;
	text-align: left;
}

.tuition-table--sp .tuition-table__remark-note {
	font-size: 12px;
	line-height: 18px;
}

@container (min-width: 769px) {

	/* PC専用テーブル */
	.tuition-table--sp {
		display: none;
	}

	.tuition-table--pc {
		display: table;
	}

	/* 列幅 */
	.tuition-table__col-name {
		width: 20%;
	}

	.tuition-table__col-cond {
		width: 15%;
	}

	.tuition-table__col-days {
		width: 10%;
	}

	.tuition-table__col-fee {
		width: 20%;
	}

	.tuition-table__col-remark {
		width: 35%;
	}

	/* セル共通 */
	.tuition-table--pc th,
	.tuition-table--pc td {
		font-size: 18px;
		line-height: 30px;
		padding: 11px 10px;
		text-align: center;
	}

	/* 見出し */
	.tuition-table th.tuition-table__head {
		color: var(--wh);
		font-size: 20px;
		font-weight: 600;
		line-height: 36px;
		padding: 16px 10px;
	}

	.tuition-table__head:nth-child(odd) {
		background-color: var(--pp);
	}

	.tuition-table__head:nth-child(even) {
		background-color: var(--bl);
	}

	/* 縦罫線 */
	.tuition-table--pc tbody th,
	.tuition-table--pc tbody td {
		border-right: 1px solid var(--gy-ln);
	}

	/* 備考 */
	.tuition-table--pc tbody td.tuition-table__remark {
		border-right: 0;
		padding: 11px 20px;
		text-align: left;
	}

	.tuition-table--pc .tuition-table__remark-note {
		font-size: 16px;
	}

}

/* ---------------------------------------------------------------------- */
/* 下のリスト */
/* ---------------------------------------------------------------------- */

/* ベース */
.sub-list {
	background-color: var(--gy);
}

/* 注釈 */
.nontes-area {
	margin-top: 40px;
}

.notes {
	font-size: 14px;
	line-height: 20px;
}

@container (min-width: 769px) {

	/* 注釈 */
	.nontes-area {
		gap: 4px;
		margin: auto;
		margin-top: 70px;
		max-width: var(--content-w);
	}

	.notes {
		font-size: 16px;
		line-height: 30px;
	}

}

/* ---------------------------------------------------------------------- */
/* 協力団体テーブル */
/* ---------------------------------------------------------------------- */

/* テーブル共通 */
.partner-table {
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

.partner-table th,
.partner-table td {
	background-color: var(--wh);
	color: var(--bk);
	font-weight: 500;
	vertical-align: middle;
}

.partner-table .is-gray {
	background-color: var(--gy);
}

.partner-table .is-sub {
	border-top: 1px solid var(--gy-ln);
}

/* タイトル帯 */
.partner-table th.partner-table__title {
	background-color: var(--pp);
	color: var(--wh);
	font-weight: 600;
	letter-spacing: 0.2em;
}

/* SP専用テーブル */
.partner-table--pc {
	display: none;
}

.partner-table--sp .partner-table__col-days {
	width: 24%;
}

.partner-table--sp .partner-table__col-fee {
	width: 31%;
}

.partner-table--sp .partner-table__col-note {
	width: 45%;
}

.partner-table--sp th,
.partner-table--sp td {
	font-size: 16px;
	line-height: 22px;
	padding: 11px 10px;
}

.partner-table--sp .partner-table__title {
	font-size: 16px;
	text-align: center;
}

.partner-table--sp .partner-table__name {
	color: var(--wh);
	font-weight: 600;
	text-align: left;
}

.partner-table--sp .partner-table__name.is-blue {
	background-color: var(--bl);
}

.partner-table--sp .partner-table__name.is-violet {
	background-color: var(--pp);
}

.partner-table--sp .partner-table__days {
	text-align: center;
}

.partner-table--sp .partner-table__fee {
	border-left: 1px solid var(--gy-ln);
	text-align: left;
}

.partner-table--sp .partner-table__note {
	border-left: 1px solid var(--gy-ln);
	font-size: 12px;
	line-height: 20px;
	text-align: left;
}

.partner-table--sp .partner-table__note-inline {
	font-size: 12px;
	margin-left: 10px;
}

.partner-table--sp .partner-table__org,
.partner-table--sp .partner-table__notice {
	font-size: 14px;
	text-align: left;
}

@container (min-width: 769px) {

	/* PC専用テーブル */
	.partner-table--sp {
		display: none;
	}

	.partner-table--pc {
		display: table;
	}

	/* 列幅 */
	.partner-table__col-name {
		width: 35%;
	}

	.partner-table__col-days {
		width: 10%;
	}

	.partner-table__col-fee {
		width: 20%;
	}

	.partner-table__col-note {
		width: 15%;
	}

	.partner-table__col-org {
		width: 20%;
	}

	/* セル共通 */
	.partner-table--pc th,
	.partner-table--pc td {
		font-size: 18px;
		line-height: 30px;
		padding: 10px;
		text-align: center;
	}

	/* タイトル帯 */
	.partner-table--pc th.partner-table__title {
		background-color: var(--pp);
		color: var(--wh);
		font-size: 20px;
		letter-spacing: -0.72px;
		line-height: var(--lh);
		padding: 17px 10px;
	}

	/* 縦罫線 */
	.partner-table--pc .partner-table__days,
	.partner-table--pc .partner-table__fee,
	.partner-table--pc .partner-table__note,
	.partner-table--pc .partner-table__org,
	.partner-table--pc .partner-table__notice {
		border-left: 1px solid var(--gy-ln);
	}

	/* 横罫線 */
	.partner-table--pc .partner-table__days,
	.partner-table--pc .partner-table__fee,
	.partner-table--pc .partner-table__note {
		border-top: 1px solid var(--gy-ln);
	}

	.partner-table--pc .partner-table__notice {
		/*border-bottom: 1px solid var(--gy-ln);*/
		border-top: 1px solid var(--gy-ln);
	}

	/* 注記 */
	.partner-table--pc .partner-table__note {
		font-size: 16px;
		padding: 14px 10px;
	}

}