﻿.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.45); /* 半透明の黒 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* 他の要素より前面に表示 */
}

    .loading-overlay span {
        font-size: 1.1rem;
        font-weight: 600;
        color: #fff;
        text-shadow: 0 1px 3px rgba(0,0,0,0.6);
    }


.spinner-custom {
    width: 3.5rem;
    height: 3.5rem;
    border-width: 0.35rem;
    opacity: 1;
    filter: drop-shadow(0 0 4px rgba(0,0,0,0.4));
}


/*Font レスポンシブ*/
.rp-text-12 {
    font-size: clamp(0.8rem, 0.4rem + 0.8vw, 1.1rem);
}

.rp-text-14 {
    font-size: clamp(1rem, 0.5rem + 0.8vw, 1.3rem);
}

.rp-text-16 {
    font-size: clamp(1rem, 0.6rem + 0.8vw, 1.5rem);
}


.rp-text-12 .btn {
    font-size: inherit;
}

/*カスタム*/
.custom-width {
    width: 100%;
}

@media (min-width: 768px) {
    .custom-width {
        width: 75%;
    }
}

@media (min-width: 992px) {
    .custom-width {
        width: 50%;
    }
}

/*カスタム*/
.custom-width-1000 {
    width: 100%;
}

@media (min-width: 1000px) {
    .custom-width-1000 {
        max-width: 835px;
        width: 100%;
    }
}

/*カスタム*/
.custom-width-1300 {
    width: 100%;
}

    .custom-width-1300 .width-500 {
        width: 100%;
    }

@media (min-width: 835px) {
    .custom-width-1300 {
        width: 100%;
        min-width: 1300px;
        max-width: 1300px;
    }

        .custom-width-1300 .width-500 {
            width: 100%;
            min-width: 500px;
            max-width: 500px;
        }
}