/* =================================
   ロゴスライダー
================================= */

.partner {
    margin-top: -30px;
    padding-bottom: 50px;
    overflow: hidden;
}

.partner-slider {
    padding-top: 40px;
    padding-bottom: 40px;
    width: 100%;
    overflow: hidden;
    margin-top: 60px;

    position: relative;

    background: #fff;
}


/* 上側のぼかし */
.partner-slider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: linear-gradient(to bottom,
    rgba(240,240,240,0.7),
    rgba(240,240,240,0)
    );
    z-index: 2;
    pointer-events: none;
}

/* 下側のぼかし */
.partner-slider::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: linear-gradient(to top,
    rgba(240,240,240,0.7),
    rgba(240,240,240,0));
    z-index: 2;
    pointer-events: none;
}

.partner-slider-track {
    display: flex;
    align-items: center;

    width: max-content;

    animation: logo-scroll 180s linear infinite;
}

.logo-item {
    width: 220px;
    height: 110px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;


    }

    .logo-item img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        display: block;

    }

    /* 無限スクロール */

    @keyframes logo-scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-50%);
        }
    }

    /* SP */
    @media screen and (max-width: 768px) {

        .partner-slider {
            margin-top: 40px;
        }

        .logo-item {
            width: 120px;
            height: 60px;
        }

        .partner-slider-track {
            animation-duration: 180s;
            will-change: transform;
        }

    }
