@charset "utf-8";
/* ============================================

									index

============================================== */ 

/*------------------------------------------
								オープニング
------------------------------------------*/

.loading {
	width: 100%;
	height: auto;
	position: fixed;
	z-index: 2000;
}

.loading img { 
	max-width: 1200px; 
	width: 100%;
	position: absolute;
	left: 15vw;
	top : 10vw;
}

.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 280px;
}


/*------------------------------------------
								main
------------------------------------------*/

.main { 
	display: block; content: ""; 
	padding: 0 0 12em; margin-top: 3.5em;
	background: url(../img/share/back.jpg)no-repeat;
	position: relative;
	} 
.main img { 
	width: 85%; margin-top: -3em;
	}
.mainpc {display: block;}
.mainRp {display: none;}
	
.mainBox { 
	display: block; 
	position: absolute; bottom: 5em; right: 5%;
	max-width: 420px; /* 365 */ 		
	padding: 4em 3%;
	background: #fff;
	}
.mainBox h3 {
	font-size: 18px; font-size: 1.8rem;
	margin-bottom: 1.25em;
	line-height: 2;
}
.mainBox h3 .brrp { display: none;}
.mainBox p {
	font-size: 14px; font-size: 1.4rem;
	line-height: 2;
}

@media screen and (max-width:1024px){
.main img { width: 90%;}
.mainBox { bottom: 2em; right: 5%;}
}
@media screen and (max-width:899px){
.mainBox { padding: 2.5em 4%; }
.mainBox h3 {font-size: 16px; font-size: 1.6rem; line-height: 2;
}
}
@media screen and (max-width:768px){
.main { padding: 0 0 15em; margin-top: .5em; background-size: auto 100%; } /*margin-top: 3.5em; */
.main img { width: 100%;}
.mainBox { width: 300px; bottom: 5em; padding: 4em 30px;}
}
@media screen and (max-width:599px){
.main { height: 85em; padding-bottom: 40em; margin-top: 5em; margin-bottom: 15em; text-align: right;}
main img { height: auto;}
.mainBox { width: 70%; top:58em; bottom: auto; margin: 0; left: 50%;
  transform: translateY(-50%) translateX(-50%);
  /*-webkit- transform: translateY(-50%) translateX(-50%);*/
}
.mainpc {display: none;}
.mainRp {display: block; height: 100%; width: auto;}
.mainBox h3 { font-size: 18px; font-size: 2rem; line-height: 2.5; margin-bottom: 2.5em; text-align: center;}
.mainBox h3 .brrp {display: block;}
.mainBox p { text-align: left; width: 82%; margin: 0 auto;}
.mainBox p br { display: none; }
}


/*------------------------------------------
								施工実例
------------------------------------------*/

.works { max-width: 1200px; width: 85%; margin: 0 auto 8em; }
.works__inner { display: flex; justify-content: space-between; margin-bottom:  7em;}
.works__inner .worksphoto { position: relative; width: 30%; max-height: 194px; margin-right: 1.25%;}
.works__inner .worksphoto:last-child { margin-right: 0;}
.works__inner .worksphoto a { transition: .3s; overflow: hidden; }
.works__inner .worksphoto img { transition: .3s; height: 100%; object-fit: cover;}
.works__inner .worksphoto img:hover { transition: .3s; opacity: .7; }

.worksPhoto_dete {
	transition: .3s;
	opacity: 0;
	position: absolute; top: 0; left: 0;
	display: flex;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.8);
}
.worksPhoto_dete:hover {
	transition: .3s;
	opacity: 1;
	box-shadow: 0 0 6px 0 rgba(0,0,0,0.2);
}
.worksPhoto_dete span {
	position: absolute;
  top: 50%; 
	width: 100%;
	text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width:768px){
	.worksPhoto_dete span { display: none ;}
	}



/*------------------------------------------
						申し込みからの流れ
------------------------------------------*/

.flow { display: block; content: ""; padding: 1em 0 10em; background: url(../img/share/back.jpg)no-repeat;}
.flow img { display: block; max-width: 870px; width: 90%; margin: 0 auto; }
.flow .showPc { display:block;}
.flow .showSp { display:none;}

@media screen and (max-width:599px){
.flow .showPc { display:none;}
.flow .showSp { display:block; max-width: 180px;}
}

/*------------------------------------------
						よくいただくご質問
------------------------------------------*/

.qa { max-width: 560px; width: 85%; margin: 0 auto;}
.qa h2 { margin-bottom: 2em;}
.qaBox { display: block; padding: 3em 0; border-bottom: solid 1px;}
.qaBox:last-child { border-bottom: none;}

.qaBox__Q { position: relative; padding-left: 50px; margin-bottom: 1.5em;}
.qaBox__Q::after { position: absolute; display: block; content: "Q"; font-size: 25px; font-size: 2.5rem; left: 0; top: -.4em; font-family: a-otf-ryumin-pr6n, serif;}

.qaBox__A { position: relative; padding-left: 50px; }
.qaBox__A::after { position: absolute; display: block; content: "A"; font-size: 25px; font-size: 2.5rem; left: 0; top: -.4em; font-family: a-otf-ryumin-pr6n, serif;}


/*------------------------------------------
							お問い合わせ
------------------------------------------*/
	

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

	
	
#contact { max-width: 560px; width: 85%; margin: 0 auto;}
#contact .comment { border: solid 1.5px #a78f72; padding: 2em 2%; margin-bottom: 5em; }
#contact .comment p { text-align: center; color: #a78f72;}
#contact .comment br { }
	
.formTable {  width: 100%; margin: 0 auto; }
.formTable tr { margin-bottom: 2em;}
.formTable th { width: 160px;  font-size: 14px; font-size: 1.4rem; vertical-align: middle; }
.formTable th span { font-size: 11px; font-size: 1.1rem; font-weight: normal; letter-spacing: 3px; color: #fff; background: #1b4166; padding: .3em 8px; margin-left: 6%; text-align:center;  }
.formTable td { padding: 1em 0 1em 2.5%;}
.formTable td input{ width: 100%; padding: .5em; font-size: 14px; font-size: 1.4rem; background: #f2f2f2; border: none; }
.formTable td .address { width: 100%; border: none; display: inline;}
.formTable td .address>input { width: 50%; margin-bottom: .5em; }
.formTable td	textarea { width: 100%; padding: .5em .5em 2em .5em; resize: vertical;}

#formWrap { max-width: 768px; width: 85%; margin: 0 auto; }  
#formWrap div { margin: 5em auto; width: 100%; }   
#formWrap h4  { text-align: center;  }  
#formWrap h4  { text-align: center;  }  
#formWrap p  { text-align: center;  }  
	
.contactLine { border-bottom: solid 1px; padding-bottom: 1em; width: 80%; font-size: 16px; font-size: 1.6rem; font-weight: bold; margin: 0 auto 3em;}


@media screen and (max-width:540px){
#contact .comment p { text-align: left; padding: 0 5%;}
#contact .comment br { display: none;}
}
@media screen and (max-width:499px){
.formTable td .address>input { width: 60%; margin-bottom: .5em; }
}
@media screen and (max-width:399px){
.formTable th { width: 85px; }
.formTable td { padding: 2em 0 2em 2.5%;}
.formTable th span { display: block; width: 40px; padding: 0 ; margin-left: 0; margin-top: .2em;}
}
	
	
	
	
	

	
	
	
	
