@charset "utf-8";
/*===============================================
sp2015.css  画面の横幅が640pxまで
===============================================*/
@media screen and (max-width:640px){

/*SP開始******************************************/

/*切り替え*/

.sp{display:block !important;}
.pc{display:none;}
.spnone{display:none;}

.cx:after,
.voice ul.info li .text:after,
.performance .info_in:after,
.performance .info .company:after{
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

/*header*/
.header{
	height: auto;
	/*position: static;*/
}

.header .header-in{
	width:100%;
	padding:5px 0;
	position: relative;
}

.header .header-in .logo{
	margin-left:5px;
}

.header .header-in .logo img{
	width:auto;
	height: 41px;
}

.header .header-in .head_cont{
	padding-top:4px;
}

.header .header-in .head_cont .button{
	margin-right:10px;
}

.header .header-in .head_cont .button a{
	font-size: 14px;
	padding:10px 10px;
}

.header .header-in .head_cont .tel{
	margin-right: 5px;
	margin-top:8px;
}

/*main_button*/

.main_button .main_button_in .tel a{
	color: #332623;
}

.header .header-in .head_cont .tel img{
	height: 15px;
}

/*mainLP*/
.main_lp{
	height:430px;
}

.main_lp.img01{
	background-position:-200px top;
	
}

.main_lp.img02{
	background-position:-260px top;
}

.main_lp.img03{
	background-position:-460px bottom;
}

.main_lp .lowprice{
	width: 98%;
	float: none;
	padding-top: 120px;
	margin: 0 auto;
	
}

.main_lp .lowprice .title{
	font-size: 40px;
}

.main_lp .lowprice .title span,
.main_lp .lowprice .text span{
	display: block;
}

.main_lp .lowprice .sub_title{
	padding:10px 20px 8px 20px;
	margin-bottom: 15px;
	font-size: 16px;
}

.main_lp .lowprice .text{
	font-size: 20px;
}

/*main*/
.main{
	height: 350px;
}

.main .main_in,
.main_lp .main_in,
.main_balcony .main_in{
	width:100%;
}

.main .main_in h1 {
	text-align: center;
}

.main .main_in h1 img{
	width:320px;
	height: auto;
}

/*main_balcony*/
.main_balcony{
	min-height: 320px;
	height: calc(100vh - 51px);
	padding-top: 51px;
}

.main_balcony h1{
	font-size: 48px;
	margin-bottom: 24px;
}

.main_balcony h1 strong{
	font-size: 18px;
	padding: 8px 12px;
	width: 90%;
	margin: 0 auto 24px auto;
}

.main_balcony h1 strong:after{
	height: 20px;
	width: 30px;
	bottom: -10px;
	margin-left: -15px;
}

.main_balcony h1 strong b{
	font-size: 28px;
}

.main_balcony h1 span{
	font-size: 32px;
}

.main_balcony p{
	font-size: 22px;
	line-height: 1.3;
	padding: 0 8px;
}

/*main:main_design*/
.main.main_design{
	height:440px;
	
}

.main.main_design .main_in h1{
	padding-top: 38px;
}

.main.main_design .main_in h1 img{
	width: 90%;
	height: auto;
	max-width: 380px;
}

/*main:main_price*/
.main.main_price{
	height:560px;
	position: relative;
}

.main.main_price .main_in h1{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.main.main_price .main_in h1 img{
	width: 90%;
	height: auto;
	max-width: 380px;
}

/*main:main_repair*/
.main.main_repair{
	height:580px;
	padding-top: 20px;
}

.main.main_repair .main_bg{
	padding-top: 50px;
}

.main.main_repair h1 .text_img{
	margin-bottom: 12px;
}

.main.main_repair h1 .text_img img{
	width: 300px;
	height: auto;
}

.main.main_repair ul.tag{
	width: 100%;
	margin: 0 auto;
	padding-top: 12px;
}

.main.main_repair ul.tag li{
	font-size: 14px;
	padding: 8px 14px 6px 14px;
	margin: 2px 2px;
}

/*main:main_reassurance*/
.main.main_reassurance{
	height:480px;
}

.main.main_reassurance .main_in h1{
	padding-top: 32px;
}

.main.main_reassurance .main_in h1 img{
	width: 90%;
	height: auto;
	max-width: 380px;
}




/**/
.main .white_bg{
	padding: 6px 0;
}

.main .white_bg ul li{
	margin: 5px;
}

.main .white_bg ul li img{
	width: auto;
	height: 60px;
}

.main.main_repair .white_bg ul li img{
	width: auto;
	height: 120px;
}

.main.main_reassurance .white_bg ul li img{
	width: 320px;
	height: 82px;
}




/*content_button*/
.contact_button{
	background-position: 70% 0;
}

.main_button .main_button_in{
	width:100%;
	display: block;
}

.main_button .main_button_in .button{
	display: block;
	width:90%;
	margin: 0 auto 10px auto;
}

.main_button .main_button_in .button a{
	padding: 18px 0;
	font-size:18px;
}

.main_button .main_button_in .button a span{
	width:auto;
	background-size:20px 20px;
	padding: 10px 28px 10px 10px;
	text-align: center;
	margin-right: 5px;
}

.main_button .main_button_in .tel{
	padding:10px 0;
	display: block;
	width:90%;
	margin: 0 auto;
}

.main_button .main_button_in .tel.pc{
	display: none;
}

.main_button .main_button_in .tel .img{
	margin-bottom:10px;
}

.main_button .main_button_in .tel .img img{
	width:90%;
	height: auto;
}

.main_button .main_button_in .tel dl{
	width:96%;
}

.main_button .main_button_in .tel dl dt{
	font-size: 12px;
	width: auto;
	padding: 5px 5px;
	margin-right:2px;
}

.main_button .main_button_in .tel dl dd{
	margin:5px 5px 0 0;
	width: auto;
	text-align: left;
	font-size: 13px;
}

/*.main.contact*/
.main.contact {
	padding: 0;
}
.main.contact .bg{
	background-position: bottom right;
	height: 350px;
	display: flex;
	align-items: center;
	background-size: 80%;
}

.main.contact .main_in .maintext{
	width: 100%;
	padding: 0 12px;
	box-sizing: border-box;
	
}

.main.contact .main_in h1{
	text-align: left;
	padding-top: 0;
}

.main.contact .main_in h1 strong{
	font-size: 30px;
	margin-bottom: 12px;
}

.main.contact .main_in h1 p{
	font-size: 16px;
	padding: 12px 6px;
	width: 270px;
	margin: 0 0 12px 0;
	text-align: center;
}

.main.contact .main_in  ul{
	margin: 0 ;
}

.main.contact .main_in  ul li{
	background-size: 23px 17px;
	padding: 3px 0 3px 30px;
	font-size: 16px;
}

/*box*/
.bg_in{
	width:100%;
	padding: 30px 0 20px 0;
}

.bg_in.title_only {
	padding: 30px 0 0 0;
}

.bg_img01 .bg_in{
	width:100%;
	padding: 5px 0;
}


h2{
	font-size: 30px;
	margin:0 0 50px 0;
}

h2 strong{
	font-size: 40px;
}

h2:after{
	bottom: -18px;
	width: 60px;
	height: 6px;	
}

/*5つの理由*/
.reason ul li{
	margin-bottom:16px;
}

.reason ul li .text{
	display: block;
	padding: 20px 16px;
}

.reason ul li .text h3{
	font-size: 20px;
	background-size: 21px 15px;
	padding: 10px 0 0 30px;
	line-height: 1.3;
}

.reason ul li .img{
	display: block;
	width:100%;
}

.reason ul li .img img{
	width:100%;
	height: auto;
}

/*低価格の理由*/
.lowprice .text{
	font-size: 16px;
	margin: 0 16px 30px 16px;
}

.lowprice ul{
	display: block;
}

.lowprice ul li{
	display: block;
	padding: 0 20px;
	height:auto;
}

.lowprice ul li:after{
	background: #fff;
}

.lowprice ul li i{
	margin: 0 0 20px 0;
}

.lowprice ul li h3{
	font-size: 20px;
	margin: 0 0 10px 0;
	font-weight: bold;
}

.lowprice ul li p.text{
	margin-bottom: 16px;
}

.lowprice ul li p.img{
	position: static;
	margin-left: 0;
	margin-bottom: 30px;
}

.lowprice ul li p.img img{
	width:160px;
	height: auto;
}

/*グラフ*/
.graph p img{
	width:80%;
	height: auto;
}

/*menu*/
.menu{
	width: 94%;
	padding: 30px 10px 10px 10px;
}

.menu h3{
	 font-size:18px;
	 padding:8px 16px 6px 16px;	  
}

.menu table{
	font-size:16px;
	margin-bottom: 30px;
}

.menu table th{
	padding: 10px 5px 10px 5px;
}

.menu table td{
	padding: 10px 5px 10px 0;
	width: 130px;
}

/*メッセージ*/
.message .box{
	padding:10px;
}

.message .box .box_in{
	padding:16px 10px;
}

.message .box .box_in h3{
	font-size: 18px;
	width:100%;
	margin: 0 auto 20px auto;
}

.message .box .box_in h3 strong{
	padding: 2px 10px;
	margin: 0 10px;
	display: inline-block;
	line-height: 1.5;
}

.message .box .box_in .text_box{
	padding: 20px 20px;
	font-size: 16px;
}

/*施工事例*/
.case ul li{
	padding:0 0 20px 0;
	margin-bottom:5px;
}

.case ul li:last-child{
	margin-bottom:0;
}

.case ul li div.img{
	border-spacing: 0 0;
	margin-bottom: 20px;
}

.case ul li div.img img{
	width:100%;
	height: auto;
}

.case ul li .detail{
	padding:0 10px;
}

.case ul li p.name{
	color: #5f4646;
	margin-bottom: 6px;
}

.case ul li h3{
	font-size: 20px;
	margin:0 0 10px 0;
	font-weight: normal;
	line-height: 1.2;
}

.case ul li dl dt{
	background: #121c5a;
	color: #fff;
	font-size: 14px;
	padding: 5px 10px;
	border-radius: 30px;
	float: left;
}

.case ul li dl dd{
	float: left;
	margin-left: 6px;
	margin-right: 16px;
	padding: 5px 0;
}

/*カスタマーボイス*/
.voice ul.info li{
	border-top: 0px solid #614c10;
	display: block;
}

.voice ul.info li .img{
	display: block;
	width:auto;
}

.voice ul.info li .img img{
	width:100%;
	height: auto;
}

.voice ul.info li .text{
	display: block;
	padding:20px 10px 0 10px;
	text-align: left;
}

.voice ul.info li .text p{
	padding: 0 5px;
	font-size: 16px;
	display: table-cell;
	float:none;
}

.voice ul.info li .text p img{
	width:100%;
	height: auto;
}

.voice ul.customer {
	display: block;
}

.voice ul.customer li {
	display: block;
	border-bottom: 1px solid #ddd;
}

.voice ul.customer li .text{
	padding: 20px 16px 20px 16px;
}

.voice ul.customer li .text span{
	font-size: 16px;
	margin-bottom: 6px;
	margin-left: 0;
}

.voice ul.customer li .text h3{
	margin: 0 0 10px 0;
	font-size: 20px;
	line-height: 1.2;
}

.voice ul.customer li .text p{
	font-size: 16px;
}

.voice ul.customer li .img{
	width: 100%;
	height: auto;
}

.voice ul.customer li .img img{
	width:100%;
	height: auto;
}

.voice ul.customer li .img p.imgonly img{
	width:100%;
	height: auto;
}

/*施工の流れ*/
.flow ol{
	padding: 0 0;
}

.flow ol li{
	margin:0 0 20px 0;
	width:100%;
	float:none;
}

.flow ol li.no1{
	margin: 0 0 20px 0;
}

.flow ol li .img{
	width:100%;
}

.flow ol li .img img{
	width:100%;
	height: auto;
}

.flow ol li.no1 .img,
.flow ol li.no1 .text{
	float:none;
}

.flow ol li .img span{
	border-radius: 60px;
	padding: 20px 23px;
	bottom:0;
	left: 50%;
	margin-left:-46px;
}

.flow ol li.no1 .img span{
	top:86%;
	margin-top:0;
	left: 50%;
	margin-left:-46px;
	padding: 18px 23px;
}

.flow ol li .img span img{
	height: 18px;
	width: auto;
}

.flow ol li .text{
	padding: 30px 16px 20px 16px;
}

.flow ol li.no2 .text{
	min-height: auto;
}

.flow ol li.no1 .text{
	padding: 30px 16px 20px 16px;
}

.flow ol li.no1 .text{
	width:100%;
}

.flow ol li .text h3{
	margin: 0 0 10px 0;
}

/*スタッフ*/
.staff{
	padding: 30px 16px;
}

.staff h3{
	font-size: 24px;
	margin: 0 0 10px 0;
	line-height: 1.3;
}

.staff .text{
	font-size: 18px;
	margin-bottom:20px;
}

.staff .img .staff_img{
	width:100%;
	float: none;
	margin: 0 auto 30px auto;
}

.staff .img .staff_img img{
	width:100%;
	height: auto;
}

.staff .img .license{
	float: none;
}

.staff .img .license img{
	width:100%;
	height: auto;
}

/*安心の実績*/
.bg_in.pf{
	padding: 20px 0 20px 0;
}

.performance .text{
	font-size: 16px;
	margin:0 16px 20px 16px;
}

.performance h3{
	font-size: 20px;
	margin: 0 6px 20px 6px;
}

.performance h3 strong{
	display: inline;
}

.performance .info{
	padding: 10px 0;
}

.performance .info_in{
	width: 100%;
	padding: 10px 10px;
	box-sizing: border-box;
}

.performance .info .career {
	display: block;
	padding: 0 10px 20px 10px;
	text-align: center;
}

.performance .info .career img{
	width:90%;
	height: auto;
}

.performance .info .company {
	display: block;
	padding: 0 10px;
	
}

.performance .info .company .group {
	width:100%;/*50%*/
}

.performance .info .company .group a{
	padding: 10px 10px 10px 10px;
}

.performance .info .company .group .logo{
	margin-bottom:10px;
	height: auto;
}

.performance .info .company .group .logo img{
	width:auto;
	height: 60px;
}

.performance .info .company .group .name{
	font-size: 14px;
	line-height: 1.2;
	font-weight: normal;
}

/*施工シーン*/
.scene ul{
	width:98%;
	margin: 0 auto;
}

.scene ul li{
	width:48%;
	margin: 3px 1%;
	float: left;
}

.scene ul li img{
	width:100%;
	height: auto;
}

/*thanks*/
.thanks{
	font-size:16px;
	padding: 10px;
}

/*お問い合わせボタン*/
.contact_button{
	padding: 30px 0 20px 0;
}

.contact_button h2{
	font-size: 20px;
	margin: 0 0 10px 0;
}

.contact_button h2:after{
	background: none;
}

.contact_button h2 span{
	display: block;
}

.contact_button .main_button{
	background: none;
}

.contact_button .main_button .main_button_in .button{
	box-shadow: 0 0 10px 0 #889095;
}

.contact_button .main_button .main_button_in .tel.sp{
	box-shadow: 0 0 10px 0 #b6bdbf;
}

/*thanks*/
.thanks{
	padding:0 10px;
	font-size:16px;
}

/*お問い合わせ*/
.contact .text{
	font-size: 16px;
}

.contact .backbtn only{
	font-size:16px;
}

.contact .contact_setbtn{
	width:100%;
}

.contact .contact_setbtn .submitbtn,
.contact .contact_setbtn .backbtn{
	width:46%;
	margin: 0 2%;
	font-size:16px;
	border-radius: 3px;
}

.contact .contact_setbtn .submitbtn{
	box-shadow: 0 3px 0 #a4570c;
}

/*お問い合わせ*/
.contact{
	padding: 0 10px;
}

.contact dl{
	font-size: 16px;
	width:100%;
	margin: 10px auto 10px auto;
}

.contact dl dt{
	float: none;
	width:100%;
	border-top:1px #ccc dotted;
	padding:10px 0 5px 0;
}

.contact dl dt p{
	margin-left:3px;
}

.contact dl dd{
	padding:0 0 10px 0;
	border-top:0px #ccc dotted;
	margin-left:0;
	width:100%;
}

.contact dl dd input{
	width:92%;
	padding:10px;
	font-size: 16px;
}
.contact dl dd textarea{
	width:92%;
	font-size: 16px;
}

.contact .contact_btn{
	width:300px;
	margin: 0 auto;
	font-size:16px;
	border-radius: 3px;
	box-shadow: 0 3px 0 #a4570c;
}

/*お問い合わせ確認画面*/
.wrapper .backbtn_box{
	margin-top:10px;
}

.wrapper .backbtn{
	width:300px;
	padding:20px 0;
	border-radius:3px;
	box-shadow:0 3px 0 #ccc;
	font-size:16px;
}

table.formTable{
	width:100%;
	margin: 10px auto;
	font-size: 14px;
}

table.formTable th{
	width:30%;
	padding:10px 0;
	color: #666;
	line-height: 1.2;
}

table.formTable td{
	width:70%;
	padding:10px 0 10px 10px;
	box-sizing: border-box;
	line-height: 1.5;
}

/*foot*/
.foot .foot_in{
	width:100%;
	padding: 20px 16px 15px 16px;
	box-sizing: border-box;
}

.foot .foot_in dl dt{
	font-size: 18px;
	margin-bottom:6px;
}

.foot .foot_in dl dd{
	margin: 0;
	line-height: 1.3;
	font-size: 16px;
}

.foot .foot_in dl dd p{
	margin-bottom: 5px;
}

/*service_area*/
.service_area dl{
	margin: 30px 0;
}

.service_area dl dt{
	padding: 12px 12px;
	display: block;
	width: 130px;
	margin: 0 auto 12px auto;
}

.service_area dl dd{
	display: block;
}

.foot div.copy small{
	font-size:14px;
}

.foot .copy{
	font-size: 14px;
	padding: 10px 0;
}




/*//SP終了******************************************/
}
