/* CSS Document */

.fv{
	position: relative;
}

.fv-box{
	position: absolute;
	top:50vh;
	transform: translateY(-50%);
	left:50px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 30px;
    background: linear-gradient(to left, rgba(255, 255, 255, 0.6) 10%, rgba(255, 255, 255, 0.95) 80%, rgba(255, 255, 255, 0.4) 105%);
}

.fv-box p strong{
	font-size: max(3.5vw,50px);
    letter-spacing: 2px;
    font-weight: 600;
	padding-left: 5px;
	line-height: 50px;
	color: #362313;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.fv-box-inside{
	display: flex;
	flex-direction: column;
	width: 510px;
	justify-content: center;
	align-items: center;
}

.fv-box p{
	display: inline;
    font-size: 25px;
    letter-spacing: 3px;
    font-weight: 800;
    color: #362313;
	text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.fv-box a{
	font-family: "Zen Antique Soft", serif;
    background: linear-gradient(to left, #7f4700 25%, #e18e3f 50%, #7f4700);
    padding: 10px 0;
    border: 1px solid #fff;
    color: #fff;
    letter-spacing: 2px;
    font-size: 23px;
	text-align: center;
	margin: 10px 0 5px;
	width: 100%;
	transition: all 300ms ease-in-out;
	position: relative;
}

.fv-box a::before{
	position: absolute;
	content: '';
	display: block;
	width:8px;
	height: 8px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	right: 20px;
	top:50%;
	transform: rotate(45deg) translateY(-50%);
	opacity: 0;
}


.fv-box a:hover::before{
	opacity: 1;
	transform: rotate(45deg) translateY(-50%);	
	animation: arrow 1s ease infinite;
}
  
  @keyframes arrow {
	50% {
	  right: 15px;
	}
	100% {
	  right: 20px;
	}
  }




.fv-box a:hover {
	-webkit-transform: skew(-20deg);
  	transform: skew(-20deg);
	letter-spacing: 5px;
}
	
.fv-box p span{
	letter-spacing: 5px;
	font-size: 20px;
}



/* about */

#about {
	background: #151744;
}

#about .about{
	display: flex;
	flex-direction: row;
}

.about-bk{
	position: relative;
}

#about .area-title{
	color: #fff;
	width: 100%;
	margin-bottom: 20px;
}

#about .area-box{
	width: 100%;
	color: #fff;;
	justify-content: center;
	align-items: center;
}

#about .area-text p{
	margin: 10px 0;
	letter-spacing: 1px;
	line-height: 30px;
}

#about .area-text{
	
	width: 100%;
	min-width: 450px;
}

.area-img{
	width: 40%;
	padding-left:3vw;
}

.area-img img{
	width: 100%;
}

/* about ///*/


/* slide-works 施工事例*/

.works{
	padding: 50px 30px 100px;
}

.works-title{
	color: #5b3610;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 50px auto;
}

.works .slider img{
    box-shadow: 3px 0px 5px #1b1600;
}

/* slide-works 施工事例///*/


/*　他のページのガイド　*/

#top-guide{
	display: block;
	background: url("../img/crane-bk.jpg") no-repeat center;
	background-size: cover;
}

.guide-item{
	margin: 20px auto;
	transition: ease-in-out 600ms;
}

.guide-bk{
	display: block;
	width: 100%;
	background: url("../img/kagoshima-bk.jpg") no-repeat center left;
	background-size: cover;
	height: 425px;
	position: relative;
	border: 2px solid #fff;
	transition: ease-in-out 600ms;
	margin-bottom: 20px;
} 

.recruit .guide-bk{
	display: block;
	width: 100%;
	background: url("../img/staff.jpg") no-repeat center left;
	background-size: cover;
	height: 425px;
	position: relative;
    margin-bottom: 0px;
}

.page-name{
	position: absolute;
	bottom: 0;
	width: 100%;
	background: rgba(8,61,100,0.9);
	transition: ease-in-out 600ms;
}

.guide-item p{
	color: #fff;
	padding: 15px 20px;
	position: relative;
}

.guide-item p::before{
	opacity: 0.6;
	position: absolute;
	content: '';
	display: block;
	width:10vw;
	height: 2px;
	background: #fff;
	right: 25px;
	top:50%;
	transform: translateY(-50%);
	transition: ease-in-out 600ms;
}

.guide-item p::after{
	opacity: 0.6;
	position: absolute;
	content: '';
	display: block;
	width:15px;
	aspect-ratio:1/1;
	border-top: 2px solid #fff;
	right: 27px;
	top:50%;
	transform: translateY(-50%) rotate(45deg);
	transition: ease-in-out 400ms;
}

.guide-item p strong{
	font-size: 40px;
	letter-spacing: 2px;
	margin-right: 10px;
	transition: ease-in-out 400ms;
}


.guide-item p span{
	font-size:  24px;
	letter-spacing: 5px;
	transition: ease-in-out 400ms;
}

.guide-item:hover .page-name{
	background: rgba(150,14,14,0.85);
} 

.guide-item:hover p strong{
	letter-spacing: 4px;
}

.guide-item:hover p span{
	letter-spacing: 7px;
}


.guide-item:hover p::before{
	opacity: 1;
	animation: arrow1 1s infinite;
  }


.guide-item:hover p::after{
	opacity: 1;
	animation: arrow2 1s infinite;
  }
  
  @keyframes arrow1 {
	50% {
	  right: 20px;
	}
	100% {
	  right: 25px;
	}
  }

  @keyframes arrow2 {
	50% {
	  right: 22px;
	}
	100% {
	  right: 27px;
	}
  }


/*　他のページのガイド　///*/



@media(max-width:1200px){
	

	.fv-box{
		width: 95%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin: auto;
		left: 50%;
		transform: translate(-50%,-50%)!important;
	}

}


@media(max-width:1000px){
	
	.fv-box p strong {
		font-size: min(5vw,40px);
		letter-spacing: 1px;
	}
	
	.fv-box {
    	position: absolute;
		top: 50vh;
	}

}



@media(max-width:800px){

	
	.fv-box {
		width: 100%;
	}
	
	
	.fv-box p {
	    font-size: 20px;
		letter-spacing: 1px;
	}
	
	.fv-box a {
    	font-size: 20px;
		width: 90%;
	}

	.fv-box p span {
		letter-spacing: 3px;
		font-size: 20px;
	}
	
  	.fv-box p strong {
        font-size: min(5vw,40px);
		line-height: 30px;
	}
	

	#about .about {
		flex-direction: column;
	}
	
	.area-img {
		width: 100%;
		padding-left:0;
	}
	
	#about .area-text {
		min-width: 100%;
	}
	
	#about .area-text p {
		line-height: 26px;
		font-size: 14px;
	}

	#about .area-title {
		margin-bottom: 10px;
	}
	
	.guide-bk{
		display: block;
		width: 100%;
		background: url(../img/kagoshima-bk.jpg) no-repeat center center;
		background-size: cover;
		height: 300px;
		margin-bottom: 10px;
	}

	.recruit .guide-bk {
		display: block;
		width: 100%;
		background: url(../img/staff.jpg) no-repeat center left;
		background-size: cover;
		height: 300px;
	}
	
}


@media(max-width:600px){
	
	.works {
		padding: 0 0 50px;
	}
	
	.works-title {
		margin: 50px auto 20px;
	}

	
	.guide-item p strong,
	.guide-item:hover p strong{
		font-size: 28px;
		letter-spacing: 1px;
	}
	
	.guide-item p span,
	.guide-item:hover p span {
    	font-size: 16px;
		letter-spacing: 1px;
	}
	
	.guide-item p {
    	padding: 10px;
	}
	
	.guide-bk,
	.recruit .guide-bk{
		background-size: cover;
		height: 200px;
	}

}

@media(max-width:500px){

	.fv-box{
    	width: 100%;
		padding: 30px 3px;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 10%, rgba(255, 255, 255, 0.95) 80%, rgba(255, 255, 255, 0.4) 105%);
	}
	
	.fv-box-inside {
		width: 100%;
	}
	
	.fv-box p {
		font-size: 18px;
		letter-spacing: 0;
	}

	.fv-box a {
        font-size: 17px;
        width: 90%;
        padding: 5px 0;
        max-width: 325px;
	    margin: 5px 0
    }
	
	.fv-box p span {
        letter-spacing: 3px;
        font-size: 17px;
    }
	
	.fv-box p strong {
		padding-left: 0;
        font-size: min(5.6vw,50px);
	}
	
}
	