@charset "UTF-8";
@import url("grid.css");

img {
    /*max-width:100%;*/
    height: auto;/*高さ自動*/a
}
a {
    display:inline-block;
    /* リンクカラーはcolor-stylexx.cssにて設定 */
    text-decoration-line: none;
}
a:hover { 
    color: #999;
}
a img:hover {
    opacity: 0.8;
}
.blueback {
    background-color: #003399;
    color: #fff;
    padding: 1rem;
}
.underline {
    border-bottom: 3px solid #003399;
    padding-bottom: 0.5rem;
}
.center {
    text-align: center;
}

.strong {
  font-weight:700;
}

/*ヘッダー
-------------------------------------*/
.head {
    display: flex;
    flex-direction: row;
    padding: 1rem 0 0 0;
    justify-content: space-between;
}

.head h1 { 
    /*padding: 1rem 0;*/
    padding: 0;
}

.head h1 img {
    width:100%;
}

/* firefox svg対策 */
header .head h1 a {
    width:300px;
}
/* -------------------- Google 検索ボックス ----------------------*/
.searchbox {
    /*position: absolute;
    top: -10px;
    left: 646px;*/
    width:180px;
    height: 40px;
    float: right;
    border-style: none;
}
.searchbox .gsc-control-cse {
    background-color: transparent !important;
    border: none !important;
}
.gsc-control-cse, .gsc-control-cse .gsc-table-result {
    width: auto;
    font-family: Arial, sans-serif;
    font-size: 13px;
}

form.gsc-search-box {
    font-size: 13px;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 4px;
    margin-left: 0;
    width: 100%;
}
table.gsc-search-box {
    border-style: none;
    border-width: 0;
    border-spacing: 0 0;
    width: 100%;
    margin-bottom: 2px;
}
table.gsc-search-box td.gsc-input {
    padding-right: 0px !important;
}
table.gsc-search-box td {
    vertical-align: middle;
}
.gsc-input {
    font-size: 16px;
}
.gsc-input-box {
    border: 1px solid #044a80 !important;
    background: #fff;
}
.gsib_a {
    padding: 5px 9px 4px 9px;
}
.gsst_b {
    font-size: 16px;
    padding: 0 2px;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    white-space: nowrap;
}
.gsst_a {
    cursor: pointer;
    padding: 0 4px;
}
.gsc-control-cse:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

table.gsc-search-box td {
    padding: 4px 0px;
    text-align: left;
    border-bottom: none;
}

.gsc-control-cse {
    padding: 0 !important; 
}

.gsc-search-button-v2 {
   padding:6px 8px !important;/*虫眼鏡アイコンの幅調整  */
   background-color:#044a80 !important;
   border: 3px solid #044a80 !important;
}

.gsc-search-button {
    margin-left:0 !important;
}


/* /-------------------- Google 検索ボックス ----------------------*/


nav ul {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    list-style: none;
    margin: 0 auto 20px;

}
nav li {
    flex: 1 0 auto;
    margin-bottom: 0;
    border-left:1px solid #92b0d0;
    border-top:1px solid #92b0d0;
    border-bottom:1px solid #92b0d0;
    border-right:1px solid #92b0d0;
}

nav li a {
    text-decoration: none;
    text-align: center;
    color: #4d84c4;
}
nav a:hover {
    background-color: #dae2f2;
}

nav a {
    padding: 1rem 0.5rem;
    display: block;
}

@media screen and (min-width: 768px){
/* PC時はMENUボタンを非表示 */
#open,#close {
    display: none !important;
}
/*
#navi,#navi2 {
    display: block !important;
}
*/

}

@media screen and (max-width: 768px){

nav li a {
    color: #fff !important;
    background: #4b8ce1!important;
    text-align: left;
}
.news dl dt.date,
.news dl dd{
    padding: 0.4em;


}


.head {
    flex-direction: column;
    margin-bottom: 20px;
    padding: 0.4em;
}

/*
.telbox {
    margin-left: 0;
    text-align: center;
}
*/
.head #open,#close  {
    position: absolute;
    top: -60px;
    right: 12px;
    z-index: 50;
    }



nav #navi ul {
    flex-direction: column;
  background: #4b8ce1;
  padding: 15px 0;
}

nav #navi2 ul {
  flex-direction: column;
  background: #dae2f2;
  padding: 0 0 15px;
}


nav #navi2 ul li{
  margin-left: 5px;
  font-size: 2rem;
}


nav #navi2 ul li.nav_english {
    font-weight: 700;
    display: flex;
    align-items: inherit;
    color: #004b83;
}


nav #navi2 ul li.nav_english:before {
    content: url(../images/common/english_icon.png);
    vertical-align: middle;
    padding-top: 7px;
}

nav #navi2 ul li.nav_english:after {
    content: "▶";
    vertical-align: middle;
    padding-right: 3px;
    padding-top: 9px;
}


nav #navi  li {
  margin: 5px 0;
    padding-top: 0;
    border-bottom: 1px #fff dotted ;
    margin-bottom: 0;
}

nav #navi li:first-child {
 /* border-top: 1px #fff dotted ;  */
}




/* スマホ時はMENUボタンを表示 */
#open,#close  {
    display: block;
    width: 50px;
    border: none;
    position: absolute;
    top: -60px;
    right: 12px;
}
/* スマホ時はメニューを非表示 */
#navi {
    display: none;
    background: #4b8ce1;
}








}

/*メイン画像
-------------------------------------*/


.mainimg {
    position: relative;
    max-width: 100&;
    margin:0 auto 0 ;
}

.mainimg img {
    width: 100vw;
}


.mainimg_wrapper {
 margin: 0;
 padding: 0;
 margin: auto;
 max-width: 1480px;
}

.mainimg img.toplogo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index:100;
}


/*メインコンテンツ
-------------------------------------*/
main {
    /*margin: 5rem 0 5rem 0;*/
    margin: :0;
}

/*新着情報
-------------------------------------*/
.news h2 {
    background-color: #003399;
    color: #fff;
    padding: 1rem;
}
.news dl {
    list-style-type: none;
    border-bottom: 1px solid #c8c9c9;
    padding: 0.5rem;
}

.news dl dt.date {
  font-weight:700;
}

.news dl dt.press::after {
  content: '記者発表';
  margin-left: 5px;
  padding: 5px 10px;
  color: #fff;
  display: inline-block;
  background: #f2ab1a;
  font-weight: 300;
}

.news dl dt.caution::after {
  content: '注意喚起';
  margin-left: 5px;
  padding: 5px 10px;
  color: #fff;
  display: inline-block;
  background: #e62519;
  font-weight: 300;
}

.news dl dt.bit::after {
  content: '入札契約';
  margin-left: 5px;
  padding: 5px 10px;
  color: #fff;
  display: inline-block;
  background: #9bc037;
  font-weight: 300;
}

.news dl dt.common::after {
  content: 'お知らせ';
  margin-left: 5px;
  padding: 5px 10px;
  color: #fff;
  display: inline-block;
  background: #2e66b0;
  font-weight: 300;
}




.news dl dt.news_head {
  color:#574c47;
  margin-top:0.5em;
}

.news dl dt img {
  margin-right: 5px;

}



.news dl dd.contents {
  font-weight: 700;
  color:#231815;
}

.news dl dd.contents span.bite{
  display: block;
}



.news dl dd.contents {
  font-weight: 700;
  color:#231815;
}

/*
#main_box .info .concom ul li:before, 
#main_box .info .concom ul li p:before {
    list-style: none;
    font-family: "Font Awesome 5 Free";
    content: '\f0c8';
    font-size: 15px;
    font-weight: 400;
    margin-right: 4px;
}
*/

/*フッター
-------------------------------------*/
footer {
    margin: 80px auto 0;
    background-color: #4d84c5;
    padding: 5rem 0;
    color: #fff;
    max-width: 1000px;

}

footer .container {
  display: flex;
  flex-direction: column;
}


footer h5 {
    margin-top:35px;
    font-size:16px;
}

footer p {
    font-size:14px;
}
footer ul {
  float: right;
  display: flex;
  align-items: flex-end;
}

footer ul li a{
  color:#fff;
  font-size: 14px;
  margin-left:1em;
}



/* footer上の飾り　葦イラスト　*/
/*
footer:before {
    content: url(../images/common/footer_ashi.svg);
    vertical-align: top;
    margin: -165px auto 0;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
*/

footer:before {
 position: relative;
 top: -111px;
 width: 100%;
 height: 90px;
 content:" ";
 display:inline-block;

 background:url(../images/common/footer_ashi.svg);
 background-size:cover;
 background-repeat: no-repeat;
 vertical-align:middle;
}

/*
footer:before {
    content: url(../images/common/footer_ashi.png);
    vertical-align: top;
    margin: -165px auto 0;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    transform: scale(0.5);
}
*/


/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color: #040000;
    color: #fff;
    max-width: 1000px;
    margin: auto;
}
.copyright a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
display: flex;
    color: #fff;
    width: 82px;
    height: 74px;
    text-align: center;
    vertical-align: middle;
    background: #000;
    justify-content: center;
    padding: 10px;
}

#pagetop a:hover {
    background: #92b0d0;
}
/*パンくずリスト
-----------------------------------*/
.breadcrumb {
    margin: 0 0 1em 0;
    padding: 0; 
}
.breadcrumb li {
    list-style-type: none;
}
.breadcrumb li a {
    display: inline-block;
    color: #959fa5;
}

/*メインコンテンツ追加
-----------------------------------*/
h1.deco {
    padding-bottom: 0px;
    margin-bottom: 10px;
    font-size: 18px;
    border-left-width: 5pt;
    border-left-style: solid;
    border-color: #FF6600;
    color: #FF6600;
}

.container h2,
.container h3 {
  margin:10px auto;
  width:100%;
  text-align: center;
}

.container h2 {

  padding:10px;
  background: #4d84c5;
  text-align: left;

}

/*header 追加
-----------------------------------*/

header .container #accessibility {
  margin:5px 10px 0;
  width:100%;
  text-align:right;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

header .container #accessibility .acc_nav {
  display: flex;
  padding: 5px;
  justify-content: flex-end;
  margin-bottom: 0;
  align-items: center;
}


header .container #accessibility .acc_nav li {
  margin-right: 10px;
  margin-bottom: 0;
  align-items: baseline;
}

.head h1 {

border:none !important;
bacground:none !important;

}




header .is-search #cse-search-box .l-search__btn {
    width: 32px;
    height: 30px;
    background-image: url(../images/common/header_serch_icon01.png);
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #2b193d;
}
/*
input[type="text"], input[type="button"], button, textarea {
    margin: 0;
    padding: 0;
    background: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
*/
header .head ul.header_navi {
    height:40px;
    list-style:none;
    display: flex;
    flex-direction: row;
    margin:15px 0px;
    font-size: 1.25em;
    align-items: center;
}


header .head ul.header_navi li {
    padding: 0 7px;
    border-left: solid 1px #225a98;
}

header .head ul.header_navi li:first-child {
    border: none;
}

header .head ul.header_navi li.nav_english {
    border-right: solid 1px #225a98;
    font-weight: 700;
    display: flex;
    align-items: inherit;
}

header .head ul.header_navi li.nav_english:before {
  content: url(../images/common/english_icon.png);
  vertical-align: middle;
  padding-right: 5px;
  padding-top: 4px;
}


header .head ul.header_navi li:last-child {
   border-left:none;
}

/*トップページ
-----------------------------------*/


/*入札・契約情報
-----------------------------------*/
h1 {
    font-size: 24px;
    font-weight: bold;
    line-height: 120%;
    color: #000000;
   /* border-top: 1px solid #AAA;
    border-right: 1px solid #AAA;
    border-bottom: 5px solid #2585FC;
    border-left: 1px solid #AAA;
    background-color: #eee;
    background: -moz-linear-gradient(top, #EEF7FF,#CDE4FE);
    background: -webkit-gradient(linear, left top,left bottom, from(#EEF7FF), to(#CDE4FE));*/
    height: auto;
    padding: 10px 5px 10px 15px;
    margin-bottom: 15px;
}

.location h2.deco {
    padding-bottom: 0px;
    margin-bottom: 10px;
    font-size: 18px;
    border-left-width: 5pt;
    border-left-style: solid;
    border-color: #FF6600;
    color: #FF6600;
    background:#fff;
}

.contents p {
    margin: 12px auto;
}

table.nyusatsu_koukoku {
    margin: 10px auto;
    width: 100%;
    }

table.nyusatsu_koukoku th {
    color: #003300;
    border: 1px #339966;
    border-style: solid;
    padding: 3px;
    background-color: #99CC99;
    font-size: small;
}


table.nyusatsu_koukoku td {
    border: 1px #339966;
    border-style: solid;
    padding: 3px;
}

table.nyusatsu_koukoku td:last-child {
    text-align:center;
}

/*他地域事務所案内バナー
-----------------------------------*/

.other_office {
  margin:20px auto;
  background: #d2d2d3;
}


.other_office ul{
  display: flex;
  justify-content: space-around;
  margin:10px;
}


.other_office ul li{
  margin-top:1rem;
  border:solid 1px #868585;
  border-radius:12px;
  background: #fff;
  width:180px;
}

.other_office ul li dl dt{
  margin:15px auto 10px;
  font-size:16px;
  text-align: center;
}

.other_office ul li dl dd{
  margin:10px auto;
  font-size:12px;
  text-align: center;
}

.other_office ul li dl dd a{
  color:#4c83c4;
}

/*バナータブメニュー
-----------------------------------*/

.banner_tab section.typeB{
  display: flex;
  flex-wrap: wrap;
}
.banner_tab section.typeB::after {
  content: '';
  width: 100%;
  order: -1;
  display: block;
  background: rgba(0,137,167,.7);
}


.banner_tab section.typeB .tabLabel {
    width: 30%;
    text-align: center;
    border-radius: 10px 10px 0 0;
    padding: 12px 8px;
    font-size: 2.0rem;

}


.banner_tab section.typeB .tabLabel1 { /* タブ */
  margin: 0;
 
  flex: 1;
  order: -1;
  /*background: url(../images/tab_banner_bg.svg);
  background-size:cover;
  background-repeat: no-repeat;*/
  transition: .5s ;
  cursor: pointer;
  border:1px solid #000;
 
}


.banner_tab section.typeB .tabLabel2 { /* タブ */
  /*margin-left: -50px;*/

  flex: 1;
    order: -1;
  /*background: url(../images/tab_banner_bg.svg);
  background-size:cover;
  background-repeat: no-repeat;*/
  transition: .5s ;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  border:1px solid #000;
}

.banner_tab section.typeB .tabLabel3 { /* タブ */
  /*margin-left: -50px;*/

  flex: 1;
  order: -1;
  /*background: url(../images/tab_banner_last_bg.svg);
  background-size:cover;
  background-repeat: no-repeat;*/
  background: #4b8ce1;
  color:#fff;
  transition: .5s ;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  border: 1px solid #000;
}


.banner_tab section.typeB .tabLabel:nth-last-of-type(1){ margin-right: 0; }
section.typeB input {   /* ラジオボタン非表示 */
  display: none;
}
.banner_tab section.typeB .content {  /* 本文 */
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.banner_tab section.typeB .tab01,
.banner_tab section.typeB .tab01 a {
  background: rgba(255,255,255);
  color:#e94e29;
}

.banner_tab section.typeB .tab02,
.banner_tab section.typeB .tab02 a {
  background: rgba(255,255,255);
  color:#044a80;
}

.banner_tab section.typeB .tab03,
.banner_tab section.typeB .tab03 a {
  background: rgba(255,255,255);
  color:#fff;
}


.banner_tab section.typeB ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}


.banner_tab section.typeB ul li {
  margin:15px 0px;
  display: inherit;
  border-bottom:dotted 1px #fff;

}


/*アクティブ設定*/
.banner_tab section.typeB input:checked + .tabLabel {
  color:#e94e29;

}

.banner_tab section.typeB input:checked + .tabLabel + .content {
  padding: 15px;
  height: auto;
  overflow: auto;
  box-shadow: 0 0 5px rgba(0,0,0,.2);
  transition: .5s opacity;
  opacity: 1;
}












/*NEWS
-----------------------------------*/
.container .news h2 {
  float:left;
  width:40%;
  font-size:30px;
  color:#e9e735;
}

.container .news h3 {
  display: inline-block;
  padding: 19px 0;
  width:50%;
  font-size:16px;
  background:#91afcf;
  color:#fff;
}

.container .news h3:after {
    content: '▶︎';
    margin-right: 10px;
    color:#e0e33f;
  } 

.container .oldnews h2 {
  margin-left: 20px;
  width:100%;
  font-size:30px;
  color:#e9e735;
}


.container .oldnews ul {
    margin: 20px 0 0 30px;
}

.container .oldnews ul li{
    height: 30px;
}

.container .oldnews ul li:before{
  font-family: "Font Awesome 5 Free";
  content: '\f0da';
  font-size: 15px;
  font-weight: 900;
  margin-right: 4px;
  color:#4d84c5;
}










/*================================================
 *  pc向けデザイン
 ================================================*/

@media screen and (min-width:521px) {


  .sp_only {
    display:none !important;
  }

.top_contents {
  margin-top: -35px;
}

footer .container {
    display: flex;
    flex-direction: column;
    margin-top: -110px;
    margin-bottom: -60px;
}


}




/*================================================
 *  スマートフォン向けデザイン
 ================================================*/


@media screen and (max-width:520px) {



  .pc_only {
    display:none;
  }

  img {
    max-width: 100%;
  }

body {
  overflow: hidden;
}


/* header */

header {
  margin-top:100px;
  width:100%;
}

header .container #accessibility {
    position: absolute;
    bottom: 95px;
}

header .container #accessibility {
   position: absolute;
   bottom:95px;
}

header .container #accessibility .acc_nav:nth-child(n + 2) {
  display: none;
}
.header_navi {
  display: none !important;
}

.head h1 {
    /* padding: 1rem 0; */
    padding: 0;
    position: absolute;
    bottom: 30px;
}

.menu {
    position: relative;
    background: none;
    top: -210px;
    left: 20%;
    width: 80%;
    z-index: 10;
    height: 165px;
}


.mainimg {
    position: relative;
    max-width: 100&;
    margin: 0 auto 0;
    z-index: 11;
}

.container {
  padding: 0;
  margin: 0;
  max-width:100%;
  /*overflow: hidden;*/
}

.subpage_contents {
    bottom: 370px;
}


header .container {
  margin-bottom: 150px;
}


/* ハンバーガーメニュー */

nav ul {
  border:none;
}

nav li {
  border-top:none;
  border-left:none;
  border-right:none;
}

nav li a {
    color: #fff !important;
    background: #4b8ce1!important;
    text-align: left;
}

nav li :hover {

    background: #60d2f4;

}

nav li.inq_nav_sp a:before {
    content: url(../images/common/mail_icon_sp.png);
  display: inline-block;
  vertical-align: middle;
  padding-top: 4px;

}

/* Google検索幅高さ調整 */
.searchbox {
    width: 95%;
    height: 50px;
    float:left;
}

/* ハンバーガーメニュー改行禁止 */

nav li br {
display: none;
}



/* メイン画像 */


.mainimg img.toplogo {
    top: -90%;
    left: 50%;
    width: 85%;
    z-index:10;
}


.mainimg img:last-child {
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: 50% 50%;
}


.preliminary {
  margin-top: -180px;
}


/* NEWS */

.news_box {
    height: auto;
    padding-top:370px; 
}


.more_news {
    display: block;
    margin: 20px auto;
    width: 100%;
    text-align: center;
}

/* 入札契約情報サイドナビ */



/* 他事務所バナー */

.other_office ul {
    flex-direction: column;
    justify-content: center;
}

.other_office ul li {
  width:100%;
}

.banner_tab section.typeB ul li {
    margin: 0;
    width: 48%;
}


re, blockquote, dl, figure, table, p, ul, ol, form {
    margin-bottom: 0;
}

/* バナータブのフォントサイスSPちいさめに*/
.banner_tab section.typeB .tabLabel {
    font-size: 1.6rem;

}



/* footer */

footer {
    margin-top: -320px;
}

footer:before {
    top: -83px;
    background-size: contain;

}

footer .container {
    display: flex;
    flex-direction: column;
    margin-top: -35px;
    margin-bottom: -55px;
}

footer ul {
  margin-right: 10px;
  margin-top: 10px;
}

footer .col {
  margin-top: -100px;
  padding: 0.5em;
}

}

