@charset "UTF-8";

/* 事業分野タイトル画像ここから
----------------------------------------------- */

.ourbuiss{
    background-image: url(/images/ourbuiss/title_ourbuiss_top.jpg);
}

.pave{
    background-image: url(/images/ourbuiss/pave/title_outbuiss_pave.jpg);
}

.civil{
    background-image: url(/images/ourbuiss/civil/title_outbuiss_civil.jpg);
}

.product{
    background-image: url(/images/ourbuiss/products/title_outbuiss_products.jpg);
}

.sport{
    background-image: url(/images/ourbuiss/sport/title_outbuiss_sport.jpg);
}

.overseas{
    background-image: url(/images/ourbuiss/overseas/title_outbuiss_overseas.jpg);
}

.resort{
    background-image: url(/images/ourbuiss/resort/title_outbuiss_resort.jpg);
}

.koguchi{
    background-image: url(/images/ourbuiss/koguchi/title_outbuiss_koguchi.jpg);
}

.clean{
    background-image: url(/images/ourbuiss/clean/title_outbuiss_clean.jpg);
}

.pfi{
    background-image: url(/images/ourbuiss/pfi/title_outbuiss_pfi.jpg);
}

.architec{
    background-image: url(/images/ourbuiss/architec/title_outbuiss_architec.jpg);
}

/* 事業分野タイトル画像まで
----------------------------------------------- */


/* 舗装 ここから
----------------------------------------------- */

.pave_top_container{
    overflow: hidden;
}

.pave_top_left{
    float: left;
	width: 30%;
	padding-right: 10px;
}

.pave_top_right{
    float: left;
	width: 70%;	
}

@media only screen and (max-width: 800px){
	.pave_top_left{
		float: none;
		width: 100%;		
	}

	.pave_top_right{
		float: none;
		width: 100%;	
	}	
}

.pave_kouji_container{
    overflow: hidden;
}

.pave_kouji_left{
    float: left;
	width: 70%;
	padding-right: 10px;
}

.pave_kouji_right{
    float: left;
	width: 30%;	
}

@media only screen and (max-width: 800px){
	.pave_kouji_left{
		float: none;
		width: 100%;
	}

	.pave_kouji_right{
		float: none;
		width: 100%;
    }

    .pave_kouji_right figure{
        text-align: center;
    }

    .pave_kouji_right figure img{
        width: 200px;
    }

}

.pave_result_table .kouji_result_owner{
	width:30%;
}

.pave_result_table .kouji_result_place{
	width:20%;
}

/* 舗装 ここまで
----------------------------------------------- */

/* 製品 ここから
----------------------------------------------- */
.product_yokohama {
	text-align: right;
}

.product_table tr:hover{
    cursor: default;
	background: #f7eaed;
}

.product_table .product_class {
	width: 15%;	
}

.product_table .product_name {
	width: 30%;	
}

.product_enviro{
	text-align: right;
}

.product_enviro_btn{
	text-align: right;
}

.product_enviro_btn a{	
	border-radius: 20px;
	padding: 4px 40px 4px 30px;
	color: #009370;
	border: 1px solid #009370;
	background-position: 95% 50%;
	background-color: #fff;
	background-size: 14px auto;
	background-image: url("/images/base/common_parts/ico_yaji_maru_rt_red.svg");
	background-repeat: no-repeat;
	background-position: right 5% center;
}

/*
.product_enviro_btn{
    margin: 8px 0;
}

.product_enviro_btn ul{
    margin: 0;
    display: flex;
    justify-content: flex-end;
}


.product_enviro_btn ul li{
    list-style-type: none;
    margin: 0 0 0 1.5em;
}


.product_enviro_btn ul li a{
    background-color: #1f509c;
    color: #fff;
    padding: .5em;
}

.product_enviro_btn ul li a:hover{
    background-color: #ad2a4b;
    opacity: 1;
}

@media only screen and (max-width: 1199px) and (max-width: 767px) {

    .product_enviro_btn ul li a:hover{
        background-color: #1f509c;
    }

}
*/

/* 製品 ここまで
----------------------------------------------- */


/* 海外 ここから
----------------------------------------------- */

.common_table.overseas_table img{
    width: auto;
}

.common_table.overseas_table th{
    width: 10em;
}

/* 海外 ここまで
----------------------------------------------- */

/* リゾート ここから
----------------------------------------------- */

.resort-banner{
	text-align: center;
	padding: 20px 0;
	vertical-align: middle;
}

.resort-banner img{
	width: 200px;
	vertical-align: middle;
}



/* リゾート ここまで
----------------------------------------------- */


/* 土壌・地下水浄化 ここから （tech_imfo.cssにも同様記述あり）
----------------------------------------------- */

.clean_nav ul{
    display: flex;
    justify-content: space-between;
    margin: 0 0 8px 0;
}


.clean_nav ul li{
    width: calc(100% /3);
    margin: 0;
    list-style-type: none;
    text-align: center;

}

.clean_nav ul li a{
    background-color: #009370;
    color: #fff!important;
    width: 100%;
    display: block;
    border-right: 1px solid #fff;
    padding: .5em 0;
}

.clean_nav ul li:last-child a{
    border-right: none;
}

.clean_nav ul li a:hover{
    background-color: #ad2a4b;
    opacity: 1;

}

.clean_btn{
    text-align: right;
}

.clean_btn a{
    border: 1px solid #1f509c;
    color: #1f509c;
    padding: .5em;
    font-weight: bold;
}

.clean_btn a:hover{
    border: 1px solid #ad2a4b;;
    color: #ad2a4b;;
    opacity: 1;
}


/* 土壌・地下水浄化 ここまで
----------------------------------------------- */

/* NIPPOのプチ工事 ここから
----------------------------------------------- */

.koguchi_h3_img{
    background: none;
    border-bottom: 0;
}

.image_btn{
    text-align: center;
    margin: 16px 0;
}

.image_btn a img{
    width: 80%;
    max-width: 300px;
}

.koguchi_container{
    display: flex;
    justify-content: space-between;
}

.koguchi_container .container_left{
    width: 48%;
}

.koguchi_container .container_right{
    width: 48%;
}

.hosetu_example_box{
	background: #dadada;
	overflow: hidden;
	width: 80%;
	margin: 0 auto;
	padding: 10px;
}

.hosetu_example_box_left{
    float: left;
	width: 50%;
}

.hosetu_example_box_right{
    float: right;
	width: 50%;
}

@media only screen and (max-width: 800px){
	.hosetu_example_box_left{
		float: none;
		width: 100%;
	}

	.hosetu_example_box_right{
		float: none;
		width: 100%;
	}	
}

.hosetu_example_box dl{
    overflow: hidden;
}

.hosetu_example_box dt{
    float: left;
	width: 4em;
	margin-right: 10px;
	font-weight: bold;
}

.hosetu_price {
	color: #b71254;
}

.info_region {
	width: 30%;
}

/* NIPPOのプチ工事 ここまで
----------------------------------------------- */

/* PFI ここから
----------------------------------------------- */

.pfi_flow {
	width:90%;
	margin: 0 auto;
}

@media only screen and (max-width: 800px){
	.pfi_flow {
	width:100%;
	}	
}

/* PFI ここまで
----------------------------------------------- */

/* 建築 ここから
----------------------------------------------- */

.mainContent h2.architec_h2_title{
    border: 1px solid #000;
    padding: 8px;
}

.mainContent h2.architec_h2_title::before{
    content: "\f0a9";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #1f509c;
    padding-right: .3em;
}


.mainContent h2.architec_h2_title span{
    font-size: 70%;
}

.mainContent h2.architec_h2_subtitle{
    color: red;
}

@media only screen and (max-width: 1199px) and (max-width: 767px) {
    .mainContent h2.architec_h2_title span{
        display: block;
        margin-top: 5px;
    }
}

.architec-sales-graph{
	height: 300px;
	width: 80%;
	margin: 0 auto;
}

.kenchiku-history{
	width: 100%;
}

.kenchiku-history dl{
	overflow: hidden;
}

.kenchiku-history dt{
	float: left;
	width: 11em;
}

.kenchiku-history dd{
	float: left;
}

.kenchiku_network_map {
    width: 100%;
    height: auto;
}

.kenchiku_network_table tr:hover{
    cursor: default;
	background: #f7eaed;
}

.kenchiku-hp-link {
	overflow: hidden;
}

.kenchiku-hp-link-address {
	float: left;
}

.kenchiku-hp-link-map {
	float: right;	
    padding: 0 .5em;
    width: 5em;
    text-align: center;
}

.kenchiku-hp-link-map a{
    color: #fff;
    display: block;	
    background: #1f509c;	
}

.kenchiku-hp-link-map a:hover{
    background-color: #b71254;
    opacity: 1;	
}

.common_container.image_auto .container_left{
    width: 79%;
}

.common_container.image_auto .container_right{
    width: 19%;
}

.common_container.image_auto .container_right figcaption{
    text-align: center;
    font-size: 90%;
}

@media only screen and (max-width: 1199px) and (max-width: 767px) {
    .common_container.image_auto .container_left{
        width: 100%;
    }
    
    .common_container.image_auto .container_right{
        width: 100%;
    }
}

.common_container.image_auto_right .container_left{
    width: 74%;
}

.common_container.image_auto_right .container_right{
    width: 24%;
}

@media only screen and (max-width: 1199px) and (max-width: 767px) {
    .common_container.image_auto_right .container_left{
        width: 100%;
    }
    
    .common_container.image_auto_right .container_right{
        width: 100%;
    }
}

/* add 2020210205　CCB工法 タイトルリンク追加*/

.mainContent p.ccb_add{
    position: absolute;
    top: 74px;
}

@media only screen and (max-width: 1199px) and (max-width: 767px) {
    .mainContent p.ccb_add{
        top: 84px;
    }
}
/* add 2020210205　CCB工法 タイトルリンク追加*/

/* add 20210922 建築部門ネットワーク一覧　地図ボタン追加*/
.page_btn,
.map_btn{
    color: #fff;
    background-color: #009370;
    padding: 0 .5em;
    width: 5em;
    text-align: center;
    float: right;
}

/* add 20220308 建築サービスフロー追加*/

.service_flow{
	display: flex;
	width: 100%;
	margin: 0 auto;
	justify-content: space-around;
}

.service_flow_sp{
	display: none;
}

.service_flow i{
	font-size: 3em;
	margin: auto 1vw;
	color: #afafb0;
}

.service_flow_inner{
	width: 15%;
	background: #1e50a2;
	color: white!important;
	text-align: center;
	padding: 10px;
}

.service_flow_detail{
	display: flex;
}

.service_flow_detail p{
	width: 60%;
}

.service_flow_detail_img{
	width: 40%;
}

@media screen and (max-width:768px){
	.service_flow{
		display: none;
	}
	
	.service_flow_sp{
		display: block;
	}
	
	.service_flow_sp i{
		font-size: 3em;
		width: 100%;
		text-align: center;
		margin: 20px 0;
		color: #afafb0;
	}
	
	.service_flow_sp_inner{
		max-width: 300px;
		height: 80px;
		margin: 0 auto;
		padding: 10px;
		background: #1e50a2;
		color: white;
		text-align: center;
		font-size: 1.5em;
	}
	
	.service_flow_detail{
		display: block;
	}
	
	.service_flow_detail p{
		width: 100%;
	}

	.service_flow_detail_img{
		width: 80%;
		margin: 0 auto;
	}
}

/* add 20220308 建築技術追加*/

/* 説明文右寄せ */

.architec_p_right{
	text-align: right;
}

/* CCB工法　画像 */

.ccb_image {
	width: 100%;
	text-align: center;
}

/* BIM　画像 */

.bim_image_inner{
	display: flex;
	width: 100%;
}

.bim_image_inner figure{
	margin: 20px auto;
	padding: 10px;
}

.bim_image_inner figcaption{
	text-align: center;
}

.bim_image_inner i{
	font-size: 5em;
	margin: auto 20px;
	color: #192f60;
}

/* 耐震診断・補強 */

.bim_image_inner{
	display: flex;
	width: 100%;
}

.bim_image_inner figure{
	margin: 20px auto;
	padding: 10px;
}

.bim_image_inner figcaption{
	text-align: center;
}

.bim_image_inner i{
	font-size: 5em;
	margin: auto 20px;
	color: #192f60;
}

.earthquakeresistant_image_inner{
	display: flex;
}

.earthquakeresistant_image_inner i{
	font-size: 5em;
	margin: auto 20px;
	color: #192f60;
}

.earthquakeresistant_image_sp_inner{
	display: none;
}

@media screen and (max-width:960px){
	.earthquakeresistant_image_inner{
		display: none;
	}
	
	.earthquakeresistant_image_sp_inner{
		display: block;
		margin: 0 auto;
		max-width: 400px;
		text-align: center;
	}
	
	
	.earthquakeresistant_image_sp_inner i{
		font-size: 5em;
		margin: 20px auto;
		color: #192f60;
	}
}

/* LCC　ライフサイクル */

.lcc_lifecycle{
	display: flex;
}

.lcc_lifecycle img{
	width: 30%;
	margin-left: auto;
	margin-right: 0;
}

@media screen and (max-width:960px){
	.lcc_lifecycle{
		display: block;
	}
	
	.lcc_lifecycle img{
		width: 100%;
	}
}

/*エコフレンド・サポート工法　画像*/

.eco-support-img{
	margin: 30px auto;
}

.eco-support-img figcaption{
	text-align: center;
}

/* プレキャスト工法　画像 */

.pc_image{
	display: flex;
	width: 100%;
}

.pc_image img{
	margin: 20px;
}

@media screen and (max-width:560px){
	.ccb_image{
		width: 90%;
		margin: 0 auto;
	}
	
	.pc_image{
		display: block;
		width: 85%;
		margin: 0 auto;
	}
	
	.pc_image img{
		margin: 20px 0;
	}
}

/* cassbee NIPPO本社ビル */

.casbee_nippo{
	display: flex;
	margin: 20px 0;
}

.casbee_nippo_inner1{
	width: 30%;
}

.casbee_nippo_inner2{
	width: 60%;
	margin-left: auto;
	margin-right: 0;
}

.casbee_nippo_inner3{
}

.casbee_nippo_inner4{
	display: flex;
	margin-left: auto;
	margin-right: 0;
}

.casbee_nippo_inner4 img{
	margin: 0 10px
}

/* casbee　実績 */

.casbee_planning{
	display: flex;
	width: 100%;
}

.casbee_planning_inner{
	width: 350px;
	margin: 20px auto;
	border: 2px solid #f8b500;
	padding: 2px;
}

@media screen and (max-width:960px){
	.casbee_nippo_inner3{
		margin: 0;
	}
	
	.casbee_nippo_inner4{
		display: block;
		width: 50%;
		text-align: right;
	}
	
	.casbee_nippo_inner4 img{
		margin: 20px 0;
	}
	
	.casbee_planning{
		display: block;
	}
	
	.casbee_planning_inner{
		margin: 20px auto;
	}
}

/*20221220　施工実績紹介ページ改修*/

.modal-header h4{
	color: #009370;
	margin: 30px 0 20px;
	padding-left: 20px;
	padding-bottom: 5px;
	line-height: 1.5;
	border-bottom: 1px solid #a0c7a6;
	position: relative;
}

@media screen and (max-width:400px){
	.modaal-content-container{
		padding: 10px;
	}
	
	.architec-result{
		display: block
	}
}

/*以降モーダルウインドウに関係するCSS*/

.modal {
	display: none;
	position: fixed;
	z-index: 100000;
	left: 0;
	top: 0;
	height: 100vh;
	width: 100%;
	overflow: auto;
	background-color: rgba(0,0,0,0.5);
}

.modal-content {
	background-color: #f4f4f4;
	margin: 3% auto;
	max-width: 50%;
	padding: 20px;
	box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17);
	animation-name: modalopen;
	animation-duration: 1s;
	position: relative;
	z-index: 10000;
}

@keyframes modalopen {
	from {opacity: 0}
	to {opacity: 1}
}

.modal-header {
	display: flex;
	justify-content: space-between;
}

.modalClose {
	font-size: 2rem;
	color: #009370;
	position: absolute;
	top: 4vw;
	right: 27vw;
	z-index: 100000;
}

.modalClose:hover {
	cursor: pointer;
	color: #b81254;
}

.modal-body {
	padding: 10px 20px;
	color: black;
}

.modal-change{
	display: flex;
	justify-content: space-between;
	font-size: 3em;
	margin-bottom: 0!important;
	padding: 0!important;
}

.modal-switch{
	color: #009370;
}

.modal-switch:hover{
	color: #b81254;
	cursor: pointer;
}

@media screen and (max-width:768px){
	.modal-content{
		max-width: 90%;
		margin: 45vw auto;
	}
	
	.modalClose{
		top: 45vw;
		right: 9vw;
	}
}

/* 建築 ここまで
----------------------------------------------- */