/* banquet-seamless: 会議から同会場で会食 */

.banquet-seamless {
	padding-block: var(--space-7) var(--space-6);
}

.banquet-seamless__title {
	max-width: 16em;
	margin-inline: auto;
	color: var(--color-text);
	font-size: var(--fs-h2-mobile);
	font-weight: var(--fw-normal);
	line-height: var(--lh-tight);
	letter-spacing: 0.08em;
	text-align: center;
	word-break: auto-phrase;
}

.banquet-seamless__title::after {
	display: block;
	width: var(--space-9);
	margin: var(--space-3) auto 0;
	border-top: 1px solid var(--color-main);
	content: "";
}

.banquet-seamless__title span {
	display: block;
}

.banquet-seamless__sequence {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-6);
}

.banquet-seamless__figure {
	min-width: 0;
}

.banquet-seamless__photo {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--radius-sm);
	object-fit: cover;
}

.banquet-seamless__figure figcaption {
	margin-top: var(--space-2);
	color: var(--color-text-muted);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	letter-spacing: 0.06em;
	text-align: center;
}

.banquet-seamless__transition {
	display: grid;
	justify-items: center;
	color: var(--color-main);
}

.banquet-seamless__transition > span {
	position: relative;
	display: block;
	width: 1px;
	height: var(--space-7);
	background: currentColor;
}

.banquet-seamless__transition > span::after {
	position: absolute;
	right: 50%;
	bottom: 0;
	width: var(--space-2);
	height: var(--space-2);
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	content: "";
	transform: translateX(50%) rotate(45deg);
}

.banquet-seamless__transition small {
	margin-top: var(--space-2);
	color: var(--color-text-muted);
	font-size: var(--fs-body-sm);
	line-height: var(--lh-body);
	letter-spacing: 0.06em;
}

.banquet-seamless__text {
	max-width: 34em;
	margin: var(--space-5) auto 0;
	color: var(--color-text);
	font-size: var(--fs-body-pc);
	line-height: var(--lh-body);
	letter-spacing: 0.04em;
	text-align: left;
	word-break: auto-phrase;
}

@media (min-width: 768px) {
	.banquet-seamless {
		padding-block: var(--space-11) var(--space-10);
	}

	.banquet-seamless__title {
		max-width: none;
		font-size: var(--fs-h2);
	}

	.banquet-seamless__title span {
		display: inline;
	}

	.banquet-seamless__title::after {
		width: var(--space-10);
		margin-top: var(--space-5);
	}

	.banquet-seamless__sequence {
		grid-template-columns: minmax(0, 1fr) var(--space-11) minmax(0, 1fr);
		align-items: center;
		gap: var(--space-5);
		margin-top: var(--space-8);
	}

	.banquet-seamless__figure figcaption {
		font-size: var(--fs-body-pc);
	}

	.banquet-seamless__transition {
		align-self: center;
	}

	.banquet-seamless__transition > span {
		width: var(--space-10);
		height: 1px;
	}

	.banquet-seamless__transition > span::after {
		right: 0;
		bottom: 50%;
		transform: translateY(50%) rotate(-45deg);
	}

	.banquet-seamless__transition small {
		text-align: center;
	}

	.banquet-seamless__text {
		margin-top: var(--space-7);
		text-align: center;
	}
}
