@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
/* --------------------------------------------------------
* ir library
* -------------------------------------------------------*/
.message__main {
	position: relative;
	z-index: 2;
}
.message__lead {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: var(--line-height-l);
}
.message__name {
	font-size: 1.4rem;
	line-height: var(--line-height-s);
	text-align: right;
	margin-top: 16px;
}
.message__name--l {
	font-size: 1.8rem;
	font-weight: 700;
	padding-top: 6px;
	display: inline-block;
}
.message__bg {
	text-align: center;
	background-color: #d6ded3;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	height: 290px;
	position: relative;
	margin-top: -10px;
}
.message__image {
	height: calc(100% - 20px);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.message__image img {
	width: auto;
	height: 100%;
}
@media (min-width: 768px), print {
	.message {
		height: 396px;
		position: relative;
	}
	.message__main {
		padding-top: 120px;
		width: 600px;
	}
	.message__lead {
		font-size: 2.4rem;
	}
	.message__name {
		font-size: 1.6rem;
		margin-top: 24px;
	}
	.message__name--l {
		font-size: 2.4rem;
	}
	.message__bg {
		text-align: right;
		margin: 0;
		position: absolute;
		margin-top: 0;
		width: calc(100% - 225px);
		height: calc(100% - 12px);
		position: absolute;
		right: 0;
		top: 0;
	}
	.message__image {
		height: calc(100% - 25px);
		left: auto;
		right: 20px;
	}
}
@media (max-width: 1024px) and (min-width: 768px), print {
	.message {
		height: 345px;
	}
	.message__main {
		padding-top: 80px;
		width: auto;
	}
	.message__lead {
		font-size: 2rem;
	}
	.message__name {
		padding-left: 270px;
		margin-top: 40px;
		display: inline-block;
	}
	.message__bg {
		width: calc(100% - 70px);
		height: calc(100% - 12px);
		right: -30px;
	}
	.message__image {
		right: 20px;
	}
}
@media (min-width: 1281px), print {
	.message {
		height: 500px;
	}
	.message__bg {
		width: 975px;
		height: 100%;
	}
	.message__image {
		right: 60px;
	}
}

.cfo-flex__image {
	margin-top: 32px;
}
@media (min-width: 768px), print {
	.cfo-flex {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 40px;
	}
	.cfo-flex__main {
		flex: 1 0 calc(35.4166666667% - 40px);
	}
	.cfo-flex__image {
		flex: 0 0 35.4166666667%;
		margin-top: 0;
	}
}
/*# sourceMappingURL=cfo_message.css.map */
