@charset 'utf-8';
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block
}
ol, ul {
	list-style:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
em, i {
	font-style:normal
}
html {
	font-size:62.5%
}
sub{
	bottom:0;
}

body{
	font-family: "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	font-weight:normal;
/*	background: #F4F4F4;*/
	color:#000000;
	font-size:1.6rem;
	line-height:1.5;
	-webkit-text-size-adjust:100%;
	text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	font-smoothing:antialiased;
	text-rendering:auto;
}
body * {
	box-sizing:border-box;
}
body a {
	text-decoration:none;

}
a,a:hover,a:visited,a:active{
	color:#000000;
}
img{
	max-width:100%;
	vertical-align:bottom;
}
.wrap{
	width:100%;
}

header{
	width:100%;
	overflow:hidden;
	margin:25px auto;
	position:relative;
	height:55px;
}

header > div{
	display:block;
	float:left;
}
header .logo{
}

header .headinfo{
	position:absolute;
	text-align:right;
	width:70%;
	right:0;
}
header .headinfo > div{
	display:inline-block;
	vertical-align:top;
}
header .headinfo .tel{
	margin-right:10px;
}

.menu{
	width:100%;
	margin:10px auto;
	display:flex;
	justify-content:space-between;
}
.menu li{
	padding:0 10px;
	border-right:solid 1px #000;
	text-align:center;
	display:block;
	width:100%;
}
.menu li:last-child{
	border:none;
}

h2{
	background:#677C80;
	color:#ffffff;
	text-align:center;
	font-size:30px;
	padding:24px 0;
	font-weight:900;
}
.inr{
	width:90%;
	margin:20px auto;
	line-height:2;
	overflow:hidden;
}
#whats{
	border-bottom:solid 1px #000000;
}
#whats .inr p{
	width:40%;
	display:inline-block;
	margin:0 8% 0 0;
	vertical-align:top;
}
#whats .inr img{
	width:50%;
	float:right;
}

#point h2{
	background:#ffffff;
}
#flow{
	text-align:center;
}
#flow h2,
#voice h2,
#question h2,
#group h2{
	margin:0;
	position:relative;
	margin-bottom:54px;
}
#flow h2:after,
#voice h2:after,
#question h2:after,
#group h2:after{
	position:absolute;
	bottom:-34px;
	left: calc( 50% - 45px );
	content:" ";
	display:block;
	background:url(../img/arrow.png) no-repeat;
	background-position:50%;
	width:90px;
	height:34px;
}
#flow .imgblock{
	display:block;
	padding:30px 0 ;
	border-bottom:solid 1px #000000;
}
#flow .imgblock:last-child{
	border:none;
	margin:20px;
}

#voice .voiceblock{
	float:left;
	width:47%;
	line-height:1.5;
	margin:0 0 40px;
}
#voice .voiceblock:nth-child(2n-1){
	margin-right:3%;
}
#voice .voiceblock:nth-child(2n){
	margin-left:3%;
}
#voice .voiceblock h3{
	border-bottom:solid 1px #000000;
	color:#677C80;
	padding:20px 0 10px;
	font-size:24px;
	font-weight:bold;
	margin:0 0 20px;
}

#question h3{
	text-align:center;
	font-weight:bold;
	font-size:24px;
}
#question dl{
	margin:30px 0;
	padding:10px 20px;
}
#question dl dt{
	border-bottom:solid 1px #000000;
	font-size:24px;
	color:#677C80;
	font-weight:bold;
}
#question dl dt span{
	color:#B99894;
	font-size:30px;
	font-weight:bold;
	margin-right:20px;
}
#question dl dt p{
	width: calc( 100% - 75px );
	display:inline-block;
	vertical-align:top;
	padding:10px 0 0 ;
}

#question dl dd{
	padding:10px 0;
}
#question dl dd span{
	font-size:30px;
	font-weight:bold;
	margin-right:20px;
}
#question dl dd p{
	width: calc( 100% - 74px );
	display:inline-block;
	vertical-align:top;
	padding:10px 0 0 ;
}
#question .inspection dl,
#question .renovation dl{
	background:#F4F4F4;
	border-radius:10px;
}
#question .kashi{
	background:#F4F4F4;
}
#question .kashi dl,
#question .madoguchi dl{
	background:#ffffff;
	border-radius:10px;
}

#group h3{
	background:#677C80;
	text-align:center;
	position:relative;
	height:45px;
	font-size:24px;
	color:#ffffff;
	font-weight:bold;
}
#group h3 span{
	background:url(../img/bg_grouptitle.png) no-repeat;
	padding:5px 10px;
	width:260px;
	display:inline-block;
	text-align:left;
	position:absolute;
	left:0;
	font-size:18px;
}
#group table{
	border:solid 1px #000000;
	margin:10px 0 30px;
	border-collapse:collapse;
	width:100%;
}
#group th,#group td{
	border:solid 1px #000000;
}
#group th,
#group td{
	vertical-align:middle;
	padding:10px;
}
#group th{
	white-space:nowrap;
	background:#E9EAEA;
	font-weight:normal;
	width:10%;
}
#group td{
	width:40%;
}



#group .groupdata{
	display:flex;
	justify-content:space-between;
}
#group .groupdata li{
	width:25%;
	border-right:solid 1px #000000;
	font-size:12px;
	line-height:1.5;
	margin-bottom:30px;
	text-align:center;
}
#group .groupdata li .title{
	font-size:14px;
	font-weight:bold;
	margin:20px 0;
}
#group .groupdata li:nth-child(2),
#group .groupdata li:nth-child(3){
	padding:0 20px;
}
#group .groupdata li:last-child{
	padding:0 0 0 20px;
	border:none;
}
#group .groupdata li p{
	text-align:left;
}
#entry{
	background:#F4F4F4;
}
#entry h2{
	background:none;
	color:#000000;
	padding:40px 0;
}

#entry dl{
	background:#ffffff;
	border-bottom:solid 1px #F4F4F4;
	display:table;
	width:100%;
}
#entry dt,
#entry dd{
	display:table-cell;
	padding:20px;
	vertical-align:middle;
}
#entry dt{
	width:25%;
	font-weight:bold;
	position:relative;
}
#entry dt span{
	display:block;
	position:absolute;
	right:0;
	top:calc( 50% - 10px);
	background:#677C80;
	font-size:10px;
	font-weight:normal;
	color:#ffffff;
	padding:0 5px;
}

#entry dd{
	width:75%;
}

#entry dd input,
#entry dd select,
#entry dd textarea{
	border:solid 1px #000000;
	border-radius:5px;
	padding:20px 10px;
	width:100%;
}
#entry dd textarea{
	height:200px;
}

#entry .btns{
	text-align:center;
}
#entry .btns form{
	display:inline;
}
#entry button{
	background:#677C80;
	padding:25px 50px 20px;
	border-radius:50px;
	color:#ffffff;
	text-align:center;
	font-size:24px;
	margin:30px;
	display:inline-block;
	font-weight:bold;
	line-height:1;
}

#entry button.backbtn{
	background:#ffffff;
	border:solid 1px #677C80;
	color:#677C80;
}

#entry .thankyou{
	margin:0 auto 100px;
}

footer{
	background:#677C80;
	text-align:center;
	margin-top:-20px;
}

.sp-inline{
	display:inline !important;
}
.sp-block{
	display:block !important;
}
.sp-inlineblock{
	display:inline-block !important;
}
.sp-flex{
	display:flex !important;
}

.pc-inline{
	display:inline !important;
}
.pc-block{
	display:block !important;
}
.pc-inlineblock{
	display:inline-block !important;
}
.pc-flex{
	display:flex !important;
}

@media only screen and (max-width : 768px){
	body{
		font-size:1.2rem;
	}
	h2{
		font-size:1.8rem;
		padding:0.5rem;
	}
	#flow h2,
	#voice h2,
	#question h2,
	#group h2{
		margin-bottom:0;
	}
	#flow h2:after,
	#voice h2:after,
	#question h2:after,
	#group h2:after{
		bottom:-22px;
		left: calc( 50% - 30px );
		background-size:contain;
		width:60px;
		height:22px;
	}
	header{
		margin:0;
		height:auto;
		position:fixed;
		top:0;
		z-index:999;
	}
	header .header_btn{
		display:flex;
		width:100%;
		justify-content: space-between;
	}
	header .header_btn a{
		width:33.33333%;
		display:block;
	}
	header .header_btn a img{
		width:100%;
	}
	.menu{
		display:none;
		position:fixed;
		top:0;
		width:90%;
		background:#F4F4F4;
		margin:5px 5% 0 5%;
		padding:0 5px;
		border-radius:5px;
		border:solid 1px #8da774;
		z-index:999;
	}
	.menu li{
		text-align:left;
		padding:10px;
		border:none;
		border-bottom:solid 1px #8da774;
	}
	.menu li.close_btn{
		text-align:right;
	}
	.menu li.close_btn img{
		width:10%;
	}
	.menu li a{
		padding:10px 0;
	}
	.inr{
		width:96%;
	}
	#whats .inr p{
		width:100%;
	}

	#whats .inr img{
		width:100%;
		margin:5px 0;
	}

	#point h2{
		padding:1rem 1rem 0;
	}
	#point h2 img{
		width:80%;
	}
	#flow .imgblock:last-child{
		margin:0;
	}

	#flow .imgblock img{
		width:90%;
	}

	#voice .voiceblock{
		float:none;
		width:96%;
		line-height:1.5;
		margin:20px 2%;
		overflow:hidden;
	}
	#voice .voiceblock:nth-child(2n-1){
		margin-right:2%;
	}
	#voice .voiceblock:nth-child(2n){
		margin-left:2%;
	}

	#voice .voiceblock img{
		width:30%;
		float:left;
		display:block;
	}
	#voice .voiceblock .info{
		width:70%;
		padding-left:5%;
		float:left;
	}
	#voice .voiceblock h3{
		padding:0;
		font-size:1.8rem;
	}

	#question{
		background:#F4F4F4;
	}
	#question h3{
		font-size:1.8rem;
		width:96%;
		margin:0 auto;
	}
	#question .inr{
		width:100%;
	}
	#question dl{
		margin:10px auto;
		width:96%;
		padding:10px;
	}
	#question dl dt{
		font-size:1.8rem;
		line-height:1.2;
		border:none;
		position:relative;
	}
	#question dl dt span{
		font-size:1.8rem;
		margin-right:10px;
	}
	#question dl dt .questionopen{
		position:absolute;
		right:10px;
		top:10px;
		width:8%;
	}
	#question dl dt p{
		padding:0;
	}
	#question dl dd{
		font-size:1.8rem;
		line-height:1.2;
		display:none;
		border-top:solid 1px #000000;
	}
	#question dl dd span{
		font-size:2rem;
		margin-right:10px;
	}
	#question dl dd p{
		padding:0;
		font-size:1.5rem;
	}

	#question .inspection,
	#question .renovation{
		background:#ffffff;
	}

	#question .questionopen{
		z-index:99;
	}

	#group h3{
		font-size:1.5rem;
		text-align:right;
		padding-right:3rem;
		height:auto;
	}
	#group h3 span{
		font-size:1rem;
		background: url(../img/bg_grouptitle.png) no-repeat;
		background-position:-10000% 100%;
	}

	#group .inr{
		margin:30px auto 20px;
		width:100%;
	}
	#group table{
		width:96%;
		margin:10px auto 0;
		display:block;
		border:none;
	}
	#group table tr{
		display:flex;
		flex-wrap:wrap;
	}
	#group table th,
	#group table td{
		display:block;
	}
	#group table tr{
		width:100%;
	}
	#group table th,
	#group table td{
		float:left;
	}
	#group table th{
		width:30%;
	}
	#group table td{
		width:70%;
	}
	#group .groupdata{
		flex-wrap:wrap;
	}
	#group .groupdata li{
		width:48%;
		padding:0 2%;
	}
	#group .groupdata li:nth-child(2n){
		border:none;
	}
	#group .groupdata li:nth-child(2),
	#group .groupdata li:nth-child(3),
	#group .groupdata li:nth-child(4) {
		padding:0 2%;
	}
	#group .groupdata li .title{
		font-size:1.2rem;
		margin:10px 0;
	}

	#entry h2{
		padding:10px 0;
	}
	#entry .inr{
		margin:0 auto 20px;
	}
	#entry dt, #entry dd{
		padding:10px;
	}
	#entry dt{
		width:40%;
		line-height:1.2;
	}
	#entry dd{
		width:60%;
	}
	#entry button{
		font-size:1.5rem;
	}

	footer{
		padding:0 10px 10px;
	}
	.pc-inline{
		display:none !important;
	}
	.pc-block{
		display:none !important;
	}
	.pc-inlineblock{
		display:none !important;
	}
	.pc-flex{
		display:none !important;
	}


}
@media only screen and (min-width : 769px){
	.sp-inline{
		display:none !important;
	}
	.sp-block{
		display:none !important;
	}
	.sp-inlineblock{
		display:none !important;
	}
	.sp-flex{
		display:none !important;
	}
}
@media only screen and (max-width : 999px){
}
@media only screen and (min-width : 1000px){
	header{
		width:1000px;
	}
	.menu{
		width:1000px;
	}
	.inr{
		width:1000px;
	}

}
