/* greeting
-------------------------------- */

.gr-ttl {
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 20px;
    border-bottom: solid 2px;
}

.gr-sub-ttl {
    text-align: center;
    font-weight: bold;
    margin-bottom: 24px;
}

.gr-sub-ttl span {
    font-size: 20px;
}

.gr-text {
    font-weight: normal;
}

.gr-img {
    position: relative;
    width: 100%;
    max-width: 630px;
    margin: auto;
    margin-bottom: 64px;
}

.square-frame01 {
    position: absolute;
    z-index: -1;
    top: -24px;
    left: -40px;
    width: 100%;
    max-width: 80px;
}

.square-frame02 {
    position: absolute;
    z-index: -1;
    bottom: -24px;
    right: -40px;
    width: 100%;
    max-width: 450px;
}

.author-date {
    font-size: 20px;
    font-weight: 500;
    text-align: right;
    margin-top: .7em;
    color: #231815;
}

@media(max-width: 767px) {
    .author-date {
        font-size: 16px;
    }
}

/* mgmt
-------------------------------- */

.mgmt-ttl {
    text-align: center;
}

.mgmt-desc {
    line-height: 2em;
    font-size: 20px;
    font-weight: 500;
}

@media(max-width: 767px) {
    .mgmt-desc {
        font-size: 18px;
    }
}

.mgmt-vision {
    text-align: center;
}

.mgmt-list {
    list-style-type: none;

}

.mgmt-list li {
    position: relative;
    font-size: 20px;
    color: #333;
    margin-bottom: 26px;
    padding-left: 60px;
}

@media(max-width: 767px) {
    .mgmt-list li {
        padding-left: 50px;
        font-size: 14px;
    }
}

.mgmt-list-number {
    font-size: 20px;
    font-weight: bold;
    background-color: #00397F;
    color: #fff;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    line-height: 40px;
    position: absolute;
    left: 0;

}

@media(max-width: 767px) {
    .mgmt-list-number {
        font-size: 16px;
        width: 32px;
        height: 32px;
        line-height: 32px;
    }
}


.mgmt-list .highlight {
    color: #00397F;
    font-weight: bold;
}

/* 
-------------------------------- */

.common-box {
    background: #fafafa;
    padding: 64px 120px;
    font-size: 20px;
    font-weight: 500;
}

@media(max-width: 767px) {
    .common-box {
        padding: 32px 24px;
    }
}

.common-list {
    list-style-type: none;

}

.common-list li {
    position: relative;
    font-size: 20px;
    color: #333;
    margin-bottom: 26px;
    display: flex;
    flex-wrap: wrap;
    padding-left: 60px;
}

@media(max-width: 767px) {
    .common-list li {
        align-items: start;
        padding-left: 50px;
        font-size: 14px;
    }
}

.common-list li::before {
    content: counter(list-item);
    counter-increment: list-item;
    font-size: 20px;
    font-weight: bold;
    background-color: #00397F;
    color: white;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    line-height: 40px;
    position: absolute;
    left: 0;

}

@media(max-width: 767px) {
    .common-list li::before {
        font-size: 16px;
        width: 32px;
        height: 32px;
        line-height: 32px;
        top: 5px;
    }
}









.author-date.-common {
    font-size: 16px;
    margin-top: 1em;
}

.author-date.-common .date {
    font-size: 14px;
    color: #231815;
}

@media(max-width: 767px) {
    .author-date.-common {
        font-size: 14px;
    }

    .author-date.-common .date {
        font-size: 12px;
    }
}

/* history
-------------------------------- */

.history-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: solid 1px #585858;
    padding: 1em 0;
}


.history-list:first-child {
    border-top: solid 1px #585858;
}

.history-list dt {
    width: 20%;
    min-width: 200px;
    font-weight: bold;
    font-size: 16px;
}

.history-list dd {
    width: 80%;
    font-weight: normal;
}

@media(max-width: 767px) {
    .history-list dt {
        width: 100%;
    }

    .history-list dd {
        width: 100%;
    }
}



/* business
-------------------------------- */

.biz-ttl {
    margin-bottom: 48px;
    text-align: center;
}

@media(max-width: 767px) {
    .biz-ttl {
        margin-bottom: 24px;
    }
}

.biz-desc {
    margin-bottom: 40px;
}

.biz-box {
    padding: 80px;
    background: #F0F0F0;
    border: solid 1px #00397F;
    margin-top: 80px;
}

@media(max-width: 767px) {
    .biz-box {
        padding: 0 5%;
        padding-top: 14px;
        padding-bottom: 32px;
        margin-top: 40px;
    }
}

.biz-box.-right {
    margin-right: calc(50% - 50vw);
    position: relative;
}

@media(max-width: 767px) {
    .biz-box.-right {
        padding-right: 10%;
    }
}

.biz-box.-left {
    margin-left: calc(50% - 50vw);
    position: relative;
}

@media(max-width: 767px) {
    .biz-box.-left {
        padding-left: 10%;
    }
}

.biz-box-inner {
    max-width: 840px;
}

.biz-box.-left .biz-box-inner {
    margin-left: auto;
}

.biz-box.-left::after {
    content: " ";
    position: absolute;
    right: -16px;
    bottom: -16px;
    width: 100%;
    height: 100%;
    background: #00397F;
    z-index: -1;
}

.biz-box.-right::before {
    content: " ";
    position: absolute;
    left: -16px;
    bottom: -16px;
    width: 100%;
    height: 100%;
    background: #00397F;
    z-index: -1;
}

@media(max-width: 767px) {
    .biz-box.-left::after {
        right: -9px;
        bottom: -9px;
    }

    .biz-box.-right::before {
        left: -9px;
        bottom: -9px;
    }
}

.biz-box-ttl {
    color: #00397F;
}

.biz-box-subttl {
    font-weight: 500;
    margin-bottom: 40px;
}

@media(max-width: 767px) {
    .biz-box-subttl {
        font-size: 18px;
        margin-bottom: 24px;
    }
}

.biz-img-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 1em;
}

.biz-img-list li {
    width: calc((100% - 40px)/ 2);
    margin-top: 40px;
}

@media(max-width: 767px) {
    .biz-img-list li {
        width: 100%;
        margin-top: 16px;
    }
}

.biz-box-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 48px;
}

@media(max-width: 767px) {
    .biz-box-flex {
        margin-top: 40px;
    }
}

.biz-box-content {
    width: 62%;
}

.biz-box-img {
    width: 30%;
}

@media(max-width: 767px) {
    .biz-box-content {
        width: 100%;
        margin-bottom: 1em;
    }

    .biz-box-img {
        width: 100%;
    }

}

.biz-box-content-ttl {
    position: relative;
    padding-left: 10px;
    font-weight: bold;
    margin-bottom: 30px;
}

@media(max-width: 767px) {
    .biz-box-content-ttl {
        margin-bottom: 16px;
    }
}

.biz-box-content-ttl::before {
    content: "";
    width: 2px;
    height: 24px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #00397F;
}

@media(max-width: 767px) {
    .biz-box-content-ttl::before {
        top: 5px;
        margin: unset;
    }
}



/* about
-------------------------------- */

.about-ttl {
    text-align: center;
}


.about-list {
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px #585858;
    padding: 1em 0;
}

.about-list:first-child {
    border-top: solid 1px #585858;
}

.about-list dt {
    width: 20%;
    min-width: 90px;
    color: #00397F;
}

.about-list dd {
    width: 80%;
}

.about-list dd .-mb {
    margin-bottom: 1em;
}

.about-name-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.about-name-list dt {
    width: 50%;
    color: #231815;
    font-weight: 500;
}

.about-name-list dd {
    width: 50%;
}

@media(max-width: 767px) {
    .about-name-list dt {
        width: 70%;
    }

    .about-name-list dd {
        width: 30%;
    }
}

.about-partner {
    display: flex;
    flex-wrap: wrap;
}

.about-partner ul {
    width: 50%;
}

@media(max-width: 767px) {
    .about-partner ul {
        width: 100%;
    }

}


.about-company-box.-mb {
    margin-bottom: 100px;
}

@media(max-width: 767px) {
    .about-company-box.-mb {
        margin-bottom: 40px;
    }
}

.about-company-flex {
    display: flex;
    justify-content: space-between;
    margin-top: 48px;
    margin-bottom: 67px;
}

@media(max-width: 767px) {
    .about-company-flex {
        margin-top: 0;
        margin-bottom: 1em;
    }
}


.about-company-content {
    width: 56%;
}

.about-company-img {
    width: 40%;
}

@media(max-width: 767px) {
    .about-company-content {
        width: 100%;
    }

    .about-company-img {
        width: 100%;
        margin-bottom: 1em;
    }
}

.about-company-ttl {
    font-size: 32px;
    color: #00397F;
    margin-bottom: .5em;
}

@media(max-width: 767px) {
    .about-company-ttl {
        font-size: 18px;
    }
}

.about-company-map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 1000/534;
}

.about-company-add {
    margin-top: 1em;
    font-weight: normal;
}

/* quality
-------------------------------- */

.qlty-desc {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 64px;
    text-align: center;
}

@media(max-width: 767px) {
    .qlty-desc {
        font-size: 14px;
        text-align: left;
        margin-bottom: 24px;
    }
}

/* equip
-------------------------------- */

.common-btn-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.common-btn-list li {
    width: 32%;
}

@media(max-width: 767px) {
    .common-btn-list li {
        width: 100%;
    }
}

.equip-ttl {
    text-align: center;
}

.equip-note {
    font-size: 20px;
    margin-bottom: .5em;
}

@media(max-width: 767px) {
    .equip-note {
        font-size: 16px;
        margin-bottom: .5em;
    }
}

.type01 {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
}

@media(max-width: 767px) {
    .type01 {
        font-size: 12px;
    }
}

.type01 th {
    background: #E8EEF5;
    border-top: solid 1px #E8EEF5;
    border-right: solid 1px #E8EEF5;
    border-bottom: solid 1px #fff;
    padding: .8em;
    font-weight: 500;
    line-height: 1.4;
}



.type01 th:has(a):hover {
    background: #50739d;
    color: #fff;
    cursor: pointer;
}

.type01 td {
    border-top: solid 1px #E9E9E9;
    border-bottom: solid 1px #E9E9E9;
    border-right: solid 1px #E9E9E9;
    padding: .8em;
    line-height: 1.4;
}

.type01 td:last-child {
    text-align: center;
    min-width: 51px;
    vertical-align: middle;
    padding: .5em;
}

.bi-box-arrow-up-right {
    width: 16px;
    height: 16px;
}

@media (max-width: 767px) {
    .bi-box-arrow-up-right {
        width: 12px;
        height: 12px;
    }
}


/* --modal-- */
.modal-open-text {
    text-decoration: underline !important;
}

.modal-open-text:hover {
    opacity: 1;
}

.modal-wrapper {
    z-index: 999;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 40px 10px;
    text-align: center
}

.modal-wrapper:not(:target) {
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
    opacity: 1;
    visibility: visible;
    transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
    display: inline-block;
    height: 100%;
    margin-left: -.05em;
    vertical-align: middle;
    content: ""
}

.modal-wrapper .modal-window {
    box-sizing: border-box;
    display: inline-block;
    z-index: 20;
    position: relative;
    padding: 25px 25px 15px;
    width: 88%;
    max-width: 500px;
    background: #fff;
    vertical-align: middle
}

.modal-content img {
    max-height: 500px;
    object-fit: contain;
}

.modal-overlay {
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 70%;
    background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
    z-index: 20;
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    color: #95979c !important;
    font-size: 20px;
    font-weight: 700;
    line-height: 35px;
    text-align: center;
    text-decoration: none;
    text-indent: 0
}

.modal-wrapper .modal-close:hover {
    color: #2b2e38 !important
}

.modal-ex {
    text-align: left;
    margin-top: 10px;
    font-size: 12px;
    color: #231815;
}

/* --/modal-- */


/* info-bnr
-------------------------------- */

.info-bnr {
    position: relative;

}

.info-bnr img {
    aspect-ratio: 840/200;
    width: 100%;
    height: auto;
}

.info-bnr.-mt {
    margin-top: 64px;
}

@media(max-width: 767px) {
    .info-bnr.-mt {
        margin-top: 32px;
    }
}

.info-bnr span {
    position: absolute;
    color: #fff;
    text-shadow: 3px 4px 4px rgba(17, 17, 17, 0.8);
    font-size: 32px;
    font-weight: bold;
    top: 0;
    bottom: 0;
    left: 67px;
    margin: auto;
    display: flex;
    align-items: center;
}

.info-bnr.-rec span {
    position: absolute;
    color: #fff;
    text-shadow: 3px 4px 4px rgba(17, 17, 17, 0.8);
    font-size: 32px;
    font-weight: bold;
    top: unset;
    left: unset;
    bottom: 3.5vw;
    right: 4vw;
    display: flex;
    align-items: center;
}

@media(max-width: 767px) {
    .info-bnr span {
        font-size: 18px;
        left: 8px;
    }
}

.info-bnr.-dvlp span {
    font-size: 24px;
}

@media (max-width:767px) {
    .info-bnr.-dvlp span {
        font-size: 16px;
    }
}

.info-bnr-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 3%;
}

.info-bnr-s {
    width: 48.5%;
}



.info-bnr-s img {
    aspect-ratio: 408/200;
    width: 100%;
    height: auto;
}

@media (max-width:767px) {
    .info-bnr-s {
        width: 100%;
        margin-bottom: 3%;
    }

    .info-bnr-s img {
        aspect-ratio: 840 / 200;
        width: 100%;
        height: auto;
    }
}



/* irinfo
-------------------------------- */

.irinfo-list {
    display: flex;
    flex-wrap: wrap;
}

.irinfo-list li {
    width: calc((100% - 40px)/ 3);
    margin-right: 20px;
    margin-bottom: 20px;
}

.irinfo-list li:nth-child(3n) {
    margin-right: 0;
}

@media(max-width: 767px) {
    .irinfo-list li {
        width: 100%;
        margin-right: 0;
        margin-top: 15px;
    }
}

/* perf
-------------------------------- */


.perf-img {
    margin-bottom: 40px;
}

.perf-table.-mb {
    margin-bottom: 40px;
}

.perf-table {
    width: 100%;
    font-size: 16px;
    table-layout: fixed;
    display: block;
    white-space: nowrap;
    overflow: scroll;
    border-collapse: collapse;
}

.perf-table-note {
    font-weight: normal;
    margin-top: 5px;
}

@media(max-width: 767px) {
    .perf-table {
        font-size: 12px;
    }

    .perf-table-note {
        font-size: 12px;
    }
}



.perf-table .w102 {
    width: 102px;
    min-width: 102px;
}

.perf-table .w370 {
    width: 370px;
}

.perf-table .w122 {
    width: 122px;
}

.perf-table .w126 {
    width: 126px;
}

.perf-table .w52 {
    width: 52px;
}

.perf-table .w180 {
    width: 180px;
    min-width: 180px;
}

.perf-table .w342 {
    width: 342px;
    min-width: 342px;
}

.perf-table th {
    background: #E8EEF5;
    border-top: 1px solid #E8EEF5;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 16px 10px;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    line-height: 1.3;
    display: table-cell;
}

.perf-table td {
    background: #fff;
    border-left: 1px solid #E9E9E9;
    border-bottom: 1px solid #E9E9E9;
    padding: 8px;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    line-height: 1.3;
    text-align: right;
    width: 122px;
    display: table-cell;
}

.perf-table td:last-child {
    text-align: left;
    border-right: 1px solid #E9E9E9;
}

.perf-table th.sideth {
    background: #E8EEF5;
    border-bottom: 1px solid #fff;
    border-left: none;
    color: #231815;
}

.perf-table tr:last-child th.sideth {
    border-bottom: none;
}



table .bg-gray {
    background: #E8EEF5;
    color: #231815;
}


/* dvlp
-------------------------------- */

.dvlp-desc {
    margin-bottom: 40px;
}

.dvlp-ttl {
    text-align: center;
}

.dvlp-ttl02 {
    border-bottom: solid 4px #616161;
}

.dvlp-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 64px;
    font-weight: bold;
}

.dvlp-list.-mb {
    margin-bottom: 64px;
}

@media (max-width:767px) {
    .dvlp-list {
        gap: 19px;
    }

    .dvlp-list.-mb {
        margin-bottom: 19px;
    }
}



.dvlp-list li {
    width: 180px;
}

@media (max-width:767px) {
    .dvlp-list li {
        width: 100px;
    }
}




.dvlp-list img {
    margin-bottom: 10px;
}

.dvlp-equip-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.dvlp-equip-list li {
    width: 47%;
    margin-top: 47px;
    font-size: 18px;
    font-weight: 500;
}

@media (max-width:767px) {
    .dvlp-equip-list li {
        font-size: 16px;
        width: 100%;
        margin-top: 24px;
    }
}

.dvlp-equip-img {
    position: relative;
    display: inline-block;
}

.dvlp-equip-img::after {
    content: " ";
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 100%;
    height: 100%;
    background: #00397F;
    z-index: -1;
}

.dvlp-equip-list p {
    margin-top: .7em;
}

.dvlp-results-ttl {
    font-size: 20px;
    margin-bottom: 1em;
    position: relative;
}

@media (max-width:767px) {
    .dvlp-results-ttl {
        font-size: 18px;
    }
}

.dvlp-results-ttl:before {
    position: absolute;
    content: "";
    width: 2px;
    height: 24px;
    background: #00397F;
    left: 0;
    top: 5px;
}

.dvlp-results-ttl span {
    color: #00397F;
    display: inline-block;
    margin-left: 8px;
    margin-right: 10px;

}

.dvlp-results-box.-mb {
    margin-bottom: 48px;
}

/* recruit
-------------------------------- */

.recruit-ttl {
    text-align: center;
    margin-bottom: 48px;
}

.recruit-en-ttl {
    text-align: center;
    color: #00397F;
    font-size: 16px;
    font-weight: bold;
}

.recruit-desc {
    text-align: center;
    font-size: 20px;
    margin-bottom: 62px;
}

@media (max-width: 767px) {
    .recruit-desc {
        font-size: 14px;
        text-align: left;
    }
}

.recruit-list li {
    margin-bottom: 47px;

}

.recruit-list-ttl {
    position: relative;
    font-size: 20px;
    color: #333;
    margin-bottom: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 60px;
}

@media(max-width: 767px) {
    .recruit-list-ttl {
        align-items: start;
        padding-left: 50px;
    }
}



.recruit-list-number {
    font-size: 20px;
    font-weight: bold;
    background-color: #00397F;
    color: white;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    line-height: 40px;
    position: absolute;
    left: 0;
}

@media(max-width: 767px) {
    .recruit-list-ttl::before {
        font-size: 16px;
        width: 32px;
        height: 32px;
        top: 5px;
    }
}


.job-bg {
    background: url(../img/weves-l.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center 220px;

}

@media(max-width: 767px) {
    .job-bg {
        background: none;
    }

    .bg-sp {
        position: relative;
    }

    .bg-sp::before {
        position: absolute;
        top: 3vw;
        left: -5vw;
        z-index: -1;
        content: "";
        background: url(../img/weves-l-sp.png) no-repeat center center;
        background-size: contain;
        /* 画像が要素内に収まるように調整 */
        width: 100vw;
        /* 幅を調整 */
        aspect-ratio: 750 / 960;
        /* 縦横比を16:9に指定 */
        display: block;

    }
}


.job-list-ttl {
    font-size: 18px;
    position: relative;
    padding-left: 8px;
    margin-bottom: 1em;
}

.job-list-ttl::before {
    content: "";
    width: 2px;
    height: 24px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #00397F;
}

.job-list li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 64px;
}

@media(max-width: 767px) {
    .job-list li {
        margin-bottom: 40px;
    }
}

.job-list li:last-child {
    margin-bottom: 0;
}

.job-list-content {
    width: 63%;
}

.job-list-img {
    width: 32%;
}

@media(max-width: 767px) {
    .job-list-content {
        width: 100%;
        margin-bottom: 1em;
    }

    .job-list-img {
        width: 100%;
    }
}


.entry-btn-flex {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

@media(max-width: 767px) {
    .entry-btn-flex {
        gap: 16px;
    }
}

/* recruit-info
-------------------------------- */

.recruit-info-sec {
    margin-top: 48px;
}

.recruit-info-ttl {
    text-align: center;
}

.recruit-info-sec-ttl {
    position: relative;
    padding-left: 8px;
    margin-bottom: 1em;
}

.recruit-info-sec-ttl::before {
    content: "";
    width: 2px;
    height: 24px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #00397F;
}


.type02 {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    border-collapse: collapse;
}

.type02 th {
    background: #E8EEF5;
    border-top: solid 1px #E8EEF5;
    border-right: solid 1px #E8EEF5;
    border-bottom: solid 1px #fff;
    padding: .8em;
    font-weight: bold;
    width: 170px;
    text-align: center;
    vertical-align: middle;
}

@media (max-width: 767px) {
    .type02 th {
        font-size: 13px;
        width: 25%;
        min-width: 95px;
        padding: 3px;
    }
}

.type02 td {
    border-top: solid 1px #E9E9E9;
    border-bottom: solid 1px #E9E9E9;
    border-right: solid 1px #E9E9E9;
    padding: .8em;
    padding-left: 30px;
    font-weight: normal;
}

@media (max-width: 767px) {
    .type02 td {
        font-size: 12px;
        width: 75%;
        padding-left: 1em;
    }

    .type02 p {
        margin-bottom: 8px;
    }
}

@media (max-width: 767px) {
    .sp-block {
        display: none;

    }
}

.recruit-info-sec dl {
    display: flex;
}

.recruit-info-sec .dl-type01 dt {
    width: 112px;
    font-weight: normal;
}

.recruit-info-sec .dl-type02 dt {
    width: 170px;
    font-weight: normal;
}

@media (max-width: 767px) {
    .recruit-info-sec .dl-type02 {
        display: unset;
    }
}


.type03 {
    width: 100%;
    font-weight: normal;
    border: solid 1px #E8EEF5;
    border-left: 1px solid #fff;
    border-collapse: collapse;
}

@media (max-width: 767px) {
    .type03 {
        font-size: 10px;
        border: solid 1px #E8EEF5;
    }

    .type03 caption {
        font-size: 13px;
        background: #E8EEF5;
        font-weight: bold;
        padding: 1em;
    }
}

td.resettd {
    padding: 0;
}

.type03 .bg-gray {
    background: #eee;
    border-right: 1px solid #fff;
    padding: 0 2em;
}




.type03 td {
    border-left: solid 1px #E8EEF5;
    border-bottom: solid 1px #E8EEF5;
    padding: .8em;
    text-align: center;
    vertical-align: middle;
}

@media (max-width: 767px) {
    .type03 td {
        padding: 3px;
    }
}

.type03 .first th {
    background: #fafafa;
    border-bottom: solid 1px #E8EEF5;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
}


.type03 .sideth {
    width: 20%;
    min-width: 120px;
    border-right: 1px solid #fff;
    background: #eee;
    vertical-align: middle;
    text-align: center;
}

@media (max-width: 767px) {
    .type03 .sideth {
        width: 18%;
        min-width: 65px;
        padding: 3px;
    }
}



@media (max-width: 767px) {
    .scrollbox {
        width: 90vw;
        overflow: auto;
    }
}


.recruit-info-btn-wrap {
    margin-top: 10px;
}





/* calendar
-------------------------------- */

.calendar-ttl {
    text-align: center;
}

.calendar-img {
    margin-bottom: 40px;
}

.type04 {
    width: 100%;
    font-size: 12px;
    font-weight: 500;
}

.type04 th {
    background: #E8EEF5;
    border-top: solid 1px #E8EEF5;
    border-right: solid 1px #E8EEF5;
    border-bottom: solid 1px #fff;
    padding: .8em;
    font-weight: 500;
    width: 20%;
    min-width: 110px;
    text-align: center;
    vertical-align: middle;
}

@media(max-width: 767px) {
    .type04 th {
        font-size: 10px;
    }
}

.type04 td {
    border-top: solid 1px #E9E9E9;
    border-bottom: solid 1px #E9E9E9;
    border-right: solid 1px #E9E9E9;
    padding: .8em;
    padding-left: 30px;
    font-weight: normal;
}

@media (max-width: 767px) {
    .type04 td {
        padding-left: 1em;
        font-size: 11px;
    }
}


/* privacy
-------------------------------- */

.privacy {
    font-weight: normal;
}

.privacy-list dt {
    font-size: 20px;
    color: #00397F;
    margin-top: 2em;
    margin-bottom: 5px;
}

.privacy-list dd {
    font-weight: normal;
}

/* sitemaps
-------------------------------- */

.sitemap-flex {
    display: flex;
    gap: 40px;
}

.sitemap-box {
    width: 50%;
}

@media (max-width: 767px) {
    .sitemap-flex {
        flex-wrap: wrap;
        gap: unset;
    }

    .sitemap-box {
        width: 100%;
    }
}

.sitemap-main-nav {}

.sitemap-main-nav a {
    padding: 10px 1em;
    display: flex;
    align-items: center;
    background: #00397F;
    color: #fff;
    position: relative;
    margin-bottom: 16px;
}

.sitemap-main-nav a::after {
    position: absolute;
    content: "";
    right: 15px;
    width: 7px;
    height: 7px;
    border-top: 1.7px solid #fff;
    border-right: 1.7px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sitemap-sub-nav {
    margin-top: -8px;
    margin-bottom: 16px;
}

.sitemap-sub-nav a {
    background: #fafafa;
    color: #231815;
    position: relative;
    margin-bottom: 8px;
}

.sitemap-sub-nav a::before {
    content: "";
    background: #231815;
    width: 8px;
    height: 1px;
    left: 0;
    margin-right: 5px;
}

.sitemap-sub-nav a:hover {
    background: #eee;
    opacity: 1;
}