/* 冒頭テキスト・ボタン */
.plans__description {
	display: block;
	text-align: center;
	margin-bottom: var(--g-sec--sm);
	max-width: 60rem;
	margin-inline: auto;
}
.plans__description p {
	display: inline-block;
	text-align: left;
}
.plans__btn-box {
	display: flex;
	justify-content: center;
	gap: clamp(1rem, 1.33vw + 0.68rem, 1.875rem);
	flex-wrap: wrap;
	margin-bottom: var(--g-sec--md);
}
@media (min-width: 768px) {
	.plans__description p {
		text-align: unset;
	}
	.plans__btn-box {
		flex-wrap: nowrap;
	}
}

/*===============================================================================
*** コンテンツ
================================================================================*/
/* 4級・3級 */
.plans__4-3content {
	position: relative;
	padding: var(--g-sec--md) 0;
	margin-bottom: var(--g-sec--md);
}
.plans__4-3content::before {
	position: absolute;
	content: "";
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background: var(--c-blue-light);
	z-index: -1000;
}
.plans__ttl {
	margin-bottom: var(--g-sec--xs);
}
.plans__content-description {
	text-align: center;
    font-weight: var(--fw-md);
	margin-bottom: var(--g-sec--sm);
}

/* 準2級・2級 */
.plans__pre2-2content {
	margin-bottom: var(--g-sec--md);
}
.plans__pre2-2content .plans__table-content {
	margin-bottom: var(--g-sec--xs);
}
.plans__pre2-2content-text-box {
	padding: var(--g-sec--xs) 1rem;
	background: var(--c-gray);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
}
.plans__pre2-2content-text-box h3 {
	font-size: 1.25rem;
	color: var(--c-blue-dark);
}
.plans__pre2-2content-text {
	font-weight: var(--fw-md);
}

/* エアラインスクール */
.plans__airline-content {
	position: relative;
	padding: var(--g-sec--md) 0;
}
.plans__airline-bg {
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

.plans__airline-btn {
	width: 100%;
	text-align: center;
}

/*===============================================================================
*** テーブル
================================================================================*/
.plans__table-content{
	--count: 1;
	--gap: var(--g-sec--xs);
	--table-width: 100%;
	--day-width: calc( 200% - var(--table-width) );
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--gap);
}
.plans__table-content.--airline {
	align-items: end;
}
.plans__table{
	width: calc( ( var(--table-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
	border-radius: var(--bd-r--sm);
	box-shadow: 0 0 4px 0 rgba(51, 51, 51, 0.1);
	overflow: hidden;
}
.plans__table.--schedule{
	width: calc( ( var(--day-width) - var(--gap) * (var(--count) - 1) ) / var(--count) );
}
.plans__table table{
	width: 100%;
}
@media (min-width: 960px){
	.plans__table-content{
		max-width: 60rem;
        margin-inline: auto;
		flex-wrap: nowrap;
	}
	.plans__table{
		max-width: 26rem;
	}
	.plans__table.--schedule{
		max-width: 31.5rem;
	}
}

/* TR */
.plans__table tr{
	display: flex;
	align-items: center;
}
/* TD --info */
.plans__table.--info td{
	padding: 1rem 1.25rem;
	line-height: var(--lh-md);
	font-weight: var(--fw-md);
}
/* 1つ目のTD --info */
.plans__table.--info td:nth-of-type(1){
	width: 9.25rem;
	min-width: 9.25rem;
	background: var(--c-main);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.plans__table.--info tr:not(:last-of-type) td:nth-of-type(1){
	border-bottom: 1px solid var(--c-light);
}
/* 2つ目のTD --info */
.plans__table.--info td:nth-of-type(2){
	flex-grow: 1;
	background: var(--c-light);
}
.plans__table.--info tr:not(:last-of-type) td:nth-of-type(2){
	border-bottom: 1px solid var(--c-gray-dark);
}

/* TR --schedule */
.plans__table.--schedule tr:nth-of-type(odd) td {
	background: var(--c-gray);
}
/* TH --schedule */
.plans__table th{
	width: 100%;
	padding: 1rem 1.25rem;
	background: var(--c-main);
	font-weight: var(--fw-lg);
	color: var(--c-light);
}
.plans__table th:not(:last-of-type) {
	border-right: 1px solid var(--c-light);
}
/* TD --schedule */
.plans__table.--schedule td {
	width: 100%;
	padding: .75rem 0;
	text-align: center;
	line-height: var(--lh-md);
	font-weight: var(--fw-md);
	background: var(--c-light);
}
.plans__table.--schedule tr td:not(:last-of-type) {
	border-right: 1px solid var(--c-gray-dark);
}
@media (min-width: 960px) {
	.plans__table th{
		max-width: 10.5rem;
	}
	.plans__table.--schedule td{
		max-width: 10.5rem;
	}
}