@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */

/* page title */
/* -------------------------------------------------- */
.pageContact {
	background: url(../../img/contact/contact_title_bg.jpg) no-repeat center center / cover;
}

.errForm {
	background-color: #F3BCBF !important;
}

.errorMessage {
	margin-top: 12px;
	font-size: 1.3rem !important;
	color: #b10418;
}

.errorMessage:before {
	content: "";
	display: inline-block;
	background: url(../../img/contact/err_icon.png) no-repeat 0 0 / 100%;
	width: 17px;
	height: 17px;
	vertical-align: -3px;
	margin-right: 5px;
}

.contactBody {
	width: 100%;
	max-width: 1000px;
	margin: 100px auto;
}

.introTxt {
	margin-bottom: 75px;
	font-size: 1.6rem;
	line-height: 1.7;
	text-align: center;
}

.ppLinkTxt {
	margin-bottom: 50px;
	text-align: center;
	color: #444444;
}

.ppLink {
	padding-bottom: 5px;
	display: inline-block;
	position: relative;
	line-height: 1.0;
	color: inherit;
	border-bottom: 1px solid #444444;
	transition: all .3s ease-in-out;
}

.ppLink:after {
	width: 0;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
	content: '';
	background: #3EB134;
	transition: all .3s ease-in-out;
}

/* form */
.formCont {
	margin-bottom: 40px;
}

.formCol {
	margin-bottom: 45px;
}

.formColBody {
	margin-bottom: 0;
}

.formttl {
	margin-bottom: 15px;
	font-size: 1.8rem;
	line-height: 1.0;
}

.require {
	width: 40px;
	margin-left: 25px;
	padding: 6px 0;
	display: inline-block;
	background: #3EB134;
	font-size: 1.2rem;
	line-height: 1.0;
	text-align: center;
	color: #FFFFFF;
	border-radius: 3px;
	vertical-align: 2px;
}

.btnRadio {
	margin: 0 30px 0 0;
	font-size: 1.8rem;
	line-height: 1.0;
}

input[type="text"] {
	width: 100%;
	height: 60px;
	padding: 0 20px;
	background: #F5F5F5;
	font-size: 1.6rem;
	border: 1px solid #F1F1F1;
	border-radius: 5px;
}

input[type="text"] ::-webkit-input-placeholder {
	font-size: 1.6rem;
	line-height: 1.0;
	color: #878787;
}

input[type="text"] ::-moz-placeholder {
	font-size: 1.6rem;
	line-height: 1.0;
	color: #878787;
}

input[type="text"] :-ms-input-placeholder {
	font-size: 1.6rem;
	line-height: 1.0;
	color: #878787;
}

textarea {
	width: 100%;
	height: 220px;
	padding: 10px 20px;
	font-size: 1.6rem;
	background: #F5F5F5;
	border: 1px solid #F1F1F1;
	border-radius: 5px;
}

.formBtn {
	width: 500px;
	margin: auto;
	color: #3EB134;
}

.submitBtn {
	padding: 20px 0 22px;
	display: block;
	position: relative;
	font-size: 2.4rem;
	line-height: 1.0;
	text-align: center;
	color: inherit;
	border: 1px solid #3EB134;
	border-radius: 15px;
	cursor: pointer;
	transition: all .3s ease-in-out;
}

.submitBtn:after {
	width: 10px;
	height: 10px;
	margin-top: -5px;
	position: absolute;
	top: 50%;
	right: 45px;
	border-top: 2px solid #3EB134;
	border-right: 2px solid #3EB134;
	transform: rotate(45deg);
	content: '';
	transition: all .3s ease-in-out;
}

.submitBtn .assist {
	margin-bottom: 10px;
	display: inline-block;
	font-size: 1.5rem;
	line-height: 1.0;
}

/* ラジオボタン 装飾 */
input[type="radio"] {
	display: none;
}

input[type="radio"] + label {
	background: url("../../img/contact/contact_radio.png") no-repeat left center;
	background-size: 22px 22px;
	cursor: pointer;
	display: inline-block;
	padding: 3px 0 1px 30px;
}

input[type="radio"]:checked + label {
	background: url("../../img/contact/contact_radio_on.png") no-repeat left center;
	background-size: 22px 22px;
	cursor: pointer;
}

/* confirm, complete */
/* -------------------------------------------------- */
#contactlead.confirm,
#contactlead.complete {
	margin: 0 auto 100px;
	padding-top: 100px;
}

.complete .introTxt {
	margin-bottom: 50px;
}

.introTxtAssist {
	font-size: 1.8rem;
	color: #3EB134;
}

.complete .introTxtAssist {
	margin-bottom: 30px;
	text-align: center;
}

.confirm .formCol {
	margin-bottom: 25px;
	padding: 0 40px 30px;
	border-bottom: 1px solid #e1e3de;
}

.confirm .formin {
	padding-left: 20px;
}

.formCol p {
	font-size: 1.6rem;
}

.confirm .formCont {
	margin-bottom: 70px;
}

.formSendBtn {
	width: 300px;
	margin: 0 auto 40px;
	color: #3EB134;
}

.sendBtn {
	padding: 37px 0;
	display: block;
	position: relative;
	font-size: 2.4rem;
	line-height: 1.0;
	text-align: center;
	color: inherit;
	border: 1px solid #3EB134;
	border-radius: 15px;
	cursor: pointer;
	transition: all .3s ease-in-out;
}

.sendBtn:after {
	width: 10px;
	height: 10px;
	margin-top: -5px;
	position: absolute;
	top: 50%;
	right: 20px;
	border-top: 2px solid #3EB134;
	border-right: 2px solid #3EB134;
	transform: rotate(45deg);
	content: '';
	transition: all .3s ease-in-out;
}

.returnBtn {
	text-align: center;
	color: #444444;
}

.returnLink {
	position: relative;
	padding: 0 3px 10px 3px;
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.0;
	color: inherit;
	border-bottom: 1px solid #D8D8D8;
}

.returnLink:before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 0;
	height: 1px;
	background: #3EB134;
	transition: all .3s ease-in-out;
}

.returnLink:after {
	width: 7px;
	height: 7px;
	margin-left: 10px;
	display: inline-block;
	content: '';
	border-top: 1px solid #D5D5D5;
	border-right: 1px solid #D5D5D5;
	transform: rotate(45deg);
	vertical-align: 1px;
}

.completeBtn {
	width: 300px;
}

.telLink {
	color: #444444;
}

.telLink a {
	color: inherit;
}

/* お問い合わせのフロー */
/* -------------------------------------------------- */
#contactFlow {
	margin: 0 auto 60px;
	text-align: center;
}

#flowActiv {
	color: #3eb134;
}

.flowItem {
	display: inline-block;
	margin: 0 20px;
	font-size: 2.3rem;
	font-weight: normal;
	color: #a0a0a0;
	line-height: 1;
}

.flowItem span{
	line-height: 1;
}

.sectionTtl{
	position: relative;
}

.sectionTtl:after {
	content: '';
	display: block;
	position: absolute;
	width: 23px;
	height: 2px;
	top: 55%;
	right: -35px;
	background: #3eb134;
	transform: rotate(135deg) translate(0, -50%);
}



@media screen and (min-width: 1025px) {
	.ppLink:hover {
		color: #3EB134;
	}

	.ppLink:hover:after {
		width: 100%;
	}

	.submitBtn:hover {
		color: #FFFFFF;
		background: #3EB134;
	}

	.submitBtn:hover:after {
		border-top: 2px solid #FFFFFF;
		border-right: 2px solid #FFFFFF;
	}

	.sendBtn:hover {
		color: #FFFFFF;
		background: #3EB134;
	}

	.sendBtn:hover:after {
		border-top: 2px solid #FFFFFF;
		border-right: 2px solid #FFFFFF;
	}

	.returnLink:hover:before {
		width: 100%;
	}
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
	.pageContact {
		background: url(../../img/contact/mv_sp.jpg) no-repeat center center / cover;
	}
	
}


/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {

	#contactlead.confirm,
	#contactlead.complete {
		margin: 0 auto 100px;
		padding-top: 80px;
	}

	.formttl {
		font-size: 1.6rem;
	}

	.btnRadio {
		margin-bottom: 13px;
		display: block;
		font-size: 1.6rem;
	}

	.formBtn {
		width: 100%;
		max-width: 500px;
	}

	.submitBtn {
		font-size: 2.0rem;
	}

	input[type="radio"] + label {
		padding: 3px 0 3px 30px;
	}

	.submitBtn:after {
		right: 5%;
	}

	.confirm .formCol {
		padding: 0 0 20px;
	}
}


@media screen and (max-width: 600px) {
	.complete .introTxtAssist {
		letter-spacing: 0;
	}
}