:root {
    --swiper-navigation-size: 30px;
}

html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
}

a {
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    main {
        width: 56vh;
        height: 100%;
        margin: auto;
    }
}


.swiper-slide {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: black;
}

.slide-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide-img-auto {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* フッター固定 */
.footer-fixed {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 100px;
    background: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.footer-fixed button {
    color: white;
    background: #007aff;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 16px;
}

.footer-fixed button a {
    color: white;
    text-decoration: none;
}

.cta-img {
    /* max-width: 90%; */
    max-height: 100px;
    text-align: center;
    margin: 0 auto;
}


.button-1 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin: 0 auto;
    padding: .9em 2em;
    border: 1px solid #2589d0;
    border-radius: 25px;
    background-color: #fff;
    color: #2589d0;
    font-size: 1em;
}

.button-1::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #2589d0;
    border-right: 2px solid #2589d0;
    content: '';
}


.button-10 {
    text-align: center;
    background-color: #ff6069;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    width: 168.75px;
    /* width: 45vw; */
    margin: 0 auto;
    height: 2.2rem;
    overflow: hidden;
    border: none;
    border-radius: 5px;
    background-color: #2589d0;
    /* color: #fff; */
    font-weight: 600;
    font-size: .9rem;
    z-index: 10;
}

.button-10::before {
    display: block;
    position: absolute;
    top: -50%;
    left: -30%;
    transform: rotate(30deg);
    width: 70px;
    height: 100px;
    content: '';
    background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(255, 255, 255, 0)));
    animation: animation-button-10 2s infinite linear;
}

@keyframes animation-button-10 {
    17% {
        left: 120%;
    }

    100% {
        left: 120%;
    }
}


.swiper-button-prev,
.swiper-button-next {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.swiper-button-prev.swiper-nav-visible,
.swiper-button-next.swiper-nav-visible {
    opacity: 1;
    pointer-events: auto;
}