@charset "utf-8";


/*
-----------------------------------------------
テロ対策
----------------------------------------------- */
.mb_type001{margin-bottom:250px;}

.lead_txt001{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
margin:30px auto 60px;
}

.lead_txt001 .lead_l01{
width:48% !important;
border-right:solid 1px;
padding-right:3%;
letter-spacing:0.04em;
}

.lead_txt001 .lead_r01{
width:47% !important;
letter-spacing:0.04em;
}


/*
-----------------------------------------------
EXTERIOR DEFENSE
----------------------------------------------- */
.type_border_box{
box-sizing: border-box !important;
}

.def_box01{
margin-top:50px;
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
column-gap:2%;
}

.def01{
width:32%;
border:solid 4px #e3007f;
box-sizing: border-box !important;
margin-bottom:40px;
}

.def01 dl dt{
font-size:17px;
font-weight:bold;
margin-bottom:5px;
}

.def01 dl dd{
font-size:14px;
}

.def_ttl{
color:#fff;
background:#e3007f;
font-size:20px;
font-weight:bold;
display:inline-block;
height:34px;
line-height:34px;
padding:0 1em;
font-feature-settings: "palt";
}

.def_img{
display:block;
padding:3%;
box-sizing: border-box !important;
}

.def_img img{
height:auto;
width:auto;
max-width:100%;
}

.def01 dl{
margin:0 3% 3%;
}

.def_box02{
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
column-gap:2%;
}

.def02{
width:35%;
}

.def02 dt{
margin-bottom:10px;
}

.def03{
width:45%;
}

.def_contact a{
color:#ff0000;
font-size:38px;
font-weight:700;
display:block;
width:370px;
margin:90px auto;
border:solid 3px #ff0000;
text-align:center;
height:76px;
line-height:70px;
border-radius:10px;
transition: .7s
}

.def_contact a:hover{
text-decoration:none;
color:#fff;
background:#ff0000;
}


.def_box03{
margin-top:50px;
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
column-gap:1%;
}

.def_h01{
font-size:40px;
font-weight:700;
letter-spacing:0.02em;
margin-bottom:20px;
}

.def_h02{
font-size:34px;
font-weight:700;
letter-spacing:0.02em;
margin-bottom:20px;
text-align:center;
}

.astm_mk{
width:17%;
}

.astm_txt{
width:82%;
}

.astm_wrap{
max-width:570px;
margin:0 auto 100px;
}

.def_box04{
margin-top:30px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}

.def_box04 dl{
text-align:center;
}

.def_box04 dl dt{
font-size:110px;
color:#d61518;
font-weight:900;
line-height:1.1;
}

.def_box04 dl dd{
font-size:24px;
font-weight:700;
}

.def_p01{
font-size:25px;
margin:20px 0;
}



/*
-----------------------------------------------
ASTMとは table
----------------------------------------------- */

.def_tbl01{
width:100%;
margin-bottom:10px;
}

.def_tbl01 td,
.def_tbl01 th{
border:solid 3px;
padding:8px 18px;
font-weight:700;
font-size:28px;
}

.def_tbl01 .th01{width:20%;}
.def_tbl01 .th02{width:80%;}

.def_tbl01 .td0{
border-bottom:solid 5px #ff0000 !important;
}

.def_tbl01 .td01{
border-left:solid 5px #ff0000 !important;
border-top:solid 5px #ff0000 !important;
border-bottom:solid 5px #ff0000 !important;
}

.def_tbl01 .td02{
border-right:solid 5px #ff0000 !important;
border-top:solid 5px #ff0000 !important;
border-bottom:solid 5px #ff0000 !important;
}


/*
-----------------------------------------------
衝突事比較
----------------------------------------------- */
.shototsu_img{
padding-left:10%;
padding-right:10%;
padding-top:20px;
}


/*
-----------------------------------------------
ASTM相当品　規格表 テーブル
----------------------------------------------- */

.def_h03{
text-align:center;
font-size:34px;
font-weight:700;
letter-spacing:0.02em;
margin-top:100px;
display:flex;
justify-content:center;
flex-wrap:wrap;
align-items:center;
column-gap:15px;
}

.def_h03 img{
max-width:60px;
height:auto;
}

.def_tbl02{
width:100%;
margin:20px auto 100px;
}

.def_tbl02 td,
.def_tbl02 th{
border:solid 1px #666;
}

.def_tbl02 td{
padding:10px;
}

.def_tbl02 th{
padding:15px 10px;
color:#fff;
font-size:19px;
}

.def_tbl02 .td01{
font-size:17px;
}

.def_tbl02 .bg001{background:#dbdbdb;}
.def_tbl02 .bg002{background:#cccc33;}
.def_tbl02 .bg003{background:#32bea2;}
.def_tbl02 .bg004{background:#d04e24;}
.def_tbl02 .bg005{background:#d3f2e9;}
.def_tbl02 .bg006{background:#b2cbc4;}
.def_tbl02 .bg007{background:#a9c330;}
.def_tbl02 .bg008{background:#f8e9cf;}
.def_tbl02 .bg009{background:#d1c4ad;}
.def_tbl02 .bg010{background:#c5bc30;}

.def_tbl02 .th0{
width:20%;
}

.def_tbl02 .th01{
width:40%;
}
.def_tbl02 .th02{
text-align:center;
width:40%;
}
.def_tbl02 .th01 div{
display:flex;
justify-content:center;
flex-wrap:wrap;
align-items:center;
}

/*
-----------------------------------------------
マップ　重要施設ゲート施工事例 table
----------------------------------------------- */

.def_map01{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
margin:60px auto;
}

.def_map01 .map_img{
width:52%;
}

.def_map01 .map_list{
width:46%;
}

.def_tbl03{
width:100%;
margin-bottom:15px;
}


.def_tbl03 th{
color:#fff;
font-weight:700;
padding:4px 15px;
}

.def_tbl03 td{
padding:2px 5px;
font-size:13px;
}

.def_tbl03 .td01{
width:45px;
}

.def_tbl03 .td02A{color:#009974;}
.def_tbl03 .td02B{color:#008ac1;}
.def_tbl03 .td02C{color:#e3007f;}

.def_tbl03 .th01{background:#009974;}
.def_tbl03 .th02{background:#008ac1;}
.def_tbl03 .th03{background:#e3007f;}


.def_tbl03 tr:nth-child(even) td {
  background: #eee;
}


.def_example{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
margin:60px auto;
}

.def_example div{
width:48%;
margin-bottom:30px;
}

.def_example div img{
max-width:100%;
height:auto;
}

/*
-----------------------------------------------
定期メンテナンスのご案内 table
----------------------------------------------- */
.mw860{
max-width:860px;
}

.def_course{
display:flex;
justify-content:flex-start;
flex-wrap:wrap;
margin:60px auto 15px;
column-gap:40px;
align-items:center;
}

.def_course dt{
font-size:32px;
font-weight:700;
}


.def_tbl04{
width:100%;
margin:20px auto 15px;
}

.def_tbl04 td,
.def_tbl04 th{
border:solid 1px #666;
}

.def_tbl04 th{
padding:10px 8px;
font-weight:700;
font-size:18px;
background:#ffd2ce;
text-align:center;
}
.def_tbl04 .th01{width:20%;}
.def_tbl04 .th02{width:20%;}
.def_tbl04 .th03{width:22%;}
.def_tbl04 .th04{width:38%;}

.def_tbl04 td{
padding:18px 40px;
font-weight:700;
font-size:18px;
}

.def_tbl04 tr:nth-child(even) td {
  background: #eee;
}
.def_tbl04 .red{
color:red;
}

/*
-----------------------------------------------
共通リンク
----------------------------------------------- */
.def_link{
display:flex;
justify-content:flex-start;
flex-wrap:wrap;
column-gap:2.6%;
margin:100px auto 120px;
}

.def_link>div{
width:31.6%;
}
.def_link>div a{
transition: .7s
}
.def_link>div a:hover{
opacity:0.7;
}

.def_link>div p{
font-size:23px;
margin-top:10px;
font-weight:700;
}

/*
-----------------------------------------------
データセンター
----------------------------------------------- */
.un_type02 a{
	color: #333333;
}
.info-div02 {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 7%;
    left: 0;
    margin: auto;
    width: 1100px;
    color: #333333;
}
.info-div02 .info-p01,
.info-div02 .info-p02{
	-webit-box-decoration-break: clone;
    box-decoration-break: clone;
	background: rgba(255, 255, 255, 0.88);
	display: inline;
}
.info-div02 .info-p01{
	line-height: 1.7;
}
.info-div02 .info-p02{
	line-height: 2;
}
.info-div02_box{
	margin-top: 10px;
}
.dc_service_box{
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}
.dc_service_img{
	position: relative;
}
.dc_service_img img{
	width: 100%;
}
.dc_service_con{
	width: 48%;
}
.small_txt{
	position: absolute;
	bottom: 4%;
	right: 5%;
	font-size: 1.5rem;
}
.small_txt02{
	color: #ffffff;
}
.dc_service_box p{
	font-size: 1.5rem;
	width: 70%;
	margin-top: 1em;
}
.dc-h01{
	font-size: 6rem;
	margin-bottom: 0.5em;
}
.dc_service_box02{
	margin-bottom: 80px;
}
.dc_service_box02 p{
	font-size: 1.7rem;
	margin-bottom: 1.8em;
}
.dc_service_img02{
	width: 100%;
	margin-bottom: 10px;
}
.dc_service_img02 img{
	width: 100%;
}
.dc_service_box02 span{
	font-size: 2rem;
}
.def_map_center{
	align-items: center;
}

.kumahira{
margin-top:40px;
max-width:880px;
background:#00a0e9;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
padding:20px 45px 20px 25px;
align-items:flex-end;
}

.kumahira_txt{
width:53%;
}


.kumahira_img{
width:43%;
}

.kumahira_img img{
max-width:100%;
width:auto;
height:auto;
}


a .kumahira_txt p{
color:#fff;
}


a .kumahira_txt {
color:#fff;
}

.kumahira_a{
display:block;
}

a:hover .kumahira{
opacity:0.6;
text-decoration:none !important;
}

a:hover .kumahira .kumahira_txt{
text-decoration:underline #2596e2 !important;
}

/*
-----------------------------------------------
防衛省
----------------------------------------------- */
.min-h01{
	font-size: 6rem;
	margin-bottom: 0.5em;
}
.quality p{
	font-size: 1.7rem;
	margin-bottom: 60px;
}
.quality_img{
	width: 100%;
}
.quality_img img{
	width: 100%;
}
.quality{
	margin-bottom: 200px;
}
.before_box01{
	display: flex;
	justify-content: space-between;
	padding-bottom: 10vw;
}
.ren_before01 img,
.ren_before02 img{
	width: 100%;
}

.ren_before01,
.ren_before02{
	width: 48%;
	position: relative;
}
.ren_before01::after,
.ren_before02::after{
	content: "\025bc";
	position: absolute;
	color: #ff0000;
	bottom: -11vw;
	left: 50%;
	transform: translateX(-50%);
	font-size: 80px;
}
.after_box01{
	display: flex;
	justify-content: space-between;
}
.ren_after01 img,
.ren_after02 img{
	width: 100%;
}
.ren_after01,
.ren_after02{
	width: 48%;
}
.ren_con{
	margin-bottom: 200px;
}
.ren_after01 p,
.ren_after02 p{
	margin-top: 1em;
	font-size: 1.5rem;
}

.ren_contact a{
color:#ffffff;
font-size:38px;
font-weight:700;
display:block;
width:440px;
margin:90px auto;
border:solid 3px #ff0000;
text-align:center;
height:76px;
line-height:70px;
border-radius:10px;
transition: .7s;
background-color: #ff0000;
}
.ren_contact a:hover{
text-decoration:none;
color:#ff0000;
background:#ffffff;
}
.h-before{
	width: 12vw;
	margin-bottom: 20px;
}
.h-after{
	width: 10vw;
	margin-bottom: 20px;
}
.h-before img,
.h-after img{
	width: 100%;
}
.hangar-door01{
	width: 100%;
	position: relative;
	z-index: 2;
	margin-left: -1.7vw;
}
.hangar-door01 img{
	width: 100%;
}
.hd_box01{
	display: flex;
	justify-content: space-between;
	margin-top: -2%;
}
.hangar-door02 img{
	width: 100%;
}
.hangar-door02{
	width: 59%;
}
.hd_box01 ol{
	width: 37%;
}
.hd_box01 ol li{
	display: flex;
	align-items: center;
	column-gap: 5%;
}
.hd_box01 .number img{
	width: 100%;
}
.hd_box01 .number01{
	width: 18px;
}
.hd_box01 .number02{
	width: 28px;
}
.hd-h01 mark{
	font-size: 2.9rem;
	background: linear-gradient(transparent 15%, #fff000 0%);
}
.hd_txt p{
	color: #e3007f;
	font-size: 1.9rem;
	font-weight: 700;
}
.hd_txt span{
	font-size: 1.6rem;
}
.hd_txt li{
	margin-bottom: 20px;
}
.hd_con{
	width: 95%;
}
.hd_txt li:first-child .hd_con{
	margin-left: 10px;
}
.hd_p{
	font-size: 1.7rem;
	margin-bottom: 1em;
}
.under650{
	display: none;
}
@media screen and (max-width: 1230px){
	.def_box01 .def01{
		width: 48%;
	}
	.def_box01{
		justify-content: center;
	}
	.def_box02{
		justify-content: center;
	}
}
@media screen and (max-width: 1200px){
	#head{
		width: 100%;
	}
	.under-navi{
		width: 100%;
	}
	.info-div02{
		width: 100%;
		padding-left: 20px;
	}
	.info-div02 .info-p01{
		font-size: 2.5vw;
	}
	.info-div02 .info-p02{
		font-size: 1.5vw;
	}
	.info-div{
		width: 100%;
		padding-left: 20px;
	}
	.info-p01{
		font-size: 2.5vw;
	}
	.info-p02{
		font-size: 1.5vw;
	}
}
@media screen and (min-width: 769px) and (max-width: 860px){

	.head-txt{
		top: -15px;
	}
}
@media screen and (max-width: 845px){

.mb_type001{margin-bottom:120px;}

	.def_ttl{
		font-size: 15px;
		height: 28px;
		line-height: 28px;
	}
	.def01 dl dt{
		font-size: 14px;
	}
	.def01 dl dd{
		font-size: 13px;
	}
}
@media screen and (max-width: 767px){
	.info-div{
		padding-left: 0;
	}
	.info-div02 {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        margin-left: 5%;
        margin-right: 5%;
        width: 90%;
        color: #333;
        margin-top: 10px;
        margin-bottom: 30px;
		padding-left: 0;
}
	.info-div02 .info-p01{
		font-size: 19px;
		margin-bottom: 10px;
	}
	.info-div02 .info-p02{
		font-size: 14px;
	}
	.hd_box01{
		flex-direction: column;
		grid-row-gap: 5vw;
	}
	.hangar-door02{
		width: 70%;
		margin-left: auto;
		margin-right: auto;
	}
	.hd_box01 ol{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.def_contact a{
		font-size: 24px;
		width: 300px;
		height: 65px;
		line-height: 58px;
		margin: 40px auto 50px;
	}
	.def_box02{
		flex-direction: column;
		align-items: center;
		grid-row-gap: 10px;
	}
	.def02,
	.def03{
		width: 50%;
	}
	.def_map01{
		flex-direction: column;
		grid-row-gap: 5vw;
	}
	.def_map01 .map_list{
		width: 70%;
	}
	.ren_contact a{
		font-size: 24px;
		height: 65px;
		width: 340px;
		line-height: 58px;
		margin: 50px auto;
	}
	.quality{
		margin-bottom: 80px;
	}
	.ren_con{
		margin-bottom: 0;
	}
	.ren_before01::after, .ren_before02::after{
		font-size: 50px;
		bottom: -35%;
	}
	.dc_service_box{
		flex-direction: column;
		grid-row-gap: 5vw;
	}
	.dc_service_con{
		width: 100%;
	}
	.dc_service_box p{
		width: 100%;
	}
	.def_box03{
		flex-direction: column;
		align-items: center;
		margin-top: 10px;
		grid-row-gap: 2vw;
	}
	.def_h01{
		text-align: center;
		font-size: 20px;
		margin-bottom: 10px;
	}
	.def_box04 dl dt{
		font-size: 50px;
	}
	.def_box04 dl dd{
		font-size: 18px;
	}
	.astm_txt{
		width: 100%;
		font-size: 14px;
	}
	.astm_wrap p{
		font-size: 14px;
	}
	p.def_p01{
		font-size: 15px;
	}
	.def_tbl01 td, .def_tbl01 th{
		font-size: 18px;
	}
	.def_h02{
		font-size: 24px;
	}
	.astm_wrap{
		margin-bottom: 80px;
	}
	.def_h03{
		margin-top: 60px;
		font-size: 24px;
	}
	.min-h01{
		font-size: 34px;
	}
	.quality p{
		font-size: 15px;
	}
	.hd_p{
		font-size: 15px;
	}
	.hd-h01 mark{
		font-size: 18px;
	}
	.hd_txt p{
		font-size: 16px;
	}
	.hd_txt span{
		font-size: 14px;
	}
	.hd_box01 .number01{
		width: 15px;
	}
	.hd_box01 .number02{
		width: 25px;
	}
	.dc-h01{
		font-size: 34px;
	}
	.dc_service_box p{
		font-size: 1.4rem;
	}
	.dc_service_box{
		margin-bottom: 50px;
	}
	.def_link>div p{
		font-size: 16px;
	}
	.def_course dd{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 650px){

.kumahira{
max-width:100%;
padding:12px ;
align-items:flex-start;
margin-top:15px;
}

.kumahira_txt{
width:100%;
font-size:12px;
}

.kumahira_txt p{
font-size:12px !important;
margin-bottom:6px !important;
}

.kumahira_img{
width:40%;
margin-left:30%;
}


	.def_box01 .def01{
		width: 100%;
	}
	.def02,
	.def03{
		width: 80%;
	}
	.def_map01 .map_img{
		width: 80%;
	}
	.def_map01 .map_list{
		width: 100%;
	}
	.def_example{
		flex-direction: column;
	}
	.def_example div{
		width: 100%;
	}
	.ren_after01 p, .ren_after02 p{
		font-size: 14px;
	}
	.small_txt{
		font-size: 1.3rem;
	}
	.under650{
		display: block;
	}
	.over651{
		display: none;
	}
	.ren_before01, .ren_before02{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20vw;
	}
	.ren_after01, .ren_after02{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.ren_before01::after, .ren_before02::after{
		bottom: -15vw;
	}
	.before_box02{
		margin-bottom: 70px;
	}
	.min-h_width{
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.def_link{
		justify-content: center;
		grid-row-gap: 5vw;
		margin: 70px auto 80px;
	}
	.def_link>div{
		width: 48%;
	}
	.shototsu_img{
		padding-left: 0;
		padding-right: 0;
	}
	.def_example{
		margin-bottom: 0;
	}
	.def_example div:last-child{
		margin-bottom: 0;
	}
	.min-h01{
		font-size: 24px;
	}
	.quality p{
		font-size: 14px;
		margin-bottom: 20px;
	}
	.quality{
		margin-bottom: 40px;
	}
	.h-before{
		width: 16vw;
	}
	.h-after{
		width: 14vw;
	}
	.ren_before01, .ren_before02{
		width: 100%;
	}
	.ren_after01, .ren_after02{
		width: 100%;
	}
	.min-h_width{
		width: 100%;
	}
	.hd_box01 ol{
		width: 100%;
	}
	.dc-h01{
		font-size: 24px;
	}
	.def_course dt{
		font-size: 24px;
	}
	.hd_p{
		font-size: 14px;
	}
	.mainte_txt01{
		font-size: 14px;
	}
	.def_course dd{
		font-size: 14px;
	}
	.def_course{
		margin-top: 40px;
	}
	.mainte_txt02{
		font-size: 14px;
	}
	.def_link>div p{
		font-size: 14px;
	}
	.def_link{
    margin: 50px auto 60px;
	}
	.con-p{
		font-size: 14px;
		letter-spacing: -0.05em;
	}
	.more-p{
		font-size: 1.3rem;
	}
	.mb100{
		margin-bottom: 40px;
	}
	.info-div02 .info-p01{
		font-size: 17px;
	}
}
@media screen and (max-width: 450px){
	.ren_before01::after, .ren_before02::after{
		bottom: -21vw;
	}
}
/*
-----------------------------------------------
in-box
----------------------------------------------- */
@media screen and (max-width: 1210px){
	.in-box0{
		padding-left: 20px;
		padding-right: 20px;
	}
}
/*
-----------------------------------------------
スクロールヒント
----------------------------------------------- */
@media screen and (max-width: 767px){
.js-scroll{
	max-width: 100%;
	overflow: auto;
}
.js-scroll table th,
.js-scroll table td{
    white-space:nowrap;/*文字を折り返さない*/
}
.def_tbl02{
	margin-bottom: 0;
	}
}
.def_tbl_mb{
	margin-bottom: 100px;
}
/* css_end */
