@charset "utf-8";

.main::after{
	background: var(--blackcolor) !important;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Keyvisual{
		padding-bottom: 18.5rem !important;
	}

	/* .C-Contact{
		margin-top: -13.5rem;
	} */

}



/*-------------------------------
	共通
-------------------------------*/

.Strengths-block__title{
	margin-bottom: 3.2rem;
}
.Strengths-block__body{
	padding-left: 5rem;
	padding-right: 5rem;
}
.Strengths-block__text{
	margin-bottom: 9.2rem;
	font-weight: 400;
}
.Strengths-point{
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	counter-reset: number 0;
}
.Strengths-point__item{
	transition: all .6s ease-in-out;
	width: calc((100% - (2.3rem * 2)) / 3);
	padding: 4.5rem 3rem 1.5rem;
	background: #e5e5e5;
	position: relative;
	opacity: 0;
	transform: translateY(5rem) scale(.9);
}
.Strengths-point__item:nth-of-type(1){
	transition-delay: .3s;
}
.Strengths-point__item:nth-of-type(2){
	transition-delay: .6s;
}
.Strengths-point__item:nth-of-type(3){
	transition-delay: .9s;
}
.Strengths-point__item::before{
	color: var(--maincolor);
	font-family: var(--en);
	font-size: 7rem;
	font-weight: 600;
	line-height: .7;
	padding-bottom: .3rem;
	overflow: hidden;
	display: block;
	counter-increment: number 1;
	content: counter(number,decimal-leading-zero);
	position: absolute;
	left: 3rem;
	top: 0;
	transform: translateY(-50%);
}
.Strengths-point__item-title{
	border-bottom: 1px solid var(--blackcolor);
	width: 100%;
	padding-bottom: 2.4rem;
	min-height: calc(((1em * 2) * (3 / 2)) + 2.4rem);
	margin-bottom: 2.2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: calc(3 / 2);
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Strengths-point__item-text{
	font-size: 1.4rem;
	min-height: calc((1em * 4) * 2);
	font-weight: 400;
}

.Strengths-point.on .Strengths-point__item{
	opacity: 1;
	transform: translateY(0);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

	.Strengths-block__body{
		padding-right: 0;
	}

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Strengths-point{
		flex-direction: column;
	}
	.Strengths-point__item{
		width: 100%;
	}
	.Strengths-point__item:not(:last-child){
		margin-bottom: 5rem;
	}

}
@media screen and (max-width:768px){

	.Strengths-block__title{
		margin-bottom: 2rem;
	}
	.Strengths-block__body{
		padding-left: 8rem;
		padding-right: 0;
	}
	.Strengths-block__text{
		margin-bottom: 9rem;
	}
	.Strengths-point{
		flex-direction: column;
	}
	.Strengths-point__item{
		width: 100%;
		padding: 8.5rem 5rem 3rem;
	}
	.Strengths-point__item:not(:last-child){
		margin-bottom: 9.5rem;
	}
	.Strengths-point__item::before{
		font-size: 14rem;
		padding-bottom: .2rem;
		line-height: .74;
		left: 5rem;
	}
	.Strengths-point__item-title{
		padding-bottom: 2rem;
		min-height: auto;
		margin-bottom: 2rem;
		font-size: 3.2rem;
		line-height: calc(5 / 3.2);
	}
	.Strengths-point__item-text{
		font-size: 2.8rem;
		min-height: auto;
	}

}



/*-------------------------------
	なぜ鎌ケ谷巧業が選ばれるのか。
-------------------------------*/

#Reason{
	padding-top: 0;
}
.Reason__inner{
	margin-bottom: var(--padding-topbottom);
}
.Reason-message{
	margin-bottom: 8.5rem;
}
.Reason-message__title{
	width: 100%;
	margin-bottom: 4rem;
	font-size: 4rem;
	letter-spacing: .01em;
	font-weight: 700;
	line-height: 1;
}
.Reason-message__text{
	font-size: 2rem;
}

:root{
	--private-reson-gap: .5rem;
}
.Reason-image{
	width: 100%;
	height: 60rem;
	gap: var(--private-reson-gap);
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.Reason-image::before{
	left: calc((100% / 3) * 1);
}
.Reason-image::after{
	right: calc((100% / 3) * 1);
}
.Reason-image__item{
	background: var(--maincolor);
	transition: clip-path 1s cubic-bezier(.85, 0, .15, 1);
	width: calc(100% / 3);
	height: 100%;
	overflow: hidden;
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}
.Reason-image__item-inner{
	transition: clip-path 1s cubic-bezier(.85, 0, .15, 1);
	width: calc((100% * 3) + (var(--private-reson-gap) * 2));
	height: 100%;
	background-image: url(../images/strengths/bg_reason.jpg);
    background-image: image-set(url(../images/strengths/bg_reason.jpg) 1x, url(../images/strengths/bg_reason.jpg) 2x);
	display: block;
	background-size: cover;
	background-position: center center;
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}
.Reason-image__item:nth-of-type(1) .Reason-image__item-inner{
	margin-left: 0;
}
.Reason-image__item:nth-of-type(2) .Reason-image__item-inner{
	margin-left: calc(-100% - var(--private-reson-gap));
}
.Reason-image__item:nth-of-type(3) .Reason-image__item-inner{
	margin-left: calc(-200% - (var(--private-reson-gap) * 2));
}

.Reason-image.on .Reason-image__item{
	clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0% 100%);
}
.Reason-image.on .Reason-image__item-inner{
	clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0% 100%);
}
.Reason-image.on .Reason-image__item:nth-of-type(1) .Reason-image__item-inner{
	transition-delay: .9s;
}
.Reason-image.on .Reason-image__item:nth-of-type(2) .Reason-image__item-inner{
	transition-delay: 1.2s;
}
.Reason-image.on .Reason-image__item:nth-of-type(3) .Reason-image__item-inner{
	transition-delay: 1.5s;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

	.Reason-message__title{
		line-height: 1.5;
	}
	.Strengths-point__item{
		padding-bottom: 2.8rem;
	}
	.Strengths-point__item-title{
		min-height: auto;
	}
	.Strengths-point__item-title br{
		display: none;
	}
	.Strengths-point__item-text{
		min-height: auto;
	}

	.Reason-image{
		height: 45rem;
	}

}
@media screen and (max-width:768px){

	.Reason-message{
		margin-bottom: 16.5rem;
	}
	.Reason-message__title{
		margin-bottom: 6.5rem;
		font-size: 6rem;
		line-height: calc(9 / 6);
	}
	.Reason-message__text{
		font-size: 3rem;
	}

	:root{
		--private-reson-gap: .3rem;
	}
	.Reason-image{
		height: 33rem;
		gap: var(--private-reson-gap);
	}

}



/*-------------------------------
	私たちが大切にしていること
-------------------------------*/

.Precious{
	padding-top: 0;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}



/*-------------------------------
	これからも鎌ケ谷巧業であるために。
-------------------------------*/

#Future{
	height: 400svh;
	padding-top: 0;
	padding-bottom: 0;
	position: relative;
}
.Future::after{
	transition: var(--transition);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 4000;
	opacity: 0;
}
.Future::before{
	content: "";
	display: block;
	width: 100%;
	height: 100svh;
	background-image: url(../images/strengths/bg_future.jpg);
    background-image: image-set(url(../images/strengths/bg_future.jpg) 1x, url(../images/strengths/bg_future.jpg) 2x);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: sticky;
	top:0;
	z-index: -1;
}
.Future.on::after{
	opacity: 1;
}
.Future__inner{
	padding-top: var(--header-height);
	margin-top: 50svh;
	width: 100%;
	height: 100svh;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: sticky;
	z-index: 6000;
	top: 0;
}
.Future__title{
	font-size: 3.2rem;
	margin-bottom: 7rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #fff;
}
.Future__text{
	font-size: 1.8rem;
	line-height: calc(4 / 1.8);
	letter-spacing: .05em;
	margin-bottom: 7rem;
	text-align: center;
	color: #fff;
}
.Future__logo{
	width: 27.5rem;
	padding-bottom: 10rem;
	margin-left: auto;
	margin-right: auto;
}
.Future__logo img{
	width: 100%;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	#Future{
		background: var(--blackcolor);
		height: 250svh;
	}
	.Future::before{
		height: 42.5rem;
		z-index: 4000;
	}
	.Future::after{
		display: none;
	}
	.Future__inner{
		padding-top: var(--header-height);
		margin-top: -42.5rem;
		width: 100%;
		height: 100svh;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: sticky;
		z-index: 6000;
		top: 0;
	}
	.Future__inner::before{
		transition: .3s all ease-in-out;
		background: var(--blackcolor);
		transition-delay: .3s;
		content: "";
		display: block;
		width: 100%;
		height: 42.5rem;
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		z-index: -1;
		background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
		opacity: 0;
		transition-delay: 1s;
	}
	.Future__inner::after{
		background: var(--blackcolor);
		content: "";
		display: block;
		width: 100%;
		height: calc(100% - 42.5rem);
		position: absolute;
		left: 0;
		bottom: 0;
		right: 0;
		z-index: -1;
	}
	.Future__title{
		font-size: 4rem;
		margin-bottom: 6.5rem;
		line-height: calc(6 / 4);
		letter-spacing: .01em;
	}
	.Future__text{
		font-size: 3rem;
		line-height: calc(6 / 3);
		margin-bottom: 8.5rem;
	}
	.Future__logo{
		width: 30rem;
		padding-bottom: 0;
	}
	
	/* アニメーション対策（PC版のアニメーションを無効にする） */
	.Future__title.on,
	.Future__text.on,
	.Future__logo.on{
		opacity: 0;
		transform: translateY(2rem);
	}
	/* スマホ用のアニメーションを設定する */
	.Future__inner.-sp_g::before{
		opacity: 1;
	}
	.Future__inner.-sp_g .Future__title.on,
	.Future__inner.-sp_g .Future__text.on,
	.Future__inner.-sp_g .Future__logo.on{
		opacity: 1;
		transform: translateY(0);
	}
	.Future__inner.-sp_g .Future__title.on{
		transition-delay: 1.5s;
	}
	.Future__inner.-sp_g .Future__text.on{
		transition-delay: 1.75s;
	}
	.Future__inner.-sp_g .Future__logo.on{
		transition-delay: 2s;
	}

}