@charset "utf-8";
/* ================================================ */
/* main_wrap
------------------------------------------------------ */
.main_wrap {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 56rem;
	background-image: url(../images/top-fv/top-fv.webp);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}

/* テキスト
--------------------------- */
.main_wrap-txt {
	position: absolute;
	z-index: 1;
}
.main_wrap-txt h1 {
	line-height: 1;
	letter-spacing: 0.08em;
	margin-bottom: 0;
	line-height: 1.6;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.main_wrap-txt {
		top: 18%;
	}
	.main_wrap-txt h1 {
		font-size: 2.4rem;
	}
}

@media screen and (min-width: 768px) {
	.main_wrap-txt {
		top: 30%;
	}
	.main_wrap-txt h1 {
		font-size: 3.5rem;
	}
}
@media screen and (max-width: 1199px){
	.main_wrap-txt {
		left: 5.1282%;
	}
}
@media screen and (min-width: 1200px){
	.main_wrap-txt {
		left: 11.1111%;
	}
}
/* ================================================ */
/* first
------------------------------------------------------ */
.top-first-ttl{
	letter-spacing: 0.08em;
	line-height: 1;
}
.top-first-txt{
	line-height: 2;
}
@media screen and (max-width: 1199px){
	.top-first-ttl{
		font-size: 2.8rem;
	}
	.top-first-txt{
		margin-bottom: 1.6rem;
	}
}
@media screen and (min-width: 1200px){
	.top-first-ttl{
		font-size: 4.8rem;
	}
	.top-first-txt{
		margin-bottom: 2.4rem;
	}
}

/* ================================================ */
/* second
------------------------------------------------------ */
.top-concept-img-wrap{
	position: relative;
}
.top-concept-img-caption{
	position: absolute;
	width: 100%;
	text-align: center;
	left: 0;
}
@media screen and (max-width: 767px){
	.top-concept-img-caption{
		font-size: 1.8rem;
	}
}
@media screen and (min-width: 768px){
	.top-concept-img-caption{
		font-size: 3.2rem;
	}
}
@media screen and (max-width: 1199px){
	.top-concept-img-caption{
		top: 22%;
		font-weight: 500;
	}
}
@media screen and (min-width: 1200px){
	.top-concept-img-wrap{
		aspect-ratio: 1 / 0.55;
	}
	.top-concept-img-wrap img{
		object-fit: cover;
		object-position: 50% 100%;
		height: 100%;
		width: 100%;
	}
	.top-concept-img-caption{
		top: 18%;
	}
}

/* ================================================ */
/* concept
------------------------------------------------------ */
/* グループ */
.top-concept-ttl-num{
	display: flex;
}
.top-concept-ttl-num .efont{
	font-size: 1.5em;
	display: block;
	padding-top: 0.1em;
	width: 3.4rem;
	line-height: 1;
}
.tctn-main{
	display: block;
	width: calc(100% - 3.4rem);
	font-weight: 500;
}
@media screen and (max-width: 1199px){
	.top-concept-ttl-num{
		font-size: 1.6rem;
	}
	.tctn-main{
		line-height: 1.6;
		padding-top: 0.2em;
	}
}
@media screen and (min-width: 1200px){
	.top-concept-ttl-num{
		font-size: 2rem;
	}
}

/* ================================================ */
/* CONCEPT LAST
------------------------------------------------------ */
.top-concept-last-caption{
	line-height: 2;
}
@media screen and (max-width: 1199px){
	.top-concept-last-logo{
		margin-bottom: 2rem;
		max-width: 28rem;
	}
	.top-concept-last-caption{
		font-size: 1.8rem;
		font-weight: 500;
	}
}
@media screen and (min-width: 1200px){
	.top-concept-last-logo{
		max-width: 40rem;
		margin-bottom: 5.6rem;
	}
	.top-concept-last-caption{
		font-size: 2.8rem;
	}
}

/* ================================================ */
/* 施工事例
------------------------------------------------------ */
.common-scroll-swiper .swiper-wrapper {
  transition-timing-function: linear;
}
/* ================================================ */
/* About Us
------------------------------------------------------ */
.top-aboutus-ttl{
	line-height: 1;
}
.top-aboutus-ttl .txtmin{
	display: inline-block;
	padding-top: 1em;
}
@media screen and (max-width: 1199px){
	.top-aboutus-ttl{
		font-size: 1.5rem;
	}
}
@media screen and (min-width: 1200px){
	.top-aboutus-ttl{
		font-size: 1.8rem;
	}
}
/* greeting */
.top-aboutus-greetings-img{
	text-align: center;
}
.tagt-ttl{
	line-height: 1.8;
}
@media screen and (max-width: 767px){
	.top-aboutus-greetings-wrap{
		text-align: center;
	}
	.top-aboutus-greetings-img{
		margin-bottom: 2.4rem;
	}
	.top-aboutus-greetings-txt{
		display: inline-block;
		text-align: left;
	}
}
@media screen and (min-width: 768px){
	.top-aboutus-greetings-wrap{
		display: flex;
	}
	.top-aboutus-greetings-img{
		width: 45%;
		padding-right: 8%;
	}
	.top-aboutus-greetings-txt{
		width: 55%;
		padding-top: 1%;
	}
}
@media screen and (max-width: 1199px){
	.tagt-ttl{
		font-size: 1.6rem;
		font-weight: 500;
		margin-bottom: 1.6rem;
	}
}
@media screen and (min-width: 1200px){
	.tagt-ttl{
		font-size: 2.4rem;
		margin-bottom: 2.8rem;
		padding-top: 1rem;
	}
	.tagt-txt{
		margin-bottom: 2rem;
	}
}

/* ================================================ */
/* About Us
------------------------------------------------------ */
@media screen and (min-width: 992px){
	.top-company-wrap{
		display: flex;
	}
	.top-company-ttl{
		width: 30%;
	}
	.top-company-main{
		width: 70%;
	}
}
/* dl */
.top-company-main-dl{
	border-top: 1px #666 solid;
}
.top-company-main-dl dt{
	font-weight: 500;
	padding-top: 1.2em;
}
.top-company-main-dl dd{
	border-bottom: 1px #666 solid;
	margin-bottom: 0;
	padding-bottom: 1.2em;
}
@media screen and (max-width: 575px){
	.top-company-main-dl dt{
		padding-bottom: 0.5em;
	}
}
@media screen and (min-width: 576px){
	.top-company-main-dl{
		display: flex;
		flex-wrap: wrap;
	}
	.top-company-main-dl dt{
		padding-left: 1.2em;
		padding-right: 1.2em;
		width: 16rem;
		padding-bottom: 1.2em;
		border-bottom: 1px #666 solid;
	}
	.top-company-main-dl dd{
		width: calc(100% - 16rem);
		padding-top: 1.2em;
	}
}
/* map */
.top-company-main-map{
	position: relative;
}
.top-company-main-map iframe{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
@media screen and (max-width: 767px){
	.top-company-main-map{
		aspect-ratio: 1 / 1;
	}
}
@media screen and (min-width: 768px){
	.top-company-main-map{
		aspect-ratio: 8 / 5;
	}
}





/*video*/
.js-movie {
  position: relative;
}
.js-movie video {
	display: block;
	width: 100%;
	height: auto;
}
/* .js-movie::before{
	content: " ";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
	background: rgba(255,255,255,0.3);
	position: absolute;
	transition: .3s;
}
.js-movie::after{
	content: " ";
	display: block;
	border-top: 2em rgba(255,255,255,0) solid;
	border-left: 3em #fff solid;
	border-bottom: 2em rgba(255,255,255,0) solid;
	position: absolute;
	top: calc(50% - 1em);
	left: calc(50% - 1.5em);
	transition: .3s;
	pointer-events: none;
} */
@media screen and (min-width: 1200px){
	.js-movie{
		width: 68%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 12rem;
	}
}
/* 再生中の見た目 */
/* .js-movie.is-play::before,.js-movie.is-play::after{
	opacity: 0;
	visibility: hidden;
} */