@charset "UTF-8";
/* CSS Document */
/******************************************************************************************
/* 0.0 - common
******************************************************************************************/
/* --- block --- */
.block p {
	margin-bottom: 0;
	padding: 0 1em 1em 1em;
	text-align: justify;
	line-height: 1.6;
}
/*事例／インタビュー画像背景*/
li .thumb {
	background-color: #fff;
}
/******************************************************************************************
/* 0.0 - slide
******************************************************************************************/
/* --- slide --- */
.slider {
	margin: 0 0 50px 0;
}
/* --- slide メイン --- */
.main-slider {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	overflow: hidden;
	float: none;
}
.main-slider ul {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.main-slider .slider img {
	max-width: 100%;
	height: auto;
}
.main-slider .slick-list {
	overflow: visible;
}
.lazy-item .slick-next,
.thumb-item-nav .slick-next,
.multiple-item .slick-next,
.center-item .slick-next {
	width: 50px;
	right: 1%;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 99;
}
.lazy-item .slick-prev,
.thumb-item-nav .slick-prev,
.multiple-item .slick-prev,
.center-item .slick-prev {
	left: 1%;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 100;
}

@media only screen and (max-width: 970px) {
	.main-slider {
		margin: 90px auto 0 auto;
	}
}
@media only screen and (max-width: 480px) {
	.main-slider {
		margin: 60px auto 0 auto;
	}
}

/*slide 事例／インタビュー*/
li .thumb {
	width:100%;
	overflow:hidden;
	position:relative;
}
li .thumb img {
	/*position: absolute;
	left: -100%;
	right: -100%;*/
	margin: auto;
	width: 100%;
	height: auto;
}
li:hover .thumb img {
	opacity: 1;
}
li.slick-slide {
	background-color: #f1f1f1;
}
p.export {
	height: 10px;
	padding: 0 10px;
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
}
p.export br {
	display: none;
}
p.readmore {
	margin: 50px auto 0 auto;
	padding: 5px 50px 0 50px;
	background: #fe0100;
	border-radius: 5px;
}
p.readmore a {
	color: #ffffff;
	font-weight: bold;
}
/* --- slide 施工事例 --- */
.result-item {
	margin-bottom: 0 !important;
	right: 0;
	z-index: 99;
}
.result-item li {
	margin: 0 5px;
	cursor: pointer;
}
.result-item li .thumb {
	height: 170px;
}
.result-item li .txt-info {
	flex-flow: column;
	padding-bottom: 10px;
	line-height: 1.5;
}
.result-item p.title {
	width: 100%;
	/*height: 45px;*/
	padding: 10px;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}
@media only screen and (max-width: 1100px) {
	.result-item li .thumb {
		height: auto;
	}
}
@media only screen and (max-width: 480px) {
	.result-item li .thumb {
		height: auto;
	}
}
/* --- slide インタビュー --- */
.interview-item {
	margin-bottom: 0 !important;
	right: 0;
	z-index: 99;
}
.interview-item .slick-slide {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.interview-item li {
	margin: 0 5px;
	cursor: pointer;
}
.interview-item li .thumb {
	float: none;
	width: 70%;
	height: auto;
	border-top: 20px solid #F4F4F4;
}
.interview-item li:hover img {
	opacity: 1;
}
.interview-item li .txt-info {
	flex-flow: column;
	padding: 20px;
	line-height: 1.5;
}
.interview-item li .txt-info p.title {
	width: 100%;
	/*height: 45px;*/
	padding: 10px 0;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}
.interview-item .txt-info p .com-name {
	margin: 0 5px 0 0;
}
@media only screen and (max-width: 768px) {
	.interview-item li .thumb {
		height: 220px;
	}
}
@media only screen and (max-width: 480px) {
	.interview-item li .thumb {
		height: auto;
	}
}

/* --- slide スタッフ紹介 --- */
.staff-box .thumb {
	width: auto;
	height: 153px;
}
.staff-box .thumb img {
	width: 100%;
	height: auto;
}
.staff-box .swiper-slide:hover img {
	opacity: 1;
}
.staff-box .swiper-slide .txt-info {
	flex-flow: column;
	padding-bottom: 10px;
	line-height: 1.5;
}
.staff-box div.swiper-container div.swiper-slide .txt-info p.position {
	font-size: 75%;
	margin: 0;
	padding: 0 5px;
}
.staff-box div.swiper-container div.swiper-slide .txt-info p.name,
.staff-box div.swiper-container div.swiper-slide .txt-info p.initial {
	font-size: 120%;
	font-weight: bold;
	margin: 0;
	padding: 0 5px;
}
.staff-box div.swiper-container div.swiper-slide .txt-info p.catch {
	font-size: 100%;
	margin: 0;
	padding: 0 5px;
}
@media only screen and (max-width: 768px) {
	.staff-box div.swiper-container div.swiper-slide .thumb {
		height: 220px;
	}
}
@media only screen and (max-width: 480px) {
	.staff-box div.swiper-container div.swiper-slide .thumb {
		height: auto;
	}
}

.prevbutton {
    position: absolute;
    display: inline-block;
    top: 40%;
    left: 3%;
    z-index: 9999;
}
.prevbutton:hover {
    cursor: pointer;
}
.prevbutton:before {
    content: '';
    width: 42px;
    height: 42px;
    background: #ffa500;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -7px;
}
.prevbutton:after {
    content: '';
    width: 15px;
    height: 15px;
    border: 0px;
    border-top: solid 5px #fff;
    border-right: solid 5px #fff;
    -ms-transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute;
    top: 50%;
    left: 14px;
    margin-top: 3px;
}
.nextbutton {
    position: absolute;
    display: inline-block;
    top: 40%;
    right: 8%;
    z-index: 9999;
}
.nextbutton:hover {
    cursor: pointer;
}
.nextbutton:before {
    content: '';
    width: 42px;
    height: 42px;
    background: #ffa500;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -7px;
}
.nextbutton:after {
    content: '';
    width: 15px;
    height: 15px;
    border: 0px;
    border-top: solid 5px #fff;
    border-right: solid 5px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 7px;
    margin-top: 3px;
}
/*
.staff-item {
	margin-bottom: 0 !important;
	right: 0;
	z-index: 99;
}
.staff-item .slick-slide {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: none;
}
.staff-item li {
	margin: 0 5px;
	cursor: pointer;
}
.staff-item li .thumb {
	height: 153px;
}
.staff-item li:hover img {
	opacity: 1;
}
.staff-item li .txt-info {
	flex-flow: column;
	padding-bottom: 10px;
	line-height: 1.5;
}
.staff-item li .txt-info p.position {
	font-size: 75%;
	margin: 0;
	padding: 0 5px;
}
.staff-item li .txt-info p.name,
.staff-item li .txt-info p.initial {
	font-size: 120%;
	font-weight: bold;
	margin: 0;
	padding: 0 5px;
}
.staff-item li .txt-info p.catch {
	font-size: 100%;
	margin: 0;
	padding: 0 5px;
}
@media only screen and (max-width: 768px) {
	.staff-item li .thumb {
		height: 220px;
	}
}
@media only screen and (max-width: 480px) {
	.staff-item li .thumb {
		height: auto;
	}
}
*/

/******************************************************************************************
/* 0.0 - コンテンツ
******************************************************************************************/
/* --- resason 選ばれる理由 --- */
.reason.block {
	padding-bottom: 0;
}
.reason .grid {
	justify-content: space-between;
	counter-increment: num;
}
.reason .grid dl {
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
	width: 48.5%;
	margin-bottom: 18px;
	padding: 20px 0 0 0;
	border: 1px solid #DDDDDD;
}
.reason .grid dl dt:before {
	float: left;
	content: "" counter(num);
	display: block;
	width: 26px;
	height: 30px;
	margin-right: 10px;
	font-size: 36px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	text-align: center;
	line-height: 35px;
	color: #F66C1C;
}
.reason .grid dt {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	margin-bottom: 20px;
	padding: 0 18px;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: -1px;
	line-height: 1.2;
}
.reason .grid dd.detail {
	padding: 0 18px 0 18px;
	font-size: 13px;
	line-height: 20px;
	text-align: justify;
}
.reason .grid dd.bottom {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin-top: auto;
	margin-left: 0;
	margin-right: auto;
	padding: 0 0 0 18px;
	font-size: 16px;
	font-weight: normal;
}
.reason .grid dd.bottom .link {
	width: 63%;
	margin-top: 0;
	margin-left: 0;
	margin-right: auto;
	font-size: 16px;
	font-weight: normal;
}
.reason .grid dd.bottom .link .btn {
	padding: 10px 0;
	font-size: 14px;
	border-radius: 100px;
	box-shadow: 0px 0px 0px;
}
.reason .grid dd.bottom .img-box {
	width: 30%;
	margin-top: -40px;
	margin-left: 0;
	margin-right: 1px;
	margin-bottom: 1px;
	font-size: 0px;
}
.reason .grid dd.bottom .img-box img {
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 680px) {
	.reason .grid dl {
		width: 100%;
	}
	.reason .grid dd.detail {
		margin-bottom: 20px;
		height: auto;
	}
}
@media only screen and (max-width: 480px) {
	.reason .grid dt br {
		display: none;
	}
	.reason .grid dd.bottom .img-box {
		width: 30%;
		margin-top: -25px;
	}
}
/* --- staff スタッフ紹介 --- */
.staff .grid {
	float: left;
	width: 33%;
}
.staff .img {
	width: 98%;
	margin: 0 auto;
}
.staff img {
	width: 100%;
	height: auto;
}
.staff .txt {
	width: 98%;
}
@media only screen and (max-width: 1065px) {
	.staff .grid {
		float: left;
		width: 100%;
	}
	.staff .img,
	.staff .txt {
		width: 100%;
	}
}
/* --- message メッセージ --- */
.message .grid {
	justify-content: space-between;
}
/*
.message .img {
	width: 40%;
}
*/
.message .txt {
	width: 100%;
}
.message img.img {
	width: 39%;
	height: auto;
	float: left;
	margin: 0 10px 10px 0;
}
@media only screen and (max-width: 1065px) {
	/*
	.message .img,
	.message .txt {
		width: 100%;
	}
	*/
	.message img.img {
		width: 100%;
		height: auto;
		float: none;
		margin: 0 0 10px 0;
	}
}

/* --- blog ブログ --- */
.blog-info dl {
	margin-bottom: .5em;
	padding: 0 1em;
	font-size: 15px;
	font-weight: bold;
}
.blog-info dd {
	padding: 0 0 0 1em;
	line-height: 1.4;
}
.blog-info dd a {
	text-decoration: underline;
}
.more-blog {
	width: 320px;
	margin: 0 auto;
	padding-top: 20px;
	padding-bottom: 10px;
}
.more-blog a {
	padding: 10px 0;
	font-size: 18px;
	font-weight: bold;
}
@media only screen and (max-width: 480px) {
	.blog-info {
		padding: 15px 15px 25px 15px;
	}
	.blog-info h3 {
		font-size: 18px;
	}
	.more-blog {
		float: none;
		width: 100%;
	}
}

@media only screen and (max-width: 768px) {
	.info > ul,
	.sp-news > ul {
		margin: 0 auto 20px auto;
		padding: 0 20px;
	}
	.info > ul > li,
	.sp-news > ul > li {
		position: relative;
		width: 100%;
		max-width: 450px;
		margin: 0 auto;
	}
	.info > ul > li.news {
		margin-bottom: 70px;
	}
	.info > ul > li .more,
	.sp-news > ul > li .more {
		position: relative;
		margin-top: 20px;
		bottom: 0;
		padding: 0;
	}
}
@media only screen and (max-width: 480px) {
	.info {
		margin: 0 0 30px 0;
		padding: 0 0 40px 0;
		background-image: none;
	}
	.sp-news {
		background-image: url(../images/top/bg-info.png);
		background-position: -320px 0;
		background-size: 200% auto;
		background-attachment: initial;
	}
	.sp-news {
		display: block;
		margin-bottom: 70px;
	}
	.info > ul > li.news {
		display: none;
	}
	.info > ul > li dl dt,
	.info > ul > li dl dd,
	.sp-news > ul > li dl dt,
	.sp-news > ul > li dl dd {
		display: block;
		width: 100%;
	}
	.info > ul > li h2,
	.sp-news > ul > li h2 {
		margin: 0 0 35px 0;
		line-height: 1;
	}
	.sp-news .sns {
		justify-content: space-around;
	}
	.sp-news .sns span {
		font-size: 22px;
	}
}

/******************************************************************************************
/* 0.0 - slde
******************************************************************************************/
/* --- side サイドバー切替 --- */
.sidebar-right {
	padding-top: 0;
}
@media only screen and (max-width: 920px) {
	.sidebar-right {
		display: none;
	}
}





/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}