@charset "UTF-8";

/* ========BASIC======== */
html {
   overflow-y:scroll;
}

body {
   margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:1px;
   font-family:"Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"ＭＳ Ｐゴシック",verdana,sans-serif;
   font-size:12px;
   color:#333;
   background : transparent url(../images/bg.gif) repeat-x scroll 0px 105px;
   border-top:3px solid #086A87;
}

br {
   letter-spacing:normal;
}

a {
   color:#000;
   text-decoration:none;
}

a:hover {
   color:#999;
   text-decoration:underline;
}

img {
   border:0;
   vertical-align:bottom;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
}


/* ========TEMPLATE LAYOUT======== */
#top {
   width:780px;
   margin:0 auto;
   padding:0;
}

#header {
   position:relative;
   width:780px;
}

#pr {
   position:absolute;
   left:0;
   top:0;
}

#search {
	position: absolute;
	top: 0px;
	right: 0px;
}

#gnavi {
   position:absolute;
   bottom:0;
   right:0;
}

#menu {
   float:right;
   width:780px;
   margin-top:10px;
}


/* ▼ 191217 修正・追加分 */

#icatch {
    display: block;
    clear: both;
    width:780px;
    padding-top: 35px;
}

#icatch iframe { 
    float: left;
}
#icatch .bnr_area { 
    float: right;
    width: 214px;
} 
#icatch .bnr_area img { 
    width: 100%;
    margin-bottom: 10px;
}

/* ▲ 191217 修正・追加分 */

#contents {
	clear: both;
   width:780px;
   padding:10px 0;
   background:#fff;
}

#contents .bt_top {
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	margin-bottom: 15px;
	clear: both;
}
#contents .bt_top img { margin-bottom: 25px;}

#main {
   float:right;
   width:550px;
	margin-bottom: 25px;
}

#sub {
   float:left;
   width:220px;
}

#pageTop {
   clear:both;
}

#footMenu {
   float:left;
   width:780px;
   margin-top:10px;
}

#footer {
   clear:both;
   width:780px;
}


/* ========HEADER CUSTOMIZE======== */
#header h1 {
   margin:0;
   padding:20px 0 0 0;
   font-size:32px;
   line-height:1.0;
}

#header h1 a:hover {
   color:#f1f1f1;
}


#header #gnavi ul {
   list-style:none;

}
#header #gnavi li {
   float:left;
   margin-left:15px;
   font-size:11px;
}

#header #gnavi li a {
   display:block;
   padding-left:8px;
   background:url("../images/bg_arrow.gif") 0 50% no-repeat;
}


/* ========SERCH CUSTOMIZE======== */
#search dt {
   float:left;
   margin:2px 0 0 0;
   padding:0;

}

#search dd {
   float:left;
   margin:1px 0 0 10px;
   padding:0;
}


/* ========MENU CUSTOMIZE======== */
#menu ul {
   margin:0 0 1px 0;
   padding:0;
   list-style:none;
}

#menu li {
   overflow:hidden;
   float:left;
   width: calc(15% + 1px);
   margin:0;
   margin-left:-1px;
   padding:0;
   border:1px solid #CECBCE;
   border-bottom:none;
   background:#fff url("../images/bg_menu.gif") -40px 0 repeat-x;
   box-sizing: border-box;
}
    
#menu li a {
   display:flex;
	flex-direction: column;
   height:40px;
   padding:0px 0;
   line-height:1.1em;
   font-weight:bold;
   justify-content: center;
   align-items: center;
   outline:none;
}

#menu li a:hover {
   color:#fff;
   text-decoration:none;
   background:#fff url("../images/bg_menu.gif") 100% 100% repeat-x;
}

#menu li a span {
	font-size: 10px;
}

#menu li.home {
   width:10%;
   margin-left:0;
   border-left:1px solid #CECBCE;
}

#menu li.home a {
    font-size: 20px;
}

#menu li.active a {
   color:#fff;
   background:#fff url("../images/bg_menu.gif") 100% 100% repeat-x;
   text-decoration:none;
}

/* ========MAINCONTENTS CUSTOMIZE======== */
#main a {
   color:#134D99;
}

#main a:hover {
   color:#134D99;
   text-decoration:underline;
}

#main h2 {
   clear:both;
   margin-bottom:8px;
   padding:1px 10px;
   line-height:2.0;
   color:#fff;
   font-size:15px;
   font-weight:bold;
   background:#fff url("../images/bg_h2.gif") 100% 100% repeat-x;
}

#main h3 {
	margin-bottom: 8px;
	line-height: 1.8;
	font-size: 14px;
	color: teal;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: teal;
}

#main h4 {
   margin-bottom:2px;
   font-size:13px;
}

#main h5 {
   margin-bottom:2px;
   font-size:13px;
}

#main h6 {
   margin-bottom:2px;
   font-size:13px;
}

#main p {
   margin:0 0 1em 0;
}

#main dt {
   margin-bottom:3px;
}

#main dd {
   margin:0 0 0.5em 1em;
   padding:3px;
   background:#f1f1f1;
}


/* TOPNAVI CUSTOMIZE */
#main div.topNavi {
   overflow:hidden;
   position:relative;
   margin-left:-10px;
   margin-bottom:20px;
}

* html #main div.topNavi {
   height:1em;
   overflow:visible;
}

#main div.topNavi div.topNaviColumn {
   display:inline;
   width:270px;
   float:left;
   margin-left:10px;
   padding:0 0 2em 0;
}

#main div.topNavi h2.topNaviImg {
   margin:0;
   padding:0;
   background:none;
}

#main div.topNavi div.topNaviColumn p.detail {
   position:absolute;
   bottom:0;
   width:270px;
   text-align:right;
}

#main div.topNavi div.topNaviColumn p.detail a {
   padding:0 0 0 7px;
   background:url("../images/bg_arrow.gif") no-repeat left 50%;
}

#main div.topNavi div.topNaviColumn p.cLeft {
   right:280px;
}

#main div.topNavi div.topNaviColumn p.cRight {
   right:0;
}

/* INFORMATION CUSTOMIZE */
#main dl.information {
   margin:0;
}
#main dl.information dt {
   float:left;
   padding-top:5px;
}

#main dl.information dd {
   margin:0 0 5px 0;
   padding: 5px 0px 5px 9em;
   background:url("../images/bg_dotline.gif") 0 100% repeat-x;
}

#main table {
   font-size:12px;
}

#main table {
   width:550px;
   margin-bottom:20px;
   border-collapse:collapse;
   border:1px solid #999;
   border-spacing:0;
   line-height:1.8;
}

#main table th {
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	border-width: 0px 0px 1px 1px;
	border-style: solid;
	border-color: #999999;
	background-color: #efebef;
	background-image: none;
	background-repeat: repeat;
	background-attachment: scroll;
	background-position: 0% 0%;
	font-weight: bold;
	text-align: left;
}

#main table td {
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	border-width: 0px 0px 1px 1px;
	border-style: solid;
	border-color: #999999;
	text-align: left;
white-space : nowrap;
}

#main table td ol {
   margin:0;
   padding:0 0 0 30px;
}

#main table td li {
   margin:0;
   padding:0;
}

#main .box { clear: both; display: block; overflow: hidden;}
#main .box .boxL { float: left; width: 47.5%;}
#main .box .boxR { float: right; width: 47.5%;}
#main .box h5 { color: #134D99;}

#main ul.file_list { clear: both; width: 100%; overflow: hidden }
#main ul.file_list li {float: left;  padding:0; width: 47.5%; }

/* ========SUBCONTENTS CUSTOMIZE======== */
#sub .section {
   margin-bottom:10px;
}

#sub h2 {
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	font-size: 14px;
	font-weight: bold;
	color: #ffffff;
	background-color: teal;
}

#sub h3 {
   padding:5px;
   font-size:13px;
   font-weight:bold;
   background:#EFEBEF;
}

#sub ul {
   margin:0;
   padding:0;
   border:1px solid #EFEBEF;
}

#sub li {
   padding:5px;
   line-height:1.8;
   list-style:none;
   border-bottom:1px solid #E7E7EF;
}

#sub li a {
   display:block;
   padding:5px 5px 5px 15px;
   background:url("../images/bg_arrow.gif") 5px 50% no-repeat;
}

#sub li a:hover {
   display:block;
   color:#333;
   background:#EFEBEF url("../images/bg_arrow.gif") 5px 50% no-repeat;
   text-decoration:none;
}

#sub li.required {
   padding: 5px;
   line-height: 1.8;
   list-style: none;
   border: 3px solid #FF0000;
   font-size: 13px;
   font-weight: bold;
}
#sub li.required a span {
   padding: 4px 64px 1px;
   list-style:none;
   line-height:2.5;
   color:#FFFF00;
   font-size: 20px;
   font-weight:bold;
   background:#FF0000;
}


/* ========PAGRTOP CUSTOMIZE========= */
#pageTop {
   text-align:right;
   font-size:11px;
}

#pageTop a {
   padding:0 0 0 12px;
   background:url("../images/bg_pagetop.gif") 0 50% no-repeat;
}


/* ========FOOTMENU CUSTOMIZE======== */
#footMenu ul {
   margin:5px 0;
   padding:20px 0;
   text-align:center;
   border-top:1px solid #ddd;
}

#footMenu li {
   display:inline;
   margin:0 0 0 20px;
   list-style:none;
}

#footMenu li a:hover {
   color:#666;
   text-decoration:underline;
}


/* ========FOOTER CUSTOMIZE======== */
.copyright {
   font-style:normal;
   font-size:11px;
   color:#999;
   line-height:3.0;
   text-align:center;
}

/* ========事業について======== */
#teikan ul li { font-size: 200%;}

/* ========土木積算Ｓ・Ｅ======== */
.sekisan section dl { box-sizing: border-box; display: flex; flex-wrap: wrap;}
.sekisan section dl dt { width: 12em; border: 1px solid teal; border-radius: 1em; padding: 2px 5px; box-sizing: border-box; height: 100%; font-weight: bold; text-align: center;}
.sekisan section dl dd { width: calc(100% - 13em); box-sizing: border-box; background: #fff!important;}

.sekisan_info { list-style: none; margin: -8px 0 8px 0px; padding: 0 0 24px 0; background: #efebef; }
.sekisan_info li { background: #efebef; padding: 10px; border-bottom: dashed #bbb 2px;}
.sekisan_info li a { color: #000 !important; text-decoration: none;}
.sekisan_info li a,
.sekisan_info li a:hover dt { text-decoration: none !important;}
.sekisan_info li a:hover dd { text-decoration: underline;}
.sekisan_info dd { margin: 0 !important; background: transparent !important;}

.skisan_info_detail h3 { color: #000 !important; padding: 10px; font-weight: 400;}
.skisan_info_detail h3 span { display: block; font-size: 12px;}
.skisan_info_detail p { padding: 10px;}
