    /************
    初期共通設定
    *************/
    html, body 
    {
        overscroll-behavior-x: none; /* 横方向のバウンスを禁止 */
        overscroll-behavior-y: none; /* 縦方向も禁止したい場合 */
    }
    body 
    {
        width: 100%;
        height: fit-content;
        position: relative;
        z-index: 0;
        overflow-x: hidden;
        font-weight: bolder;
        color: #000000;
        background-color: #ffffff;
        margin: 0;
        padding: 0;
        font-size: 18px;
        line-height: 2;
    }
    main *
    {
        font-family: "UDShinGoNTPr6N", "BIZ UDGothic", "Hiragino Sans", "Helvetica Neue", Arial, "Hiragino Kaku Gothic StdN", "ヒラギノ角ゴ StdN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
        font-weight: 900;
    }
    img
    {
        width: 100%;
        max-width: 100%;
    }

    /************
    個別設定
    *************/
    main
    {
        max-width: 1920px;
        width:100%;
        margin: 0 auto;
        overflow-x: hidden;
    }
    p
    {
        font-size: 1.8em;
        margin: 0;
    }
    .fv
    {
        position: relative;
        background-image: url(img/fv-bg.webp);
        background-position: center;
        background-size: auto 100%;
        aspect-ratio: 1920/2031;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .logo
    {
        position: absolute;
        width: 8%;
        top: 2.5%;
        right: 2.55%;
    }
    .fv-content
    {
        display: flex;
        flex-direction: column;
        gap: 20px;
        justify-content: center;
        align-items: center;
        width: 90%;
        max-width: 1400px;
        z-index: 10;
    }
    .fv-line-1
    {
        width: 25.7%;
    }
    .fv-date
    {
        width: 66%;
    }
    .fv-place
    {
        width: 67.3%;
    }
    .fv-line-2
    {
        width: 73%;
    }
    .fv-place
    {
        width: 68%;
    }

    section
    {
        display: flex;
        flex-direction: column;
        margin: 50px auto;
        padding: 100px 0;
        box-sizing: border-box;
    }
    section>h2
    {
        font-size: 3.3em;
        width: 100%;
        text-align: center;
        margin: 0;
    }
    section>p
    {
        width: 90%;
        max-width: 1400px;
        margin: 25px auto;
    }
    /*アウトライン*/
    
    /*プロフィール*/
    .profile 
    {
        padding-top: 250px;
        box-sizing: border-box;
        background-image: url(img/profile-bg.webp);
        background-position: center center;
        background-repeat: no-repeat;
        /* background-size: contain; */
        background-size: auto 100%;
        aspect-ratio: 2001/1424;
    }
    .profile-content
    {
        display: flex;
        gap: 50px;
        width: 90%;
        max-width: 1400px;
        margin: 25px auto;
        justify-content: space-between;
    }
    .profile-content>div
    {
        width: 31%;
    }
    .profile-content>p
    {
        width: 61%;
        margin: 0;
    }
    
    /*イベント*/
    .schedule img
    {
        width: 90%;
        max-width: 1400px;
        margin: 0 auto;
    }

    /*イベントコンテンツ*/

    /*第一部*/
    .event-content h3
    {
        width:100%;
        font-size: 3em;
        background-image: url(img/heading-bg.png);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        text-align: center;
        margin: 0;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .event-content
    {
        position: relative;
        margin-top: 200px;
        padding-top: 250px;
        box-sizing: border-box;
    }
    .event-content>img
    {
        position: absolute;
        width: 17%;
        left: 50%;
        transform: translateX(-50%);
        min-width: 150px;
    }
    .live>img{top: 30px;}
    .tork>img{top: 30px;}
    .special>img{top: 30px}
    .live
    {
        
        background-image: url(img/live-bg.webp);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: auto 100%;
        aspect-ratio: 1920/1806;
        
    }
    .live p
    {
        color: #fff;
    }
    .contemt-detail
    {
        width:90%;
        max-width: 1000px;
        margin: 25px auto;
    }
    .contemt-detail h4
    {
        font-size: 2.2em;
        margin: 0;
        width:100%;
        text-align: center;
        color: #fff;
    }
    
    .tork
    {
        background-image: url(img/profile-bg.webp);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: auto 100%;
        aspect-ratio: 2001/1424;
        margin-top: -25px;
    }
    .tork-photo
    {
        width:90%;
        max-width: 1400px;
        display: flex;
        gap: 50px;
        justify-content: space-between;
    }
    .guest
    {
        width: 60%;
    }
    .guest-name
    {
        max-width: 650px;
        margin: 10px 0;
    }

    .guest-photo
    {
        width: 31%;
    }

    .special
    {
        background-image: url(img/performance-bg.webp);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: auto 100%;
        aspect-ratio: 1920/3160;
        margin-top: -25px;
    }
    .special p
    {
        color: #fff;
    }
    .special-photo
    {
        width:90%;
        max-width: 1400px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap:25px;
    }
    .special-photo p
    {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
        
    }
    .team-name
    {
        width: 100%;
        text-align: center;
    }

    /*申し込み*/
    .application .note
    {
        color: #e50012;
        font-size: 2.5em;
        text-align: center;
    }
    .application small
    {
        color: #231815;
    }
    .application a
    {
        width: 90%;
        max-width: 1013px;
        margin: 0 auto;
        border-radius: 50px;
        display: flex;
        flex-direction: column;
    }
    .kome
    {
        width: 90%;
        max-width: 1013px;
        line-height: 1.2;
        margin: 15px auto;
    }

    footer
    {
        text-align: center;
        width: 90%;
        max-width: 1920px;
        margin: 100px auto 50px;
        
    }
    footer>p
    {
        font-size: 20px;
    }
    p.operation
    {
        font-size: 1.6em;
    }
    .more
    {
        width: 90%;
        max-width: 1400px;
        margin: 100px auto;
        display: flex;
        flex-direction: column;
        gap: 100px;
    }
    .more-item
    {
        display: flex;
        gap: 50px;
    }
    
    @media screen and (min-width:768px) {

        .application a:hover,
        .more a:hover
        {
            opacity: 0.8;
        }
        
    }
    @media screen and (max-width:1920) {
        body
        {
            font-size: 16px;
        }
    }
    @media screen and (max-width:1200px) {
        body{
            font-size: 14px;
        }
        section
        {
            margin: 0 auto;
        }
        .fv-content
        {
            padding: 100px 0;
            box-sizing: border-box;
        }
        .outline
        {
            padding: 0;
        }
        .profile
        {
            padding-top: 200px;
        }
        .event-content
        {
            margin-top: 0;
        }
        .profile-content
        {
            flex-direction: column;
            gap: 25px;
        }
        .profile-content>div,
        .guest-photo
        {
            width: 100%;
            max-width: 350px;
            margin: 0 auto;
        }
        .profile-content>p
        {
            width: 100%;
        }
        .live>img{top: 5%;}
        .tork>img{top: 5%;}
        .special>img{top: 30px}

        .tork-photo
        {
            flex-direction: column-reverse;
            gap: 25px;
            justify-content: center;
        }
        .guest
        {
            width: 100%;
        }
    }
    @media screen and (max-width:767px) {
        body{
            font-size: 12px;
        }
        p
        {
            font-size: 1.5em;
        }
        .event-content h3
        {
            font-size: 2em;
        }
        section
        {
            padding: 50px 0;
        }
        .profile,.live,.tork,.special
        {
            aspect-ratio: unset;
        }
        .profile
        {
            margin-top: -150px;
        }
        .event-content
        {
            padding-top: 170px;
        }
        .application .note
        {
            font-size: 1.4em;
            margin-top: 50px;
        }
        .more
        {
            margin: 50px auto;
            padding: 0;
            gap: 25px;
        }
        .more-item
        {
            flex-direction: column;
            gap: 25px;
        }
        footer
        {
            margin: 50px auto 25px;
        }
        footer>p
        {
            font-size: 12px;
            text-align: left;
        }
        p.operation
        {
            font-size: 1.2em;
        }
    }