.sectionTitlePage {
    overflow: hidden;
}
.sectionTitlePage .wrapTitlePage .characterPageTitle {
    bottom: -21px;
    right: -79px;
    width: 232px;
}

.sectionBooking {
    background: #ffffff;
    padding: 53px 0 99px;
}

.sectionBooking .inner {
    max-width: 1018px;
}

.sectionBooking .contentBooking {}

.sectionBooking .wrapBooking {
    background: #e50011 url('../images/flow/bg-booking-photo.png') repeat center center/100%;
    position: relative;
    padding: 85px 52px 43px;
    border-radius: 11px;
    margin-bottom: 97px;
}

.sectionBooking .wrapBooking:last-child {
    margin-bottom: 0;
}

.sectionBooking .contentBooking .iframeBooking {
    margin-bottom: 92px;
}

.sectionBooking .wrapBooking .titleBooking {
    display: block;
    background: #e50011;
    font-size: 43px;
    font-weight: 900;
    color: #ffffff;
    text-align: center;
    width: 336px;
    padding: 2px 10px;
    position: absolute;
    border-radius: 50px;
    top: -37px;
    left: 49.3%;
    transform: translateX(-50%);
    letter-spacing: 1.9px;
}

.sectionBooking .wrapBooking .listBooking {}

.sectionBooking .wrapBooking .listBooking>li {
    background: #ffffff;
    border-radius: 5px;
    box-shadow: 8px 8px 0 rgba(0, 0, 0, 1);
    padding: 0;
    position: relative;
    margin-bottom: 88px;
}

.sectionBooking .wrapBooking .listBooking>li:last-child {
    margin-bottom: 0;
}

.sectionBooking .wrapBooking .listBooking>li:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 37px solid transparent;
    border-right: 37px solid transparent;
    border-top: 31px solid #fff000;
    bottom: -65px;
    left: 50%;
    transform: translateX(-50%);
}

.sectionBooking .wrapBooking .listBooking>li:last-child:after {
    display: none;
}

.sectionBooking .wrapBooking .listBooking>li .numberBooking {
    position: absolute;
    top: -32px;
    left: -30px;
    width: 87px;
    z-index: 1;
}

.sectionBooking .wrapBooking .listBooking>li .numberBooking img {
    width: 100%;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem {
    width: 65%;
    padding: 33px 0 34px 59px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem {
    display: flex;
    position: relative;
    margin-bottom: 15px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .titleBookingItem {
    font-size: 23px;
    font-weight: 900;
    color: #e50011;
    width: auto;
    max-width: calc(100% - 90px);
    line-height: 1.25;
    letter-spacing: 2px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem:not(:has(.txtCompleted)) .titleBookingItem {
    width: 100%;
    max-width: 100%;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .txtCompleted {
    width: 86px;
    position: absolute;
    top: -21px;
    right: 4px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .txtCompleted img {
    width: 100%;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .txtBookingItem {
    font-size: 13px;
    font-weight: bold;
    text-align: justify;
    line-height: 1.37;
    margin-bottom: 25px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem:not(:has(.listBtnBooking)) .txtBookingItem {
    margin-bottom: 0;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .txtBookingItem .txtBookingItemColRed {
    color: #e50011;
    letter-spacing: 1.3px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking {
    display: flex;
    justify-content: flex-start;
    margin-left: -10px;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li {
    width: 46.6%;
    margin-right: 16px;
    margin-right: 2.9%;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li:nth-child(2) {
    margin-right: 0;
    width: 49.5%;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a {
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    background: #e50011;
    border-radius: 20px;
    display: block;
    padding: 5px 10px 5.5px;
    letter-spacing: 1.5px;
    position: relative;
    overflow: hidden;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a:after {
    content: "";
    position: absolute;
    background: url('../images/flow/icon-arrow-booking.svg');
    background-size: 100%;
    width: 26px;
    height: 26px;
    right: 8px;
    top: 49%;
    transform: translateY(-50%);
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a .txtBtnBooking {
    padding: 0 26px 0 10px;
    display: inline-block;
    position: relative;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto {
    width: 31.6%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto picture {
    display: block;
    width: 100%;
    height: 100%;
}

.sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto img {
    width: 100%;
    height: 100%;
    /* aspect-ratio: 276/283; */
    /* max-height: 283px; */
    object-fit: cover;
    object-position: center;
    border-radius: 0 5px 5px 0;
}

.sectionBooking .wrapBookingGreen {
    background-color: #02b145;
}

.sectionBooking .wrapBookingGreen .titleBooking {
    background: #02b145;
}

.sectionBooking .wrapBookingGreen .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .titleBookingItem {
    color: #02b145;
}

@media (max-width: 1000px) and (min-width: 769px) {
    .sectionBooking .wrapBooking {
        padding: 8.5vw 5.2vw 4.3vw;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem {
        padding: 3.1vw 0 2.8vw 5.9vw;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a:after {
        width: 2.6vw;
        height: 2.6vw;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a .txtBtnBooking {
        padding: 0 2.6vw 0 1vw;
    }
}

@media (max-width: 900px) and (min-width: 769px) {
    .sectionBooking .wrapBooking {
        padding: 76px 46px 46px;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem {
        flex-direction: column;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem {
        width: 100%;
        padding: 31px 59px 28px 59px;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking {
        margin-left: auto;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto {
        width: 100%;
        position: initial;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto img {
        max-height: 375px;
        border-radius: 0 0 5px 0;
    }
}

@media (min-width: 769px) {
    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a {
        position: relative;
    }
    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a:hover {
        color: #e50011;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a:before {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 0;
        height: 100%;
        background-color: #fff100;
        transition: all 0.4s;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a:hover:before {
        width: 100%;
        left: 0;
        right: auto;
    }
}

@media (max-width: 768px) {
    .sectionTitlePage .wrapTitlePage .characterPageTitle {
        width: clamp(96px, 28.3vw, 212px);
        right: clamp(-8px, -7.1vw, -25px);
        bottom: clamp(-14px, -1.9vw, -4px);
    }

    .sectionBooking {
        padding: clamp(50px, 15.8vw, 118px) 0 clamp(70px, 19vw, 142px);
    }

    .sectionBooking .inner {
        padding: 0;
    }

    .sectionBooking .contentBooking {}

    .sectionBooking .wrapBooking {
        border-radius: 0;
        margin-bottom: clamp(100px, 28vw, 210px);
        background-color: #d61518;
        padding: clamp(50px, 14.3vw, 107px) clamp(15px, 5.2vw, 39px) clamp(45px, 12.2vw, 91px);
    }

    .sectionBooking .wrapBooking:last-child {
        margin-bottom: 0;
    }

    .sectionBooking .contentBooking .iframeBooking {
        margin-bottom: clamp(45px, 13.1vw, 98px);
    }

    .sectionBooking .wrapBooking .titleBooking {
        font-size: clamp(24px, 6.4vw, 48px);
        width: clamp(223px, 59.7vw, 447.5px);
        padding: 13px 10px;
        top: clamp(-49px, -6.6vw, -29px);
        left: 49.9%;
        letter-spacing: 1.9px;
        background: #d61518;
    }

    .sectionBooking .wrapBooking .listBooking {}

    .sectionBooking .wrapBooking .listBooking>li {
        border-radius: 5px;
        box-shadow: clamp(7px, 2vw, 15px) clamp(7px, 1.9vw, 14px) 0 rgba(0, 0, 0, 1);
        padding: 0;
        position: relative;
        margin-bottom: clamp(50px, 14vw, 105px);
    }

    .sectionBooking .wrapBooking .listBooking>li:last-child {
        margin-bottom: 0;
    }

    .sectionBooking .wrapBooking .listBooking>li:after {
        border-left-width: clamp(23px, 5vw, 37px);
        border-right-width: clamp(23px, 5vw, 37px);
        border-top-width: clamp(17px, 4.2vw, 31px);
        bottom: clamp(-75px, -10vw, -38px);
    }

    .sectionBooking .wrapBooking .listBooking>li:last-child:after {
        display: none;
    }

    .sectionBooking .wrapBooking .listBooking>li .numberBooking {
        width: clamp(84px, 17.1vw, 128px);
        top: clamp(-43px, -5.8vw, -33px);
        left: clamp(-27px, -3.6vw, -17px);
        z-index: 1;
    }

    .sectionBooking .wrapBooking .listBooking>li .numberBooking img {}

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem {
        flex-direction: column-reverse;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem {
        width: 100%;
        padding: clamp(20px, 5.8vw, 42px) clamp(20px, 5.4vw, 40px) clamp(15px, 5vw, 37px) clamp(20px, 5.5vw, 39px);
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem {
        position: initial;
        margin-bottom: clamp(16px, 4.3vw, 32px);
        display: block;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .titleBookingItem {
        max-width: 100%;
        line-height: 1.09;
        letter-spacing: clamp(1px, 0.46vw, 3.5px);
        font-size: clamp(18px, 4.8vw, 36px);
        color: #d61518;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem:not(:has(.txtCompleted)) .titleBookingItem {
        width: 100%;
        max-width: 100%;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .txtCompleted {
        top: clamp(10px, 2.9vw, 22px);
        right: clamp(10px, 2.9vw, 20px);
        width: clamp(70px, 18.7vw, 140px);
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .txtCompleted img {}

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .txtBookingItem {
        font-size: clamp(14px, 3.8vw, 28px);
        line-height: 1.44;
        margin-bottom: 26px;
        letter-spacing: 0px;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem:not(:has(.listBtnBooking)) .txtBookingItem {
        margin-bottom: 0;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .txtBookingItem .txtBookingItemColRed {
        color: #e50011;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking {
        margin-left: auto;
        flex-direction: column;
        justify-content: center;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 23px;
        margin-bottom: clamp(15px, 3.1vw, 23px);
    }
    
    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li:nth-child(2),
    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li:last-child {
        margin-right: 0;
        width: 100%;
        margin-bottom: 0;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a {
        font-size: clamp(16px, 4.3vw, 32px);
        border-radius: 40px;
        letter-spacing: clamp(2px, 0.8vw, 5.5px);
        background: #d61518;
        padding: clamp(10px, 1.8vw, 13px) clamp(8px, 1.4vw, 10px) clamp(12px, 1.9vw, 14px);
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a:after {
        width: clamp(26.5px, 7.1vw, 53px);
        height: clamp(26.5px, 7.1vw, 53px);
        right: clamp(10px, 3.1vw, 23px);
        top: 48%;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a .txtBtnBooking {
        padding: 0 16px 0 18px;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto {
        width: 100%;
        position: initial;
        align-self: initial;
    }

    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .bookingItemPhoto img {
        aspect-ratio: 673/401;
        border-radius: 0 5px 0 0;
    }

    .sectionBooking .wrapBookingGreen {
        background-color: #1aa746;
    }

    .sectionBooking .wrapBookingGreen .titleBooking {
        background: #1aa746;
    }

    .sectionBooking .wrapBookingGreen .listBooking>li .wrapBookingItem .boxBookingItem .boxTitleBookingItem .titleBookingItem {
        color: #1aa746;
    }
    .sectionBooking .wrapBtn {
        padding: 0 4.9%;
        max-width: calc(clamp(337.5px, 90vw, 675px) + 9.8%);
    }
    .sectionBooking .wrapBtn .boxBtn {
        padding-left: clamp(50px, 18.5vw, 137px);
    }
    .sectionBooking .wrapBtn .characterBtn {
        left: clamp(20px, 5.6vw, 42px);
        width: clamp(77px, 22.6vw, 167px);
        bottom: clamp(-21px, -2.8vw, -8px);
    }
    .sectionBooking .wrapBtn .txtBtnSpecial {
        color: #231815;
        padding-left: clamp(10px, 3vw, 30px);
    }
}

@media (max-width: 430px) {
    .sectionTitlePage .wrapTitlePage .characterPageTitle {
        right: -6.7vw;
    }

    .sectionBooking .wrapBooking {
        margin-bottom: 80px;
    }
    .sectionBooking .wrapBooking .listBooking>li .wrapBookingItem .boxBookingItem .listBtnBooking li a {
        letter-spacing: 0;
    }
}