@charset "utf-8";

/* PC画面ではヘッダーメニュー非表示 */
@media screen and (min-width: 720px) {
    body {
        display: flex;
    }


    /* LPメインデザイン */
    .lp_main_container {
        width: 100%;
        max-width: 500px;
        margin: auto;
        z-index: 2;
        background-color: #FFFDFD;
    }

    .lp_main_block {
        text-align: center;
        height: 570px;
    }


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

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


    /* 案内エリア */
    .function_btn_area {
        width: 100%;
        height: 700px;
        margin-top: -30px;
        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: 18px;
        margin-top: 10px;
    }

    /* ユーザー向けアプリダウンロード誘導 */
    .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: 10;
        transform:translateX(1%);
    }

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

    .img_googleplay {
        height: 70px;
    }

    .img_apple {
        height: 55px;
    }

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

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

    .ribbon_blue {
        width: 98%;
        position: absolute;
        z-index: 10;
        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: 60px;
        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: 20px;
        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: 250px;
        margin-top: 45px;
        margin-bottom: 20px;
    }

    .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: 40px 0;
        text-align: center;
        margin-top: -100px;
    }

    .manga_image_block {
        width: 90%;
        max-width: 450px;
        margin: 20px auto;
    }

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

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

    .youtube_wrapper {
        position: relative;
        width: 90%;
        max-width: 500px;
        margin: 0 auto 40px;
        padding-bottom: 56.25%; /* 16:9 aspect ratio */
        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;
    }

    /* スタートガイド エリア */
    .section_conteainer + .manga_container {
        margin-top: 350px !important;
    }

    .startguide_container {
        width: 100%;
        background:#fff;
        height: 3250px !important;
        position: relative;
        margin-bottom: 60px;
    }

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

    .startguide_container_title_img {
        width: 90%;
    }

    /* スタートガイド セクション共通 */
    .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: 31px;
        margin-top: 45px;
        margin-bottom: 15px;
    }

    .startguide_section_text {
        font-size: 23px;
        margin-top: 5px;
        margin-bottom: 5px;
    }

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

    .startguide_section_block {
        width: 90%;
        max-width: 420px;
    }

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


    /* 案内エリア2 */
    .function_btn_area_2 {
        margin-top: 370px !important;
        height: 700px;
        position: relative;
    }
    /* 案内エリア2ここまで */


    /* 公式Xエリア */
    .operation_container {
        width: 100%;
        margin-top: 20PX;
        padding-top: 30px;
    }

    .operation_block {
        width: 100%;
        margin: auto 5%;
    }
    /* 公式Xエリア ここまで*/


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

    .notice_title {
        font-size: 35px;
        color: #5A5A5A;
        margin-bottom: 40px;
        letter-spacing: -0.05em;
    }

    .notice_list {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        padding: 0 50px;
        box-sizing: border-box;
        text-align: left;
    }

    .notice_list .notice_item {
        display: block;
        padding: 40px 0;
        border-top: 1px dashed #C4C4C4;
        text-decoration: none;
        color: inherit;
    }

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

    .notice_date {
        display: block;
        font-size: 18px;
        color: #5A5A5A;
        margin-bottom: 8px;
        letter-spacing: -0.05em;
    }

    .notice_headline {
        font-size: 20px;
        font-weight: bold;
        color: #333333;
        margin-bottom: 8px;
        letter-spacing: -0.05em;
    }

    .notice_text {
        font-size: 14px;
        color: #5A5A5A;
        line-height: 1.6;
        letter-spacing: -0.05em;
    }

    .notice_list hr {
        vertical-align: middle;
        border: none;
        border-top: 1px dashed #5A5A5A;
        margin: 2px 0;
    }

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

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

    .notice_more_btn {
        display: block;
        background-color: #FF97D6;
        color: white;
        padding: 15px 30px;
        border-radius: 25px;
        text-decoration: none;
        font-weight: 600;
        font-size: 1rem;
    }

    .notice_list .notice_item {
        display: block;
        padding: 12px 0;
        border-top: none;
        text-decoration: none;
        color: inherit;
    }

    .notice_date {
        display: block;
        font-size: 18px;
        color: #5A5A5A;
        margin: 0 0 2px;
    }

    .notice_headline {
        font-size: 20px;
        font-weight: bold;
        color: #333333;
        margin: 2px 0;
    }

    .notice_text {
        font-size: 14px;
        color: #5A5A5A;
        line-height: 1.4;
        margin: 2px 0;
    }
    /* お知らせエリア ここまで*/


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

    .info_title {
        font-size: 35px;
    }

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

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

    .info_block_table td {
        font-size: 20px;
    }

    .tr1 td:first-child {
        vertical-align: top;
        height: 40px;
        border-bottom: 1px dashed #5A5A5A;
    }

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

    .tr2 td:first-child {
        text-align: left;
        vertical-align: top;
        font-size: 16px;
    }

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

    .tr3 td:first-child {
        vertical-align: middle;
        height: 60px;
        border-bottom: 1px dashed #5A5A5A;
    }

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

    .tr4 td:first-child {
        vertical-align: middle;
        height: 60px;
        border-bottom: 1px dashed #5A5A5A;
    }

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

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

    .policy_font {
        margin: 10px 0 0;
    }

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

    .top_back_btn_area {
        width: 40px;
        height: 70px;
        position: absolute;
        bottom: 15%;
        right: 5%;
        z-index: 5;
    }

    .top_back_img {
        width: 40px;
        height: 60px;
    }
    /*運営会社情報エリアここまで */


    /* フッター */
    .footer_container {
        width: 500px;
        height: 500px;
        text-align: center;
        position: absolute;
        bottom: 0px;
        background: linear-gradient(#FFFDFD, #FFE9F5);
    }

    .footer_container p {
        font-size: 14px;
        position: absolute;
        bottom: 0%;
        right: 40%;
        transform: translate(0%, -40%);
        z-index: 2;
    }

    /* SP用フッター非表示 */
    .footer_container_sp {
        display: none;
    }
    /* フッターここまで */


    /* 画面左側エリア */
    .left_container {
        width: 50%;
        display: block;
        height: 100%;
        position: fixed;
        white-space: nowrap;
        background-color: #FFE9F5;
    }

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

    .left_container_logo {
        text-align: center;
        width: 50%;
        height: 50%;
    }

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

    .left_container_info_list {
        width: 100%;
    }

    .left_container_info_list ul li {
        margin-bottom: 15px;
        font-size: 1.6vw;
    }

    /* 左側 文字アニメーション */
    .left_text1 {
        width: 100%;
        position: absolute;
        top: 62%;
        display: flex;
    }

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

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

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

    .left_text2 {
        width: 100%;
        position: absolute;
        top: 65%;
        display: flex;
    }

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

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

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

    .left_text3 {
        width: 100%;
        position: absolute;
        top: 75%;
        display: flex;
    }

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

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

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

    .left_text4 {
        width: 100%;
        position: absolute;
        top: 85%;
        display: flex;
    }

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

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

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

    .left_text5 {
        width: 100%;
        position: absolute;
        top: 90%;
        display: flex;
    }

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

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

        &:nth-child(even) {
            animation: loop2 56s infinite linear;
        }
    }
    /* 画面左側エリアここまで */

    /*画面右側エリア */
    .right_container {
        display: block;
        left: 50%;
        width: 50%;
        height: 100vh;
        position: fixed;
        white-space: nowrap;
        overflow: hidden;
        background-image: url(../img/right_background.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .right_background_img {
        display: none;
    }

    .right_text1 {
        width: 100%;
        position: absolute;
        top: -4%;
        display: flex;
    }

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

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

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

    .right_text2 {
        width: 100%;
        position: absolute;
        top: 7%;
        display: flex;
    }

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

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

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

    .right_text3 {
        width: 100%;
        position: absolute;
        top: 15%;
        display: flex;
    }

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

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

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

    .right_text4 {
        width: 100%;
        position: absolute;
        top: 20%;
        display: flex;
    }

    .right_text_item4 {
        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;
        }
    }

    .right_text5 {
        width: 100%;
        position: absolute;
        top: 28%;
        display: flex;
    }

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

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

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

    .right_text6 {
        width: 100%;
        position: absolute;
        top: 32%;
        display: flex;
    }

    .right_text_item6 {
        font-family: GenEiKoburiMin6-R;
        font-size: 9vh;
        font-weight: lighter;
        white-space: nowrap;
        flex-shrink: 0;
        opacity: 30%;
        margin: 0;

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

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

    .right_text7 {
        width: 100%;
        position: absolute;
        top: 42%;
        display: flex;
    }

    .right_text_item7 {
        font-family: GenEiKoburiMin6-R;
        font-size: 6vh;
        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;
        }
    }

    .right_text8 {
        width: 100%;
        position: absolute;
        top: 50%;
        display: flex;
    }

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

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

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

    .right_text9 {
        width: 100%;
        position: absolute;
        top: 54%;
        display: flex;
    }

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

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

        &:nth-child(even) {
            animation: loop2 56s infinite linear;
        }
    }
    /*画面右側エリアここまで */


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

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

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

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


    /* メニューリスト非表示 */
    .menu_sp {
        display: none;
    }
}
