#bg {
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: -1;
}

#bg {
    background: linear-gradient(230deg, #07005e, #003c30, #470700, #079FA8, #322573, #145a2a);
    background-size: 1200% 1200%;

    -webkit-animation: graduate-bg 19s ease infinite;
    -moz-animation: graduate-bg 19s ease infinite;
    -o-animation: graduate-bg 19s ease infinite;
    animation: graduate-bg 19s ease infinite;
}

@-webkit-keyframes graduate-bg {
    0% {
        background-position: 0% 0%
    }

    50% {
        background-position: 93% 100%
    }

    100% {
        background-position: 0% 0%
    }
}

@-moz-keyframes graduate-bg {
    0% {
        background-position: 0% 0%
    }

    50% {
        background-position: 93% 100%
    }

    100% {
        background-position: 0% 0%
    }
}

@-o-keyframes graduate-bg {
    0% {
        background-position: 0% 0%
    }

    50% {
        background-position: 93% 100%
    }

    100% {
        background-position: 0% 0%
    }
}

@keyframes graduate-bg {
    0% {
        background-position: 0% 0%
    }

    50% {
        background-position: 93% 100%
    }

    100% {
        background-position: 0% 0%
    }
}


/* 星空の背景のスタイル */
.stars {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

/* 星のスタイル */
.bg-star {
    position: absolute;
    display: block;
    background-color: #efff88;
    /* 星の色 */
    border-radius: 50%;
    box-shadow: 0 0 4px 2px rgba(#efff88, 0.2);
    /* 星の影 */
    opacity: 0;
    animation: twinkle 5s infinite;
}

/* 星がキラキラ光るアニメーション */
@keyframes twinkle {
    0% {
        opacity: 0;
    }

    50% {
        transform: scale(1.1);
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: scale(1);
    }
}
