@charset "UTF-8";

/* --------------------------------------------------------------------------------------
	事業内容
--------------------------------------------------------------------------------------- */

.page-service .key-sub { background-image: url(../img/service/key_image.jpg); }

.service-lead article {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 160px 0 190px;
}

.service-lead article::before {
	border-bottom-style: solid;
	border-bottom-width: 96px;
	border-left-style: solid;
	border-left-width: 96px;
	border-radius: 0 0 0 126px;
	content: '';
	height: 147px;
	left: 364px;
	position: absolute;
	top: -49px;
	width: 113%;
	z-index: -1;
}

.service-lead article::after {
	border-bottom: 96px solid rgba(0, 0, 0, .1);
	border-left: 96px solid rgba(0, 0, 0, .1);
	border-radius: 0 0 0 126px;
	content: '';
	height: 100%;
	position: absolute;
	right: calc(-100% - 75px);
	top: -49px;
	width: 100%;
	z-index: -1;
}

.service-lead h2 {
	font-size: 3.6rem;
	font-weight: 800;
	letter-spacing: 1px;
	line-height: 1.7;
	width: 520px;
}

.service-lead .txt {
	width: 430px;
}

.service-lead .txt p { margin-top: 24px; }
.service-lead .txt p:first-child { margin-top: 0; }

.service-lead .corner {
	border-radius: 0 126px 0 0;
	border-right-style: solid;
	border-right-width: 96px;
	border-top-style: solid;
	border-top-width: 96px;
	bottom: 0;
	height: 150px;
	left: calc(-100% + 213px);
	position: absolute;
	width: 100%;
	z-index: -1;
}

.service-details {
	background-color: #f0f0f0;
	padding-bottom: 128px;
	padding-top: 80px;
}

.service-details .details-inner section {
	background-color: #fff;
	border-radius: 0 32px 0 32px;
	margin-top: 40px;
	min-height: 400px;
	overflow: hidden;
	padding: 34px 438px 34px 34px;
	position: relative;
}

.service-details .details-inner section:nth-of-type(1) { margin-top: 0; }

.service-details .details-inner section picture {
	border-radius: 0 0 0 32px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
}

.service-details .details-inner section h2 {
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 1px;
}

.service-details .details-inner section p {
	line-height: 1.7;
	margin-top: 18px;
}

.service-details .details-inner section:nth-child(odd) {
	padding-left: 438px;
	padding-right: 32px;
}

.service-details .details-inner section:nth-child(odd) picture {
	border-radius: 0 32px 0 0;
	left: 0;
	right: auto;
}

.service-details .details-inner .corner-top::before {
	border-bottom: 96px solid #f9f9f9;
	border-left: 96px solid #f9f9f9;
	border-radius: 0 0 0 126px;
	content: '';
	height: 384px;
	left: 694px;
	position: absolute;
	top: -80px;
	width: 100%;
	z-index: -1;
}

.service-details .details-inner .corner-top::after {
	background-color: #f9f9f9;
	content: '';
	height: 95px;
	left: -100%;
	position: absolute;
	top: 485px;
	width: 100%;
	z-index: -1;
}

.service-details .details-inner .corner-bottom::before {
	border-radius: 0 126px 0 0;
	border-right-style: solid;
	border-right-width: 96px;
	border-top-style: solid;
	border-top-width: 96px;
	bottom: -128px;
	content: '';
	height: 340px;
	left: -1081px;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.service-details .details-inner .corner-bottom::after {
	border-left-style: solid;
	border-left-width: 96px;
	border-radius: 126px 0 0 0;
	border-top-style: solid;
	border-top-width: 96px;
	bottom: -128px;
	content: '';
	height: 340px;
	position: absolute;
	right: calc(-100% + 234px);
	width: 100%;
	z-index: -1;
}

@media (max-width: 1000px) {

	.page-service .key-sub { background-image: url(../img/service/key_image_sp.jpg); }

	.service-lead article {
		display: block;
		padding: 9.333vw 4.267vw 10.667vw;
	}

	.service-lead article::before {
		border-radius: 0 0 0 16.8vw;
		border-width: 12.8vw;
		height: 34.8vw;
		left: auto;
		right: 0;
		top: -9.667vw;
		width: 29.467vw;
	}

	.service-lead article::after { display: none; }

	.service-lead .corner {
		border-radius: 0 16.8vw 0 0;
		border-width: 12.8vw;
		height: 26.933vw;
		left: 0;
		right: auto;
		width: 58.933vw;
	}

	.service-lead h2 {
		font-size: 5.867vw;
		text-align: center;
		width: auto;
	}

	.service-lead .txt {
		margin-top: 5.6vw;
		width: auto;
	}

	.service-lead .txt p { margin-top: 5.6vw; }

	.service-details { padding: 10.667vw 4.267vw 21.333vw; }

	.service-details .details-inner section {
		border-radius: 0 6.4vw 0 6.4vw;
		padding: 0;
	}

	.service-details .details-inner section picture {
		border-radius: 0 6.4vw 0 0;
		left: auto;
		margin-top: 6.4vw;
		max-height: 51.733vw;
		position: relative;
		right: auto;
		top: auto;
	}

	.service-details .details-inner section picture img {
		height: auto;
		width: 100%;
	}

	.service-details .details-inner section h2 {
		font-size: 5.867vw;
		margin: 8.667vw 4.267vw auto;
	}

	.service-details .details-inner section p { margin: 3.467vw 4.267vw auto; }

	.service-details .details-inner section:nth-child(odd) { padding: 0; }

	.service-details .details-inner .corner-top::before {
		background-color: #f9f9f9;
		border: none;
		height: 41%;
		left: auto;
		right: 12.4vw;
		top: 1.333vw;
		width: 12.8vw;
	}

	.service-details .details-inner .corner-top::after {
		background-color: transparent;
		border-radius: 0 16.8vw 0 0;
		border-right: 13.067vw solid #f9f9f9;
		border-top: 13.067vw solid #f9f9f9;
		bottom: -21.333vw;
		height: 14.133vw;
		left: -4.267vw;
		top: auto;
		width: 40.667vw;
	}

	.service-details .details-inner .corner-bottom::before {
		border-radius: 0 16.8vw 0 0;
		border-width: 13.067vw;
		bottom: auto;
		height: 52%;
		left: -4.267vw;
		top: 7.333vw;
		width: 28.267vw;
	}

	.service-details .details-inner .corner-bottom::after {
		border-radius: 16.8vw 0 0 0;
		border-width: 13.067vw;
		bottom: -21.333vw;
		height: 52.267vw;
		right: -4.267vw;
		width: 28.133vw;
	}

}