@charset "UTF-8";

/*=======================================================
MV
=======================================================*/
.el-lower-mv-ttl::before{
	background: url(../images/company/company.svg) top center / contain no-repeat;
	width: 350px;
}

/*=======================================================
message
=======================================================*/
.bl-message{
	padding: 96px 0 164px;
	background: url(../images/common/lower-bg01.jpg) top center / cover no-repeat;
	margin-top: -30px;
}
.bl-message .ly-cont-inner::before{
	content: '';
	position: absolute;
	background: url(../images/company/message-illust01.svg) top center / contain no-repeat;
	width: 127px;
	height: 82px;
	left: 0;
	bottom: -122px;
}
.bl-message .ly-cont-inner::after{
	content: '';
	position: absolute;
	background: url(../images/company/message-illust02.svg) top center / contain no-repeat;
	width: 126px;
	height: 82px;
	left: 143px;
	bottom: -122px;
}
.bl-message .el-main-ttl::before{
	background: url(../images/company/message-ttl.svg) top center / contain no-repeat;
}
.bl-message .el-main-ttl{
	width: 430px;
	margin-bottom: 48px;
}
.el-message-ttl{
	font-size: 26px;
	color: #309CEB;
	padding-bottom: 16px;
	border-bottom: 3px solid #222;
	margin-bottom: 32px;
}
.bl-message .bl-media{
	display: flex;
	flex-wrap: wrap;
	gap: 0 32px;
}
.bl-message .bl-media-img-wrapper{
	width: 352px;
	position: relative;
	z-index: 2;
}
.bl-message .bl-media-img-wrapper::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: #309CEB;
	border-radius: 32px;
	right: -16px;
	bottom: -16px;
	z-index: -1;
}
.bl-message .bl-media-img-wrapper > video{
	width: 352px;
	border-radius: 32px;
}
.bl-message .bl-media-body{
	width: 640px;
}
.bl-message .el-name{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.8px;
	display: flex;
	justify-content: flex-end;
}
@media screen and (max-width: 1024px) {
	.bl-message .ly-cont-inner{
		padding: 0 30px;
	}
	.bl-message .ly-cont-inner::before{
		width: 188px;
		height: 122px;
		left: 30px;
		bottom: -120px;
	}
	.bl-message .ly-cont-inner::after{
		width: 188px;
		height: 122px;
		left: 200px;
		bottom: -120px;
	}
	.bl-message .bl-media-img-wrapper{
		width: 360px;
		margin: 0 auto 32px;
	}
	.bl-message .bl-media-body{
		width: 100%;
	}
}
@media screen and (max-width: 750px) {
	.bl-message{
		padding: 120px 0;
		margin-top: -41px;
	}
	.bl-message .ly-cont-inner{
		padding: 0;
	}
	.bl-message .ly-cont-inner::before{
		bottom: -120px;
	}
	.bl-message .ly-cont-inner::after{
		left: 200px;
		bottom: -120px;
	}
	.bl-message .el-main-ttl{
		width: 630px;
	}
	.el-message-ttl{
		font-size: 32px;
	}
	.bl-message .bl-media-body{
		width: 100%;
	}
	.bl-message .el-name{
		font-size: 28px;
	}
}

/*=======================================================
company
=======================================================*/
.bl-company {
	padding: 80px 0;
	background: url(../images/common/lower-bg02.jpg) top center / cover no-repeat;
}
.bl-company .el-main-ttl::before{
	background: url(../images/company/company-ttl.svg) top center / contain no-repeat;
}
.bl-company .el-main-ttl{
	width: 482px;
	margin-bottom: 48px;
}
.bl-company-def{
	background: #fff;
	border-radius: 32px;
	padding: 48px;
}
.bl-company-item {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 2px solid #333;
	padding-bottom: 16px;
}
.bl-company-item:not(:first-of-type) {
	padding-top: 16px;
}
.bl-company-item:last-of-type {
	padding-bottom: 0;
	border-bottom: 0;
}
.el-company-dttl {
	font-weight: bold;
	color: #0064AE;
	letter-spacing: 0.06em;
	flex: 0 1 230px;
}
.bl-company-ddata {
	flex: 1;
}
.bl-address-list{
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.bl-address-item > span{
	display: block;
}
@media screen and (max-width: 1024px) {
	.bl-company .ly-cont-inner{
		padding: 0 30px;
	}
}
@media screen and (max-width: 750px) {
	.bl-company {
		padding: 120px 0;
	}
	.bl-company .ly-cont-inner{
		padding: 0;
	}
	.bl-company .el-main-ttl{
		width: 630px;
	}
	.bl-company-item {
		padding-bottom: 24px;
	}
	.bl-company-item:not(:first-of-type) {
		padding-top: 24px;
	}
	.el-company-dttl {
		flex: 0 1 200px;
	}
}

/*=======================================================
offices
=======================================================*/
.bl-offices{
	padding: 80px 0;
	background: url(../images/common/lower-bg01.jpg) top center / cover no-repeat;
}
.bl-offices .el-main-ttl{
	width: 362px;
	margin-bottom: 48px;
}
.bl-offices .el-main-ttl::before{
	background: url(../images/company/offices-ttl.svg) top center / contain no-repeat;
}
.bl-offices-list{
	display: flex;
	flex-wrap: wrap;
	gap: 46px 32px;
}
.bl-offices-item{
	max-width: 496px;
	width: 48%;
}
.bl-offices-img-wrapper > img{
	border-radius: 32px;
}
.bl-offices-img-wrapper.no-img{
	width: 492px;
	height: 305px;
	display: flex;
	justify-content: center;
	align-item: center;
	background: #ccc;
	border-radius: 32px;
}
.bl-offices-img-wrapper.no-img > img{
	width: 80%;
}
.el-offices-ttl{
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 1.2px;
	color: #0064AE;
	margin: 24px 0;
	padding-bottom: 8px;
	border-bottom: 3px solid #222;
}
.bl-offices-item > dl{
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.bl-offices-item > dl div{
	display: flex;
}
.bl-offices-item > dl dt{
	flex: 0 1 110px;
	font-weight: bold;
}
.bl-offices .el-btn{
	margin-top: 32px;
}
@media screen and (max-width: 1024px) {
	.bl-offices .ly-cont-inner{
		padding: 0 30px;
	}
}
@media screen and (max-width: 900px) {
	.bl-offices-item{
		width: 100%;
		max-width: 100%;
	}
	.bl-offices-list{
		gap: 72px;
	}
}
@media screen and (max-width: 750px) {
	.bl-offices{
		padding: 120px 0;
		background: url(../images/common/lower-bg01.jpg) top center / cover no-repeat;
	}
	.bl-offices .ly-cont-inner{
		padding: 0;
	}
	.bl-offices .el-main-ttl{
		width: 630px;
	}
	.bl-offices-item{
		width: 100%;
	}
	.bl-offices-img-wrapper{
		height: 360px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto 32px;
		border-radius: 32px;
		overflow: hidden;
	}
	.bl-offices-img-wrapper.no-img{
		width: 100%;
		height: 360px;
	}
	.el-offices-ttl{
		font-size: 34px;
	}
	.bl-offices-item > dl{
		gap: 24px;
	}
	.bl-offices-item > dl dt{
		flex: 0 1 110px;
		font-weight: bold;
	}
	.bl-offices .el-btn{
		margin-top: 32px;
	}
}
/*=======================================================
clients
=======================================================*/
.bl-clients{
	padding: 80px 0 370px;
	background: url(../images/common/lower-bg03.jpg) top center / cover no-repeat;
	margin: 0 0 -164px;
}
.bl-clients .ly-cont-inner{
	background: #fff;
	padding: 48px;
	border-radius: 32px;
}
.bl-clients .el-main-ttl{
	width: 362px;
	margin-bottom: 48px;
}
.bl-clients .el-main-ttl::before{
	background: url(../images/company/clients-ttl.svg) top center / contain no-repeat;
}
.bl-clients-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px 32px;
}
@media screen and (max-width: 1024px) {
	.bl-clients .ly-cont-inner{
		margin: 0 30px;
	}
}
@media screen and (max-width: 750px) {
	.bl-clients{
		padding: 120px 0 260;
		margin: 0 0 -140px;
	}
	.bl-clients .ly-cont-inner{
		padding: 56px 42px;
		border-radius: 32px;
		margin: 0 auto;
	}
	.bl-clients .el-main-ttl{
		width: 100%;
	}
	.bl-clients-list{
		font-size: 25px;
		gap: 24px 16px;
	}
}