@charset "utf-8";

/* ---------------------------------------------------
 * base
/* ---------------------------------------------------*/

html {
    font-size: 62.5%;
    /*適宜変更お願いします*/
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    text-align: center;
    font-size: 10px;
    font-family: 'Noto Sans JP', YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    color: #000000;
    line-height: 1.75;
    width: 100%;
    background-color: #fff;
    font-weight: 400;
    /*適宜変更お願いします*/
    font-feature-settings: "palt"1;
    /*自動カーニング*/
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: #fff;
}

a:hover {
    /*opacity: 0.8;*/
    text-decoration: none;
}

p {
    text-align: justify;
    hanging-punctuation: allow-end;
    /*文字のぶら下げ*/
}

#footer {
    text-align: center;
    font-size: 1.5em;
}

#footer a {
    color: #000;
}

/* ---------------------------------------------------
 * common（PC　min-width: 1023px）
/* ---------------------------------------------------*/
.btn {
    visibility: visible;
    animation-duration: 2s;
    animation-iteration-count: 1000;
    animation-name: pulse;
}

.wrap {
    width: 2000px;
    max-width: 100%;
}

.container {
    position: relative;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

.map-box {
    position: absolute;
    z-index: 99;
    top: 0%;
    right: 0;
    left: 0;
    margin: auto;
    width: 90%;
}

.map-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    overflow: hidden;
}

.map-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/*背景画像を指定*/
section#section-01 {
    background: url(../img_pc/section_01.webp)no-repeat top center;
    height: px;
}

section#section-02 {
    background: url(../img_pc/section_02.webp)no-repeat top center;
    height: px;
}

section#section-03 {
    background: url(../img_pc/section_03.webp)no-repeat top center;
    height: px;
}

section#section-04 {
    background: url(../img_pc/section_04.webp)no-repeat top center;
    height: px;
}

section#section-05 {
    background: url(../img_pc/section_05.webp)no-repeat top center;
    height: px;
}

section#section-06 {
    background: url(../img_pc/section_06.webp)no-repeat top center;
    height: px;
}

section#section-07 {
    background: url(../img_pc/section_07.webp)no-repeat top center;
    height: px;
}

section#section-08 {
    background: url(../img_pc/section_08.webp)no-repeat top center;
    height: px;
}

section#section-09 {
    background: url(../img_pc/section_09.webp)no-repeat top center;
    height: px;
}

section#section-10 {
    background: url(../img_pc/section_10.webp)no-repeat top center;
    height: px;
}

/*背景画像を指定*/
section#section-11 {
    background: url(../img_pc/section_11.webp)no-repeat top center;
    height: px;
}

section#section-12 {
    background: url(../img_pc/section_12.webp)no-repeat top center;
    height: px;
}

section#section-13 {
    background: url(../img_pc/section_13.webp)no-repeat top center;
    height: px;
}

section#section-14 {
    background: url(../img_pc/section_14.webp)no-repeat top center;
    height: px;
}

section#section-15 {
    background: url(../img_pc/section_15.webp)no-repeat top center;
    height: px;
}

section#section-16 {
    background: url(../img_pc/section_16.webp)no-repeat top center;
    height: px;
}

section#section-17 {
    background: url(../img_pc/section_17.webp)no-repeat top center;
    height: px;
}

section#section-18 {
    background: url(../img_pc/section_18.webp)no-repeat top center;
    height: px;
}

section#section-19 {
    background: url(../img_pc/section_19.webp)no-repeat top center;
    height: px;
}

section#section-20 {
    background: url(../img_pc/section_20.webp)no-repeat top center;
    height: px;
}

/*背景画像を指定*/
section#section-21 {
    background: url(../img_pc/section_21.webp)no-repeat top center;
    height: px;
}

section#section-22 {
    background: url(../img_pc/section_22.webp)no-repeat top center;
    height: px;
}

section#section-23 {
    background: url(../img_pc/section_23.webp)no-repeat top center;
    height: px;
}

section#section-24 {
    background: url(../img_pc/section_24.webp)no-repeat top center;
    height: px;
}

section#section-25 {
    background: url(../img_pc/section_25.webp)no-repeat top center;
    height: px;
}

section#section-26 {
    background: url(../img_pc/section_26.webp)no-repeat top center;
    height: px;
}

section#section-27 {
    background: url(../img_pc/section_27.webp)no-repeat top center;
    height: px;
}

section#section-28 {
    background: url(../img_pc/section_28.webp)no-repeat top center;
    height: px;
}

section#section-29 {
    background: url(../img_pc/section_29.webp)no-repeat top center;
    height: px;
}

section#section-30 {
    background: url(../img_pc/section_30.webp)no-repeat top center;
    height: px;
}


/*背景画像を指定*/
section#section-21 {
    background: url(../img_pc/section_21.webp)no-repeat top center;
    height: px;
}

section#section-22 {
    background: url(../img_pc/section_22.webp)no-repeat top center;
    height: px;
}

section#section-23 {
    background: url(../img_pc/section_23.webp)no-repeat top center;
    height: px;
}

section#section-24 {
    background: url(../img_pc/section_24.webp)no-repeat top center;
    height: px;
}

section#section-25 {
    background: url(../img_pc/section_25.webp)no-repeat top center;
    height: px;
}

section#section-26 {
    background: url(../img_pc/section_26.webp)no-repeat top center;
    height: px;
}

section#section-27 {
    background: url(../img_pc/section_27.webp)no-repeat top center;
    height: px;
}

section#section-28 {
    background: url(../img_pc/section_28.webp)no-repeat top center;
    height: px;
}

section#section-29 {
    background: url(../img_pc/section_29.webp)no-repeat top center;
    height: px;
}

section#section-30 {
    background: url(../img_pc/section_30.webp)no-repeat top center;
    height: px;
}


/*背景画像を指定*/
section#section-31 {
    background: url(../img_pc/section_31.webp)no-repeat top center;
    height: px;
}

section#section-32 {
    background: url(../img_pc/section_32.webp)no-repeat top center;
    height: px;
}

section#section-33 {
    background: url(../img_pc/section_33.webp)no-repeat top center;
    height: px;
}

section#section-34 {
    background: url(../img_pc/section_34.webp)no-repeat top center;
    height: px;
}

section#section-35 {
    background: url(../img_pc/section_35.webp)no-repeat top center;
    height: px;
}

section#section-36 {
    background: url(../img_pc/section_36.webp)no-repeat top center;
    height: px;
}

section#section-237 {
    background: url(../img_pc/section_37.webp)no-repeat top center;
    height: px;
}

section#section-38 {
    background: url(../img_pc/section_38.webp)no-repeat top center;
    height: px;
}

section#section-39 {
    background: url(../img_pc/section_39.webp)no-repeat top center;
    height: px;
}

section#section-40 {
    background: url(../img_pc/section_40.webp)no-repeat top center;
    height: px;
}


/*背景画像を指定*/
section#section-41 {
    background: url(../img_pc/section_41.webp)no-repeat top center;
    height: px;
}

section#section-42 {
    background: url(../img_pc/section_42.webp)no-repeat top center;
    height: px;
}

section#section-43 {
    background: url(../img_pc/section_43.webp)no-repeat top center;
    height: px;
}

section#section-44 {
    background: url(../img_pc/section_44.webp)no-repeat top center;
    height: px;
}

section#section-45 {
    background: url(../img_pc/section_45.webp)no-repeat top center;
    height: px;
}

section#section-46 {
    background: url(../img_pc/section_46.webp)no-repeat top center;
    height: px;
}

section#section-47 {
    background: url(../img_pc/section_47.webp)no-repeat top center;
    height: px;
}

section#section-48 {
    background: url(../img_pc/section_48.webp)no-repeat top center;
    height: px;
}

section#section-49 {
    background: url(../img_pc/section_49.webp)no-repeat top center;
    height: px;
}

section#section-50 {
    background: url(../img_pc/section_50.webp)no-repeat top center;
    height: px;
}

.-pc {
    display: block;
}

.-sp {
    display: none;
}

*, *::before, *::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    /*親要素のbox-sizingを継承*/
}

/*ボタン*/
.btn_box {
    position: absolute;
    z-index: 99;
    top: 10%;
    right: 0;
    left: 0;
    margin: auto;
    width: 60%;

}

.btn-box {
    position: absolute;
    width: 84%;
    top: 38%;
    left: 50%;
    transform: translateX(-50%);
}

.slide-box {
    position: absolute;
    display: flex;
    width: 100%;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
}

.scroll-box {
    position: absolute;
    display: flex;
    width: 100%;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
    gap: 16px;
    /* ← この値を調整すれば間が広がる */
    width: 100%;
    overflow-x: scroll;
}

.text-box {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    /* 横方向中央寄せ */
    z-index: 100;
    width: 80%;
    max-width: 600px;
    border-radius: 8px;
}

.mobile-scroll {
    display: flex;
    width: 100%;
}


.video_box {
    position: absolute;
    top: 43%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
    width: 85%;
    max-width: 600px;
    border-radius: 8px;
    background-color: #000000;
}

.video_box video {
    width: 100%;
    height: 210px;
    display: block;
    object-fit: contain;
    /* 必要なら */
    border-radius: 8px;
}

.cd_box {
    position: absolute;
    z-index: 99;
    top: 10%;
    right: 0;
    left: 0;
    margin: auto;
}

.cd_box_2 p {
    text-align: center;
}

.timer {
    font-size: 6em;
}

.cd_txt {
    font-size: 3em;
}

.cd_txt2 {
    font-size: 3em;
}

.mi_countdown {
    font-size: 6em;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.followBtn {
    position: fixed;
    z-index: 999;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.9);
}

.table-scroll {
    position: absolute;
    width: 100%;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
    gap: 16px;
    /* ← この値を調整すれば間が広がる */
    width: 100%;
    overflow-x: scroll;
}


.table-box {
    position: absolute;
    width: 100%;
    top: 2%;
    gap: 16px;
    /* ← この値を調整すれば間が広がる */
    width: 100%;
    overflow-x: scroll;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* スマホでなめらかにスライド */

}



.table-scroll img {
    display: block;
    width: 700px;
    /* ← 画像の実サイズまたは表示サイズ */
    max-width: none;
    /* ← 縮小させないために必要 */
    height: auto;
}



.mobile-scroll .scroll-hint-icon-wrap {
    position: absolute !important;
    top: -40% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}


.table-scroll .scroll-hint-icon-wrap {
    position: absolute !important;
    top: -45% !important;
    left: 20% !important;
    transform: translateX(-50%) !important;
}

.js-scrollable {
    overflow-x: scroll;
    /* スクロール機能はON */
    scrollbar-width: none;
    /* Firefox対応 */
    -ms-overflow-style: none;
    /* IE・Edge対応 */
}

.js-scrollable::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari対応 */
}

/*-----------------タブレットサイズ-----------------------
@media (min-width: 600px) and (max-width: 1023px) {
    body {
        font-size: 3.2rem;
    }
    .-pc {
        display: none;
    }
    .-sp {
        display: block;
    }
    .wrap {
        max-width: 100%;
        width: 100%;
    }
}
----------------------------------------*/

/*-----------------スマホサイズ-----------------------*/

@media screen and (max-width:600px) {
    .-pc {
        display: none;
    }

    .-sp {
        display: block;
    }

    body {
        font-size: 4.2vw;
    }

    .wrap {
        max-width: 100%;
        width: 100%;
    }

    #footer {
        text-align: center;
        font-size: 0.8em;
        padding: 1em;
    }

    #footer a {
        color: #000000;
    }

    section#section-01,
    section#section-02,
    section#section-03,
    section#section-04,
    section#section-05,
    section#section-06,
    section#section-07,
    section#section-08,
    section#section-09,
    section#section-10,
    section#section-11,
    section#section-12,
    section#section-13,
    section#section-14,
    section#section-15,
    section#section-16,
    section#section-17,
    section#section-18,
    section#section-19,
    section#section-20,
    section#section-21,
    section#section-22,
    section#section-23,
    section#section-24,
    section#section-25,
    section#section-26,
    section#section-27,
    section#section-28,
    section#section-29,
    section#section-30,
    section#section-31,
    section#section-32,
    section#section-33,
    section#section-34,
    section#section-35,
    section#section-36,
    section#section-37,
    section#section-38,
    section#section-39,
    section#section-40,
    section#section-41,
    section#section-42,
    section#section-43,
    section#section-44,
    section#section-45,
    section#section-46,
    section#section-47,
    section#section-48,
    section#section-49,
    section#section-50 {
        background: none !important;
    }

    .timer {
        font-size: 3em;
        margin-top: -110px;
    }

    .cd_txt {
        font-size: 1.5em;
    }

    .cd_txt2 {
        font-size: 1.5em;

    }

    .btn_box {
        top: 13%;
        width: 90%;

    }

    .mi_countdown {
        font-size: 2.5em;
        margin-top: -20px;
    }

    .table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* スマホでなめらかスクロール */
        white-space: nowrap;
        /* インライン要素の折り返しを防ぐ */

        position: absolute;
        display: flex;
        width: 100%;
        top: 2%;
        left: 50%;
        transform: translateX(-50%);
        gap: 16px;
        /* ← この値を調整すれば間が広がる */
        width: 100%;
        overflow-x: scroll;
    }

    .table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* スマホでなめらかにスライド */
        width: 90%;
        /* 横幅いっぱいに */
    }

    .table-scroll img {
        display: block;
        width: 700px;
        /* ← 画像の実サイズまたは表示サイズ */
        max-width: none;
        /* ← 縮小させないために必要 */
        height: auto;
    }

    .text-box {
        position: absolute;
        top: 0%;
        left: 50%;
        transform: translateX(-50%);
        /* 横方向中央寄せ */
        z-index: 100;
        width: 80%;
        max-width: 600px;
        border-radius: 8px;
    }

    .video_box {
     position: absolute;
        top: 43%;
        left: 50%;
        transform: translateX(-50%);
        z-index: 99;
        width: 85%;
        max-width: 600px;
        border-radius: 8px;
        background-color: #000000;
    }

    .video_box video {
        width: 100%;
        height: 200px;
        display: block;
        object-fit: contain;
        /* 必要なら */
        border-radius: 8px;
    }


    .mobile-scroll .scroll-hint-icon-wrap {
        position: absolute !important;
        top: -40% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }


    .table-scroll .scroll-hint-icon-wrap {
        position: absolute !important;
        top: -45% !important;
        left: 20% !important;
        transform: translateX(-50%) !important;
    }


}

/*----------------------------------------*/