@charset "utf-8";



@media only screen and (max-width: 480px) {


h3.h3-house{
	font-size:24px;
	font-weight: 500;
	line-height: 1;
	padding: 0;
	margin: 0 0 30px 0;
}

h3.h3-house span{
	display: block;
	font-size:12px;
	font-weight: 500;
	margin: 0 0 6px 0;
	color:#59afe3;
}

.p-company-head{
	font-size:20px;
	font-weight: 500;
	line-height: 2.2;
	padding: 0;
	margin: 0 0 0px 0;
}




/*======================================

	house
	
========================================*/

.house-wrapper01{
	width: 100%;
	display: block;
	justify-content: space-between;
	background-image:url(../i/bg_dot.png);
	background-size: 500px auto;
	background-position: right -36px top 0px;
	background-repeat: no-repeat;
	padding: 0 0 0px 0;
}


.house-h3{
	font-size: 24px;
	font-weight: 500;
	padding: 0;
	margin: 12px 0 15px 0;
}

.p-house{
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}


.house-left-contents{
    width: 100%;
    position: relative;
	text-align: center;
	margin: 0 0 0 0;
}

.house-left-contents-inner{
    width: 90%;
    text-align: left;
    background: transparent;
	padding: 0 0px 0 0;
	margin: 0 auto 0 auto;
}

.house-right-photo{
    width: 100%;
    position: relative;
}

.house-right-inner{
    width: 100%;
    height: auto;
    text-align: left;
    background: transparent;
	padding: 0 0px 36px 0;

}




.house-h3-icon-concept{
	width: 156px;
	height: 59px;
}
.house-h3-icon-concept img{
	width: 100%;
	height: auto;
}



.slider{
    width: 100%;
	height: 180px;
	padding: 0 0 0 0;
	margin: 0;
	overflow: hidden;
}


.slide-photo{
	height: 180px;
	width: auto;
}

.dots-2 .slick-dots {
	display: none;
   width: 100%;
  text-align: center;
  padding: 0;
  margin: 0;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 32px;
  height: 3px;
  margin: 0 12px 0 0px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #ddd;
  border-radius: 0%;
}
.dots-2 .slick-dots .slick-active button {
  background: #333;
}



/*======================================

	point
	
========================================*/
#house-point{
	margin-top: 0px;
	margin-bottom: 60px;
}

.house-h3-icon-point{
	width: 137px;
	height: 59px;
}
.house-h3-icon-point img{
	width: 100%;
	height: auto;
}

.point-wrapper{
	width: 100%;
	margin-top: 30px;
	display: block;
	justify-content: space-between;
}

.point-col{
	width: 100%;
	margin-bottom: 30px;
}

.point-col-photo{
	width: 100%;
	margin-bottom: 6px
}
.point-col-photo img{
	width: 100%;
}

.point-col-h4{
	width: 100%;
	margin-bottom: 12px;
	margin-top: 21px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.point-h4-icon{
	width: 75px;
	margin-right: 9px;
}
.point-h4-icon img{
	width: 100%;
}
h4.point-h4{
	font-size:20px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.point-col-text{
	font-size: 12px;
	line-height: 1.8;
	padding: 15px;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;
}




/*======================================

	point
	
========================================*/
#house-spec{
	margin-top: 60px;
	margin-bottom: 0px;
}

.house-h3-icon-spec{
	width: 241px;
	height: 66px;
}
.house-h3-icon-spec img{
	width: 100%;
	height: auto;
}

.spec-wrapper{
	width: 100%;
	margin-top: 30px;
	display: block;
	justify-content: space-between;
	flex-wrap: wrap;
}

.spec-col{
	width: 100%;
	margin-bottom: 21px;
}

.spec-col-photo{
	width: 100%;
	margin-bottom: 6px
}
.spec-col-photo img{
	width: 100%;
}

.spec-col-contents{
	padding: 12px;
}

h4.spec-h4{
	font-size:18px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	margin: 9px 0 12px 0;
	color:#59afe3;
}

.point-col-text{
	font-size: 12px;
	line-height: 1.5;
	padding: 15px;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;
}



/*======================================

	faq
	
========================================*/

.faq-wrapper{
	width: 100%;
	background:repeating-linear-gradient(
	-45deg,
	#fff5f0,
	#fff5f0 40px,
	#fff 0,
	#fff 60px
	);
	padding: 45px 0 0px 0;
	margin: 0 0 60px 0;
}

.faq-inner{
	width: 90%;
	margin: 0 auto;
	display: block;
	justify-content: space-between;
	text-align: left
}

.faq-left{
	width: 100%;
}
.faq-right{
	width: 100%;
}

.faq-col{
	margin: 0 0 21px 0;
}

.faq-col-head{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 15px;
}
.faq-anchor{
	background: #59afe3;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	margin-right: 15px;
	padding: 0px 0 0 0px;
	position: relative;
}
.faq-anchor img{
	display: block;
	position: absolute;
	top:6px;
	left: 6px;
	width: 12px;
	height: 12px;
}


.faq-h4{
	width: 90%;
	font-size:18px;
	font-weight: 600;
	line-height: 1.5;
	padding: 0;
	margin: 0;
	color: #59afe3;
}

.faq-col-p{
	padding: 15px 12px 15px 12px;
}




/*======================================

	works
	
========================================*/

#house-works{
	margin-bottom: 45px;
}

.works-col-wrapper{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 0 0px;
}


.works-col{
	display: block;
	width: 46%;
	margin: 0 2% 30px 2%;
}



.works-col:hover{
	cursor: pointer;
}

.works-col-last{
	margin: 0 2% 30px 2%;
}


.works-col-thumb{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 18px;
	overflow: hidden;
}
.works-col-thumb img{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.works-col-thumb-photo{
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.works-col:hover .works-col-thumb-photo{
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity: 1;
}




.works-col-cat{
	width: 100%;
	height: 22px;
	color:#fff;
	text-align: center;
	font-size: 11px;
	font-weight: 500;
	margin: 12px 0 12px 0;
	padding: 2px 0 0 0;
}
.bg-house{
	background: #59afe3;
}
.bg-reform{
	background: #00a29a;
}
.bg-public{
	background: #f8b62d;
}

.works-col-title01{
	width: 100%;
	color:#222;
	text-align: center;
	font-size: 14px;
	margin: 12px auto 6px auto;
	padding: 0 0 0 0;
	transition: all 0.3s;
}
.works-col:hover .works-col-title01{
	color:#59afe3;
}

.works-col-title02{
	width: 100%;
	color:#222;
	text-align: center;
	font-size: 14px;
	margin: 6px auto 0px auto;
	padding: 0 0 0 0;
	transition: all 0.3s;
}
.works-col:hover .works-col-title02{
	color:#59afe3;
}





}/*//end  max-width: 480px ///////////////////////*/







@media only screen and (min-width: 481px) {


h3.h3-house{
	font-size:27px;
	font-weight: 500;
	line-height: 1;
	padding: 0;
	margin: 0 0 30px 0;
}

h3.h3-house span{
	display: block;
	font-size:12px;
	font-weight: 500;
	margin: 0 0 6px 0;
	color:#59afe3;
}

.p-company-head{
	font-size:20px;
	font-weight: 500;
	line-height: 2.2;
	padding: 0;
	margin: 0 0 0px 0;
}




/*======================================

	house
	
========================================*/

.house-wrapper01{
	width: 100%;
	display: flex;
	justify-content: space-between;
}



.house-h3{
	font-size: 30px;
	font-weight: 500;
	padding: 0;
	margin: 12px 0 15px 0;
}

.p-house{
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}


.house-left-contents{
    width: calc(50% - 110px);
    height: 510px;
    position: relative;
	background-image:url(../i/bg_dot.png);
	background-position: right -36px top 0px;
	background-repeat: no-repeat;
}

.house-left-contents-inner{
    width: 370px;
    text-align: left;
    background: transparent;
    position: absolute;
    top:0%;
    right: 0px;
	transform: translate(0%,0%);
	padding: 0 60px 0 0;
}

.house-right-photo{
    width: calc(50% + 110px);
    height: 650px;
	background-image:url(../i/bg_dot.png);
	background-position: left 120px bottom 0px;
	background-repeat: no-repeat;
	position: relative;
}

.house-right-inner{
    width: 750px;
    height: auto;
    text-align: left;
    background: transparent;
    position: absolute;
    top:0%;
    left: 0px;
	transform: translate(0%,0%);
	padding: 0 0px 0 0;

}




.house-h3-icon-concept{
	width: 156px;
	height: 59px;
}
.house-h3-icon-concept img{
	width: 100%;
	height: auto;
}



.slider{
    width: 100%;
    height: auto;
	padding: 0;
	margin: 0;
}

.dots-2 .slick-dots {
    width: 100%;
  text-align: left;
  padding: 0;
  margin: 0;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 32px;
  height: 3px;
  margin: 0 12px 0 0px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #ddd;
  border-radius: 0%;
}
.dots-2 .slick-dots .slick-active button {
  background: #333;
}



/*======================================

	point
	
========================================*/
#house-point{
	margin-top: -120px;
	margin-bottom: 60px;
}

.house-h3-icon-point{
	width: 137px;
	height: 59px;
}
.house-h3-icon-point img{
	width: 100%;
	height: auto;
}

.point-wrapper{
	width: 100%;
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
}

.point-col{
	width: 290px;
}

.point-col-photo{
	width: 100%;
	margin-bottom: 6px
}
.point-col-photo img{
	width: 100%;
}

.point-col-h4{
	width: 100%;
	margin-bottom: 12px;
	margin-top: 21px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.point-h4-icon{
	width: 75px;
	margin-right: 9px;
}
.point-h4-icon img{
	width: 100%;
}
h4.point-h4{
	font-size:20px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	margin: 0;
}

.point-col-text{
	font-size: 12px;
	line-height: 1.8;
	padding: 15px;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;
}




/*======================================

	point
	
========================================*/
#house-spec{
	margin-top: 90px;
	margin-bottom: 0px;
}

.house-h3-icon-spec{
	width: 241px;
	height: 66px;
}
.house-h3-icon-spec img{
	width: 100%;
	height: auto;
}

.spec-wrapper{
	width: 100%;
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.spec-col{
	width: 290px;
}

.spec-col-photo{
	width: 100%;
	margin-bottom: 6px
}
.spec-col-photo img{
	width: 100%;
}

.spec-col-contents{
	padding: 12px;
}

h4.spec-h4{
	font-size:20px;
	font-weight: 600;
	line-height: 1;
	padding: 0;
	margin: 9px 0 12px 0;
	color:#59afe3;
}

.point-col-text{
	font-size: 12px;
	line-height: 1.5;
	padding: 15px;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;
}



/*======================================

	faq
	
========================================*/

.faq-wrapper{
	width: 100%;
	background:repeating-linear-gradient(
	-45deg,
	#fff5f0,
	#fff5f0 40px,
	#fff 0,
	#fff 60px
	);
	padding: 60px 0 30px 0;
	margin: 0 0 60px 0;
}

.faq-inner{
	width: 960px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	text-align: left
}

.faq-left{
	width: 225px;
}
.faq-right{
	width: 735px;
}

.faq-col{
	margin: 0 0 21px 0;
}

.faq-col-head{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 15px;
}
.faq-anchor{
	background: #59afe3;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	margin-right: 15px;
	padding: 2px 0 0 9px;
}
.faq-anchor img{
	width: 18px;
	height: 18px;
}


.faq-h4{
	font-size:20px;
	font-weight: 600;
	line-height: 1.5;
	padding: 0;
	margin: 0;
	color: #59afe3;
}

.faq-col-p{
	padding: 15px 24px 15px 65px;
}




/*======================================

	works
	
========================================*/

#house-works{
	margin-bottom: 45px;
}

.works-col-wrapper{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 0 0 0px;
}

.works-col{
	display: block;
	width: 210px;
	margin: 0 40px 40px 0px;
}



.works-col:hover{
	cursor: pointer;
}

.works-col-last{
	margin: 0 0px 40px 0px;
}


.works-col-thumb{
	width: 210px;
	height: 210px;
	border-radius: 18px;
	overflow: hidden;
}
.works-col-thumb img{
	width: 210px;
	height: 210px;
	object-fit: cover;
}

.works-col-thumb-photo{
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.works-col:hover .works-col-thumb-photo{
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	opacity: 1;
}




.works-col-cat{
	width: 100%;
	height: 22px;
	color:#fff;
	text-align: center;
	font-size: 11px;
	font-weight: 500;
	margin: 12px 0 12px 0;
	padding: 2px 0 0 0;
}
.bg-house{
	background: #59afe3;
}
.bg-reform{
	background: #00a29a;
}
.bg-public{
	background: #f8b62d;
}

.works-col-title01{
	width: 100%;
	color:#222;
	text-align: center;
	font-size: 14px;
	margin: 12px auto 6px auto;
	padding: 0 0 0 0;
	transition: all 0.3s;
}
.works-col:hover .works-col-title01{
	color:#59afe3;
}

.works-col-title02{
	width: 100%;
	color:#222;
	text-align: center;
	font-size: 14px;
	margin: 6px auto 0px auto;
	padding: 0 0 0 0;
	transition: all 0.3s;
}
.works-col:hover .works-col-title02{
	color:#59afe3;
}



}/*//end  min-width: 481px ///////////////////////*/











