main {
    /* overflow: hidden; */
}

.report_top_container {
    margin-top: 50px;

    & .report_title_content {
        & h2 {
            justify-content: center;
        }
    }

    & .report_before_icon::before {
        content: "";
        display: inline-block;
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        /* ここを変更する */
        background-image: url('../image/report_before_icon.png');
        background-position: center;
        background-size: contain;
        view-transition-name: report_before_icon;
        position: relative;
        left: 8px;
    }

    & .report_after_icon::before {
        content: "";
        display: inline-block;
        width: 50px;
        height: 50px;
        margin-bottom: 10px;
        /* ここを変更する */
        background-image: url('../image/report_after_icon.png');
        background-position: center;
        background-size: contain;
        view-transition-name: report_after_icon;
        position: relative;
        right: 3px;
    }

    & .report_newest_content {

        & .newest_movie {
            margin: 30px auto 60px;

            & video {
                width: 100vw;
                aspect-ratio: 16/9;
                object-fit: cover;
            }
        }

        & p {
            font-size: px;
        }
    }
}

.report_archive_content {
    position: relative;
    background-color: var(--primary-sub-color);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));

    & .archive_title {
        margin-bottom: 20px;
    }

    & .archive_items {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;

        & .archive_item {
            width: calc(50% - 10px);
            margin-bottom: 20px;

            & .archive_movie_image {
                position: relative;
                margin-bottom: 10px;

                & img {
                    aspect-ratio: 16/9;
                    object-fit: cover;
                    border-radius: 10px;
                }
            }

            & .archive_movie_image::after {
                position: absolute;
                top: 50%;
                left: 50%;
                z-index: 1;
                display: block;
                width: 50%;
                height: 50%;
                background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjMuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1NzYgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1NzYgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9CiAgLnBhdGgwe2ZpbGw6cmdiYSgwLDAsMCwwLjUpfQo8L3N0eWxlPgoJPHBhdGggY2xhc3M9InBhdGgwIiBkPSJNNTQ5LjcsMTI0LjFjLTYuMy0yMy43LTI0LjgtNDIuMy00OC4zLTQ4LjZDNDU4LjgsNjQsMjg4LDY0LDI4OCw2NFMxMTcuMiw2NCw3NC42LDc1LjVjLTIzLjUsNi4zLTQyLDI0LjktNDguMyw0OC42CgkJQzE0LjksMTY3LDE0LjksMjU2LjQsMTQuOSwyNTYuNHMwLDg5LjQsMTEuNCwxMzIuM2M2LjMsMjMuNiwyNC44LDQxLjUsNDguMyw0Ny44QzExNy4yLDQ0OCwyODgsNDQ4LDI4OCw0NDhzMTcwLjgsMCwyMTMuNC0xMS41CgkJYzIzLjUtNi4zLDQyLTI0LjIsNDguMy00Ny44YzExLjQtNDIuOSwxMS40LTEzMi4zLDExLjQtMTMyLjNTNTYxLjEsMTY2LjksNTQ5LjcsMTI0LjF6Ii8+Cgk8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMzIuMSwzMzcuNiAyMzIuMSwzMzcuNiAyMzIuMSwxNzUuMiAzNzQuOSwyNTYuNCAyMzIuMSwzMzcuNiAJIi8+Cjwvc3ZnPgo=);
                background-repeat: no-repeat;
                background-position: center center;
                background-size: contain;
                transform: translate(-50%, -50%);
                content: "";
            }
        }
    }
}

.report_bottom_container {
    display: flex;
    justify-content: center;

    & .more_button {
        display: inline-block;
        border-radius: 100px;
        padding: 5px 50px;
        margin: 20px auto;
        background-color: #3b9cd0;
        color: #fff;
    }
}


.shapedividers_com-9432 {
    overflow: hidden;
    position: relative;
    height: 90px;

}

.shapedividers_com-9432::before {
    content: '';
    font-family: 'shape divider from ShapeDividers.com';
    position: absolute;
    z-index: 3;
    pointer-events: none;
    background-repeat: no-repeat;
    bottom: -0.1vw;
    left: -0.1vw;
    right: -0.1vw;
    top: -0.1vw;
    background-size: 100% 90px;
    background-position: 50% 100%;
    background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M35.28 1.67c-3.07-.55-9.27.41-16.15 0-6.87-.4-13.74-.58-19.13.1v.4h35.28z" fill="%23ffea94"/><path d="M35.28 1.16c-3.17-.8-7.3.4-10.04.56-2.76.17-9.25-1.47-12.68-1.3-3.42.16-4.64.84-7.04.86C3.12 1.31 0 .4 0 .4v1.77h35.28z" opacity=".5" fill="%23ffea94"/><path d="M35.28.31c-2.57.84-7.68.3-11.8.43-4.1.12-6.85.61-9.57.28C11.18.69 8.3-.16 5.3.02 2.3.22.57.85 0 .87v1.2h35.28z" opacity=".5" fill="%23ffea94"/></svg>');
}

@media (min-width:2100px) {
    .shapedividers_com-9432::before {
        background-size: 100% calc(2vw + 90px);
    }
}







/* 固定表示が不要になったときにスムーズに戻すための準備 (これは残す) */
.newest_movie video {
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    /* 元の video スタイルがあればここに記述 */
}

/* ★ 新しいスタイル: 固定表示される video 要素用 */
.is-sticky-video {
    position: fixed;
    /* top は JavaScript で設定 */
    left: 0;
    width: 100%;
    /* 画面幅に合わせる */
    z-index: 1000;
    /* ヘッダーより手前に表示 */
    background-color: #000;
    /* 背景が透けないように黒などを指定 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transform: translateZ(0);
    /* ハードウェアアクセラレーション */
    /* 必要に応じて max-height などで高さを制限 */
    display: block;
    /* 中央寄せのため */
    margin: 0 auto !important;
    /* margin-top: 0 を強制する場合 */
}

/* ★ 新しいスタイル: video要素用のプレースホルダー */
.video-placeholder {
    display: none;
    /* 通常は非表示 */
    /* 高さはJavaScriptで設定される */
    width: 100%;
    /* 元のビデオの幅に合わせる */
}