@charset "utf-8";

/************************************************************************************
HEADER
*************************************************************************************/
#kv {
	background:#dcebf0;
	text-align:center;
	line-height:0;
}

/************************************************************************************
SIDE
*************************************************************************************/
#side {
	width:300px;
	float:right;
}
#side .info {
	border-top:3px solid #268c43;
	margin-bottom:20px;
}
#side .info h2 {
	text-align:center;
	margin:10px;
	color:#268c43;
	font-family:'tetsu';
	font-size:20px;
	padding:10px 0;
}
#side .info h2 img {
	width:25px;
	margin-right:10px;
}
#side .info .box {
	border:2px solid #268c43;
}
#side .info .box dl {
	border-bottom:2px dotted #8ab701;
	padding:5%;
}
#side .info .box dl:last-child {
	border-bottom:none;
}
#side .info .box dt {
	color:#268c43;
}


/************************************************************************************
CONTANTS
*************************************************************************************/
#contents {
	width:640px;
	float:left;
}

#contents h2 {
	background:#268c43;
	color:#fff;
	font-size:20px;
	font-family:'tetsu';
	border:10px solid #268c43;
	margin:20px 0;
	clear:both;
}
#contents h2 img {
	width:25px;
	margin:0 10px 0 0;
}

#leak {
	box-shadow:0 1px 4px #a9a9a9;
	line-height:0;
}

#about h2 img {
	width:16px;
}
#about .ph {
	width:30%;
	float:left;
	margin-right:20px;
}

#caseStudy .t_right {
	text-align: right;
}

#caseStudy h2 img {
	width: 16px;
}

#caseStudy .f_l {
	float: left;
}

#caseStudy li {
	padding: 5px;
	border: 1px solid #268c43;
}

#caseStudy a {
	text-decoration: none;
}

#caseStudy a:hover {
	color: #d07340;
}

#caseStudy small {
	color: #9c9c9c;
}

#caseStudy .title {
	min-height: 80px;
	overflow: hidden;
	color: #268c43;
	font-size: 18px;
	font-weight: bold;
	display: -webkit-box;
	overflow: hidden;
	height: 3em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

#caseStudy .title:hover {
	color: #d07340;
}

#caseStudy .readMore {
	display: inline-block;
	margin: 20px 0;
	padding: 2%;
	background: #c3d94d;
	border-radius: 5px;
	box-shadow: 0 2px 0 #9fb819;
}

#caseStudy .img {
	margin-right: 20px;
}

#caseStudy .toCat {
	margin: 10px 0;
}

.caseStudy_tile .image {
	height: 120px;
	overflow: hidden;
}


.caseStudy_tile li {
	float: left;
	width: 190px;
	min-height: 260px;
	margin-right: 1.5%;
	margin-bottom: 1.5%;
}

.caseStudy_tile li:last-child {
	margin-right: 0;
}

#contents #promise .box {
	background:url(../common/images/promise_bg.jpg) repeat;
	border:2px solid #d07340;
	padding:20px 20px 0;
}
#contents #promise li {
	float:left;
	width:49%;
	text-align:center;
	margin-bottom:20px;
}
#contents #promise li:nth-child(odd) {
	margin-right:2%;
}
#contents #promise li .tit {
	background:#d07340;
	border-radius:20px;
	color:#fff;
}
#contents #promise li .st {
	color:#d07340;
	font-weight:bold;
	font-size:18px;
	margin:10px 0;
}

#service {
	border-top:0;
}

#service li a {
	display:block;
	width:45%;
	float:left;
	background:#c3d94d;
	padding:2%;
	border-radius:5px;
	margin-bottom:2%;
	box-shadow:0 2px 0 #9fb819;
	font-size:12px;
	text-decoration:none;
}
#service li a:hover {
	box-shadow:none;
	background:#d9f062;
	margin-top:2px;
}
#service li:nth-child(odd) a {
	margin-right:2%;
}
#service li a img {
	width:30%;
	float:left;
	margin-right:2%;
}
#service li a span {
	font-size:18px;
	color:#618100;
	font-weight:bold;
}

#staff {
	width:60%;
	margin:30px auto;
}

/************************************************************************************
FOOTER
*************************************************************************************/

#facebook_pc {
	clear:both;
	margin: auto auto 30px;
	width: 500px;}


/*******************************************************************
********************************************************************

smaller than 768

********************************************************************
*******************************************************************/
@media screen and (max-width: 768px) {

/*::::::::::::::::::::::::::::::::::::
 HEADER
::::::::::::::::::::::::::::::::::::*/

#kv {
	padding-top:80px;
	background:none;
}
#kv img {
	width:100%;
}

/*::::::::::::::::::::::::::::::::::::
 CONTAINER
::::::::::::::::::::::::::::::::::::*/
#container {
	padding-top:0;
}

/*::::::::::::::::::::::::::::::::::::
 SIDE
::::::::::::::::::::::::::::::::::::*/

#side {
	width:100%;
	float:none;
	clear:both;
}
#side .info {
	width:90%;
	margin:5% auto;
}
#side h2 {
	font-size:20px;
	background:#fff;
	color:#268c43;
	padding:5%;
	border-top:0;
}

/*::::::::::::::::::::::::::::::::::::
 CONTENTS
::::::::::::::::::::::::::::::::::::*/
#contents {
	width:100%;
	float:none;
}

#contents #about {
	width:90%;
	margin:0 auto;
}
#contents #about h2 {
	margin:0 -6% 5%;
}

#contents #about .ph {
	width:40%;
	margin:0 5% 2% 0;
}

#contents #promise .box {
	margin-top:-20px;
	border:none;
	padding:5%;
}
#contents #promise li {
	float:none;
	width:100%;
}

#contents #promise li .st {
	font-size:20px;
}

#service ul {
	width:90%;
	margin:5% auto;
}

#service li a {
	width:94%;
	float:none;
	padding:3%;
	margin-bottom:10px;
	font-size:12px;
	text-decoration:none;
	clear:both;
}
#service li:nth-child(odd) a {
	margin-right:0;
}
#service li a img {
	width:30%;
	margin-right:3%;
}
#service li a span {
	font-size:20px;
}

#staff {
	width:90%;
}

.caseStudy_tile li {
	width: auto;
	margin-right: 0;
}

.caseStudy_tile img {
	width: 100%;
}

/*::::::::::::::::::::::::::::::::::::
 FOOTER
::::::::::::::::::::::::::::::::::::*/

#facebook_pc {
	display:none;
}




}



/*::::::::::::::::::::::::::::::::::::
 20180216 watanabe
::::::::::::::::::::::::::::::::::::*/
.header__lead--sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.header__lead--sp {
		display: block;
		font-size: .85em;
	}
}
@media screen and (max-width: 320px) {
	.header__lead--sp {
		display: block;
		font-size: .75em;
	}
}


/*::::::::::::::::::::::::::::::::::::
 sidenav add class
::::::::::::::::::::::::::::::::::::*/
.side__bnr__item {
	padding-bottom: 20px;
}

.side__bnr__item:last-child {
	padding-bottom: 0;
}

.side__bnr__item__lead {
	margin-bottom: .25em;
	font-size: 1em;
	text-align: center;
	letter-spacing: 1.1px;
	font-family: 'tetsu';
}

.side__bnr__item__txt {
	font-size: .9em;
	text-align: center;
}

.caseStudy_tile .image {
	position: relative;
}

.caseStudy_tile img {
	position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

/* 20190911 fix-blog-layout */
.blog__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	margin: -.5em;
}

@media screen and (max-width: 768px) {
	.blog__list {
		width: 98% !important;
	}
}

.blog__list__item {
	-webkit-box-flex:1;
	-ms-flex: 0 0;
	flex: 0 0;
	-ms-flex-preferred-size: calc(100% / 3 - .5em * 2);
	flex-basis: calc(100% / 3 - .5em * 2);
	margin: .5em;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.blog__list__item {
		-ms-flex-preferred-size: calc(100% / 2 - .5em * 2);
		flex-basis: calc(100% / 2 - .5em * 2);
	}
}

.blog__img {
	position: relative;
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
}

.blog__img img {
	position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: none;
  min-width: 100%;
  min-height: 1px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.blog__cat {
	margin: 5px auto;
}

.blog__cat__item {
	display: none;
}

.blog__cat__item:nth-child(n + 4) {
	margin-top: .25em;
}

.jirei,
.wall,
.roof,
.bankin,
.reform,
.draipspout {
	display: inline-block;
	margin-bottom: .25em;
	padding: .1em .15em;
	font-size: .95em;
	color: #fff;
	background-color: #d07340;
}

@media screen and (max-width: 768px) {
	.jirei,
	.wall,
	.roof,
	.bankin,
	.reform,
	.draipspout {
		font-size: .9em;
	}
}

.blog__readmore {
	text-align: right;
}

@media screen and (max-width: 768px) {
	.blog__readmore {
		margin-top: .5em;
		font-size: .9em;
	}
}
