/* ============== .reservationSec ============== */
.reservationSec
{
    margin-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec
    {
        margin-top: 10.41667vw;
    }
}

.reservationSec__reservation
{
    position: relative;
    z-index: 0;

    padding: 120px 0;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__reservation
    {
        padding: 6.25vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__reservation
    {
        padding: 10.66667vw 0;
    }
}

.reservationSec__reservation::before
{
    position: absolute;
    z-index: -1;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_reservation_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    inset: 0;
    mix-blend-mode: soft-light;
}

.reservationSec__reservation::after
{
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background: linear-gradient(105deg, #afcb9f 0%, #e2d39c 49.38%, #e5b276 100%);
}

.reservationSec__reserInner
{
    position: relative;
}

.reservationSec__reserInner::before
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 1758.25px;
    height: 191.75px;
    margin: auto;

    content: '';

    background-image: url(../images/txt_reservation_bg_en.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__reserInner::before
    {
        width: 91.57552vw;
        height: 9.98698vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__reserInner::before
    {
        width: 100%;
        height: auto;

        background-image: url(../images/txt_reservation_bg_en_sp.svg);
    }
}

.reservationSec__reserTtl
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 500;
    line-height: 1.5;

    position: relative;

    padding-top: 65.7px;

    letter-spacing: .15em;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__reserTtl
    {
        padding-top: 3.42188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__reserTtl
    {
        padding-top: 12.09333vw;
    }
}

.reservationSec__reserTtl::before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    width: 55.7px;
    height: 55.7px;
    margin: 0 auto;

    content: '';

    background-image: url(../images/ico_reservation_ttl.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__reserTtl::before
    {
        width: 2.90104vw;
        height: 2.90104vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__reserTtl::before
    {
        width: 10.76vw;
        height: 10.76vw;
    }
}

.reservationSec__reserTxt
{
    line-height: 2;

    margin-top: 40px;

    letter-spacing: .1em;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__reserTxt
    {
        margin-top: 2.08333vw;
    }
}

.reservationSec__reserBtn
{
    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    margin: 0 auto;
}

.reservationSec__reserBtn .c-contact__btn
{
    margin-top: 60px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__reserBtn .c-contact__btn
    {
        margin-top: 3.125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__reserBtn .c-contact__btn
    {
        margin-top: 8vw;
    }
}

.reservationSec__flow
{
    position: relative;
    z-index: 0;

    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flow
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flow
    {
        padding-top: 26.66667vw;
    }
}

.reservationSec__flow .c-ttl__enImg
{
    width: 250.25px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flow .c-ttl__enImg
    {
        width: 13.03385vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flow .c-ttl__enImg
    {
        width: 33.36667vw;
    }
}

.reservationSec__flow::before
{
    position: absolute;
    z-index: -1;
    top: -100px;
    left: -74px;

    width: 433px;
    height: 433px;

    content: '';

    background-image: url(../images/img_reservation_flow_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flow::before
    {
        top: -5.20833vw;
        left: -3.85417vw;

        width: 22.55208vw;
        height: 22.55208vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flow::before
    {
        top: -13.33333vw;
        left: -9.86667vw;

        width: 57.73333vw;
        height: 57.73333vw;
    }
}

.reservationSec__flow::after
{
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: -289px;

    width: 433px;
    height: 433px;

    content: '';

    background-image: url(../images/img_reservation_flow_bg_02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flow::after
    {
        bottom: -15.05208vw;

        width: 22.55208vw;
        height: 22.55208vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flow::after
    {
        bottom: -38.53333vw;

        width: 57.73333vw;
        height: 57.73333vw;
    }
}

.reservationSec__flowInner
{
    width: 1452px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowInner
    {
        width: 75.625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__flowInner
    {
        width: 100%;
    }
}

.reservationSec__flowCont
{
    margin-top: 40px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowCont
    {
        margin-top: 2.08333vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowCont
    {
        margin-top: 5.33333vw;
    }
}

.reservationSec__flowLead
{
    font-weight: 400;
    line-height: 2;
    letter-spacing: .1em;
}

.reservationSec__flowWrp
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 80px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowWrp
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowWrp
    {
            flex-direction: column;

        margin-top: 10.66667vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 10.66667vw;
    }
}

.reservationSec__flowItem
{
    position: relative;

    width: 420px;
    min-height: 403px;

    border-radius: 10px;
    background-color: rgba(255, 255, 255, .75);
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowItem
    {
        width: 21.875vw;
        min-height: 20.98958vw;

        border-radius: .52083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__flowItem
    {
        width: 27.34375vw;
        min-height: 27.34375vw;

        border-radius: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowItem
    {
        width: 82%;
        margin: 0 auto;
    }
}

.reservationSec__flowItem::before
{
    position: absolute;
    top: 0;
    right: -55.81px;
    bottom: 0;

    width: 16.31px;
    height: 42.37px;
    margin: auto 0;

    content: '';

    background-image: url(../images/ico_reservation_item_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowItem::before
    {
        right: -2.90677vw;

        width: .84948vw;
        height: 2.20677vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowItem::before
    {
        top: auto;
        right: 0;
        bottom: -7.33333vw;
        left: 0;

        width: 2.17467vw;
        height: 5.64933vw;
        margin: 0 auto;

        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }
}

.reservationSec__flowItem:last-child::before
{
    display: none;
}

.reservationSec__flowNum
{
    padding: 8px 0 7px;

    border-radius: 10px 10px 0 0;
    background-color: #8ea78d;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowNum
    {
        padding: .41667vw 0 .36458vw;

        border-radius: .52083vw .52083vw 0 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__flowNum
    {
        padding: .78125vw 0 .68359vw;

        border-radius: .97656vw .97656vw 0 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowNum
    {
        padding: 2.4vw 0 2.26667vw;

        border-radius: 1.33333vw 1.33333vw 0 0;
    }
}

.reservationSec__flowNum > img
{
    display: block;

    width: 83.17px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowNum > img
    {
        width: 4.33177vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__flowNum > img
    {
        width: 7.14551vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowNum > img
    {
        width: 16.42267vw;
    }
}

.reservationSec__flowIcon
{
    width: 82.02px;
    margin: 35.2px auto 0;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowIcon
    {
        width: 4.27187vw;
        margin: 1.83333vw auto 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowIcon
    {
        width: 10.936vw;
        margin: 4.69333vw auto 0;
    }
}

.reservationSec__flowIcon > img
{
    display: block;

    width: 100%;
}

.reservationSec__flowTtl
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 500;

    margin-top: 32.2px;

    letter-spacing: .05em;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowTtl
    {
        margin-top: 1.67708vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowTtl
    {
        margin-top: 4.29333vw;
    }
}

.reservationSec__flowTxt
{
    font-weight: 400;
    line-height: 2;

    margin-top: 17.2px;
    padding: 0 32px;

    text-align: left;
    letter-spacing: .1em;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__flowTxt
    {
        margin-top: .89583vw;
        padding: 0 1.66667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__flowTxt
    {
        margin-top: 2.29333vw;
        padding: 0 4.26667vw 5.33333vw;
    }
}

.reservationSec__info
{
    position: relative;

    padding: 200px 0;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__info
    {
        padding: 10.41667vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__info
    {
        padding: 26.66667vw 0;
    }
}

.reservationSec__info .c-ttl__enImg
{
    width: 649.71px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__info .c-ttl__enImg
    {
        width: 33.83906vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__info .c-ttl__enImg
    {
        width: 86.628vw;
    }
}

.reservationSec__info::before
{
    position: absolute;
    top: 310px;
    left: 47px;

    width: 378px;
    height: 378px;

    content: '';

    background-image: url(../images/img_reservation_info_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__info::before
    {
        top: 16.14583vw;
        left: 2.44792vw;

        width: 19.6875vw;
        height: 19.6875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__info::before
    {
        top: 33.33333vw;
        left: -16vw;

        width: 50.4vw;
        height: 50.4vw;
    }
}

.reservationSec__infoInner
{
    width: 1452px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__infoInner
    {
        width: 75.625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoInner
    {
        width: 100%;
    }
}

.reservationSec__infoCont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 82px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__infoCont
    {
        margin-top: 4.27083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoCont
    {
        margin-top: 6.83594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__infoCont
    {
            flex-direction: column;

        margin-top: 9.33333vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 5.33333vw;
    }
}

.reservationSec__infoTxt
{
    font-weight: 400;
    line-height: 2;

    text-align: left;
    letter-spacing: .1em;
}

.reservationSec__infoCheckWrp
{
    width: 916.92px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__infoCheckWrp
    {
        width: 47.75625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoCheckWrp
    {
        width: 52.75625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__infoCheckWrp
    {
        width: 100%;
    }
}

.reservationSec__infoItem
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 38px 0 38px 48px;

    border-top: 1px dashed #9d754d;

    gap: 20px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__infoItem
    {
        padding: 1.97917vw 0 1.97917vw 2.5vw;

        border-top: .05208vw dashed #9d754d;

        gap: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoItem
    {
        padding: 2.73438vw 0 2.73438vw 2.73438vw;

        border-top: .09766vw dashed #9d754d;

        gap: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__infoItem
    {
        padding: 5.06667vw 0 5.06667vw 0vw;

        border-top: .13333vw dashed #9d754d;

        gap: 2.66667vw;
    }
}

.reservationSec__infoItem:last-child
{
    border-bottom: 1px dashed #9d754d;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__infoItem:last-child
    {
        border-bottom: .05208vw dashed #9d754d;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoItem:last-child
    {
        border-bottom: .09766vw dashed #9d754d;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__infoItem:last-child
    {
        border-bottom: .13333vw dashed #9d754d;
    }
}

.reservationSec__infoItemTxt
{
    font-weight: 400;
    line-height: 1.8;

    text-align: left;
    letter-spacing: .1em;
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoItemTxt
    {
        width: calc(100% - 22.5/1024*100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__infoItemTxt
    {
        width: calc(100% - 32.5/750*100vw);
    }
}

.reservationSec__infoIcon
{
    width: 22.5px;
}

@media print, screen and (max-width: 1920px)
{
    .reservationSec__infoIcon
    {
        width: 1.17188vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .reservationSec__infoIcon
    {
        width: 2.19727vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .reservationSec__infoIcon
    {
        width: 4.33333vw;
        margin: auto 0;
    }
}

.reservationSec__infoIcon > img
{
    display: block;

    width: 100%;
}