@charset "utf-8";

/* -----------------------------------------------------------
    reason
-------------------------------------------------------------- */ 
:root {
	--introphoto: 550px;
	--introgap: 50px;
}

#reason .reason-cmn-point {
	display: flex;
	gap: 35px;
	flex-wrap: wrap;
}

#reason .reason-cmn-point li {
	font-size: 1.8rem;
	font-weight: 500;
	position: relative;
	padding: 0 0 0 14px;
}

#reason .reason-cmn-point li::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 8px;
	height: 8px;
	content: '';
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-radius: 50%;
	background: var(--sub);
}

#reason .reason-cmn-list {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

#reason .reason-cmn-list li {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	padding: 15px;
	border: 1px solid var(--border1);
}

#reason .reason-cmn-tabble {
	display: flex;
	border-bottom: 1px solid var(--border1);
	flex-wrap: wrap;
}

#reason .reason-cmn-tabble dl {
	font-size: 1.8rem;
	display: flex;
	width: 50%;
	border-top: 1px solid var(--border1);
	flex-shrink: 0;
}

#reason .reason-cmn-tabble dt {
	font-weight: bold;
	line-height: 1.3;
	min-width: 270px;
	padding: 27px 20px;
	background: var(--cmnbg);
	flex-shrink: 0;
}

#reason .reason-cmn-tabble dd {
	line-height: 1.3;
	padding: 27px 20px;
}

@media screen and (min-width: 769px) and (max-width: 1400px) {
	#reason .inner3 {
		width: 1300px;
	}
}

@media screen and (max-width: 768px) {
	#reason .reason-cmn-point {
		gap: 20px;
	}

	#reason .reason-cmn-point li {
		font-size: 1.6rem;
		padding: 0 0 0 12px;
	}

	#reason .reason-cmn-point li::before {
		width: 6px;
		height: 6px;
	}

	#reason .reason-cmn-list {
		gap: 10px;
	}

	#reason .reason-cmn-list li {
		font-size: 1.45rem;
		padding: 10px 8px 12px;
	}

	#reason .reason-cmn-tabble dl {
		font-size: 1.6rem;
		width: 100%;
	}

	#reason .reason-cmn-tabble dt {
		width: 50%;
		min-width: auto;
		padding: 15px;
	}

	#reason .reason-cmn-tabble dd {
		display: flex;
		padding: 15px;
		align-items: center;
	}
}

/* -----------------------------------------------------------
    intro-area
-------------------------------------------------------------- */
.intro-area {
	position: relative;
	padding: 200px 0 100px;
	background: url('../img/reason-intro-bg.jpg') bottom center/cover no-repeat;
	background-attachment: fixed;
}

.intro-area::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: rgba(0, 0, 0, .9);
}

.intro-area .cmn-section-ttl .ja {
	color: #fff;
}

.intro-area .intro-inner {
	position: relative;
	z-index: 2;
}

.intro-area .intro-photo {
	width: 100%;
	margin: 80px 0;
	aspect-ratio: 1200/640;
}

.intro-area .intro-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.intro-area .intro-catch {
	font-size: 3.9rem;
	font-weight: bold;
	line-height: 1.8;
	width: 100%;
	margin: 50px 0 0;
	letter-spacing: .08em;
	color: #fff;
}

.intro-area .intro-note {
	font-size: 2.1rem;
	margin: 60px 0 0;
	letter-spacing: .1em;
	color: var(--gray2);
}

@media screen and (max-width: 768px) {
	.intro-area {
		background-position: bottom left;
		padding: 100px 0 5px;
	}

	.intro-area .intro-photo {
		float: none;
		width: 100%;
		height: auto;
		margin: 40px 0;
	}

	.intro-area .intro-catch {
		font-size: 2.2rem;
		line-height: 2;
		float: none;
		width: 100%;
		margin: 30px 0;
	}

	.intro-area .intro-note {
		font-size: 1.7rem;
		line-height: 2.4;
		margin: 30px 0 0;
		letter-spacing: .09em;
	}
}

/* -----------------------------------------------------------
    reason-area
-------------------------------------------------------------- */
.reason-area .reason-intro {
	padding: 100px 0;
	background: var(--cmnbg2);
	position: relative;
}
.reason-area .reason-intro::before {
	content: "";
	background: url("../img/bg-grad-flash-l.jpg") center / contain no-repeat;
	aspect-ratio: 1600/420;
	width: 1600px;
	height: auto;
	position: absolute;
	left: 0;
	top: 0;
	opacity: .8;
}

.reason-area .reason-intro-ja {
	font-size: 5rem;
	font-weight: bold;
	color: #fff;
}

.reason-area [data-reasonblock='1'] .slick-slider div{ 
	transition: none;
}

.reason-area [data-reasonblock='1'] .slick-slider img {
	width: 500px;
	height: 400px;
}

.reason-area [data-reasonblock='1'] .cmn-imported-slide {
	position: absolute;
	top: 0;
	left: 0;
}

.reason-area [data-reasonblock='2'] .reason-header {
	background-image: url(../img/reasonblock2-header.jpg);
}

.reason-area [data-reasonblock='3'] .reason-header {
	background-image: url(../img/reasonblock3-header.jpg);
}

.reason-area [data-reasonblock='4'] .reason-header {
	background-image: url(../img/reasonblock4-header.jpg);
}

.reason-area .reason-block {
	margin: 0 0 70px;
}

.reason-area .reason-block:last-of-type {
	margin: 0 !important;
}

.reason-area .reason-header {
	position: relative;
	display: flex;
	height: 400px;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	gap: 30px;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.reason-area .reason-header::before {
	position: absolute;
	z-index: 2;
	top: -1px;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: rgba(0, 0, 0, .7);
}

.reason-area .reason-header .num-wrap {
	width: fit-content;
	padding: 8px 15px 7px;
	background: var(--main);
	flex-shrink: 0;
}

.reason-area .reason-header .num {
	font: italic 700 1.7rem/1 var(--en);
	display: flex;
	padding: 0 0 0 0;
	color: #fff;
	align-items: center;
	gap: 8px;
}

.reason-area .reason-header .num span {
	font-size: 3rem;
	letter-spacing: .07em;
}

.reason-area .reason-header .catch {
	display: flex;
	flex-direction: column;
	margin: 5px 0 0;
	gap: 12px;
}

.reason-area .reason-header .catch1 {
	font-size: 2.7rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .07em;
	color: var(--main);
}

.reason-area .reason-header .catch2 {
	font-size: 4.5rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: .07em;
	color: #fff;
}

.reason-area .reason-header-inner {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.reason-area .reason-content {
	position: relative;
	z-index: 2;
	margin-top: 70px;
}

.reason-area .reason-content .reason-box:not(:first-of-type) {
	margin: 35px 0 0;
}

.reason-area .reason-box {
	padding: 60px 50px 55px;
	background: #fff;
}

.reason-area .reason-box-flex {
	display: flex;
	margin: 20px 0 0;
	align-items: center;
	gap: 40px;
}

.reason-area .reason-box-flex.reason-box-noimg{
	margin: 40px 0 0;
}

.reason-area .reason-box-img {
	width: 450px;
	height: 440px;
	flex-shrink: 0;
}

.reason-area .reason-box-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.reason-area .reason-box-catch {
	font-size: 2.7rem;
	font-weight: bold;
	line-height: 1.6;
	position: relative;
	width: 100%;
	padding: 7px 5px 9px 25px;
	letter-spacing: .06em;
	color: #fff;
	background: var(--main);
}

.reason-area .reason-box-subcatch {
	font-size: 2.8rem;
	font-weight: 750;
	line-height: 1;
	position: relative;
	margin: 0 0 30px;
	padding: 0 0 20px;
	letter-spacing: .02em;
	border-bottom: 5px solid var(--cmnbg);
}

.reason-area .reason-box-subcatch::before {
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 70px;
	height: 5px;
	content: '';
	background: var(--main);
}

.reason-area .reason-box-note p {
	font-size: 1.7rem;
	line-height: 2.2;
	letter-spacing: .05em;
}

.reason-area .reason-box-note p:not(:first-of-type) {
	margin: 30px 0 0;
}

.reason-area .reason-btmbox {
	margin: 50px 0 0;
}

.reason-area .reason-btmbox-content {
	margin: 30px 0 0;
}

.reason-area .reason-box1-service {
	display: flex;
	margin: 40px 0 60px;
	flex-wrap: wrap;
	gap: 30px 25px;
}

.reason-area .box1-service-link {
	position: relative;
	display: flex;
	width: calc((100% - 50px) / 3);
	align-items: center;
	flex-shrink: 0;
}

.reason-area .box1-service-link:hover .box1-service-img img {
	transform: scale(1.07);
}

.reason-area .box1-service-link figure {
	position: relative;
	width: 100%;
	height: 100%;
}

.reason-area .box1-service-link figcaption {
	margin: 10px 0 0;
}

.reason-area .box1-service-link figcaption span{
	display: block;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	position: relative;
	padding: 0 20px 0 0;
	letter-spacing: .02em;
	/*color: #fff;*/
	color: var(--cmnblack);
	z-index: 2;
}

.reason-area .box1-service-link figcaption span::before {
	position: absolute;
	top: 60%;
	right: 0;
	width: 17px;
	height: 7px;
	content: '';
	transition: .5s;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url("../img/cmn-arrow-blue-small.svg") center/contain no-repeat;
}

.reason-area .reason-box1-service .box1-service-img {
	overflow: hidden;
	width: 100%;
	height: 100%;
	height: 150px;
}

.reason-area .reason-box1-service .box1-service-img img {
	width: 100%;
	height: 100%;
	transition: .5s;
	object-fit: cover;
}

.reason-area .reason-box1-service [data-box1="electrical"] figcaption span{
	font-size: 1.7rem;
}

.reason-area .box1-option {
	display: flex;
	align-items: center;
	gap: 40px;
}

.reason-area .box1-option-img {
	width: 40%;
	aspect-ratio: 3/1.5;
	flex-shrink: 0;
}

.reason-area .box1-option-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.reason-area .reason-intro {
		padding: 25px 0;
	}
	.reason-area .reason-intro::before {
		background: url('../img/bg-grad-flash-sp.jpg') right top/contain no-repeat;
		aspect-ratio: 750/930;
		width: 100%;
		right: 0;
		left: auto;
	}
	
	.reason-area .reason-intro-ja {
		font-size: 2.8rem;
		line-height: 1.6;
		letter-spacing: .05em;
	}
	
	.reason-area [data-reasonblock='1'] .slick-slider img {
		width: 500px;
		height: 400px;
	}

	.reason-area [data-reasonblock='2'] .reason-header {
		background-image: url(../img/reasonblock2-header-sp.jpg);
	}

	.reason-area [data-reasonblock='3'] .reason-header {
		background-image: url(../img/reasonblock3-header-sp.jpg);
	}

	.reason-area [data-reasonblock='4'] .reason-header {
		background-image: url(../img/reasonblock4-header-sp.jpg);
	}

	.reason-area .reason-block {
		margin: 0 0 35px;
	}

	.reason-area .reason-header {
		flex-direction: column;
		padding: 0 20px 40px;
		gap: 18px;
		justify-content: flex-end;
	}

	.reason-area .reason-header .num-wrap {
		height: auto;
		padding: 7px 13px 6px;
	}

	.reason-area .reason-header .num {
		font-size: 1.5rem;
		font-weight: 600;
		flex-direction: row;
		letter-spacing: 0;
		justify-content: flex-start;
	}

	.reason-area .reason-header .num span {
		font-size: 2rem;
		letter-spacing: .05em;
	}

	.reason-area .reason-header .catch {
		margin: 0;
		padding: 0;
		gap: 13px;
	}

	.reason-area .reason-header .catch1 {
		font-size: 1.8rem;
		color: var(--main2);
	}

	.reason-area .reason-header .catch2 {
		font-size: 2.5rem;
		line-height: 1.6;
	}

	.reason-area .reason-content {
		margin-top: 30px;
	}

	.reason-area .reason-box {
		padding: 0 0 30px;
	}

	.reason-area .reason-box-flex {
		flex-direction: column;
		gap: 20px;
	}
	
	.reason-area .reason-box-flex.reason-box-noimg{
		margin: 30px 0 0;
	}

	.reason-area .reason-box-img {
		width: calc(100% - 40px);
		height: auto;
		margin: 0 auto;
		aspect-ratio: 400/390;
	}

	.reason-area .reason-box-catch {
		font-size: 2rem;
		padding: 15px 20px;
	}

	.reason-area .reason-box-subcatch {
		font-size: 2rem;
		line-height: 1.4;
		margin: 0 0 20px;
		padding: 0 0 13px;
		border-bottom-width: 4px;
	}

	.reason-area .reason-box-subcatch::before {
		bottom: -4px;
		width: 40px;
		height: 4px;
	}

	.reason-area .reason-box-note {
		padding: 0 20px;
	}

	.reason-area .reason-box-note p {
		font-size: 1.6rem;
		letter-spacing: .07em;
	}

	.reason-area .reason-box-note p:not(:first-of-type) {
		margin: 25px 0 0;
	}

	.reason-area .reason-btmbox {
		margin: 30px 0 0;
		padding: 0 20px;
	}

	.reason-area .reason-btmbox-content {
		margin: 25px 0 0;
	}

	.reason-area .reason-box1-service {
		margin: 20px 0 30px;
		gap: 25px;
	}

	.reason-area .box1-service-link {
		width: 100%;
		justify-content: center;
	}

	.reason-area .box1-service-link figure {
		position: relative;
		display: flex;
		background: var(--cmnbg3);
		align-items: center;
		gap: 10px;
	}

	.reason-area .box1-service-link figure::before {
		position: absolute;
		right: 10px;
		bottom: 10px;
		width: 13px;
		height: 8px;
		content: '';
		background: url(../img/cmn-arrow-blue-small.svg) center/contain no-repeat;
	}
	
	.reason-area .box1-service-link figcaption {
		margin: 0;
	}

	.reason-area .box1-service-link figcaption span{
		font-size: 1.6rem;
		line-height: 1.3;
		margin: 0;
		padding: 0 10px 0 0;
		border: none;
	}

	.reason-area .box1-service-link figcaption span::before {
		display: none;
	}

	.reason-area .reason-box1-service .box1-service-img {
		width: 45%;
		flex-shrink: 0;
		height: auto;
	}

	.reason-area .reason-box1-service [data-box1="electrical"] figcaption span{
		font-size: 1.4rem;
	}

	.reason-area .box1-option {
		gap: 15px;
	}

	.reason-area .box1-option-img {
		width: 50%;
		aspect-ratio: 1/1;
	}
}

/* -----------------------------------------------------------
    service-area
-------------------------------------------------------------- */
.service-area {
	margin: 100px 0 0;
	padding: 100px 0;
	background: var(--cmnbg2);
	position: relative;
	overflow: hidden;
}

.service-area .cmn-section-ttl .ja {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.service-area {
		margin: 50px 0 0;
		padding: 60px 0;
	}
}