@charset "utf-8";

/*================================================================
# message
================================================================ */
.message .message__inner {
	display: block;
}

.message .message__text p {
	line-height: 2.2;
}

.message .message__catch {
	margin: 0;
	font-family: var(--text-mincho);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.8;
	color: var(--primary);
	letter-spacing: 0.04em;
}

.message .message__media {
	width: calc(100% - 24px);
	margin: 40px 0 0;
	position: relative;
	aspect-ratio: 4 / 3;
}

.message .message__media::before {
	width: 80px;
	height: 80px;
	opacity: 0.12;
	background: var(--primary);
	position: absolute;
	content: "";
	right: -24px;
	bottom: -24px;
	z-index: 2;
}

.message .message__media img {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
	object-fit: cover;
	z-index: 1;
	object-position: center center;
}

/*================================================================
# requirements
================================================================ */
.requirements .requirements__heading {
	text-align: center;
}

.requirements .requirements__heading .en {
	font-family: var(--text-en);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	color: var(--primary);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.requirements .requirements__heading h2 {
	margin-top: 12px;
	font-family: var(--text-mincho);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.requirements .requirements__heading h2::after {
	width: 40px;
	height: 2px;
	margin: 16px auto 0;
	background: var(--primary);
	content: "";
	display: block;
}

.requirements .requirements__list {
	margin: 40px 0 0;
	border-top: 1px solid var(--border03);
}

.requirements .requirements__list .item {
	border-bottom: 1px solid var(--border03);
	display: block;
}

.requirements .requirements__list dt {
	padding: 16px 20px;
	background: rgba(9, 80, 210, 0.04);
	font-family: var(--text-mincho);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.7;
	color: var(--primary);
	letter-spacing: 0.04em;
}

.requirements .requirements__list dd {
	padding: 20px;
	background-color: var(--white);
	font-size: 13px;
	line-height: 1.9;
}

/*================================================================
# support
================================================================ */
.support .support__inner {
	display: block;
}

.support .support__media {
	aspect-ratio: 4 / 3;
}

.support .support__media img {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
	object-fit: cover;
	z-index: 1;
	object-position: center center;
}

.support .support__list {
	margin: 48px 0 0;
	border-top: 1px solid var(--gray03);
}

.support .support__list li {
	padding: 18px 8px 18px 28px;
	border-bottom: 1px solid var(--gray03);
	position: relative;
	font-size: 13px;
	line-height: 1.8;
}

.support .support__list li::before {
	width: 7px;
	height: 7px;
	background: var(--primary);
	position: absolute;
	content: "";
	top: 26px;
	left: 8px;
}