@charset "utf-8";

body {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 18px;
    font-feature-settings: "palt";
    color: #684517;
    width: 100%;
    margin: 0 auto;
    word-wrap: break-word;
}

header {
    background: url(../images/bg_header.jpg) repeat-x top center;
    width: 100%;
    height: 500px;
    padding-top: 100px;

    h1 {
        text-align: center;

        img{
            width: 90%;
            max-width: 590px;
        }
    }

    #band {
        background: url(../images/bg_band.png) repeat-x top center;
        width: 100%;
        height: 130px;
        margin-top: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 20px;

        .right {
            font-family: "Noto Serif SC", serif;
            font-size: 18px;
            font-optical-sizing: auto;
            font-weight: 500;
            font-style: normal;
            color: #684517;
            line-height: 1.3;
            letter-spacing: -0.05em;

            img {
                margin-right: 5px;
                vertical-align: sub;
            }

            span {
                font-family: "Zen Old Mincho", serif;
                font-size: 38px;
                font-weight: 900;
                font-style: normal;
                vertical-align: sub;
            }
        }
    }
}

a {
    text-decoration: none;
}

li {
    list-style: none;
}

img {
    vertical-align: top;
}

h2 {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 60px;
    font-weight: normal;
    font-style: normal;
    color: #a08563;
    background: url(../images/bg_heading.jpg) no-repeat top center #e4ddc3;
    width: 100%;
    height: 103px;
    padding: 0 10px;
    line-height: 1.717;
    text-shadow: 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff, 2px 2px 8px #fff, -2px 2px 8px #fff, 2px -2px 8px #fff, -2px -2px 8px #fff;

    span {
        display: inline-block;
    }
}

#tracking {
    position: fixed;
    bottom: 10dvh;
    right: 0;
    z-index: 10;
}

footer {
    font-size: 20px;
    padding: 20px 0;
    text-align: center;
}

@media (width <=640px) {
    header {
        height: 78.125vw;
        padding-top: 15.625vw;

        h1 img {
            width: 80vw;
        }

        #band {
            height: 20.313vw;
            margin-top: 4.688vw;
            gap: 0 3.125vw;

            .left img {
                width: 27.5vw;
            }

            .right {
                font-size: 2.813vw;

                img {
                    width: 6.2vw;
                    margin-right: 0.781vw;
                }

                span {
                    font-size: 5.938vw;
                }
            }
        }
    }

    h2 {
        font-size: 9.375vw;
        height: 16.094vw;
        padding: 0 1.563vw;
        background-size: cover;
    }

    #tracking {
        a img {
            width: 46.875vw;
        }
    }

    footer {
        font-size: 3.125vw;
        padding: 3.125vw 0;
    }
}

/****************** enter ******************/
#enter {
    #concept {
        background: url(../images/bg_concept.png) repeat top center;
        padding-bottom: 30px;

        .bg-box{
            background: #dac6a8;

            .box {
                width: 100%;
                max-width: 640px;
                margin: 0 auto;
                padding: 30px;
                color: #684517;

                h3 {
                    font-size: 28px;
                    line-height: 1.3;

                    img {
                        margin-bottom: 10px;
                    }
                }

                .pink {
                    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
                    font-size: 24px;
                    font-weight: bold;
                    color: #ff4799;
                    line-height: 1.3;
                }

                .text {
                    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
                    font-size: 16px;
                    line-height: 1.8;
                }
            }

        }
    }

    #guide {
        ul {
            width: 100%;
            max-width: 640px;
            margin: 60px auto 0;
            padding: 0 10px;
            display: flex;
            justify-content: space-between;

            li:first-child {
                font-family: "Lusitana", serif;
                font-size: 40px;
                font-weight: 400;
                font-style: italic;
                color: #684517;
                background: #dac6a8;
                width: 100px;
                height: 100px;
                padding-top: 8px;
                border-radius: 50%;
                text-align: center;
                line-height: 1;
                position: relative;

                span {
                    font-size: 20px;
                    font-style: normal;
                }
            }

            li:nth-child(2) {
                font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
                width: calc(100% - 130px);

                .pink {
                    font-size: 20px;
                    color: #ee251d;
                    line-height: 1.5;
                }

                .text {
                    font-size: 14px;
                }
            }
        }

        ul:first-of-type {
            margin-top: 80px;
        }
    }

    #terms {
        width: 100%;
        max-width: 640px;
        margin: 80px auto 0;
        border: #684517 1px solid;
        padding: 80px 30px 40px;

        h3 {
            font-family: "Playfair Display", serif;
            font-size: 40px;
            font-optical-sizing: auto;
            font-weight: 400;
            font-style: normal;
            text-align: center;
        }

        p {
            font-size: 18px;
            margin-top: 60px;
            line-height: 1.8;
            letter-spacing: 0.2em;

            span {
                padding-left: 1em;
                text-indent: -1.2em;
                display: block;
            }
        }
    }

    #play {
        font-family: "Prata", serif;
        font-size: 60px;
        font-weight: 400;
        font-style: normal;
        background: #996f3d;
        width: 100%;
        margin-top: 40px;
        text-align: center;
        line-height: 4;

        a {
            color: #fff;
            width: 100%;
            height: 100%;
            display: block;
        }
    }
}

@media (width <=640px) {
    #enter {
        #concept {
            padding-bottom: 4.688vw;

            .bg-box{
                .box {
                    margin: 0 auto;
                    padding: 4.688vw;

                    h3 {
                        font-size: 4.1vw;

                        img {
                            width: 33.75vw;
                            margin-bottom: 1.563vw;
                        }
                    }

                    .pink {
                        font-size: 3.75vw;
                    }

                    .text {
                        font-size: 2.5vw;
                        margin-top: 1.563vw;
                    }
                }
            }
        }

        #guide {
            ul {
                margin: 9.375vw auto 0;
                padding: 0 1.563vw;

                li:first-child {
                    font-size: 6.25vw;
                    width: 15.625vw;
                    height: 15.625vw;
                    padding-top: 1.25vw;

                    span {
                        font-size: 3.125vw;
                    }
                }

                li:nth-child(2) {
                    width: calc(100% - 20.313vw);

                    .pink {
                        font-size: 3.125vw;
                    }

                    .text {
                        font-size: 2.188vw;
                    }
                }
            }

            ul:first-of-type {
                margin-top: 12.5vw;
            }
        }

        #terms {
            margin: 12.5vw auto 0;
            padding: 12.5vw 3.125vw 6.25vw;

            h3 {
                font-size: 6.25vw;
            }

            p {
                font-size: 2.813vw;
                margin-top: 9.375vw;
            }
        }

        #play {
            font-size: 9.375vw;
            margin-top: 6.25vw;
        }
    }
}

/****************** enter ******************/

/****************** top ******************/
#top {
    #waiting {
        .text {
            font-family: "Playfair Display", serif;
            font-size: 23px;
            font-optical-sizing: auto;
            font-weight: 400;
            margin: 30px 0;
            text-align: center;
        }

        .box {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;

            li {
                width: calc(100% / 3);
                border: #a0a0a0 1px solid;

                .thumb {
                    a {
                        display: block;
                        position: relative;

                        .image {
                            width: 100%;
                        }

                        .icon-new {
                            position: absolute;
                            left: 0;
                            bottom: 0;
                        }
                    }
                }

                .name {
                    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
                    font-size: 20px;
                    font-weight: bold;
                    margin-top: 5px;
                    line-height: 1.5;
                    text-align: center;

                    span {
                        font-family: "Playfair Display", serif;
                        font-size: 16px;
                        font-optical-sizing: auto;
                        font-weight: 400;
                        margin-left: 5px;
                    }
                }

                .size {
                    font-family: 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
                    font-size: 16px;
                    text-align: center;
                }

                .time-waiting {
                    background: url(../images/bg_time_waiting.jpg) repeat top center;
                    margin-top: 5px;
                    padding-top: 3px;

                    .time-wrap {
                        width: 100%;

                        p {
                            font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
                            font-size: 22px;
                            background: url(../images/bg_time.jpg) no-repeat left top / cover;
                            width: 100%;
                            text-align: center;
                            line-height: 1.5;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            gap: 0 5px;
                        }
                    }

                    .waiting {
                        font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
                        font-size: 20px;
                        color: #000;
                        background: repeating-linear-gradient(-45deg, #f7e2c7 0, #f7e2c7 3px, #fff 3px, #fff 5px);
                        text-align: center;
                    }
                }
            }
        }
    }

    #fee {
        margin-top: 30px;

        .box {
            background: url(../images/system_bg_top.png) no-repeat left top / 23.05vw, url(../images/system_bg_bottom.png) no-repeat right bottom / 18.5vw, linear-gradient(to top, #c7a981, #fffff4 50%, #c7a981);
            width: 100%;
            max-width: 670px;
            margin: 30px auto 0;
            padding: 10px;
            border: #a7a7a7 1px solid;

            .inner{
                background-color: #fff;
                overflow: hidden;
                padding-bottom: 30px;

                .text {
                    font-size: 20px;
                    text-align: center;
                    line-height: 1.8;
                    margin: 1em 1em 0.5em 1em;
                }

                h3 {
                    font-family: "Playfair Display", serif;
                    font-size: 24px;
                    font-weight: 400;
                    margin: 24px auto 0;
                    position: relative;
                    color: #fff;
                    background-color: #996f3d;
                    font-style: italic;
                    text-align: center;
                    line-height: 2em;
                }

                .one-box {
                    width: 560px;
                    margin: 30px auto 0;

                    h3 {
                        font-size: 30px;
                        font-weight: normal;
                        font-style: italic;
                        color: #ff4799;
                        width: fit-content;
                        margin: 0 auto;
                        position: relative;
                    }

                    h3::before {
                        content: '';
                        background: url(../images/star.png) no-repeat left top/cover;
                        width: 131px;
                        height: 67px;
                        position: absolute;
                        left: -161px;
                        top: -25%;
                    }

                    h3::after {
                        content: '';
                        background: url(../images/star.png) no-repeat left top/cover;
                        width: 131px;
                        height: 67px;
                        position: absolute;
                        right: -161px;
                        top: -25%;
                    }

                    ul {
                        width: 100%;
                        margin: 20px auto 0;
                        display: flex;
                        gap: 10px 0;
                        flex-wrap: wrap;

                        li {
                            font-family: "Prata", serif;
                            font-size: 24px;
                            font-weight: 400;
                            font-style: italic;
                            width: 100%;
                            text-align: center;

                            span {
                                font-size: 34px;
                                color: #ee251d;
                                margin-left: 20px;
                            }
                        }
                    }

                    p {
                        font-family: "Prata", serif;
                        font-size: 24px;
                        font-weight: 400;
                        font-style: italic;
                        margin-top: 10px;
                        text-align: center;

                        span {
                            font-size: 34px;
                            color: #ff4799;
                            margin-left: 20px;
                        }
                    }
                }

                .one-box:nth-of-type(n+2) {
                    padding-top: 40px;
                    border-top: #acabab 1px solid;
                }
            }
        }

        .other {
            background: url(../images/bg_fee_01.png) no-repeat left top / 200px, url(../images/bg_fee_02.png) no-repeat right bottom / 200px;
            width: 100%;
            max-width: 670px;
            margin: 30px auto 0;
            padding: 20px 0 30px;
            border: #a7a7a7 1px solid;
            text-align: center;

            h3 {
                font-size: 33px;
                font-weight: normal;
            }

            .text-01 {
                font-size: 20px;
                font-style: italic;
                margin-top: 10px;

                span {
                    font-size: 30px;
                    color: #ee251d;
                    margin-left: 10px;
                }
            }

            .text-02 {
                font-size: 18px;
                font-style: italic;
                margin-top: 10px;
                line-height: 1.6;

                span {
                    color: #ee251d;
                    font-size: 1.4em;
                }
            }
        }

        .basic-play {
            background: url(../images/bg_basic_play.jpg) no-repeat top center / cover;
            width: 100%;
            height: 320px;
            margin-top: 30px;
            padding-top: 80px;

            h3 {
                font-family: "Playfair Display", serif;
                font-size: 28px;
                font-optical-sizing: auto;
                font-weight: 400;
                color: #fff;
                text-align: center;
            }

            p {
                font-size: 20px;
                color: #fff;
                margin-top: 40px;
                text-align: center;
                line-height: 1.6;
            }
        }

        .option {
            background: url(../images/bg_fee_01.png) no-repeat left top / 200px, url(../images/bg_fee_02.png) no-repeat right bottom / 200px;
            width: 100%;
            max-width: 670px;
            margin: 30px auto 0;
            padding: 30px 40px 40px;
            border: #a7a7a7 1px solid;

            h3 {
                font-family: "Playfair Display", serif;
                font-size: 50px;
                font-optical-sizing: auto;
                font-weight: 400;
                width: fit-content;
                margin: 0 auto;
                position: relative;
            }

            ul {
                margin-top: 50px;
                display: flex;
                gap: 10px 15px;
                flex-wrap: wrap;

                li {
                    width: calc(27% - 10px);
                    text-align: right;
                    display: flex;
                    flex-direction: column;

                    .name {
                        font-size: 18px;
                        font-style: italic;
                        letter-spacing: -0.05em;
                        flex-grow: 1;
                    }

                    .amount {
                        font-family: "Prata", serif;
                        font-size: 34px;
                        font-weight: 400;
                        font-style: italic;
                        color: #ee251d;
                        letter-spacing: -0.025em;

                        span {
                            font-size: 16px;
                            display: block;
                        }
                    }
                }

                li:nth-child(3n) {
                    width: calc(40% - 10px);
                }

                li:nth-child(3n+2) {
                    width: calc(33% - 10px);
                }
            }

            .text {
                font-size: 18px;
                margin-top: 30px;
                text-align: center;
            }
        }

        .transportation {
            background: url(../images/bg_fee_01.png) no-repeat left top / 200px, url(../images/bg_fee_02.png) no-repeat right bottom / 200px;
            width: 100%;
            max-width: 670px;
            margin: 30px auto;
            padding: 30px 40px;
            border: #a7a7a7 1px solid;

            h3 {
                font-family: "Playfair Display", serif;
                font-size: 50px;
                font-optical-sizing: auto;
                font-weight: 400;
                text-align: center;
                line-height: 1.2;
            }

            ul {
                width: 100%;
                margin: 10px auto 0;
                padding-bottom: 10px;
                border-bottom: #000 1px solid;
                display: flex;
                align-items: center;
                gap: 0 20px;

                li:first-child {
                    font-size: 34px;
                    font-style: italic;
                    color: #ee251d;
                    width: 160px;
                    text-align: right;
                    line-height: 1;
                    letter-spacing: -0.025em;

                    span {
                        font-size: 16px;
                        display: block;
                    }
                }

                li:last-child {
                    font-size: 18px;
                    width: calc(100% - 180px);
                    letter-spacing: -0.05em;
                }
            }

            ul:first-of-type {
                margin-top: 50px;

                li:first-child {
                    font-size: 25px;
                    letter-spacing: -0.05em;
                }
            }

            ul:last-of-type {
                border-bottom: none;
            }
        }
    }
}

@media (768px <=width <=1200px) {
    #top {
        #waiting {
            .text {
                font-size: 1.917vw;
                margin: 2.5vw 0;
            }

            .box {
                li {
                    .thumb {
                        a {
                            .icon-new {
                                width: 8.333vw;
                            }
                        }
                    }

                    .name {
                        font-size: 1.667vw;
                        margin-top: 0.417vw;

                        span {
                            font-size: 1.333vw;
                            margin-left: 0.417vw;
                        }
                    }

                    .size {
                        font-size: 1.333vw;
                    }

                    .time-waiting {
                        margin-top: 0.417vw;
                        padding-top: 0.25vw;

                        .time-wrap {
                            p {
                                font-size: 1.833vw;
                                gap: 0 0.417vw;

                                svg {
                                    width: 2vw;
                                }
                            }
                        }

                        .waiting {
                            font-size: 1.667vw;
                        }
                    }
                }
            }
        }
    }
}


@media (width <=767px) {
    #top #waiting .box li {
        width: 50%;
    }
}

@media (width <=640px) {
    #top {
        #waiting {
            .text {
                font-size: 3.594vw;
                margin: 4.688vw 0;
            }

            .box {
                li {
                    .thumb {
                        a {
                            .icon-new {
                                width: 15.625vw;
                            }
                        }
                    }

                    .name {
                        font-size: 3.125vw;
                        margin-top: 0.781vw;

                        span {
                            font-size: 2.5vw;
                            margin-left: 0.781vw;
                        }
                    }

                    .size {
                        font-size: 2.5vw;
                    }

                    .time-waiting {
                        margin-top: 0.781vw;
                        padding-top: 0.469vw;

                        .time-wrap {
                            p {
                                font-size: 3.438vw;
                                gap: 0 0.781vw;

                                svg {
                                    width: 3.125vw;
                                }
                            }
                        }

                        .waiting {
                            font-size: 3.125vw;
                        }
                    }
                }
            }
        }

        #fee {
            margin-top: 4.688vw;

            .box {
                margin: 4.688vw auto 0;
                padding: 10px;

                .inner{
                    background-color: #fff;
                    overflow: hidden;
                    padding-bottom: 4vw;

                    .text {
                        font-size: 3.125vw;
                    }

                    h3 {
                        font-size: 4.125vw;
                    }

                    h3::before {
                        width: 20.469vw;
                        height: 10.469vw;
                        left: -21.156vw;
                    }

                    h3::after {
                        width: 20.469vw;
                        height: 10.469vw;
                        right: -21.156vw;
                    }

                    .one-box {
                        width: 87.5vw;
                        margin: 4.688vw auto 0;

                        h3 {
                            font-size: 4.688vw;
                        }

                        ul {
                            margin: 3.125vw auto 0;
                            gap: 1.563vw 0;

                            li {
                                font-size: 3.75vw;

                                span {
                                    font-size: 5.313vw;
                                    margin-left: 3.125vw;
                                }
                            }
                        }

                        p {
                            font-size: 3.75vw;
                            margin-top: 1.563vw;

                            span {
                                font-size: 5.313vw;
                                margin-left: 3.125vw;
                            }
                        }
                    }

                    .one-box:nth-of-type(n+2) {
                        padding-top: 6.25vw;
                    }
                }
            }

            .other {
                background: url(../images/bg_fee_01.png) no-repeat left top / 30vw, url(../images/bg_fee_02.png) no-repeat right bottom / 30vw;
                margin: 4.688vw auto 0;
                padding: 6.125vw 0 7.688vw;

                h3 {
                    font-size: 5.156vw;
                }

                .text-01 {
                    font-size: 3.125vw;
                    margin-top: 1.563vw;

                    span {
                        font-size: 4.688vw;
                        margin-left: 1.563vw;
                    }
                }

                .text-02 {
                    font-size: 2.813vw;
                    margin-top: 1.563vw;
                }
            }

            .basic-play {
                height: 50vw;
                margin-top: 4.688vw;
                padding-top: 12.5vw;

                h3 {
                    font-size: 4.375vw;
                }

                p {
                    font-size: 3.125vw;
                    margin-top: 6.25vw;
                }
            }

            .option {
                background: url(../images/bg_fee_01.png) no-repeat left top / 30vw, url(../images/bg_fee_02.png) no-repeat right bottom / 30vw;
                margin: 4.688vw auto 0;
                padding: 4.688vw 6.25vw 6.25vw;

                h3 {
                    font-size: 7.813vw;
                }

                h3::before {
                    width: 20.469vw;
                    height: 10.469vw;
                    left: -25.156vw;
                }

                h3::after {
                    width: 20.469vw;
                    height: 10.469vw;
                    right: -25.156vw;
                }

                ul {
                    margin-top: 7.813vw;
                    gap: 1.563vw 2.344vw;

                    li {
                        width: calc(27% - 1.563vw);

                        .name {
                            font-size: 2.813vw;
                        }

                        .amount {
                            font-size: 5.313vw;

                            span {
                                font-size: 2.5vw;
                            }
                        }
                    }

                    li:nth-child(3n) {
                        width: calc(40% - 1.563vw);
                    }

                    li:nth-child(3n+2) {
                        width: calc(33% - 1.563vw);
                    }
                }

                .text {
                    font-size: 2.813vw;
                    margin-top: 4.688vw;
                }
            }

            .transportation {
                background: url(../images/bg_fee_01.png) no-repeat left top / 30vw, url(../images/bg_fee_02.png) no-repeat right bottom / 30vw;
                margin: 4.688vw auto;
                padding: 4.688vw 6.25vw;

                h3 {
                    font-size: 7.813vw;
                }

                ul {
                    margin: 1.563vw auto 0;
                    padding-bottom: 1.563vw;
                    gap: 0 3.125vw;

                    li:first-child {
                        font-size: 5.313vw;
                        width: 25vw;

                        span {
                            font-size: 2.5vw;
                        }
                    }

                    li:last-child {
                        font-size: 2.813vw;
                        width: calc(100% - 28.125vw);
                    }
                }

                ul:first-of-type {
                    margin-top: 7.813vw;

                    li:first-child {
                        font-size: 3.906vw;
                    }
                }
            }
        }
    }
}

/****************** top ******************/