h3 {
    font-size: 24px;
}

body {
    background-image: url(../image/background998.png);
    background-repeat: repeat-y;
    background-position: top;
    background-size: contain;
    background-position: 0 100dvh;

    /* animation: fadeinall 2s; */
}

@keyframes fadeinall {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* ふわっと表示 */
.bf-fadein {
    opacity: 0;
    transition: opacity 1s;
}

.af-fadein {
    opacity: 1;
}

/* 下から表示 */
.bf-bottomfadein {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1s, transform 1s;
}

.af-bottomfadein {
    opacity: 1;
    transform: translateY(0);
}

header {
    position: fixed;
    top: 0;
    left: 0;

    & img {
        width: 50%;
    }
}

#top {
    width: 100%;
    height: 100dvh;
    position: relative;
    background-color: white;

    & .mobile {
        display: none;
    }

    & .top_image {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999;

        & img {
            width: 300px;
        }
    }

    & .top_text {
        position: absolute;
        bottom: 15%;
        left: 5%;
        font-family: "RocknRoll One", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 80px;
        animation: fadeinall 1s;

        & p {
            color: white;
            letter-spacing: 10px;
            text-shadow: 2px 2px gray;
        }
    }

    & .slideshow-container {
        width: 100%;

        & img {
            width: 100%;
            height: 100dvh;
            position: absolute;
            top: 0;
            left: 0;
            object-fit: cover;
            /* opacity: 0;
            animation: slideshow 15s infinite; */
        }

        & img:nth-child(1) {
            animation-delay: 0s;
        }
        & img:nth-child(2) {
            animation-delay: 5s;
        }
        & img:nth-child(3) {
            animation-delay: 10s;
        }
    }
}

@keyframes slideshow {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    33.3% {
        opacity: 1;
    }
    37.3% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

#news {
    padding: 100px 0;
    text-align: center;

    & img {
        width: 300px;
    }

    & .news-container {
        display: flex;
        grid-template-columns: 1fr 4fr;
        gap: 20px;
        width: 600px;
        margin: 20px auto;
        text-align: left;

        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: 400;
        font-style: normal;

        & .date {
            width: fit-content;
        }
    }
}

#about_kobekatsu {
    padding: 100px 0;
    text-align: center;
    /* background-color: rgb(254, 240, 86, 20%); */

    & img {
        width: 300px;
    }

    & .text-box {
        width: 50%;
    }

    & .link {
        width: 300px;
        height: 30px;
        margin: 0 auto;
        border-radius: 25px;
        background-color: rgb(254, 240, 86);
    }
}

#about_hbcc {
    padding: 100px 0;
    text-align: center;

    & img {
        width: 400px;
        /* height: fit-content; */
    }

    & .text-box {
        width: 50%;
    }

    & .img-box {
        width: fit-content;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        justify-items: center;
    }

    & .cap {
        margin-top: 20px;

        font-family: "Zen Maru Gothic", sans-serif;
        font-weight: 400;
        font-style: normal;
    }
}

#activity {
    padding: 100px 0;
    text-align: center;
    /* background-color: rgb(254, 240, 86, 20%); */

    & img {
        width: 400px;
    }

    & .text-box {
        width: 60%;
    }

    & .detail {
        & img {
            width: 600px;
        }
    }
}

.text-box2 {
    width: 350px;
    margin: 0 auto;
    text-align: left;
    border: solid 1px black;
    padding: 10px;
    background-color: white;
}

#character {
    padding: 100px 0;
    text-align: center;

    & img {
        width: 400px;
    }

    & .chara_box {
        width: fit-content;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;

        & .chara {
            width: 400px;
            padding: 50px;
            text-align: center;
            border: 2px dashed gray;
            border-radius: 25px;
            background-color: rgb(254, 240, 86, 20%);

            & img {
                width: 250px;
            }

            & .chara_text {
                text-align: left;
                font-family: "Zen Maru Gothic", sans-serif;
            }
        }
    }
}

.text-box {
    width: 500px;
    margin: 50px auto;

    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;

    text-align: left;

    & p {
        line-height: 40px;
    }
}

#link {
    width: 300px;
    margin: 0 auto;
    text-align: center;

    & p {
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }
}

/* footer */
footer {
    padding: 50px 0 10px 0;
    text-align: center;

    & img {
        width: 10%;
    }

    & p {
        font-size: 12px;
    }
}

@media screen and (max-width: 767px) {
    #top {
        & .pc {
            display: none;
        }

        & .mobile {
            display: block;
        }

        & .top_image {
            & img {
                width: 150px;
            }
        }

        & .top_text {
            font-size: 32px;
        }
    }

    #news {
        & .news-container {
            display: block;
            width: 90%;
            margin-left: auto;
            margin-right: auto;
        }
    }

    #about_kobekatsu {
        & .text-box {
            width: 80%;
        }
    }

    #about_hbcc {
        & img {
            width: 90%;
            height: auto;
        }

        & .text-box {
            width: 80%;
        }

        & .img-box {
            grid-template-columns: 1fr;

            & img {
                width: 90%;
                height: auto;
            }
        }
    }

    #activity {
        & img {
            width: 90%;
        }

        & .text-box {
            width: 80%;
        }

        & .detail {
            & img {
                width: 90%;
            }
        }
    }

    #character {
        & img {
            width: 90%;
        }

        & .chara_box {
            grid-template-columns: 1fr;

            & .chara {
                width: 90%;
                margin: 0 auto;
                padding: 30px 10px;
            }
        }
    }

    .heading {
        & img {
            width: 80%;
        }
    }

    .text-box {
        width: 90%;
    }
}
