@charset "utf-8";
/* CSS Document */
.page_header { background-image: url(../img/service/main.jpg?20230309); }
.page_header .page_header_title span::before {
	content: 'SERVICE';
	font-family:'PT Sans';
}
@media screen and (max-width: 760px) {
	.page_header { background-image: url(../img/service/main_sp.jpg?20230309); }
}

/* 外装工事 */
article.exterior_work .service h1::before {
	content: 'EXTERIOR WORK';
	font-family:'PT Sans';
}
article.exterior_work .service_contents_subhead h2.read_1::before {
	content: 'ALC PANEL';
	font-family:'PT Sans';
}
article.exterior_work .service_contents_subhead h2.read_2::before {
	content: 'ECP';
	font-family:'PT Sans';
}

/* 基礎工事 */
article.foundation_work .service h1::before {
	content: 'FOUNDATION WORK';
	font-family:'PT Sans';
}
article.foundation_work .service_contents_subhead h2.read_1::before {
	content: 'CONCRETE PILE';
	font-family:'PT Sans';
}
article.foundation_work .service_contents_subhead h2.read_2::before { content: 'ECP'; }
.foundation_work .service_contents_subhead > div {
	margin-left: auto;
	line-height: 1.4;
}
article.foundation_work .service_contents_subhead h2.read_3::before {
	content: 'CAST-IN-PLACE PILE';
	font-family:'PT Sans';
}
.foundation_work .service_contents_subhead > div a {
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
	.foundation_work .service_contents_subhead > div {
		margin-left: -0px;
	}
}

/* 耐火被覆工事 */
article.fireproofing_construction .service h1::before {
	content: 'FIREPROOFING CONSTRUCTION';
	font-family:'PT Sans';
}
article.fireproofing_construction .service_contents_subhead h2.read_1::before {
	content: 'MAKIBEE';
	font-family:'PT Sans';
}
article.fireproofing_construction .service_contents_subhead h2.read_2::before {
	content: 'ROCK WOOL';
	font-family:'PT Sans';
}
article.fireproofing_construction .service_contents_subhead h2.read_3::before {
	content: 'CALCIUM SILICATE PLATE';
	font-family:'PT Sans';
}
article.fireproofing_construction .service_contents_subhead h2.read_4::before {
	content: 'SEISMIC ISOLATION';
	font-family:'PT Sans';
}
.fireproofing_construction .service_contents_subhead > div {
	margin-left: auto;
	line-height: 1.4;
}
.fireproofing_construction .service_contents_subhead > div a {
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
	.fireproofing_construction .service_contents_subhead > div {
		margin-left: -0px;
	}
}

/* ERCM */
article.ercm .service h1::before {
	content: 'ERCM';
	font-family:'PT Sans';
}

article.exterior_work .link_exterior_work,
article.foundation_work .link_foundation_work,
article.fireproofing_construction .link_fireproofing_construction,
article.ercm .link_ercm {
	background-color: #e70000;
	color: #ffffff;
	border: solid 2px #e70000;
}
article.exterior_work .link_exterior_work svg,
article.foundation_work .link_foundation_work svg,
article.fireproofing_construction .link_fireproofing_construction svg,
article.ercm .link_ercm svg {
	fill: #ffffff;
}

/* ウォータークリーン工法 */
article.water_clean_method .service h1::before {
	content: 'WATER CLEAN METHOD';
	font-family:'PT Sans';
}

article.water_clean_method .service .read_1::before {
	content: 'SYSTEM OVERVIEW';
	font-family:'PT Sans';
}

article.water_clean_method .service .read_2::before {
	content: 'TYPE';
	font-family:'PT Sans';
}

article.water_clean_method .link_ercm {
	background-color: #e70000;
	color: #ffffff;
	border: solid 2px #e70000;
}
article.water_clean_method .link_ercm svg {
	fill: #ffffff;
}


/* -------------------------------- */
/* サービス共通 */
/* -------------------------------- */
main article {
	background-image: url(../img/global/grid_bg.png);
}
.service {
	padding: 100px 0;
}
.service_head {
	border-bottom: solid 5px #1d1d1d;
	display: flex;
	align-items: center;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.service_head h1 {
	font-size: 20px;
	margin-left: 10px;
}
.service_head h1 span {
	display: block;
	font-size: 24px;
	padding-top: 10px;
}
.service_head h1::before {
	letter-spacing: 5px;
}
.service h1::before {
	font-size: 46px;
	font-weight: bold;
}
@media screen and (max-width: 760px) {
	.service {
	    padding: 13vw 0;
	}
	.service h1::before {
		font-size: 6vw;
	}
	.service_head {
	    padding-bottom: 4vw;
	}
	.service_head svg {
	    height: auto;
    	width: 12vw;
	}
	.service_head a svg {
		width: auto;
	}
	.service_head h1 span {
		font-size: 4vw;
	}
	.ercm .service_head {
		/*flex-wrap: wrap;*/
		flex-wrap: wrap-reverse;
	}
}




.service_contents {
	margin-bottom: 100px;
}
.service_contents_head {
	position: relative;
	margin-bottom: 100px;
}
.service_contents_head figure{
	width: 63%;
}
.service_contents_head figure img {
	width: 100%;
}
.service_contents_head .right_box {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
	width: 600px;
}
.service_contents_head .right_box dl {
	background-color: rgba(0,0,0,0.80);
    background-image: url(../img/global/l_t.png);
    background-repeat: no-repeat;
    background-position: left top;
	color: #FFFFFF;
	padding: 50px 40px;
}
.service_contents_head .right_box dl dt {
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: 4px;
	margin-bottom: 15px;
}
.service_contents_head .right_box dl dd {
	line-height: 2;
	text-align: justify;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1px;
}
.service_contents_head .right_box dl dd small{
	line-height: 1.8;
	display: block;
}
.service_contents_head .right_box dl dd a{
	color: #ffffff;
}

.service_contents_head .right_box dl dd a:hover{
	opacity: 0.7;
}

@media screen and (max-width: 760px) {
	.service_contents {
		margin-bottom: 10vw;
	}
	.service_contents_head {
		margin-bottom: 20vw;
	}
	.service_contents_head figure{
		width: 100%;
	}
	.service_contents_head .right_box {
		position: relative;
		margin: -10% 10px 0 10px;
		width: auto;
	}
	.service_contents_head .right_box dl {
		padding: 5%;
		background-color: rgba(0,0,0,0.60);
	}
	.service_contents_head .right_box dl dt {
	    font-size: 4.8vw;
	}
	.service_contents_head .right_box dl dd {
	    font-size: 3.5vw;
	}
}







.service_contents_subhead {
	display: flex;
	align-items: center;
	border-bottom: dashed 2px #1d1d1d;
	padding-bottom: 15px;
	margin-bottom: 40px;
}
.service_contents_subhead h2 {
	font-size: 18px;
	letter-spacing: 2px;
}
.service_contents_subhead h2::before {
	font-size: 36px;
	letter-spacing: 4px;
}
.service_contents_subhead h2 span {
	display: block;
	padding-top: 5px;
	line-height: 1;
}
.service_head a,
.service_contents_subhead a {
	margin-left: auto;
	color: #000000;
	display: flex;
	align-items: center;
}
.service_head a {
	align-self: flex-end;
	margin-left: auto;
}

.service_head a span,
.service_contents_subhead a span {
	margin-left: 13px;
}
.service_head a .st0,
.service_contents_subhead .st0 {
	fill:#e70000;
}
.service_head a:hover,
.service_contents_subhead a:hover{
	color: #e70000;
}
@media screen and (max-width: 760px) {
	.service_contents_subhead {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 20px;
	}
	.service_contents_subhead h2 {
		order: 2;
		font-size: 3.5vw;
		margin-top: 5px;
	}
	.service_contents_subhead h2::before {
		font-size: 6vw;
	}
	.service_head a,
	.service_contents_subhead a {
		order: 1;
		margin: 0;
		font-size: 2.5vw;
	}
	.service_head a {
		/*margin-top: 10px;*/
		padding-bottom: 2%;
	}
}



.service_contents_sec1 {
	line-height: 1.8;
	margin-bottom: 40px;
	font-weight: bold;
}
.service_contents_sec1 figure{
	float: left;
	max-width: 39%;
	margin-right: 40px;
	margin-bottom: 7px;
}
.service_contents_sec1::after {
	content: '';
	display: block;
	width: 100%;
	clear: both;
	float: none;
	height: 1px;
}

@media screen and (max-width: 760px) {
	.service_contents_sec1 {
		font-size: 3.7vw;
		margin-bottom: 5vw;
	}
	.service_contents_sec1 figure {
		margin-right: 4vw;
		margin-bottom: 1vw;
	}
}

.service_contents_sec2 {

}
.service_contents_sec2 h3 {
	font-size: 30px;
	display: flex;
	align-items: center;
}
.service_contents_sec2 h3::before {
	content: '';
	width: 44px;
	height: 50px;
	background-image: url(../img/global/icon05.svg);
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 10px;
}
.service_contents_sec2_list {
	display: flex;
	flex-grow: 1;
}
.service_contents_sec2_list figure{
	width: 40%;
}
.service_contents_sec2_list ul {
	list-style: none;
	margin-right: 40px;
	width: 60%;
}
.service_contents_sec2_list.reverse.in_hn > div {
	margin-left: 40px;
	width: 75%;
}
.service_contents_sec2_list.reverse ul {
	margin-right: 0;
}
.ercm .service_contents_sec2_list.reverse {
	margin-bottom: 50px;
}

.service_contents_sec2_list ul li {
	border-bottom: solid 1px #1d1d1d;
	padding: 20px 0;
}
.service_contents_sec2_list ul li dl {
	display: flex;
}
.service_contents_sec2_list ul li dl dt {
	display: flex;
	align-items: center;
	width: 90px;
	min-width: 90px;
	font-weight: bold;
	padding: 10px 0;
	color: #b50000;
	font-size: 20px;
	line-height: 1.2;
}
.fireproofing_construction .service_contents_sec2_list ul li dl dt {
	width: 110px;
}
.ercm .service_contents_sec2_list ul li dl dt {
	width: 190px;
}
.service_contents_sec2_list_only li,
.service_contents_sec2_list ul li dl dd {
	font-size: 14px;
	line-height: 1.6;
	display: flex;
	align-items: center;
}
.ercm .service_contents_sec2_list ul li dl dd {
	flex: 1;
}
@media all and (-ms-high-contrast: none) {
	.service_contents_sec2_list ul {
		width: 100%;
	}
	.service_contents_sec2_list_only li,
	.service_contents_sec2_list ul li dl dd {
		max-width: 100%;
	}
}


@media screen and (max-width: 760px) {
	.service_contents_sec2 h3 {
		font-size: 5.5vw;
		margin-bottom: 2vw;
	}
	.service_contents_sec2_list figure {
		display: none;
	}
	.service_contents_sec2_list ul {
		margin: 0;
		width: 100%;
	}
	.service_contents_sec2_list ul li {
		padding: 4vw 0;
	}
	.service_contents_sec2_list ul li dl {
		flex-direction: column;
	}
	.service_contents_sec2_list ul li dl dt {
		width: 100%;
		min-width: 100%;
		padding: 0 0 1vw 0;
		font-size: 4vw;
	}
	.service_contents_sec2_list_only li,
	.service_contents_sec2_list ul li dl dd {
	    font-size: 3.5vw;
	}
	.service_contents_sec2_list.reverse.in_hn > div {
		width: 100%;
		margin-left: 0;
	}
}



/* コンテンツ上下のリンク */
.contents_nav {
	background-color: #f7f7f7;
	padding: 100px 0;
}
.contents_nav ul{
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	/* width: 800px; */
	width: 557px;
	max-width: 100%;
}
.contents_nav ul li {
	/* width: 22.97297%; */
    width: 170px;
	position: relative;
}
.contents_nav ul li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 20px 0;
	color: #111111;
	border: solid 2px #111111;
	background-color: #FFFFFF;
	min-height: 170px;
}
.contents_nav ul li a svg {
	height: 60px;
	fill:#111111;
}
.contents_nav ul li a svg.arrow {
	height: 10px;
	width: 32px;
	position: absolute;
    bottom: 20px;
}
.contents_nav ul li a:hover {
	background-color: #e70000;
	color: #FFFFFF;
	border: solid 2px #e70000;
}
.contents_nav ul li a:hover svg {
	fill:#FFFFFF;
}
.contents_nav ul li a span {
	padding: 10px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	font-size: 16px;
}
/*事業内容*/
.contents_nav strong {
	text-align: center;
	margin-bottom: 30px;
	font-size: 16px;
	display: block;
}
.contents_nav strong::before {
	content: 'SERVICE';
	display: block;
	font-size: 50px;
	margin-bottom: 10px;
	letter-spacing: 5px;
	font-family:'PT Sans';
}
.contents_nav strong::after {
	content: '';
	width: 50px;
	height: 4px;
	display: block;
	background-color: #b50000;
	margin: 15px auto auto auto;
}
@media screen and (max-width: 767px) {
	.contents_nav {
		padding: 5vw 0;
	}
	.contents_nav strong {
		font-size: 3vw;
	}
	.contents_nav strong::before {
		font-size: 8vw;
	}
	.contents_nav ul {
		margin-bottom: -2%;
	}
	.contents_nav ul li {
		width: 49%;
		margin-bottom: 2%;
	}
	.contents_nav ul li a {
		display: flex;
		flex-direction: row;
		padding: 10px 0;
		min-height: 75px;
	}
	.contents_nav ul li a span {
		padding: 2vw 2vw 2vw 0vw;
		font-size: 3.8vw;
		text-align: left;
	}
	.contents_nav ul li a svg {
		height: 8vw;
		width: 15vw;
	}
	.contents_nav ul li a svg.arrow {
		display: none;
	}
}



/*2021/03/24 ウォータークリーン工法*/
.water_clean_method .service_contents{
	margin-bottom: 0;
}

.water_clean_method .service_contents_sec1{
	margin-bottom: 100px;
}

.water_clean_method .service_contents_sec1 figure {
    float: none;
    max-width: inherit;
    margin-bottom: 20px;
    margin-right: 0;
}

.water_clean_method .service_contents_sec1 figure img {
    width: 100%;
}

.water_clean_method .service_contents_sec2 {
    display: flex;
    margin-top: 40px;
}

.water_clean_method .service_contents_sec2:nth-child(1){
	margin-top: 0;
}

.water_clean_method .service_contents_sec2 figure {
    width: 35%;
}

.water_clean_method .service_contents_sec2 dl {
    width: 65%;
    padding-left: 20px;
}

.water_clean_method .service_contents_sec2 dl dd {
    line-height: 1.8;
    margin-bottom: 40px;
    font-weight: bold;
}

.water_clean_method .service_contents_sec2 dl dt {
    line-height: 1.4;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 30px;
}

.water_clean_method .service_contents_sec2 dl small {
    font-size: 14px;
    display: block;
    font-weight: normal;
}

@media screen and (max-width: 767px) {
	.water_clean_method .service_head{
		align-items: flex-start;
		margin-bottom: 20px;
		flex-wrap: wrap;	
	}

	.water_clean_method .service_head a{
		order: 1;
		width: 100%;
	}

	.water_clean_method .service_head h1{
		width: 81%;
		margin-left: 4%;
		order: 3;
	}
	.water_clean_method .service_head > svg {
		order: 2;
		width: 15%;
	}
	.water_clean_method .service_contents_sec1 figure{
		margin-bottom: 10px;
	}
	.water_clean_method .service_contents_sec1{
		margin-bottom: 20vw;
	}
	.water_clean_method .service_contents_sec2{
		display: block;
		margin-top: 0;
	}
	.water_clean_method .service_contents_sec2 figure{
		width: 100%;
	}
	.water_clean_method .service_contents_sec2 dl{
		width: 100%;
		padding-left: 0;
		padding-top: 5%;
	}
	.water_clean_method .service_contents_sec2 dl dt{
		font-size: 5.5vw;
		margin-bottom: 2vw;
	}
	.water_clean_method .service_contents_sec2 dl dd{
		font-size: 3.7vw;
	}
	.water_clean_method .service_contents_sec2 dl small{
		font-size: 3vw;
	}

}