
/******************** parts css ***********************/



#iinfobox {
    margin-top: 2em;
    padding-bottom: 21px;
}

#infobox .nav-tabs>li>a,
#infobox .nav-pills>li>a {
    width: 66px;
    text-align: center;
    height: 32px;
    font-size: 12px;
}

#iinfobox span.btn {
    margin-bottom: 14px;
}

#iinfobox dd {
    position: relative;
}

.nav-tabs a,
.nav-tabs a:hover,
.nav-tabs a:focus {
    color: #000;
}

.nav-tabs>li>a,
.nav-pills>li>a {
    padding-right: 12px;
    padding-left: 12px;
    margin-right: 2px;
    line-height: 18px;
}

.nav-tabs>.active>a,
.nav-tabs>.active>a:hover,
.nav-tabs>.active>a:focus {
    color: #fff;
    background-color: #40AB6B;
    border-color: none;
}

.ken_kai {
    width: 15%;
    display: inline-block;
}

.ken_date {
    width: 25%;
    display: inline-block;
}

.ken_tt {
    width: 55%;
    display: inline-block;
}

.entry_tt {
    width: 72%;
    display: inline-block;
}

.tab-content {
    padding-top: 21px;
}

ul.dotline li {
    padding: 0.5em 1em;
}

ul.dotline li,
dl.dotline dd {
    border-bottom: dotted #ccc 1px;
    margin-bottom: 0.5em;
}

dl.dotline dd a,
dl.dotline dd a:visited {
    color: #51565b;
}

#pickup_title {
    background-color: #40AB6B;
    padding: 14px;
    font-size: 16px;
    color: #fff;
}

#pickup_body {
    border: solid #40AB6B 1px;
    padding: 3px;
    margin-bottom: 14px;
}

.pickuplink {
    /* border-bottom: dotted #000 1px; */
    padding-top: 3px;
    padding-bottom: 3px;
    margin-bottom: 4px;
}

.pickupbaner {
    margin-bottom: 14px;
    max-width: 225px;
}

/* 入札公告 */
#bid_guide {
    margin: 20px 0;
    padding: 10px;
    line-height: 1.8;
    /* border: solid #40AB6B 2px; */
}

#bid_guide ul {
    margin: 15px 0;
}

#bid_guide li {
    margin: 5px 0;
    padding: 0 5px;
}

#bid_guide span {
    display: inline-block;
    vertical-align: middle;
}

.bid_guide_title {
    width: 45%;
}

.bid_guide_file {
    width: 45%;
}

#infolist li {
    border-bottom: dotted #51565b 1px;
    padding: 0.3em 1em;
    margin-bottom: 0.3em;
}

.bid_title {
    display: inline-block;
    width: 56%;
}

.bid_day {
    display: inline-block;
    width: 21%;
}

.bid_wont {
    display: inline-block;
    width: 21%;
}

.content_sub_title {
    position: relative;
    list-style-type: none !important;
    padding: 0.5em 1em;
    margin: 3em 0 1em 0;
    line-height: 1.5;
    background: #e9faf9;
    vertical-align: middle;
    font-weight: bold;
    border-radius: 2px 2px 2px 2px;
}

.content_sub_bid_body {
    margin: 20px 10px;
}

@media screen and (min-width: 0px) and (max-width: 320px) {
    ul.openpanel li p {
        padding: 3px 7px;
        color: #40AB6B;
        font-size: 14px;
    }

    ul.openpanel li p i {
        margin-right: 0.3em;
    }
}

@media screen and (min-width: 321px) and (max-width: 480px) {
    ul.openpanel li p {
        padding: 3px 7px;
        color: #40AB6B;
        font-size: 14px;
    }

    ul.openpanel li p i {
        margin-right: 0.3em;
    }
}

@media screen and (min-width: 481px) and (max-width: 767px) {}

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

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

/* clearfix */
.clearfix,
.clearbefore {
    width: 100%;
}

.clearfix:after,
.content_body:after,
.rightbtn:after {
    content: "";
    display: block;
    clear: both;
}

.clearbefore:before {
    content: "";
    display: block;
    clear: both;
}

.clearfix-top-header {
    width: 100%;
    display: flex;
    flex-flow: column;
}


.cate_body_box01 {
    margin: 1em;
}

.cate_body_box01 p {
    text-align: justify;
}




/* 上段パネルの高さ調整 */
.clearfix-top {
    display: flex;
    align-items: stretch;
    /* 子要素の高さを揃える */
}

.clearfix-top .gpanle {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.clearfix-top .gpanle nav {
    flex-grow: 1;
    /* navを可能な限り伸ばす */
}

/* 下段パネルの高さ調整 */
.clearfix-top-bottom-panel {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    --infobox-height: 600px;
}

.panel-flex-box {
width: 31.6239%;
    flex:1;
    min-height: calc(var(--infobox-height) * 0.5);
    display: flex;
        align-items: flex-start;
        flex-flow: column;
        justify-content: space-around;
        gap: 20px;
}

#infobox {
    flex: 2;
    min-height: var(--infobox-height);
    /* height → min-height */
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .clearfix-top-bottom-panel {
        flex-direction: column;
    }

    #main_panel4.gpanle,
    #main_panel5.gpanle,
    #infobox {
        min-height: auto;
        /* モバイルでは最小高さ制限なし */
    }
}

/* サイトマップ */
.sitemap-cols {
    border: solid #40AB6B 1px;
    padding: 1em 1em;
    display: flex;
    flex-direction: column;
}

.sitemap_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* タブレット用（768px以下） */
@media screen and (max-width: 768px) {
    .sitemap-cols {
        padding: 0.8em 0.8em;
    }

    .sitemap_box {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

/* スマートフォン用（480px以下） */
@media screen and (max-width: 480px) {
    .sitemap-cols {
        padding: 0.5em 0.5em;
    }

    .sitemap_box {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}