/*----------------------------------------------------*/
/*                      company                       */
/*----------------------------------------------------*/
.lower-mv.company {
    background-image: url(../img/company/company_lower_mv.jpg);
}

.company-contents {
    padding: 0 0 120px;
}

.company-contents .c-upper li {
    width: calc(100% / 3 - 20px);
}

@media (max-width: 768px) {
    .company-contents .c-upper li {
        width: 100%;
    }

    .company-contents .c-upper__item {
        margin-top: 50px;
    }
}

.company-contents__top {
    padding: 70px 0 30px;
}

@media (max-width: 768px) {
    .company-contents .c-upper__item {
        width: 100%;
    }
}

.company-contents .c-upper__img-wrap {
    position: relative;
    overflow: hidden;
}

.company-contents .c-upper__img {
    width: 100%;
    transition: transform 0.3s ease-in-out;
}

@media (max-width: 768px) {
    .company-contents .c-upper__img {
        width: 100%;
    }
}

.company-contents .c-upper__img:hover {
    transform: scale(1.1);
}

.company-contents .c-upper__ttl {
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0 10px;
    text-align: center;
    color: #fff;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
    position: absolute;
    bottom: 0;
    width: 100%;
}

.company-contents .c-lower {
    margin-top: 50px;
    justify-content: unset;
}

.company-contents .c-lower::after {
    content: '';
    width: 590px;
}

.company-contents .c-lower li {
    margin-right: 26px;
    width: calc(100% / 4 - 26px);
}

@media (max-width: 768px) {
    .company-contents .c-lower li {
        width: 100%;
        margin-right: 0;
    }
}

.company-contents .c-lower li:nth-of-type(4n) {
    margin-right: 0;
}

.company-contents .c-lower__img-wrap {
    position: relative;
    overflow: hidden;
}

.company-contents .c-lower__item {
    width: 100%;
    margin-top: 50px;
    position: relative;
}

@media (max-width: 768px) {
    .company-contents .c-lower__item {
        width: 100%;
    }
}

.company-contents .c-lower__img {
    width: 280px;
    transition: transform 0.3s ease-in-out;
}

@media (max-width: 768px) {
    .company-contents .c-lower__img {
        width: 100%;
    }
}

.company-contents .c-lower__img:hover {
    transform: scale(1.1);
}

.company-contents .c-lower__ttl {
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0 10px;
    text-align: center;
    color: #fff;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
    position: absolute;
    bottom: 0;
    width: 100%;
}

.company-contents .c-lower__txt {
    margin-top: 10px;
    margin-bottom: 1.5em;
    position: relative;
}
