@charset "UTF-8";
/* ================================================

-メインビジュアル

================================================ */
.l-mainvisual {
	background-image: url(../../images/ability/bg_mainvisual.jpg);
}
.l-mainvisual .l-mainvisual-inner h1.l-mainvisual-ttl {
	width: 1000px;
	right: -810px;
	word-break: normal;
	/*right: -500px;*/
}
@media screen and (max-width: 767px) {
.l-mainvisual {
	background-image: url(../../images/ability/bg_mainvisual_sp.jpg);
}
	.l-mainvisual .l-mainvisual-inner h1.l-mainvisual-ttl {
		right: -66.6667vw !important;
		line-height: 1.2;
		width: auto;
	}
	.p-main {
		padding: 4% 4vw 8%;
	}
	.p-main .p-main-ttl {
		text-align: center;
		color: #1c1c1c;
	}
	.p-main .p-main-txt {
		margin-top: 10.66666%;
		font-size: 4vw;
		line-height: 1.6;
		text-align: center;
	}
	.p-main .p-main-txt .p-main-line {
		padding: 8% 0;
		font-size: 5.33333vw;
		line-height: 1.5;
	}
}
/* ================================================

- メインコンテンツ

================================================ */
.p-service, .p-safety {
	background-color: #1c1c1c;
}
.p-group, .p-support {
	background-color: #0d0d0d;
}
.p-ability {
	padding: 80px 0;
}
.p-ability .p-ability-ttl {
	text-align: center;
}
.p-ability-set {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	/*margin-top: 57px;*/
	max-width: 1280px;
	margin: 57px auto 0 auto;
}
.p-group .p-ability-set, .p-support .p-ability-set {
	flex-flow: row-reverse;
}
.p-ability-set .p-ability-photo {
	max-width: 790px;
}
.p-ability-set .p-ability-photo img {
	width: 100%;
	height: auto;
}
.ttl-dx-logo {
	position: relative;
    max-width: 1280px;
    margin: 0 auto;
}
.p-ability-dx-logo {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 90px;
}
.p-ability-esg-logo {
	position: absolute;
	top: 50%;
	left: 8%;
	transform: translateY(-50%);
	width: 90px;
}

.p-ability-lead {
	width: calc(100% - 440px);
	color: #FFFFFF;
	letter-spacing: 0.08em;
	background-repeat: no-repeat;
	position: relative;
}
.p-service .p-ability-lead {
	background-position: right top;
	background-image: url(../../images/ability/bg_service_lead.png);
}
.p-group .p-ability-lead {
	background-position: left top;
	background-image: url(../../images/ability/bg_group_lead.png);
}
.p-safety .p-ability-lead {
	background-position: right top;
	background-image: url(../../images/ability/bg_safety_lead.png);
}
.p-support .p-ability-lead {
	background-position: left top;
	background-image: url(../../images/ability/bg_support_lead.png);
}
.p-ability-lead-inner {
	margin-top: 10px;
	margin-left: 60px;
	margin-right: 60px;
}
.p-ability-lead .p-ability-lead-catch {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.p-ability-lead .p-ability-lead-catch span {
	color: #ffec6d;
}
.p-ability-lead .p-ability-lead-txt {
	margin-top: 27px;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 500;
}

.m-link {
	padding: 50px 0;
	background: url(../../images/ability/bg_m_link.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.m-link .m-link-main-catch {
	font-size: 2.8rem;
	line-height: 1.4;
	letter-spacing: 0.08em;
	font-weight: 500;
	text-align: center;
	color: #ffec6d;
	margin: 0 0 35px;
}
.m-link .m-btn-blue {
	max-width: 262px;
}
@media screen and (max-width: 767px) {
	.p-ability {
		padding: 18.93333% 0 11.46666%;
	}
	.p-ability-set {
		display: block;
		margin-top: 6.66666%;
	}
	.p-ability-set .p-ability-photo {
		max-width: 100%;
	}
	.p-ability .p-ability-ttl.ttl-dx-logo {
		text-align: right;
		margin: 0 8vw;
	}
	
	.p-ability-dx-logo {
		width: 10vw;
	}
	.p-ability-esg-logo {
	position: absolute;
	top: 50%;
	left: 13%;
	transform: translateY(-50%);
width: 10vw;
}
	.p-ability-lead {
		width: calc(100%);
		margin: 3.73333% auto 0;
	}
	.p-ability-lead .p-ability-lead-catch {
		font-size: 5.33333vw;
		line-height: 1.5;
		text-align: left;
	}
	.p-ability-lead .p-ability-lead-txt {
		margin-top: 5.33333%;
		font-size: 4vw;
		line-height: 1.6;
	}
	.p-ability-lead-inner {
		margin-top: 1.33333vw;
		margin-left: 8vw;
		margin-right: 8vw;
	}
	.p-service .p-ability-lead {
		background-position: left top;
	}
	.p-safety .p-ability-lead {
		background-position: left top;
	}
	.m-link {
		padding: 6.6667vw 0;
		background: url(../../images/ability/bg_m_link_sp.jpg);
	}
}