/* group_block */
.group_block {
    padding: 8vw 0;
    margin: auto;
    z-index: 2;
    position: relative;
    background: #f5f4ed;
}

.group_block .container {
    margin: auto;
}

.group_block .group-logo {
    width: max(12vw, 220px);
    margin-inline: auto;
    padding-bottom: max(4vw, 3rem);
}

.group_block .para-01 {
    padding: max(2vw, 1.5rem);
    padding-bottom: 1rem;
    text-align: center;
    position: relative;
    opacity: 1;
}

.group_block .para-01::after,
.group_block .para-01::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: .3s linear;
    z-index: -1;
}



.group_block .para-01::before {
    background: linear-gradient(180deg, #ffffff, transparent);
    transition: .3s linear;
    opacity: 1;
}

.group_block .para-01::after {
    background: linear-gradient(180deg, #b0aa99, transparent);
    opacity: 0;
    transition: .3s linear;

}

.group_block .main-title {
    font-size: clamp(1.25rem, 1.1163rem + 0.2789vw, 1.5625rem);
    letter-spacing: 1px;
    font-weight: 500;
    padding: 0.5em 2em;
    width: fit-content;
    margin: auto;
    line-height: 1;
    border-radius: 99em;
    color: white;

}

.group_block .main-title::before {
    display: none;
}

.group_block .sub-title {
    font-size: clamp(1.125rem, 1.0181rem + 0.2231vw, 1.375rem);
    font-weight: bold;
    color: #333;
    line-height: 1.3;
    letter-spacing: 1px;
    text-align: center;
}

.group_block .group-list {
    width: fit-content;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px max(2.5vw, 40px);
    margin-inline: auto;
    padding-left: 0;
    color: #333;
    list-style: none;
    font-weight: 400;
    text-align: left;
}

.group_block .group-list li {
    position: relative;
    padding-left: 10px;
}

.group_block .group-list li::before {
    content: '';
    width: 4px;
    aspect-ratio: 1 / 1;
    background: #333;
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%) translateX(-100%);
    border-radius: 50%;
}

.group_block .para-01 .main-title {
    background: #222222;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.group_block .para-01 .main-title::before {
    display: none;
}

.group_block .para-01 .sub-title {
    margin-block: 1.5rem;
}

.group_block .para-02 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: max(4vw, 3rem) 10px;
    margin-top: max(4vw, 3rem);
}



.group_block .para-02 .main-title {
    transform: translateY(-50%);
}

.group_block .para-02 .sub-title {
    margin-top: 0;
    margin-bottom: 2rem;
}

.group_block .para-02 .brand-logo {
    width: max(9vw, 180px);
    margin: auto;
    margin-bottom: max(3vw, 3rem);
}

.group_block .brand-item .brand-text {
    position: relative;
    padding: 0rem 1rem 1rem;
}

.group_block .brand-item .brand-text::after,
.group_block .brand-item .brand-text::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: .3s linear;
    z-index: -1;
}

.group_block .brand-text::before {
    background: linear-gradient(180deg, #ffffff, transparent);
    opacity: 1;
    transition: .3s linear;
}

.group_block .brand-item .brand-text::after {
    opacity: 0;
}
.group_block .brand-item-2{
    pointer-events: none;
}

.group_block .brand-item-1 .brand-text::after {
    background: linear-gradient(180deg, #f7c713, transparent 50%);
}

.group_block .brand-item-2 .brand-text::after {
    background: linear-gradient(180deg, #00a7e1, transparent 50%);
}

.group_block .brand-item-3 .brand-text::after {
    background: linear-gradient(180deg, #c94477, transparent 50%);
}

.group_block .brand-item-4 .brand-text::after {
    background: linear-gradient(180deg, #8ab040, transparent 50%);
}

.group_block .brand-item-1 .main-title {
    background: #f7c713;
}

.group_block .brand-item-2 .main-title {
    background: #00a7e1;
}

.group_block .brand-item-3 .main-title {
    background: #c94477;
}

.group_block .brand-item-4 .main-title {
    background: #8ab040;
}

.group_block .brand-text {
    transition: .3s linear;
}

@media(hover:hover) {

    .group_block .brand-item:hover .brand-text::before,
    .group_block .para-01:hover::before {
        opacity: 0;
        transition: .3s linear;
    }

    .group_block .brand-item:hover .brand-text::after,
    .group_block .para-01:hover::after {
        opacity: 0.3;
        transition: .3s linear;
    }
}

@media (max-width: 1600px) {
    .group_block .container {
        max-width: 1500px;
        width: 88%;
    }
}

@media (max-width: 1440px) {
    .group_block .para-02 {
        grid-template-columns: repeat(2, 1fr);
        gap: max(4vw, 3rem) 1rem;
    }
}

@media (max-width: 767px) {
    .group_block .para-02 {
        grid-template-columns: 1fr;
    }

    .group_block .group-logo {
        width: 180px;
    }

    .group_block .para-02 .sub-title {
        margin-bottom: 1.5rem;
    }

}

@media (max-width: 600px) {
    .group_block {
        padding: 4rem 0;
    }
}

@media (max-width: 480px) {

    .group_block .main-title {
        width: 90%;
        text-align: center;
    }

    .group_block .para-02 .brand-logo {
        margin-bottom: 2.5rem;
    }

    .group_block .container {
        width: 95%;
    }

    .group_block .group-list {
        gap: 5px 30px;
    }
}

@media (max-width: 380px) {

    .group_block .group-list {
        font-size: 15px;
    }

    .group_block .para-01 .sub-title {
        letter-spacing: 0;
    }
}