@charset "UTF-8";


/* レスポンシブデザイン修正 */

.p-system__cont,
.p-system-2__cont,
.p-company__cont,
.p-flow__cont,
.p-entry__cont,
.p-meeting__cont,
.p-service .p-service_box.-product,
.p-service .p-service_box.-service,
.p-service .p-service_box.-consultation {
    min-height: auto;
    background-image: none;
    position: relative;
    z-index: 1;
}

.p-service {
    min-width: auto;
}

.p-service .p-service_box.-service .fukidashi {
    padding: 0 80px;
}
.p-service .p-service_box.-service .fukidashi span {
    display: inline-block;
}


.p-entry__cont .entry-box_btn {
    max-width: 100%;
}

.p-service .p-service_box.-btnWrap .flex,
.p-service .p-service_box.-consultation .flex,
.p-entry__cont .entry-box .flex,
.p-meeting__cont .meeting-box .flex {
    flex-wrap: wrap;
}

.p-meeting__cont .meeting-box dl {
    width: 570px;
    max-width: 100%;
}
.p-meeting__cont .meeting-box dl > dt {
    width: 5em;
}
.p-meeting__cont .meeting-box dl > dd {
    width: calc(100% - 6em);
}

@media screen and (max-width: 1360px) and (min-width: 921px) {
    .l-header__nav ul {
        gap: 20px;
    }
    .l-header__nav ul li a {
        font-size: 14px;
    }
}
@media screen and (max-width: 920px) and (min-width: 821px) {
    .l-header__nav ul {
        gap: 20px;
    }
    .l-header__nav ul li a {
        font-size: 12px;
    }
}
@media screen and (max-width: 820px) and (min-width: 521px) {
    .l-header__nav ul li a {
        font-size: 13px;
    }
}

@media screen and (max-width: 1200px) and (min-width: 821px) {
    .p-service .p-service_box.-btnWrap .flex-btn,
    .p-service .p-service_box.-consultation .flex-box,
    .p-entry__cont .entry-box .flex-box,
    .p-meeting__cont .meeting-box .flex-box {
        width: 100%;
        margin-bottom: 50px;
    }
    .p-service .p-service_box.-btnWrap,
    .p-service .p-service_box.-consultation .flex,
    .p-service .p-service_box.-product h3,
    .p-service .p-service_box.-service h3,
    .l-footer__sitemap .inner {
        width: calc(100% - 140px);
        max-width: 1060px;
    }
}

@media screen and (min-width: 521px) {
    .p-service .p-service_box.-btnWrap .readTxt {
        padding: 5px 1em 9px;
    }
}

@media screen and (min-width: 821px) {

    .p-hero__mainImg img {
        max-height: 85vw;
    }

    .p-system__cont,
    .p-system-2__cont {
        padding: 100px 65px;
    }
    
    .p-system__cont::before,
    .p-system-2__cont::before {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        max-width: 1200px;
        height: 50%;
        background-image: url(../image/bg-system.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center top;
    }
    .p-system__cont::after,
    .p-system-2__cont::after {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        max-width: 1200px;
        height: 50%;
        background-image: url(../image/bg-system.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center bottom;
    }
    
    .p-company__cont,
    .p-flow__cont,
    .p-meeting__cont {
        padding: 100px 90px 150px 70px;
    }
    
    .p-company__cont::before,
    .p-flow__cont::before,
    .p-meeting__cont::before {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        max-width: 1200px;
        height: 50%;
        background-image: url(../image/bg-company.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center top;
    }
    .p-company__cont::after,
    .p-flow__cont::after,
    .p-meeting__cont::after {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        max-width: 1200px;
        height: 50%;
        background-image: url(../image/bg-company.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center bottom;
    }
    
    .p-entry__cont::before,
    .p-service .p-service_box.-product::before,
    .p-service .p-service_box.-service::before,
    .p-service .p-service_box.-consultation::before {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        top: 0;
        left: 50%;
        display: block;
        width: 100%;
        max-width: 1200px;
        height: 100%;
        background-color: #FAEDC2;
        border-radius: 60px;
        transform: translateX(-50%);
    }

}

@media screen and (max-width: 820px) and (min-width: 521px) {
    .p-company__cont .moviebox {
        width: 90%;
    }
}



/* 入札優遇内容表 */

.tableScr {
    overflow: auto;
    width: 100%;
}
.tableScr.preferentialTable_area {
    margin: 0 0 75px;
}

table.preferentialTable {
    border-collapse: separate;
    border-spacing: 0;
    box-sizing: border-box;
    min-width: 640px;
}
table.preferentialTable .table__tl {
    border-top-left-radius: 10px;
}
table.preferentialTable .table__tr {
    border-top-right-radius: 10px;
}
table.preferentialTable .table__bl {
    border-bottom-left-radius: 10px;
    border-bottom: 5px solid #482a2c;
}
table.preferentialTable .table__br {
    border-bottom-right-radius: 10px;
    border-bottom: 5px solid #482a2c;
}

table.preferentialTable thead th {
    background-color: #482a2c;
    color: #f3cb45;
    font-weight: 700;
    border-left: 2px solid white;
    padding: 6px 0;
    text-align: center;
    font-size: 2.2rem;
}
table.preferentialTable thead th:first-child {
    border-left: 0 none;
}
table.preferentialTable tbody th {
    background-color: white;
    border-left: 5px solid #482a2c;
    border-top: 2px solid #482a2c;
    padding: 20px 10px;
    font-size: 2.2rem;
    text-align: center;
    box-sizing: border-box;
    width: 310px;
}
table.preferentialTable tbody th .this__name {
    display: block;
}
table.preferentialTable tbody th .this__org {
    display: inline-block;
    padding: 0 1em;
    border-left: 2px solid #482a2c;
    border-right: 2px solid #482a2c;
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-radius: 1em;
    font-size: 80%;
    margin-top: 0.5em;
}
table.preferentialTable tbody td {
    background-color: white;
    border-left: 2px solid #482a2c;
    border-right: 5px solid #482a2c;
    border-top: 2px solid #482a2c;
    padding: 20px 5%;
    font-size: 2.2rem;
    text-align: justify;
}
table.preferentialTable tbody td:first-child {
    border-top: 2px dotted #482a2c;
}

@media screen and (max-width: 1200px) {
    table.preferentialTable thead th {
        padding: 6px 0;
        font-size: 2.2rem;
    }
    table.preferentialTable tbody th {
        padding: 20px 10px;
        font-size: 2.2rem;
        width: 310px;
    }
    table.preferentialTable tbody td {
        padding: 20px 5%;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 820px) {
    .tableScr.preferentialTable_area {
        margin: 0 0 35px;
    }

    table.preferentialTable thead th {
        padding: 6px 0;
        font-size: 1.8rem;
    }
    table.preferentialTable tbody th {
        padding: 15px 10px;
        font-size: 1.6rem;
        width: 240px;
    }
    table.preferentialTable tbody td {
        padding: 15px 10px;
        font-size: 1.4rem;
    }
}







