.mono_01 {
    background: url(../images/mono/mono_03.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.mono_02 {
    background: url(../images/mono/mono_04.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.top_main {
    width: min(90%, 1200px);
    margin: 0 auto;
    padding-top: 80px;
    position: relative;
    z-index: 1;
}

.top_main img {
    width: 700px;
    margin-bottom: 80px;
}

.intro .content_area {
    text-align: center;
}

.intro h3 {
    font-size: min(3.5vw, 32px);
    font-weight: 600;
    margin-bottom: 1em;
    text-align: center;
}

.intro .bold {
    font-weight: 700;
    color: #ae0004;
    display: inline-block;
}

section .content_area {
    padding: min(4vw, 80px);
}

.news .content_area {
    min-height: 200px;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.news .content_area::-webkit-scrollbar {
    display: none;
}

.news li {
    margin-bottom: 2em;
}

.news li span {
    display: flex;
    align-items: center;
    line-height: 3;
}

.news li span::before {
    content: "";
    display: inline-block;
    width: 4em;
    height: 2em;
    background: url(../images/bullet.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 1em;
}

.news li p {
    font-weight: bold;
}

.news li a {
    font-weight: bold;
    text-decoration: underline;
}

.top_mono {
    position: absolute;
    top: 0;
    right: 0;
    width: 75vw;
    height: 100vw;
    background: url(../images/monokuma_rotate.webp);
    background-size: 100% auto;
    background-position: 33vw 8vw;
    background-repeat: no-repeat;
    z-index: 0;
}

.top_mono::after {
    content: "";
    display: block;
    width: 25vw;
    height: 30vw;
    background: url(../images/fukidashi.webp);
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
    z-index: 0;
    position: absolute;
    top: 11vw;
    left: 34vw;
    animation: shake 2s forwards infinite;
}

@keyframes shake {
    0% {
        left: 33.5vw;
    }

    3% {
        left: 34.5vw;
    }

    6% {
        left: 33.5vw;
    }

    9% {
        left: 34.5vw;
    }

    10.5% {
        left: 34vw;
    }

    100% {
        left: 34vw;
    }
}

@media screen and (max-width:1280px) {
    .top_main img {
        width: 60%;
        margin-bottom: 0;
    }

    .top_main h1 {
        margin-bottom: min(6vw, 40px);
    }

    .top_main {
        margin-bottom: min(10vw, 80px);
    }

    .intro .content_area {
        text-align: left;
    }
}

@media screen and (max-width:800px) {
    .top_main {
        text-align: center;
        padding-top: 60vw;
    }

    .top_main img {
        width: 90%;
    }

    .top_mono {
        width: 90vw;
        background-position: 35vw 24vw;
        height: 200vw;
    }

    .top_mono::after {
        width: 80vw;
        height: 40vw;
        top: min(20vw, 90px);
        left: -9vw;
    }

    @keyframes shake {
        0% {
            left: -8.5vw;
        }

        3% {
            left: -9.5vw;
        }

        6% {
            left: -8.5vw;
        }

        9% {
            left: -9.5vw;
        }

        10.5% {
            left: -9vw;
        }

        100% {
            left: -9vw;
        }
    }

    .intro .content_area {
        padding: min(8vw, 80px) min(4vw, 60px);
    }
}

@media screen and (max-width:600px) {
    .top_mono {
        background-position: 37vw 34vw;
    }

    .intro h3 {
        font-weight: 900;
    }

    .intro .bold {
        font-size: min(3vw, 16px);
    }
}
