/* --------------------
 Partner
-------------------- */
.partner {
    margin: 0 0 100px;
    padding: 60px 0 0;
}

@media (min-width: 768px) {
    .partner {
        padding: 70px 0 0;
    }
}

.partner-container {
    margin: 0 auto;
    max-width: 1020px;
    padding: 0 20px;
    width: 100%;
}

@media (min-width: 768px) {
    .partner-container {
        padding: 0 30px;
    }
}

.partner__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    max-width: 100%;
    width: 100%;
}

@media (max-width: 767px) {
    .partner__table {
        display: block;
    }
}

@media (max-width: 767px) {
    .partner__table > tbody {
        display: block;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .partner__table > tbody > tr {
        border-bottom: 1px solid rgba(var(--color-theme-rgb), 0.4);
        display: block;
        margin: 0 0 16px;
        padding: 0 0 16px;
        width: 100%;
    }

    .partner__table > tbody > tr:last-child {
        margin-bottom: 0;
    }
}

.partner__table > tbody > tr > td, .partner__table > tbody > tr > th {
    font-size: var(--fs16);
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-align: left;
    vertical-align: top;
    width: 50%;
}

@media (min-width: 768px) {
    .partner__table > tbody > tr > td, .partner__table > tbody > tr > th {
        border-bottom: 1px solid rgba(var(--color-theme-rgb), 0.4);
        font-size: var(--fs16);
    }
}

.partner__table > tbody > tr > th {
    font-weight: 500;
    padding: 0;
}

@media (max-width: 767px) {
    .partner__table > tbody > tr > th {
        display: block;
        margin: 0 0 3px;
        width: 100%;
    }
}

@media (min-width: 768px) {
    .partner__table > tbody > tr > th {
        padding: 20px 16px;
    }
}

.partner__table > tbody > tr > td {
    font-weight: 300;
    padding: 0;
}

@media (max-width: 767px) {
    .partner__table > tbody > tr > td {
        display: block;
        padding-left: 1em;
        width: 100%;
    }
}

@media (min-width: 768px) {
    .partner__table > tbody > tr > td {
        padding: 20px 16px;
    }
}

.partner__table > tbody > tr > td a {
    color: var(--color-theme);
    padding: 0 0 0 20px;
    position: relative;
    text-decoration: none;
}

.partner__table > tbody > tr > td a:before {
    background-color: var(--color-theme);
    content: "";
    display: block;
    height: 12px;
    left: 0;
    -webkit-mask-image: url(../images/icons/icon-black-arrow-right-2.svg);
    mask-image: url(../images/icons/icon-black-arrow-right-2.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    top: 6px;
    width: 12px;
}

.partner__table > tbody > tr > td a:after {
    background-color: var(--color-theme);
    bottom: -1px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: 0;
    max-width: 100%;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    width: 100%;
    z-index: 0;
}

.partner__table > tbody > tr > td a:focus:after {
    transform: scaleX(1);
    transform-origin: left center;
}

@media (hover: hover) and (pointer: fine) {
    .partner__table > tbody > tr > td a:hover:after {
        transform: scaleX(1);
        transform-origin: left center;
    }
}