@charset "utf-8";
/* CSS Document */

/* :::::::::::::::::::
	
	Company
	
:::::::::::::::::::::: */

/*==================================================================================

Contact

==================================================================================*/

/*
firstview
-------------------------------------------------- */

.contact-fv {
	width: 100%;
	height: 70vh;
	color: #fff;
	text-shadow: 2px 2px 1px #333;
	background-image: url(../images/page-head/header-contact.jpg);
	background-size: 100%;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;
	z-index: -10;
}

.contact-fv-content {
	margin-top: 5%;
}

.contact-fv-content:after {
	clear: both;
}

.contact-fv-ttl {
	margin-bottom: 10%;
}

.contact-fv-text {
	color: #fff !important;
}

.contact-works {
	position: relative;
	margin: 0;
	padding: 10px 0;
}

.contact-works:before {
	content: '';
	position: absolute;
	top: -90px;
	left: 0;
	width: 100%;
	height: 600px;
	margin:0;
	background: #fff;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: skewY(-5deg);
 	-ms-transform: skewY(-5deg);
	transform: skewY(-5deg);
	z-index: -1;
}

/*
Contact-top
-------------------------------------------------- */

.contact-text {
	margin-bottom: 3%;
	font-size: 16px;
	font-weight: bold;
	text-align: center; 	
}

#contact-banner {
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}

#contact-banner img {
	max-width: 90%;
}

/*
Contact-form
-------------------------------------------------- */

dl#contact-form {  
    width: 80%;
    margin: 0 auto;
    border: 1px #eee solid;
	border-top: none;
	box-sizing: border-box;
}

dl#contact-form dt {
	padding: 3% 2%;
	box-sizing: border-box;
}

dl#contact-form dd {
	padding: 2%;
	border-top: 1px #eee solid;
	box-sizing: border-box;
}

dl#contact-form dt {
	clear: both;
	float: left;
	width: 24%;
}

dl#contact-form dd {
	padding-left: 26%;
}

/* input */

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,select {
	width: 100%;
	margin: 0.5% 0;
	padding: 2%;
	border: 1px #eee solid;
	box-sizing: border-box;
}

select {
	display: block;
	width: 50%;
	margin: 0 0 1%;
	background: #fff;
	border: 1px #eee solid;
	box-sizing: border-box;
}

/* contact-label */

.contact-label {
	margin: 0 15px 0 0;
	padding: 5px 8px;
	font-size: 12px;
	letter-spacing: 2px;
	box-sizing: border-box;
	border: 1px #fff solid;
	border-radius: 5px;
}

.contact-label.label-required {
	color: #eee;
	background: #e60012;
	border: none;
}

.contact-label.label-any {
	color: #777;
	border-color: #777;
}

/* contact-radio */

.contact-radio input{
	display: none;
}

.contact-radio label{
	display: inline-block;
	position: relative;
	margin-left: 30px;
	padding: 10px 20px;
	text-align: center;
	border-radius: 2px;
	cursor: pointer;
}

.contact-radio label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #ccc;
	border-radius: 50%;
}

.contact-radio input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: -6px;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-radius: 50%;
	background: #009887;
}


/*
Contact-btn-area
-------------------------------------------------- */

#contact-btn-area {
	margin: 60px auto 0;
	padding: 0;
}

#contact-btn-area p {
	text-align: center;
	font-size: 15px;
}

#contact-btn-area p a {
	color: #00795e;
	text-decoration: none;
}

#contact-btn-area p a:hover {
	text-decoration: underline;
}

/* contact-btn */

.contact-btn {
	position: relative;
	display: block;
	width: 40%;
	height: 70px;
	margin: 30px auto 0;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	line-height: 70px;
	letter-spacing: 2px;
	color: #eee;
	background: #00795e;
	border: 1px #00795e solid;
	z-index: 2;
	cursor: pointer;
}

.contact-btn::before,
.contact-btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	top: 0;
	width: 50%;
	height: 100%;
	background: #00795e;
}

.contact-btn,
.contact-btn::before,
.contact-btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.contact-btn::before {
	right: 0;
}

.contact-btn::after {
	left: 0;
}

.contact-btn:hover {
	background: #fff;
	border-color: #00795e;
	color: #00795e;
}

.contact-btn:hover::before,
.contact-btn:hover::after {
	width: 0;
	background: #00795e;
}	

.contact-btn:visited {
	color: #eee;
}

.contact-btn:hover:visited {
	color: #00795e;
}


/*==================================================================================

Complete

==================================================================================*/

/*
Complete-box
-------------------------------------------------- */

#complete-box {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}



/*************************************************************************************
======================================================================================

Responsible

======================================================================================
**************************************************************************************/

@media (max-width: 414px) {
	
	/*
	firstview
	-------------------------------------------------- */
				
	.contact-fv {
		height: 20vh;
	}
	
	.contact-fv-content {
		margin-top: 0;
	}
						
	/*
	works
	-------------------------------------------------- */
		
	.contact-works:before {
		top: 0;
	}
	
	.contact-works-ttl {
		font-size: 30px;
	}


/*
Complete-box
-------------------------------------------------- */

	#complete-box {
		text-align: justify;
		text-justify: inter-ideograph;
	}
}

@media screen and (min-width: 415px) and (max-width: 736px) {
	
	/*
	firstview
	-------------------------------------------------- */
				
	.contact-fv {
		height: 35vh;
	}
	
	/*
	works
	-------------------------------------------------- */
		
	.contact-works:before {
		top: 0;
	}

}

@media (max-width: 992px) {

/*==================================================================================

Contact

==================================================================================*/

/*
Contact-box
-------------------------------------------------- */

	.contact-box {
		width: 100%;
		text-align: center;
	}
	
	.contact-box.contact-1 {
		float: none;
		margin: 0 auto 50px;
	}
	
	.contact-box.contact-2 {
		float: none;
		margin: 0 auto;
	}

/*
Contact-form
-------------------------------------------------- */

	dl#contact-form {
		width: 100%;
	}

	dl#contact-form dt,
    dl#contact-form dd {
        padding: 2% 2% 3%;
    }
    
    dl#contact-form dt {
        float: none;
		width: 100%;
        border-top: 1px #eee solid;
        border-left: none;
    }
    
    dl#contact-form dd {
        border-top: none;
    }

/* contact-radio */
	
	.contact-radio input{
		display: none;
	}
	
	.contact-radio label{
		margin-left: 20px;
		padding: 10px 20px;
	}
	
	.contact-radio input[type="radio"]:checked + label:after {
		left: -5px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
	}
	
/*
Contact-btn-area
-------------------------------------------------- */

/* contact-btn */

	.contact-btn {
		width: 80%;
		height: 70px;
		margin: 30px auto 0;
	}

}


@media screen and (min-width: 1024px) {
	
/*==================================================================================

Contact 01/02

==================================================================================*/

/*
Contact-form
-------------------------------------------------- */

	dl#contact-form dt {
		width: 28%;
	}
	
	dl#contact-form dd {
		padding-left: 30%;
	}
	
}

@media screen and (min-width: 737px) and (max-width: 1200px) {
		
	/*
	firstview
	-------------------------------------------------- */
				
	.contact-fv {
		height: 35vh;
	}
	
	/*
	works
	-------------------------------------------------- */

	.contact-works:before {
		top: 0;
	}
	
}

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


}



@media screen and (min-width: 992px) {


}


@media screen and (min-width: 1200px) {


}