@charset "utf-8";



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




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

h3.h3-public 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;
}




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

	public
	
========================================*/

.public-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;
}



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

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


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

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

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

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




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



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


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

.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;
}




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

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

#reform-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-public{
	font-size:27px;
	font-weight: 500;
	line-height: 1;
	padding: 0;
	margin: 0 0 30px 0;
}

h3.h3-public 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;
}




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

	public
	
========================================*/

.public-wrapper01{
	width: 100%;
	display: flex;
	justify-content: space-between;
	z-index: 1;
}



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

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


.public-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;
}

.public-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;
}

.public-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;
	z-index: 1;
}

.public-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;

}




.public-h3-icon-concept{
	width: 156px;
	height: 59px;
}
.public-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;
}




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

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

.public-works-wrapper{
	border-top:0px solid #333;
	padding-top: 45px;
	margin-top: -60px;
	z-index: 50;
	position: relative;
}

#public-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{
	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 ///////////////////////*/











