@charset "UTF-8";
.main_title{
	padding: 3em 0;
	margin-bottom: 100px;
	background: #B3A381;
}
.main_title .wrap{
	position: relative;
	max-width: 1300px;
}
.main_title h2{
	font-size: 2rem;
	color: #FFF;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 8px;
}

h3{
	margin-bottom: 0.25em;
	font-size: 4.6rem;
	color: #B3A381;
	font-weight: bold;
	text-align: center;
}
h3+ p{
	margin-bottom: 1em;
	font-size: 2.2rem;
	text-align: center;
}
h3+ p + .sentence{
	margin-bottom: 56px;
}
h3+ p + .sentence p{
	text-align: center;
}
h3+ p + .sentence p span{
	color: #B3A381;
}

form{
	width: 70%;
	padding-bottom: 10%;
	margin: auto;
}
dl dt{
	position: absolute;
	padding: 6px 0;
	font-size: 1.6rem;
	line-height: 2;
}
dl dt:first-child{
	padding: 0;
	line-height: 1.6;
}
dl dt span{
	color: #B3A381;
}
dl dd{
	padding-left: 14em;
	margin-bottom: 2em;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
}
dl dd p{
	margin-bottom: 1em;
}
dl dd input{
	width: 95%;
	padding: 8px;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	border: 1px solid #321F12;
}
input[type=text]{
	margin-right: 1%;
}
.add_number input[type=text]{
	width: 8em;
	margin: 0 0 0 1%;
}
.add_number input[type=text]:first-child{
	width: 5em;
	margin: 0 1% 0 0;
}
.radio {
	position: relative;
	display: inline-block;
	padding: 0 0 0 2em;
	cursor: pointer;
}
.radio:after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 22px;
	height: 22px;
	margin: auto;
	border: 1px solid #321F12;
	-webkit-border-radius: 50%;
	        border-radius: 50%;
}
.radio:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3px;
	display: block;
	width: 18px;
	height: 18px;
	margin: auto;
	background: #321F12;
	-webkit-border-radius: 50%;
	        border-radius: 50%;
	content: '';
	opacity: 0;
}
input[type=radio]{
	display: none;
}
input[type=radio]:checked + .radio:before {
	opacity: 1;
}
textarea{
	width: 95%;
	height: 400px;
	padding: 8px;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	resize: vertical;
	border: 1px solid #321F12;
}
select{
	padding: 4px 40px 4px 10px;
	border: 1px solid #321F12;
	background: url(../img/common/btn_select.png) no-repeat right center;
	-webkit-background-size: 35px;
	     -o-background-size: 35px;
	        background-size: 35px;
	font-size: 1.6rem;
	color: #989898;
	font-family: 'Noto Sans JP', sans-serif;
}
select.pref{
	width: 272px;
}
select.repair{
	width: 372px;
}
.caution{
	color: #B3A381;
}
input[type=submit]{
	width: 95%;
	padding: 1em;
	font-size: 2rem;
	color: #FFF;
	background: #B3A381;
	border: none;
	letter-spacing: 0.5em;
	cursor: pointer;
}
input[type=submit]:hover{
	opacity: 0.5;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	-webkit-transition: 0.7s ease-in-out;
	-moz-transition: 0.7s ease-in-out;
	-o-transition: 0.7s ease-in-out;
	transition: 0.7s ease-in-out;
}

.service{
	padding: 60px 0 70px;
	background: #321f12;
}
.service h3{
	width: 355px;
	margin: 0 auto 48px;
}
.service .btn{
	position: relative;
	width: 25%;
}
.service a{
	display: block;
}
.service .btn .btn_txt{
	position: absolute;
	left: 25px;
	bottom: 15px;
	width: 100%;
	height: 11em;
	margin: auto;
}
.service .btn:first-child .btn_txt{
	height: 8em;
}
.service .btn_txt p{
	font-size: 2.6rem;
	color: #FFF;
}
.service .btn .btn_txt p:first-child{
	font-size: 2.3rem;
}



.btn_area{
	padding: 100px 0 150px;
}
.btn_area a{
	display: block;
}
.btn_area .btn01{
	position: relative;
	width: 48%;
}
.btn_area .btn01 .btn_txt{
	position: absolute;
	left: 36px;
	bottom: 32px;
	width: 85%;
	height: 28em;
}
.btn_area .btn_txt .en{
	font-size: 3.9rem;
	color: #FFF;
}
.btn_area .btn_txt .en + p{
	margin-bottom: 0.5em;
	font-size: 2.6rem;
	color: #FFF;
}
.btn_area .btn_txt .en + p + p{
	font-size: 1.8rem;
	color: #FFF;
}
.btn_area .btn01 + div{
	width: 48%;
}
.btn_area .btn02{
	position: relative;
}
.btn_area .btn02 .btn_txt{
	position: absolute;
	top: 0;
	left: 34px;
	bottom: 0;
	width: max-content;
	height: 15em;
	margin: auto;
}

@media screen and (max-width: 760px){
	
	.main_title{
		padding: 0.5em 0;
		margin-top: 5%;
		margin-bottom: 10%;
	}
	.main_title h2{
		font-size: 1.8rem;
	}

	h3{
		font-size: 1.6rem;
	}
	h3+ p{
		font-size: 1.2rem;
	}
	h3+ p + .sentence{
		margin-bottom: 5%;
	}
	h3+ p + .sentence p{
		text-align: left;
	}

	form{
		width: 100%;
	}
	dl dt{
		position: initial;
		padding: 0;
		margin-bottom: 1em;
		font-size: 1.2rem;
		line-height: 1.6;
	}
	dl dd{
		padding-left: 0;
		margin-bottom: 2em;
		font-size: 1.2rem;
		vertical-align: bottom;
	}
	dl dd input{
		width: 100%;
		padding: 2%;
		font-size: 1.2rem;
	}
	input[type=text]{
		width: 100%;
	}
	input[type=text].name{
		width: 92%;
		margin-right: 2%;
	}
	.radio{
		padding: 0 0 0 1.8em;
	}
	.radio:after {
		width: 14px;
		height: 14px;
	}
	.radio:before {
		left: 2px;
		width: 12px;
		height: 12px;
	}
	textarea{
		width: 100%;
		height: 10em;
		padding: 2%;
		font-size: 1.2rem;
	}
	select{
		padding: 2% 40px 2% 2%;
		-webkit-background-size: 35px;
		     -o-background-size: 35px;
		        background-size: 35px;
		font-size: 1.2rem;
	}
	select.pref{
		width: 50%;
	}
	select.repair{
		width: 100%;
	}
	input[type=submit]{
		width: 100%;
		padding: 0.6em;
		font-size: 1.6rem;
	}

	.service{
		padding: 10% 0;
	}
	.service h3{
		width: 60%;
		margin: 0 auto 5%;
	}
	.service .flex{
		display: block;
	}
	.service .btn{
		width: 100%;
		margin-bottom: 5%;
	}
	.service .btn img{
		width: 100%;
	}
	.service .btn .btn_txt{
		left: 5%;
		bottom: 7%;
		width: 90%;
		height: 8em;
	}
	.service .btn:first-child .btn_txt{
		height: 5em;
	}
	.service .btn_txt p{
		font-size: 1.2rem;
	}
	.service .btn .btn_txt p:first-child{
		font-size: 2rem;
	}

	.btn_area{
		padding: 10% 0 15%;
	}
	.btn_area .flex{
		display: block;
	}
	.btn_area .btn01{
		width: 100%;
		margin-bottom: 3%;
	}
	.btn_area .btn01 .btn_txt{
		left: 5%;
		bottom: 5%;
		width: 90%;
		height: 14em;
	}
	.btn_area .btn_txt .en{
		font-size: 1.8rem;
	}
	.btn_area .btn_txt .en + p{
		font-size: 1.4rem;
	}
	.btn_area .btn_txt .en + p + p{
		font-size: 1rem;
	}
	.btn_area .btn01 + div{
		width: 100%;
	}
	.btn_area .btn02 .btn_txt{
		left: 5%;
		width: 90%;
		height: 7.5em;
	}
	.btn_area .btn02{
		margin-bottom: 3%;
	}
	.btn_area .btn02:last-child{
		margin-bottom: 0;
	}
}

/*20190228追加*/
span.wpcf7-list-item{
	position: relative;
	display: block !important;
	padding: 0 0 0 2em;
	margin: 0 0 1em 0 !important;
}
input[type=radio]{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	cursor: pointer;
}
input[type=radio]::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3px;
	display: block;
	width: 18px;
	height: 18px;
	margin: auto;
	background: #321F12;
	-webkit-border-radius: 50%;
	        border-radius: 50%;
	content: '';
	opacity: 0;
}
input[type=radio]:checked::before {
	opacity: 1;
}
input[type=radio]::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 22px;
	height: 22px;
	margin: auto;
	border: 1px solid #321F12;
	-webkit-border-radius: 50%;
	        border-radius: 50%;
}

@media screen and (max-width: 760px){
	input[type=radio]{
		padding: 0 0 0 1.8em;
	}
	input[type=radio]::after {
		width: 14px;
		height: 14px;
	}
	input[type=radio]::before {
		left: 2px;
		width: 12px;
		height: 12px;
	}
}

.ie11 input[type=radio]{
	width:auto;
}


.edge input[type=radio]{
	width:30px;
	height:30px;
	top:-5px;
}