@charset "UTF-8";
.main_title .wrap{
	position: relative;
	max-width: 1300px;
}
.main_title .title_txt{
	position: absolute;
	top: 0;
	left: 70px;
	bottom: 0;
	width: max-content;
	height: 17em;
	margin: auto;
}
.main_title .title_txt h2{
	margin-bottom: 0.5em;
	font-size: 4.6rem;
	color: #FFF;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 8px;
}
.main_title .title_txt p{
	font-size: 2.6rem;
	color: #FFF;
}

h3{
	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;
}

.chain{
	padding: 100px 0 200px;
}
.chain .greeting{
	margin-bottom: 8%;
}
.chain .greeting .image{
	width: 50%;
}
.chain .greeting .content{
	width: 50%;
	padding: 0 8%;
}
.chain .greeting .content .en{
	margin-bottom: 1em;
	font-size: 2rem;
	color: #B3A381;
}
.chain .greeting .content h4{
	margin-bottom: 2em;
	font-size: 2.6rem;
}
.chain .greeting .content .sentence{
	margin-bottom: 5%;
}
.chain .content{
	width: 30%;
}
.chain .content .number:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 66px;
	height: 66px;
	margin: 0 auto;
}
.chain .content .number.one:before{
	background: url(../img/common/number02_01.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.chain .content .number.two:before{
	background: url(../img/common/number02_02.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.chain .content .number.three:before{
	background: url(../img/common/number02_03.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.chain .content .number{
	position: relative;
	padding-top: 80px;
	margin-bottom: 16px;
	font-size: 2rem;
	color: #B3A381;
	text-align: center;
}
.chain .content .image{
	margin-bottom: 30px;
}
.chain .content .image img{
	width: 100%;
}
.chain .content .image + div{
	padding: 0 16px;
}
.chain .content h4{
	margin-bottom: 16px;
	font-size: 1.8rem;
	letter-spacing: 1px;
}
.chain .content .number + .image + .sentence p{
	font-size: 1.8rem;
}

.support{
	padding: 120px 0 60px;
	background: url(../img/common/bg01.png);
}
.support .content{
	width: 30%;
	margin-bottom: 5%;
}
.support .content .number:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 66px;
	height: 66px;
	margin: 0 auto;
}
.support .content .number.one:before{
	background: url(../img/common/number01_01.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.support .content .number.two:before{
	background: url(../img/common/number01_02.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.support .content .number.three:before{
	background: url(../img/common/number01_03.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.support .content .number.four:before{
	background: url(../img/common/number01_04.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.support .content .number.five:before{
	background: url(../img/common/number01_05.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.support .content .number.six:before{
	background: url(../img/common/number01_06.png) no-repeat center center;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}
.support .content .number{
	position: relative;
	padding-top: 80px;
	margin-bottom: 16px;
	font-size: 2rem;
	color: #B3A381;
	text-align: center;
}
.support .content .image{
	margin-bottom: 30px;
}
.support .content .image img{
	width: 100%;
}
.support .content .image + div{
	padding: 0 16px;
}
.support .content h4{
	margin-bottom: 16px;
	font-size: 1.8rem;
	letter-spacing: 1px;
}

.construction{
	padding: 110px 0 50px;
}
.construction .image{
	margin-bottom: 5%;
}
.construction .double_frame_area{
	margin-bottom: 72px;
}
.construction .double_frame_area .double_frame{
	width: 49%;
	padding: 8px;
	border: 1px solid #B3A381;
}
.construction .double_frame_area .double_frame .double_frame_in{
	border: 1px solid #B3A381;	
}
.construction .double_frame_area .double_frame .double_frame_in .sentence{
	width: 70%;
	margin: 0 3%;
}
.construction .double_frame_area .double_frame .double_frame_in .sentence p.fsl{
	font-size: 1.8rem;
}

.model{
	padding: 80px 0;
	background: url(../img/common/bg01.png);
}
.model h3+ p + .sentence{
	margin-bottom: 0;
}

.contact_form{
	padding: 100px 0 0;
}

h3+ p + .sentence p span{
	color: #B3A381;
}
form{
	width: 70%;
	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 label{
	margin-right: 2em;
}
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;
}

.btn_area{
	padding: 100px 0 150px;
}
.btn_area a{
	display: block;
}
.btn_area .btn01,
.btn_area .btn02{
	position: relative;
	width: 48%;
}
.btn_area .btn01 .btn_txt{
	position: absolute;
	left: 36px;
	bottom: 32px;
	width: 85%;
	height: 21em;
}
.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 .btn02 .btn_txt{
	position: absolute;
	left: 32px;
	bottom: 32px;
	width: max-content;
	height: 15em;
	margin: auto;
}

@media screen and (max-width: 760px){
	.main_title .title_txt{
		right: 0;
		left: 0;
		width: 100%;
		height: 6em;
	}
	.main_title .title_txt h2{
		font-size: 1.6rem;
		text-align: center;
	}
	.main_title .title_txt p{
		font-size: 1rem;
		text-align: center;
	}

	h3{
		font-size: 1.6rem;
	}
	h3+ p{
		margin-bottom: 1em;
		font-size: 1.2rem;
	}
	h3+ p + .sentence{
		margin-bottom: 5%;
	}

	.chain{
		padding: 10% 0;
	}
	.chain .sentence.tac p{
		text-align: left;
	}
	.chain .greeting{
		display: block;
	}
	.chain .greeting .image{
		width: 100%;
		margin-bottom: 5%;
	}
	.chain .greeting .content{
		width: 100%;
		padding: 0;
	}
	.chain .greeting .content .en{
		margin-bottom: 0.5em;
		font-size: 1.2rem;
		text-align: center;
	}
	.chain .greeting .content h4{
		margin-bottom: 1em;
		font-size: 1.6rem;
	}
	.chain .greeting .content .sentence + p{
		width: 50%;
		margin: auto;
	}
	.chain .content{
		width: 100%;
		margin-bottom: 5%;
	}
	.chain .content:last-child{
		margin-bottom: 0;
	}
	.chain .content .number:before{
		width: 3em;
		height: 3em;
	}
	.chain .content .number.one:before{
		background: url(../img/common/number02_01_sp.png) no-repeat center center;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
	}
	.chain .content .number.two:before{
		background: url(../img/common/number02_02_sp.png) no-repeat center center;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
	}
	.chain .content .number.three:before{
		background: url(../img/common/number02_03_sp.png) no-repeat center center;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
	}
	.chain .content .number{
		padding-top: 3.5em;
		margin-bottom: 0.5em;
		font-size: 1.2rem;
	}
	.chain .content .image{
		margin-bottom: 5%;
	}
	.chain .content .image + div{
		padding: 0 2%;
	}
	.chain .content .number + .image + .sentence p{
		font-size: 1.4rem;
	}

	.support{
		padding: 10% 0;
	}
	.support h3+ p + .sentence.tac p{
		text-align: left;
	}
	.support .flex{
		display: block;
	}
	.support .content{
		width: 100%;
		margin-bottom: 5%;
	}
	.support .content:last-child{
		margin-bottom: 0;
	}
	.support .content .number:before{
		width: 3em;
		height: 3em;
	}
	.support .content .number.one:before{
		background: url(../img/common/number02_01_sp.png) no-repeat center center;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
	}
	.support .content .number.two:before{
		background: url(../img/common/number02_02_sp.png) no-repeat center center;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
	}
	.support .content .number.three:before{
		background: url(../img/common/number02_03_sp.png) no-repeat center center;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
	}
	.support .content .number{
		padding-top: 3.5em;
		margin-bottom: 3%;
		font-size: 1.2rem;
	}
	.support .content .image{
		margin-bottom: 5%;
	}
	.support .content .image img{
		width: 100%;
	}
	.support .content .image + div{
		padding: 0 2.5%;
	}
	.support .content h4{
		margin-bottom: 0.5em;
		font-size: 1.4rem;
	}

	.construction{
		padding: 10% 0 5%;
	}
	.construction h3 + p + .sentence p{
		text-align: left;
	}
	.construction .double_frame_area{
		display: block;
		margin-bottom: 5%;
	}
	.construction .double_frame_area .double_frame{
		width: 100%;
		padding: 3%;
		margin-bottom: 5%;
		border: 1px solid #B3A381;
	}
	.construction .double_frame_area .double_frame{
		margin-bottom: 3%;
	}
	.construction .double_frame_area .double_frame img{
		width: 100%;
		vertical-align: top;
	}
	.construction .double_frame_area .double_frame .double_frame_in{
		display: block;
	}
	.construction .double_frame_area .double_frame .double_frame_in .sentence{
		width: 100%;
		margin: 0;
		padding: 0 3% 3%;
	}
	.construction .double_frame_area .double_frame .double_frame_in .sentence p.fsl{
		font-size: 1.4rem;
	}

	.model{
		padding: 10% 0;
	}
	.model h3 + p + .sentence p{
		text-align: left;
	}

	.contact_form{
		padding: 10% 0 5%;
	}
	.contact_form 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;
	}

	.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: 7%;
		width: 90%;
		height: 10em;
	}
	.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%;
		bottom: 7%;
		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: inline-block;
	padding: 0 0 0 2em;
	margin: 0 2em 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;
	}
}