@charset "UTF-8";
/* CSS Document */
.ttl_inner{
}

.ttl_inner .title{
	margin-bottom:7em;
}
.ttl_inner .title h1{
	font-size:1.1rem;
	margin-bottom:1em;
}
.ttl_inner .title h6{
	font-size:2.0rem;
	line-height:1em;
}
.ttl_inner .title h6 span{
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
	.ttl_inner .title{
		text-align:center;
	}
}

/* -- cont_tec -- */
.cont_tec{
	margin:0 0 100px 0;
}


/* -- ep -- */
.ep{
	display:flex;
	justify-content:space-between;
	margin-bottom:100px;
		background:#f1f1ee;
	padding:50px;
	box-sizing:border-box;
	border-radius:10px;
}
.ep .ep_ttl_wrap{
	width:450px;
	border-right:1px solid #ccc;
}
.ep .ep_ttl_wrap h3{
	font-size:1.5rem;
}
.ep .ep_text_wrap{
	width:calc(100% - 530px);
}
.ep .ep_text_wrap h4{
	font-size:1.3rem;
	margin-bottom:1em;
}
.ep .ep_text_wrap p{
}
/* ----------959px–---------- */
@media screen and (max-width: 959px) {
	.ep .ep_ttl_wrap h3{
		font-size:1.5rem;
	}
	.ep .ep_ttl_wrap{
		width:400px;
	}
	.ep .ep_text_wrap{
		width:calc(100% - 430px);
	}
	.ep .ep_text_wrap h4{
		font-size:1.3rem;
	}
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
	.ep{
		width:100%;
		max-width:600px;
		margin:0 auto 70px;
		display:block;
		justify-content:unset;
	}
	.ep .ep_ttl_wrap{
		width:100%;
		border-right:unset;
		margin-bottom:40px;
	}
	.ep .ep_ttl_wrap h3{
		width:fit-content;
		margin:auto;
	}
	.ep .ep_text_wrap h4{
		width:fit-content;
	}
	.ep .ep_text_wrap{
		width:100%;
		max-width:400px;
		margin:auto;
	}
	.ep .ep_text_wrap p{
		font-size:unset;
	}
}
/* ----------519px–---------- */
@media screen and (max-width: 519px) {
	.ep{
		padding:50px 5%;
	}
	.ep .ep_ttl_wrap h3{
		font-size:1.4rem
	}
	.ep .ep_text_wrap h4{
		font-size:1.2rem;
	}
}

/* -- wrap -- */
.wrap{
	display:flex;
	justify-content:space-between;
}
.wrap:nth-child(odd){
	flex-direction: row-reverse;
}
.wrap .secV{
	width: 50%;
	position:relative;
	aspect-ratio:1 / 1;
	animation: parallax linear both;
	animation-timeline: view();
	background-size:cover;
	align-items:center;
	display:flex;
}
@keyframes parallax {
  from {
    background-position: center -200px;
  }
  to {
    background-position: center 200px;
  }
}
.wrap .secV:after{
	content:"";
	height:100%;
	width:100%;
	display:block;
	position:absolute;
	left:0;
	top:0;
	background:#000;
	opacity:0.3;
}
.wrap.safe .secV{
	background-image:url("../../../../../img/perf/tec_secV_01.webp") ;
}
.wrap.conf .secV{
	background-image:url("../../../../../img/perf/tec_secV_02.webp") ;
}
.wrap.sup .secV{
	background-image:url("../../../../../img/perf/tec_secV_03.webp") ;
}
.wrap .secV h5{
	width:fit-content;
	margin:auto;
	color:#fff;
	z-index:1;
	font-size:3rem;
	mix-blend-mode:difference;
}
.wrap .inner_intro{
	width:50%;
	align-items:center;
	display:flex;
}
.wrap .inner_intro .inner_sub{
	width:80%;
	max-width:450px;
	margin:auto;
	height:fit-content;
}
.wrap .inner_intro .in_ttl{
	margin:0 0 2em 0;
}
.wrap .inner_intro .in_ttl h2{
	font-size:1.5rem;
}
.wrap .inner_intro .in_ttl h6{
	font-size:0.8rem;
}
.wrap .inner_intro .in_text{
}
.wrap .inner_intro .in_text h4{
	font-size:1.3rem;
	margin-bottom:1em;
}
.wrap .inner_intro .btn{
	width:fit-content;
	margin:30px auto 0;
}
.wrap .inner_intro .btn a{
	height:100%;
	width:100%;
	padding:15px 50px 15px 20px;
	border-radius:50px;
	box-shadow: 1rem 1rem 1rem -1rem hsl(200 50% 20% / 40%);
	background: linear-gradient(139deg, #948977, #7d6f57);
	color:#fff;
}
/* ----------1399px–---------- */
@media screen and (max-width: 1399px) {
	.wrap{
		margin:0 calc(50% - 50vw);
		width:100vw;
	}
}
/* ----------959px–---------- */
@media screen and (max-width: 959px) {
	.wrap{
		display:block;
		justify-content:unset;
	}
	.wrap .secV{
		width:100%;
	}
	.wrap .inner_intro{
		width:100%;
	}
	.wrap .inner_intro .in_ttl{
		width:100%;
		margin:0 auto 30px;
		text-align:center;
	}
	.wrap .inner_intro .in_text{
		width:90%;
		margin:auto;
	}
	.wrap .inner_intro .in_text h4{
		text-align:center;
	}
	.wrap .inner_intro{
		padding:20vh 0;
	}
}
/* ----------899px–---------- */
@media screen and (max-width: 899px) {

}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
}
/* ----------599px–---------- */
@media screen and (max-width: 599px) {
	.wrap .secV{
		height:100svh;
		aspect-ratio:unset;
	}
	.wrap .inner_item{
		display:block;
		justify-content:unset;
		flex-wrap:unset;
		max-width:500px;
		margin:auto;
	}
	.wrap .inner_intro .in_text h4 span{
		display:block;
	}
}
/* ----------499px–---------- */
@media screen and (max-width: 499px) {

	.wrap .inner_intro .in_ttl h2{
		font-size:2.0rem;
	}
	.wrap .inner_intro .in_ttl h6{
		font-size:0.6rem;
	}
	.wrap .inner_intro .inner_sub{
		width:100%;
		max-width:unset;
		margin:auto;
		height:fit-content;
	}
}



/* -- cta -- */
.cta{
	margin:0 calc(50% - 50vw) 0;
	width:100vw;
	padding:15vh 0;
	background:url("../../../../../img/perf/tec_cta_bg.webp") center / cover;
	position:relative;
}
.cta:after{
	content:"";
	display:block;
	background:#000;
	position:absolute;
	height:100%;
	width:100%;
	position:absolute;
	top:0;
	left:0;
	opacity:0.5
}
.cta .inner{
	width:80%;
	max-width:600px;
	margin:auto;
	box-sizing:border-box;
	/* background:#fff; */
	z-index:1;
	position:relative;
	color:#fff;
}
.cta .inner h4{
	font-size:2rem;
	display: flex;
    align-items: center;
}
.cta .inner h4:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #ccc;
	margin-left: 1rem;
}
.cta .inner h2{
	font-size:1.3rem;
	margin:0 0 1em 0;
	line-height:2em;
}
.cta .inner h2 strong{
	font-weight:lighter;
	font-size:120%;
}
.cta .inner .ctr_box{
	display:flex;
	justify-content:space-between;
	margin:30px 0 0 0;
}
.cta .inner .ctr_box .btn{
	width:48%;
}
.cta .inner .ctr_box .btn a{
	width:100%;
	display:block;
	padding:10px 20px;
	box-sizing:border-box;
	border-radius:50px;
	background:#948977;
		box-shadow: 1rem 1rem 1rem -1rem hsl(200 50% 20% / 40%);
	background: linear-gradient(139deg, #948977, #7d6f57);
	color:#fff;
	text-align:center;
}


/* ----------839px–---------- */
@media screen and (max-width: 839px) {
	.cta .inner .ctr_box{
		display:block;
		justify-content:unset;
		margin:30px 0 0 0;
	}
	.cta .inner .ctr_box .btn{
		width:100%;
		margin:0 0 20px 0;
	}
}
/* ----------768px–---------- */
@media screen and (max-width: 768px) {
	.cta .inner{
		width:80%;
		max-width:unset;
		margin:auto;
	}
	.cta .inner h2{
		font-size:1.1rem;
	}
}
