@charset "utf-8";



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



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

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

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




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

	menu
	
========================================*/

.works-menu-wrapper{
	width: 100%;
	min-width: 100%;
	text-align: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 21px 0 21px 0;
	margin-bottom: 48px;
}

.works-menu{
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

.works-menu a{
	display: block;
	width: 100px;
	height: 36px;
	font-size: 12px;
	color:#fff;
	padding-top:9px;
	margin: 0 6px 0 6px;
    position: relative;
	overflow: hidden;
}


.works-menu a span{
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.works-menu a.head-menu-house{
	background: #59afe3;
}
.works-menu a.head-menu-reform{
	background: #00a29a;
}
.works-menu a.head-menu-public{
	background: #f8b62d;
}
.works-menu a:hover{

}


/*== 背景が流れる（左から右） */
.bgleft:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:rgba(33,33,33,0.1);/*背景色*/
 	width: 100%;
	height: 100%;
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}
/*hoverした際の形状*/
.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}



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



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

	page number 
	
========================================*/

#page-menu-box{
	width:100%;
	margin:30px 0 0 0;
	padding:36px 0 36px 0;
	border-top:1px solid #333;
}
#page-menu-box-all{
	width:100%;
	margin:0 0 0 0;
	padding:0 0 0 0;
	text-align: center;
}

#page-menu{
background-color: transparent;
border-top:0px solid #333;
border-left:0px solid #aaaaaa;
border-right:0px solid #aaaaaa;
border-bottom:0px solid #aaaaaa;
margin: auto;
padding: 0px 4px 0px 4px ;
text-align: center;
clear:both;
}

#page-menu ul{
background-color: transparent;
padding: 0 0 0 0 ;
margin: 0 0 0 0;
line-height:14px;
display: flex;
justify-content: center;
}

#page-menu li{
	display:block;
	list-style:none ;
	background: transparent; 
	width: 36px;
	padding: 0 0 0 0 ;
	margin: 0 4px 0 4px ;
	font-size:18px;
	line-height:18px;
}

.anchor-prev a{
	display:block;
	padding: 5px 0 5px 0 ;
	border:2px solid #9fa0a0;
	color: #fff;
	background: #9fa0a0;
}
.anchor-prev span{
	display:block;
	padding: 5px 0 5px 0 ;
	display: none;
	border:2px solid #9fa0a0;
}

.anchor-num a{
	display:block;
	padding: 5px 0 5px 0 ;
	background: #9fa0a0;
	color: #fff;
	border:2px solid #9fa0a0;
}
.anchor-num strong{
	display:block;
	padding: 5px 0 5px 0 ;
	background: #fff;
	color: #222;
	border:2px solid #9fa0a0;
}
.anchor-next a{
	display:block;
	padding: 5px 0 5px 0 ;
	color: #fff;
	background: #9fa0a0;
	border:2px solid #9fa0a0;
}
.anchor-next span{
	display:none;
	padding: 5px 0 5px 0 ;
	display: none;
	border:2px solid #9fa0a0;
}






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

	detail 
	
========================================*/


.works-detail-head-wrapper{
	width: 100%;
	min-width: 100%;
	text-align: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 0px 0 15px 0;
	margin: 0 auto 30px 0;
}
.works-detail-head{
	width: 90%;
	min-width: 90%;
	margin: 0 auto;
	text-align: left;
}

.works-detail-cat{
	width: 100px;
	height: 24px;
	color:#fff;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	margin: 0px 0 15px 0;
	padding: 2px 0 0 0;
}

.works-detail-h3{
	font-size:21px;
	line-height: 1;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
}
.works-detail-h3 span{
	display: block;
	font-size:14px;
	line-height: 1;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 9px 0px;
}


.works-detail-col{
	width: 90%;
	margin: 0 auto 45px auto;
}
.works-detail-mainphoto{
	width: 100%;
	margin-bottom:21px;
	text-align: center;
}

.works-detail-mainphoto img:hover{
	opacity: 0.7;
}

.mainphoto-wide{
	width: 100%;
	height: auto;
	margin: auto;
}

.mainphoto-height{
	width: auto;
	height: 450px;
	margin: 0 auto;
}

.works-detail-thumbnail-wrapper{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
}

.works-detail-thumbnail{
	width: 31%;
	margin: 0 1% 6px 1%;
}
.detail-thumbnail-last{
	margin: 0 1% 6px 1%;
}

.works-detail-thumbnail img{
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit:cover;
}

.works-detail-thumbnail img:hover{
	opacity: 0.7;
}

.works-detail-note{
	margin-bottom: 45px;
	font-size:14px;
	line-height: 1.8;
}


.detail-to-index{
	width: 100%;
	min-width: 100%;
	text-align: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 30px 0 30px 0;
	margin-bottom: 0px;
}

.detail-to-index a{
	font-size:15px;
	color:#333;
}






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







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


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

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

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




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

	menu
	
========================================*/

.works-menu-wrapper{
	width: 100%;
	min-width: 1040px;
	text-align: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 21px 0 21px 0;
	margin-bottom: 48px;
}

.works-menu{
	width: 960px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

.works-menu a{
	display: block;
	width: 180px;
	height: 45px;
	font-size: 15px;
	color:#fff;
	padding-top:11px;
	margin: 0 12px 0 12px;
    position: relative;
	overflow: hidden;
}


.works-menu a span{
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.works-menu a.head-menu-house{
	background: #59afe3;
}
.works-menu a.head-menu-reform{
	background: #00a29a;
}
.works-menu a.head-menu-public{
	background: #f8b62d;
}
.works-menu a:hover{

}


/*== 背景が流れる（左から右） */
.bgleft:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:rgba(33,33,33,0.1);/*背景色*/
 	width: 100%;
	height: 100%;
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}
/*hoverした際の形状*/
.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}



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



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

	page number 
	
========================================*/

#page-menu-box{
	width:100%;
	margin:30px 0 0 0;
	padding:36px 0 36px 0;
	border-top:1px solid #333;
}
#page-menu-box-all{
	width:100%;
	margin:0 0 0 0;
	padding:0 0 0 0;
	text-align: center;
}

#page-menu{
background-color: transparent;
border-top:0px solid #333;
border-left:0px solid #aaaaaa;
border-right:0px solid #aaaaaa;
border-bottom:0px solid #aaaaaa;
margin: auto;
padding: 0px 4px 0px 4px ;
text-align: center;
clear:both;
}

#page-menu ul{
background-color: transparent;
padding: 0 0 0 0 ;
margin: 0 0 0 0;
line-height:14px;
display: flex;
justify-content: center;
}

#page-menu li{
	display:block;
	list-style:none ;
	background: transparent; 
	width: 36px;
	padding: 0 0 0 0 ;
	margin: 0 4px 0 4px ;
	font-size:18px;
	line-height:18px;
}

.anchor-prev a{
	display:block;
	padding: 5px 0 5px 0 ;
	border:2px solid #9fa0a0;
	color: #fff;
	background: #9fa0a0;
}
.anchor-prev span{
	display:block;
	padding: 5px 0 5px 0 ;
	display: none;
	border:2px solid #9fa0a0;
}

.anchor-num a{
	display:block;
	padding: 5px 0 5px 0 ;
	background: #9fa0a0;
	color: #fff;
	border:2px solid #9fa0a0;
}
.anchor-num strong{
	display:block;
	padding: 5px 0 5px 0 ;
	background: #fff;
	color: #222;
	border:2px solid #9fa0a0;
}
.anchor-next a{
	display:block;
	padding: 5px 0 5px 0 ;
	color: #fff;
	background: #9fa0a0;
	border:2px solid #9fa0a0;
}
.anchor-next span{
	display:none;
	padding: 5px 0 5px 0 ;
	display: none;
	border:2px solid #9fa0a0;
}






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

	detail 
	
========================================*/


.works-detail-head-wrapper{
	width: 100%;
	min-width: 1040px;
	text-align: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 0px 0 30px 0;
	margin: 0 auto 60px 0;
}
.works-detail-head{
	width: 960px;
	min-width: 1040px;
	margin: 0 auto;
	text-align: left;
}

.works-detail-cat{
	width: 120px;
	height: 30px;
	color:#fff;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	margin: 0px 0 21px 0;
	padding: 3px 0 0 0;
}

.works-detail-h3{
	font-size:25px;
	line-height: 1;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
}
.works-detail-h3 span{
	display: inline-block;
	font-size:14px;
	line-height: 1;
	padding: 0px 0px 0px 0px;
	margin: 0px 12px 0px 0px;
}


.works-detail-col{
	width: 684px;
	margin: 0 auto 45px auto;
}
.works-detail-mainphoto{
	width: 100%;
	margin-bottom:21px;
	text-align: center;
}

.works-detail-mainphoto img:hover{
	opacity: 0.7;
}

.mainphoto-wide{
	width: 100%;
	height: auto;
	margin: auto;
}

.mainphoto-height{
	width: auto;
	height: 500px;
	margin: 0 auto;
}

.works-detail-thumbnail-wrapper{
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}

.works-detail-thumbnail{
	width: 156px;
	margin: 0 20px 20px 0px;
}
.detail-thumbnail-last{
	margin: 0 0px 20px 0;
}

.works-detail-thumbnail img{
	width: 156px;
	height: 156px;
	object-fit:cover;
}

.works-detail-thumbnail img:hover{
	opacity: 0.7;
}

.works-detail-note{
	margin-bottom: 45px;
	font-size:14px;
	line-height: 1.8;
}


.detail-to-index{
	width: 100%;
	min-width: 1040px;
	text-align: center;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 30px 0 30px 0;
	margin-bottom: 0px;
}

.detail-to-index a{
	font-size:15px;
	color:#333;
}



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











