.page-title {
	background-image: url("../images/about/mv.webp");
}
@media screen and (max-width: 768px) {}


/*------------------------------------
#message
------------------------------------*/
#message {
	position: relative;
	padding-top: 100px;
	overflow: hidden;
}
#message::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(605px - 4000px);
	transform: translateX(-50%);
	background-color: #ebeff2;
	border-radius: 50%;
	width: 4000px;
	height: 4000px;
	z-index: 0;
}
#message .ttl {
	align-items: center;
}
#message .container {
	position: relative;
	max-width: 900px;
	z-index: 1;
}
#message img {
	border-radius: 20px;
}
#message .txt {
	margin-top: 50px;
}
#message h3 {
	font-size: 30px;
	margin-bottom: 30px;
}
#message p:not(:last-child) {
	margin-bottom: 20px;
}
#message .sign {
	text-align: right;
}
@media screen and (max-width: 768px) {
	#message::after {
		bottom: calc(570px - 2000px);
		width: 2000px;
		height: 2000px;
	}
	#message .txt {
		margin-top: 30px;
	}
	#message h3 {
		font-size: 22px;
		margin-bottom: 10px;
	}
}


/*------------------------------------
#works
------------------------------------*/
#works {
	background-color: #ebeff2;
	padding: 120px 0;
}
#works .container {
	max-width: 1600px;
}
#works .ttl {
	align-items: center;
}
.works-list {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}
.works-list li {
	width: calc((100% - 100px) / 3);
}
.works-list h3 {
	font-size: 30px;
	text-align: center;
	color: #005bac;
	margin-bottom: 15px;
}
.works-list .img {
	border-radius: 50vh;
	overflow: hidden;
}
.works-list img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.5s ease;
	transform: scale(1);
}
.works-list a:hover img {
	transform: scale(1.1);
}
.works-list .txt {
	margin-top: 40px;
}
.works-list strong {
	display: block;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 10px;
}
.works-list .link {
	display: flex;
	align-items: center;
	position: relative;
	background-color: #fff;
	border-radius: 30px;
	max-width: 250px;
	width: 100%;
	height: 60px;
	margin: 40px auto 0;
	padding-left: 35px;
}
.works-list .link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	transform: translateY(-50%);
	background-image: url("../images/arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 15px;
	height: 15px;
	transition: .3s cubic-bezier(.4,.4,0,1);
}
.works-list a:hover .link::after {
	transform: translate(8px, -50%);
}
@media screen and (max-width: 768px) {
	#works {
		padding: 80px 0;
	}
	.works-list {
		gap: 60px;
	}
	.works-list li {
		width: 100%;
	}
	.works-list h3 {
		font-size: 22px;
	}
	.works-list .txt {
		margin-top: 30px;
	}
	.works-list strong {
		font-size: 18px;
	}
	.works-list .link {
		margin-top: 20px;
	}
}


/*------------------------------------
#data
------------------------------------*/
#data {
	padding-top: 120px;
}
#data .container {
	max-width: 1600px;
}
#data .ttl {
	align-items: center;
}
.data-list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.data-list li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: calc((100% - 160px) / 5);
}
.data-list img {
	width: 180px;
}
.data-list .txt {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.data-list p {
	line-height: 1.2;
	color: #002965;
}
.data-list span {
	font-size: 25px;
	font-weight: bold;
}
.data-list span.en {
	font-size: 35px;
	letter-spacing: .08em;
}
@media screen and (max-width: 768px) {
	#data {
		padding-top: 80px;
	}
	.data-list {
		gap: 20px;
	}
	.data-list li {
		gap: 10px;
		width: calc((100% - 20px) / 2);
	}
	.data-list span {
		font-size: 18px;
	}
	.data-list span.en {
		font-size: 22px;
	}
}


/*------------------------------------
#profile
------------------------------------*/
#profile {
	padding-top: 120px;
}
#profile .container {
	max-width: 800px;
}
#profile .ttl {
	align-items: center;
}
#profile .map {
	margin-top: 15px;
}
#profile .map a {
	display: flex;
	align-items: center;
	position: relative;
	background-color: #ebeff2;
	border-radius: 30px;
	max-width: 220px;
	width: 100%;
	height: 55px;
	padding-left: 35px;
}
#profile .map a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	transform: translateY(-50%);
	background-image: url("../images/arrow.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 15px;
	height: 15px;
	transition: .3s cubic-bezier(.4,.4,0,1);
}
#profile .map a:hover::after {
	transform: translate(8px, -50%);
}
@media screen and (max-width: 768px) {
	#profile {
		padding-top: 80px;
	}
}
