/**
 * #Trial（説明会・体験レッスン）
 */

.p-trial-hero {
	--u: calc(100vw / 1440);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	height: calc(720 * var(--u));
	min-height: 0;
	margin-bottom: 40px;
	background-color: #f4f0ed;
	color: #111;

	@media (max-width: 768px) {
		--u: 1px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
		height: auto;
		margin-bottom: 20px;
		padding-top: 20px;
	}
}

.p-trial-hero__body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: calc(40 * var(--u));
	padding: calc(55 * var(--u)) calc(40 * var(--u)) calc(60 * var(--u)) calc(60 * var(--u));

	@media (max-width: 768px) {
		align-items: center;
		gap: 10px;
		width: 100%;
		padding: 0 10px;
	}
}

.p-trial-hero__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: calc(26 * var(--u));

	@media (max-width: 768px) {
		gap: 10px;
		/* width: min(335px, calc(100% - 40px)); */
	}
}

.p-trial-hero__tag {
	margin: 0;
	padding: calc(10 * var(--u)) calc(15 * var(--u));
	width: fit-content;
	background-color: #111;
	color: var(--white);
	font-size: calc(32 * var(--u));
	font-weight: 900;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.05em;
	line-height: 1;

	@media (max-width: 768px) {
		margin: 0 auto;
		padding: 6px 9px;
		font-size: 18px;
	}
}

.p-trial-hero__title {
	margin: 0;
	color: #08f;
	font-family: var(--ff-en);
	font-size: calc(92 * var(--u));
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1;

	span {
		display: block;
	}

	@media (max-width: 768px) {
		width: 100%;
		font-size: 48px;
		letter-spacing: -0.02em;
		line-height: 0.9;
		/* text-align: center; */
	}
}

.p-trial-hero__catch {
	margin: 0;
	font-size: calc(38 * var(--u));
	font-weight: 900;
	font-feature-settings: "palt" 1;
	line-height: 1.4;

	span {
		color: #f5a623;
	}

	@media (max-width: 768px) {
		width: 100%;
		padding-inline: 0;
		font-size: 22px;
		text-align: left;
	}
}

.p-trial-hero__dates {
	flex-shrink: 0;
	width: calc(509 * var(--u));
	max-width: 100%;

	@media (max-width: 768px) {
		width: 100%;
		max-width: 335px;
	}
}

.p-trial-hero__dates-label {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: calc(10 * var(--u)) calc(15 * var(--u));
	background-color: #111;
	color: var(--white);
	font-size: calc(16 * var(--u));
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;

	@media (max-width: 768px) {
		padding: 6px 13px;
		font-size: 15px;
	}
}

.p-trial-hero__dates-custom {
	width: 100%;
	text-align: center;

	> :first-child {
		margin-top: 0;
	}

	> :last-child {
		margin-bottom: 0;
	}
}

.p-trial-hero__date--custom {
	height: auto;
	min-height: calc(95 * var(--u));
	padding: calc(15 * var(--u)) calc(16 * var(--u));

	@media (max-width: 768px) {
		min-height: 58px;
		padding: 10px 12px;
	}
}

.p-trial-hero__date-row {
	display: grid;
	grid-template-columns: var(--trial-date-cols, 318fr 192fr);
	width: 100%;

	.p-trial-hero__date + .p-trial-hero__date {
		border-left: 0;
	}

	&.p-trial-hero__date-row--single {
		grid-template-columns: 1fr;
	}

	&.p-trial-hero__date-row--equal {
		grid-template-columns: repeat(2, 1fr);
	}

	@media (max-width: 768px) {
		grid-template-columns: var(--trial-date-cols-sp, 201fr 135fr);

		&.p-trial-hero__date-row--single {
			grid-template-columns: 1fr;
		}

		&.p-trial-hero__date-row--equal {
			grid-template-columns: repeat(2, 1fr);
		}
	}
}

.p-trial-hero__date {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 0;
	height: calc(95 * var(--u));
	padding: calc(15 * var(--u)) calc(12 * var(--u));
	border: 1px solid #111;
	background-color: var(--white);

	@media (max-width: 768px) {
		height: 58px;
		padding: 10px 8px;
	}
}

.p-trial-hero__date--range {
	gap: calc(5 * var(--u));
	padding-inline: calc(16 * var(--u));

	@media (max-width: 768px) {
		gap: 4px;
		padding-inline: 10px;
	}
}

.p-trial-hero__num {
	display: inline-flex;
	align-items: baseline;
	gap: 0.06em;
	color: #111;
	font-family: var(--ff-en);
	font-size: calc(57 * var(--u));
	font-weight: 900;
	letter-spacing: 0.01em;
	line-height: 1;

	@media (max-width: 768px) {
		font-size: 38px;
	}
}

.p-trial-hero__wday {
	white-space: nowrap;
	font-family: var(--ff-sans);
	font-size: calc(16 * var(--u));
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1;

	@media (max-width: 768px) {
		font-size: 12px;
	}
}

.p-trial-hero__tilde {
	flex-shrink: 0;
	font-size: calc(20 * var(--u));
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1;

	@media (max-width: 768px) {
		font-size: 15px;
	}
}

.p-trial-hero__visual {
	position: relative;
	min-height: 0;
	overflow: hidden;

	img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center top;
	}

	@media (max-width: 768px) {
		width: 100%;
		aspect-ratio: 1;

		img {
			height: 100%;
		}
	}
}

.p-trial-hero__cta {
	position: absolute;
	right: calc(20 * var(--u));
	bottom: min(calc(60 * var(--u)), 60px);
	width: min(calc(385 * var(--u)), 385px);
	max-width: 385px;
	padding:
		min(calc(33 * var(--u)), 33px)
		min(calc(30 * var(--u)), 30px)
		min(calc(33 * var(--u)), 33px)
		min(calc(17 * var(--u)), 17px);
	column-gap: min(calc(16 * var(--u)), 16px);
	font-size: min(calc(24 * var(--u)), 24px);

	&.c-btn--fill-red {
		width: min(calc(385 * var(--u)), 385px);
		max-width: 385px;
		font-size: min(calc(24 * var(--u)), 24px);
	}

	@media (min-width: 1025px) {
		right: 108px;
	}

	&:hover {
		opacity: 1;
	}

	&::before,
	.c-arrow {
		width: min(calc(25 * var(--u)), 25px);
		height: min(calc(25 * var(--u)), 25px);
	}

	.c-arrow {
		--arrow-size: min(calc(25 * var(--u)), 25px);
	}

	@media (max-width: 768px) {
		right: 20px;
		left: 20px;
		bottom: 21px;
		width: auto;
		max-width: none;
		min-width: 0;
		padding:
			min(calc(25 * 100vw / 390), 25px)
			min(calc(30 * 100vw / 390), 30px)
			min(calc(25 * 100vw / 390), 25px)
			min(calc(17 * 100vw / 390), 17px);
		column-gap: min(calc(16 * 100vw / 390), 16px);
		font-size: min(calc(20 * 100vw / 390), 20px);

		&.c-btn--fill-red {
			width: auto;
			max-width: none;
			font-size: min(calc(20 * 100vw / 390), 20px);
		}

		&::before,
		.c-arrow {
			width: min(calc(25 * 100vw / 390), 25px);
			height: min(calc(25 * 100vw / 390), 25px);
		}

		.c-arrow {
			--arrow-size: min(calc(25 * 100vw / 390), 25px);
		}
	}
}

.p-trial-summary {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-bottom: 40px;

	@media (max-width: 768px) {
		gap: 0;
		margin: 0 calc(var(--pd-inline-sp, 20px) * -1) 30px;
	}
}

.p-trial-summary__media {
	margin: 0;
	overflow: hidden;
	height: 270px;

	img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
	}

	@media (max-width: 768px) {
		height: 180px;
	}
}

.p-trial-summary__copy {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 31px;
	overflow: hidden;
	color: #111;
	text-align: center;

	@media (max-width: 768px) {
		gap: 20px;
		padding: 20px;
	}
}

.p-trial-summary__watermark {
	position: absolute;
	inset: -40px -40px auto;
	z-index: 0;
	pointer-events: none;

	img {
		display: block;
		width: 100%;
		height: auto;
		max-width: none;
		opacity: 0.06;
		mix-blend-mode: luminosity;
		object-fit: contain;
	}

	@media (max-width: 768px) {
		inset: 80px -80px auto;
	}
}

.p-trial-summary__heading {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 0;
	margin: 0;
	padding-bottom: 5px;
	border-bottom: 5px solid #f5a623;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.6;

	@media (max-width: 768px) {
		flex-direction: column;
		align-items: center;
		padding-bottom: 0;
		border-bottom: none;
		font-size: 24px;
	}
}

.p-trial-summary__heading-line {
	display: inline-block;
	padding-bottom: 0;
	border-bottom: none;

	@media (max-width: 768px) {
		padding-bottom: 2px;
		border-bottom: 4px solid #f5a623;
	}
}

.p-trial-summary__lead {
	position: relative;
	z-index: 1;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;

	p {
		margin: 0 0 1.6em;
	}

	p:last-child {
		margin-bottom: 0;
	}

	@media (max-width: 768px) {
		font-size: 16px;

		br {
			display: none;
		}
	}
}

.p-trial-summary__closing {
	position: relative;
	z-index: 1;
	margin: 0;
	color: #c50000;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;

	@media (max-width: 768px) {
		font-size: 18px;
	}
}

.p-trial-hero--audition {
	.p-trial-hero__title {
		color: #111;
		font-size: calc(100 * var(--u));
		letter-spacing: -0.02em;
		line-height: 0.9;

		@media (max-width: 768px) {
			font-size: 48px;
		}
	}

	.p-trial-hero__catch {
		font-size: calc(44 * var(--u));
		line-height: 1.2;

		@media (max-width: 768px) {
			font-size: 22px;
		}
	}

	.p-trial-hero__cta {
		bottom: min(calc(62 * var(--u)), 62px);
		max-width: 385px;

		@media (max-width: 768px) {
			right: 20px;
			left: 20px;
			bottom: 21px;
			width: auto;
		}
	}
}

.p-audition {
	.p-trial-summary__closing {
		color: #111;
		font-size: 24px;

		@media (max-width: 768px) {
			font-size: 18px;
		}
	}
}
