@charset "utf-8";

/* SP用メニューリスト 表示時 */
@media screen and (max-width: 1024px) {
    /* 959px以下に適用されるCSS（タブレット用） */
    body {
        display: flex;
    }

    /* LPメインデザイン */
    .lp_main_container {
        margin: 0 0 0 auto;
        width: 100%;
    }

    .left_container {
        display: none;
    }

    .right_container {
        z-index: 0;
        overflow: hidden;
    }

    .right_menu_block {
        position: absolute;
        text-align: left;
        top: 5%;
        left: 10%;
        z-index: 3;
    }

    .right_container_logo {
        text-align: center;
        width: 60%;
        height: 60%;
    }

    .right_logo_img {
        width: 100%;
        height: 100%;
    }

    .right_container_info_list {
        width: 100%;
    }

    .right_container_info_list ul li {
        margin-bottom: 15px;
        font-size: 18px;
    }
}


/* スマホ */
@media screen and (max-width: 720px) {
    body {
        display: block;
    }

    .left_container {
        display: none;
    }

    .right_container {
        display: none;
    }

    /* LPメインデザイン */
    .lp_main_container {
        width: 100%;
        max-width: 720px;
        margin: auto;
    }

    .lp_main_block {
        text-align: center;
        height: 55vh;
    }

    /* topエリア */
    .top_container {
        position: relative;
        text-align: center;
        width: 90%;
        height: 95%;
        margin: 80px auto 0;
    }

    .firstview_img {
        position: absolute;
        top: -3px;
        left: 0px;
        width: 100%;
    }
    /* topエリア ここまで*/


    /* 案内エリア */
    .function_btn_area {
        width: 100%;
        height: 700px;
        margin-top: -20px; /* TODO:機種で変わるので動的に調整できる様にする */
        position: relative;
        display: flex;
    }

    .bg_img {
        background-image: url(../img/bg_heart.png);
        background-size: cover;
    }

    .function_btn_text {
        color: #FFA341;
        display: block;
        text-align: center;
        font-size: 4vw;
        margin-top: 2vw;
    }

    /* ユーザー向けアプリダウンロード誘導 */
    .function_btn_area_app {
        width: 100%;
        height: 50%;
        position: absolute;
        margin-top: 65px;
    }

    .box_btn_area_app {
        width: 80%;
        height: 45%;
        border: solid 3px #FFE9F5;
        border-radius: 10px;
        margin-top: 38px;
        position: absolute;
        transform: translateX(12%);
    }

    .ribbon_pink {
        width: 98%;
        position: absolute;
        z-index: 9;
        transform:translateX(1%);
    }

    .app_links {
        margin-top: 110px;
        padding: 0 45px;
        align-items: center;
        display: flex;
        justify-content: space-around;
    }

    .img_googleplay {
        height: 57px;
    }

    .img_apple {
        height: 46px;
    }

    /* 演者向け誘導 */
    .function_btn_area_artist {
        width: 100%;
        height: 50%;
        position: absolute;
        margin-top: 320px;
    }

    .box_btn_area_artist {
        width: 80%;
        height: 55%;
        border: solid 3px #ECF2FF;
        border-radius: 10px;
        margin-top: 38px;
        position: absolute;
        transform: translateX(12%);
    }

    .ribbon_blue {
        width: 98%;
        position: absolute;
        z-index: 9;
        transform:translateX(1%);
    }

    .artist_links {
        margin-top: 100px;
        transform: translateX(-17%);
    }

    .artist_links li {
        margin-bottom: 15px;
    }

    .function_btn_block_download {
        background-color: #E97FA0;
        width: 65%;
        max-width: 350px;
        height: 13vw;
        border-radius: 9999px;
        box-shadow: 2px 1px 4px;
        transform: translate(50%, 0%);
        transition: 0.5s;
    }

    .function_btn_block_form {
        background-color: #7DC8FE;
        width: 65%;
        max-width: 350px;
        height: 60px;
        border-radius: 9999px;
        box-shadow: 2px 1px 4px;
        transform: translate(50%, 0%);
        transition: all 0.3s ease;
    }

    .function_btn_block:hover {
        opacity: 0.7;
    }

    .function_btn {
        color: #FFFFFF;
        font-size: 4vw;
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
    }

    .function_btn span {
        position: absolute;
        width: 100%;
        left: 0;
        text-align: center;
        top: 50%;
        transform: translateY(-50%);
    }
    /* 演者向け案内エリア1 ここまで */


    /* セクションエリア */
    .section_conteainer {
        text-align: center;
        height: 550px;
        margin-top: 45px;
    }

    .bg_img_long {
        background-image: url(../img/bg_heart_long.png);
        background-size: cover;
    }

    .section_block {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .section_block p {
        margin: 5px;
    }

    .section_block span {
        font-size: 10px;
        margin: 2px;
    }
    /* セクションエリアここまで */

    /* マンガ画像 エリア */
    .manga_container {
        width: 100%;
        background: #fff;
        padding: 10px 0;
        text-align: center;
        margin-top: -100px;
    }

    .manga_image_block {
        width: 95%;
        margin: 8px auto;
    }

    .manga_img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* スタートガイド エリア */
    .startguide_container {
        width: 100%;
        position: relative;
        background: #fff;
        margin-top: 60px;
    }

    /* スタートガイド タイトル */
    .startguide_container_title {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .startguide_container_title_img {
        width: 90%;
        margin-top: -30px;
    }

    /* スタートガイド セクション共通 */
    .startguide_section_item {
        width: 70px;
        height: 70px;
        line-height: 70px;
        border-radius: 50%;
        color: #FFFFFF;
        font-size: 25px;
        background: #FF97D6;
        z-index: 10;
        text-align: center;
        position: absolute;
        transform: translateX(-40%);
    }

    .startguide_section_title {
        font-size: 6vw;
        margin-top: 45px;
        margin-bottom: 15px;
    }

    .startguide_section_blocks {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        margin-top: 1rem;
    }

    .startguide_section_block {
        width: 92%;
        max-width: 98vw;
        margin: 0 auto;
    }

    .startguide_img {
        width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
    }
    /* スタートガイドここまで */


    /* 案内エリア2 */
    .function_btn_area_2 {
        position: relative;
        display: flex;
        background-size: cover;
    }

    .function_btn_area_2 .box_btn_area_app {
        width: 80%;
        height: 45%;
        border: 3px solid #FFE9F5;
        border-radius: 10px;
        margin-top: 38px;
        position: absolute;
        transform: translateX(12%);
    }
    /* 案内エリア2ここまで */

    /* YouTube動画 エリア */
    .youtube_container {
        width: 100%;
        background: #fff;
        padding: 10px 0;
        text-align: center;
        margin-top: -80px;
    }

    .youtube_wrapper {
        position: relative;
        width: 95%;
        margin: 0 auto 30px;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }

    .youtube_wrapper:last-child {
        margin-bottom: -10px;
    }

    .youtube_wrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
    /* YouTube動画 エリア ここまで */

    /* お知らせエリア */
    .notice_container {
        margin-top: 20px;
        padding: 30px 0 60px;
        text-align: center;
    }

    .notice_title {
        font-size: 6vw;
        color: #5A5A5A;
        margin-bottom: 5vw;
        letter-spacing: -0.05em;
    }

    .notice_list {
        width: 100%;
        margin: 0 auto;
        padding: 0 10vw;
        box-sizing: border-box;
        text-align: left;
    }

    .notice_list hr {
        border: none;
        border-top: 0.5px dashed #5A5A5A;
        margin: 1px 0;
    }

    .notice_list .notice_item {
        display: block;
        padding: 4vw 0;
        text-decoration: none;
        color: inherit;
    }

    .notice_list .notice_item:first-child {
        padding-top: 0;
    }

    .notice_date {
        font-size: 4vw;
        color: #5A5A5A;
        margin: 0 0 1vw;
        letter-spacing: -0.05em;
    }

    .notice_headline {
        font-size: 5vw;
        font-weight: bold;
        color: #333333;
        margin: 1vw 0;
        letter-spacing: -0.05em;
    }

    .notice_text {
        font-size: 3.5vw;
        color: #5A5A5A;
        line-height: 1.4;
        margin: 1vw 0;
        letter-spacing: -0.05em;
    }

    /* お知らせ一覧ボタン */
    .notice_more_btn_area {
        text-align: center;
        margin-top: 8vw;
    }

    .notice_more_btn_wrapper {
        display: inline-block;
        box-shadow: 2px 1px 4px;
        border-radius: 6vw;
        transition: all 0.3s ease;
    }

    .notice_more_btn {
        display: block;
        background-color: #FF97D6;
        color: white;
        padding: 3vw 6vw;
        border-radius: 6vw;
        text-decoration: none;
        font-weight: 600;
        font-size: 4vw;
    }
    /* お知らせエリアここまで */


    /* 運営会社会社情報エリア */
    .info_container {
        width: 100%;
        height: 90vw;
        text-align: center;
        position: relative;
        margin-top: 100px;
    }

    .info_title {
        font-size: 7vw;
        color: #5A5A5A;
    }

    .info_block {
        width: 100%;
        position: absolute;
        z-index: 5;
    }

    .info_block_table {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        padding: 0 10vw;
        box-sizing: border-box;
    }

    .info_block_table td {
        font-size: 5vw;
    }

    .tr1 td:first-child {
        vertical-align: top;
        height: 9vw;
        border-bottom: 0.5px solid #5A5A5A;
    }

    .tr1 td:last-child {
        vertical-align: top;
        border-bottom: 0.5px solid #5A5A5A;
    }

    .tr2 td:first-child {
        text-align: left;
        vertical-align: top;
        font-size: 3.7vw;
        border-bottom: 0.5px solid #5A5A5A;
    }

    .tr2 td:first-child a {
        border-bottom: 0.5px solid #5A5A5A;
    }

    .tr3 td:first-child {
        height: 55px;
        border-bottom: 0.5px dashed #5A5A5A;
    }

    .tr3 td:last-child {
        border-bottom: 0.5px dashed #5A5A5A;
    }

    .tr4 td:first-child {
        height: 14vw;
        border-bottom: 0.5px dashed #5A5A5A;
    }

    .tr4 td:last-child {
        border-bottom: 0.5px dashed #5A5A5A;
    }

    /* プライバシーポリシー リンク */
    .policy_area {
        margin: 20px 0 0;
    }

    .policy_font {
        margin: 10px 0 0;
    }

    .policy_link_text {
        margin-top: 10px;
        margin-bottom: 5px;
    }

    /* TOP戻るボタン */
    .top_back_btn_area {
        width: 35px;
        height: 50px;
        position: absolute;
        bottom: 0%;
        right: 5%;
        z-index: 5;
    }

    .top_back_img {
        width: 100%;
        height: 100%;
    }
    /* TOP戻るボタンここまで */


    /* フッターエリア */
    .footer_container_sp {
        width: 100%;
        height: 400px;
        text-align: center;
        background: linear-gradient(#FFFDFD, #FFE9F5);
        position: relative;
    }

    .copyright {
        font-size: 3vw;
        width: 100%;
        position: absolute;
        bottom: 0%;
        z-index: 2;
    }

    /* PC用フッター非表示 */
    .footer_container {
        display: none;
    }
    /* フッターエリアここまで */


    /* フッター文字デザイン */
    .footer_text_container {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        white-space: nowrap;
        overflow: hidden;
    }

    /*  フッター文字アニメーション */
    .footer_text1 {
        width: 100%;
        position: absolute;
        top: 23%;
        display: flex;
    }

    .footer_text_item1 {
        font-family: GenEiKoburiMin6-R;
        font-size: 3vh;
        font-weight: lighter;
        white-space: nowrap;
        flex-shrink: 0;
        opacity: 40%;
        margin: 0;

        &:nth-child(odd) {
            animation: loop 72s -36s infinite linear;
        }

        &:nth-child(even) {
            animation: loop2 72s infinite linear;
        }
    }

    .footer_text2 {
        width: 100%;
        position: absolute;
        top: 34%;
        display: flex;
    }

    .footer_text_item2 {
        font-family: GenEiKoburiMin6-R;
        font-size: 7vh;
        font-weight: lighter;
        white-space: nowrap;
        flex-shrink: 0;
        opacity: 60%;
        margin: 0;

        &:nth-child(odd) {
            animation: loop 56s -28s infinite linear;
        }

        &:nth-child(even) {
            animation: loop2 56s infinite linear;
        }
    }

    .footer_text3 {
        width: 100%;
        position: absolute;
        top: 51%;
        display: flex;
    }

    .footer_text_item3 {
        font-family: GenEiKoburiMin6-R;
        font-size: 8vh;
        font-weight: lighter;
        white-space: nowrap;
        flex-shrink: 0;
        opacity: 20%;
        margin: 0;

        &:nth-child(odd) {
            animation: loop 90s -45s infinite linear;
        }

        &:nth-child(even) {
            animation: loop2 90s infinite linear;
        }
    }

    .footer_text4 {
        width: 100%;
        position: absolute;
        top: 69%;
        display: flex;
    }

    .footer_text_item4 {
        font-family: GenEiKoburiMin6-R;
        font-size: 2vh;
        font-weight: lighter;
        white-space: nowrap;
        flex-shrink: 0;
        opacity: 80%;
        margin: 0;

        &:nth-child(odd) {
            animation: loop 52s -26s infinite linear;
        }

        &:nth-child(even) {
            animation: loop2 52s infinite linear;
        }
    }

    .footer_text5 {
        width: 100%;
        position: absolute;
        top: 76%;
        display: flex;
    }


    .footer_text_item5 {
        font-family: GenEiKoburiMin6-R;
        font-size: 5.5vh;
        font-weight: lighter;
        white-space: nowrap;
        flex-shrink: 0;
        opacity: 70%;
        margin: 0;

        &:nth-child(odd) {
            animation: loop 90s -45s infinite linear;
        }

        &:nth-child(even) {
            animation: loop2 90s infinite linear;
        }
    }
    /* フッター文字デザインここまで */

    /* 文字アニメーション */
    @keyframes loop {
        0% {
            transform: translateX(100%);
        }

        to {
            transform: translateX(-100%);
        }
    }

    @keyframes loop2 {
        0% {
            transform: translateX(0);
        }

        to {
            transform: translateX(-200%);
        }
    }
}
/* SP用メニューリスト ここまで*/
