.section_area {
    position: relative;
    padding: 5vmax 0 6vmax 0;
}

.section_area .area_title {
    position: relative;
    margin-bottom: 1em;
    padding-bottom: .9em;
    font-size: 2em;
    color: #0d2b41;
}

.section_area .area_title:before {
    position: absolute;
    width: .9em;
    height: .12em;
    background: var(--info);
    display: block;
    bottom: 0;
    left: 0;
    content: "";
}

.section_area .sub_title {
    font-weight: 600;
    font-size: 1.5em;
    color: #003057;
}

.section_area .more_btn {
    padding: .3em 2.5em 0.7em .5em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 15'%3E%3Cpath fill='%23444' d='M8.244 7.418L.626 14.274l-.51-.566L7.42 7.135.116.562l.51-.566 7.618 6.856-.255.283z'/%3E%3C/svg%3E") no-repeat 95% 45% / 7px 14px;
    border-bottom: 1px var(--g_300) solid;
    font-weight: 500;
    position: relative;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.section_area .more_btn:before {
    position: absolute;
    left: 0;
    bottom: -1px;
    content: "";
    width: 0;
    height: 1px;
    background-color: #055490;
}

.section_area .more_btn:hover {
    color: #055490;
    padding: .3em 3.5em 0.7em 0.5em;
}

.section_area .more_btn:hover:before {
    width: 100%;
}

.section_area .list_box {
    margin-top: 2vmax;
}

.section_area .list_box .item_row {
    margin: 0 1em;
}

.section_area .list_box .slick-dots {
    position: relative;
    margin: 1em 0;
    bottom: 0;
}

/* booking_box */
#booking_box {
    --booking-w: 1300px;
    position: relative;
    margin: -10% auto 0;
    width: min(100%, var(--booking-w));
    background: white;
    box-shadow: 0 0 1.5em rgb(0, 0, 0, 20%);
}

#booking_box .booking_tabs {
    padding: .5em 0;
    background: var(--primary);
    display: flex;
    justify-content: space-around;
    align-items: center;
}

#booking_box .booking_tabs li {
    display: flex;
    align-items: center;
    letter-spacing: .8em;
    font-size: 1.3em;
    color: white;
    opacity: .6;
    cursor: pointer;
}

#booking_box .booking_tabs li:before {
    margin-right: .5em;
    width: .5em;
    aspect-ratio: 1/1;
    background: white;
    border-radius: 50%;
    display: block;
    border: 3px white solid;
    content: "";
}

#booking_box .booking_tabs li.action {
    opacity: 1;
}

#booking_box .booking_tabs li.action:before {
    background: transparent;
}

#booking_box .booking_container {
    padding: 3em 7%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#booking_box .form_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2em 2.3em;
    align-items: end;
}

#booking_box .form_box label {
    margin-left: 0em;
    font-size: .9em;
}
#booking_box .form_box .madatabox{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#booking_box .form_box .form_item .madatabox input{
    border: none;
}

#booking_box .form_box.large_item {
    padding: 0;
}

#booking_box .form_box .form_item {
    border-bottom: 1px var(--g_200) solid;
    margin-bottom: 12px;
}

#booking_box .form_box .form_item input , #booking_box .form_box .form_item select {
    border: 0;
    border-radius: 0;
    color: #555555;
    font-weight: 300;
    border: #e2e2e2 1px solid;
    /* margin: 13px 0 0; */
}

#booking_box .form_box .send_box {
    display: flex;
    justify-content: end;
}

#booking_box .form_box .large_item.send_box {
    flex-direction: column;
    justify-content: center;
    grid-column: 1/4;
    border-bottom: none;
}

#booking_box .form_box .calendar {
    position: absolute;
    width: 1em;
    height: 1em;
    top: 51%;
    right: 1em;
    fill: var(--g_500);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

#booking_box .form_box .send_btn {
    padding: .4em .5em;
    width: 10em;
    background: var(--primary);
    display: block;
    text-align: center;
    color: white;
    cursor: pointer;
}

#booking_box .form_box .send_btn.large_btn {
    width: 100%;
}

#booking_box .book_process {
    margin-top: 1.2em;
    display: flex;
    align-items: center;
}

#booking_box .book_process * {
    font-size: 1.1em;
    color: var(--g_800);
}

#booking_box .book_process p {
    margin-right: .5em;
}

#booking_box .book_process font {
    display: flex;
    align-items: center;
}

#booking_box .book_process font:not(:last-child):after {
    margin: 0 .8em;
    width: 9px;
    height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 15'%3E%3Cpath fill='%23444' d='M8.244 7.418L.626 14.274l-.51-.566L7.42 7.135.116.562l.51-.566 7.618 6.856-.255.283z'/%3E%3C/svg%3E") no-repeat 50%;
    display: block;
    content: "";
}

/* boat_about */
.boat_about {
    position: relative;
    background: url(/images/00/img_about_bg.webp) no-repeat right 4vw;
}

.boat_about:before {
    position: absolute;
    width: 30%;
    height: 84%;
    background: var(--g_100);
    display: block;
    top: 6vmax;
    left: 0;
    opacity: 0.4;
    content: "";
}

/* about_area */
#about_area {
    margin-top: 2vmax;
    padding: 3vmax 0 5vmax;
}

#about_area .workframe_l, #cabin_area .workframe_l, #news_area .workframe_l {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

#about_area .media_box {
    position: relative;
    margin-right: 13%;
    padding-bottom: 5%;
    width: 55%;
}

#about_area .media_box .video_box {
    position: relative;
    z-index: 10;
}

#about_area .media_box .video_box video {
    width: 100%;
    height: 550px;
}

#about_area .media_box .video_box:before {
    position: absolute;
    height: 95%;
    aspect-ratio: 1/2;
    background: var(--primary);
    display: block;
    top: 10%;
    left: -4%;
    content: "";
    z-index: -1;
}

#about_area .media_box .video_box iframe {
    position: relative;
    width: 85%;
    aspect-ratio: 5/2.7;
    border: 0;
}

#about_area .media_box .img_box {
    position: absolute;
    right: -130px;
    bottom: 0;
    z-index: 10;
}

#about_area .info_box {
    padding-top: 5%;
    width: 1%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
}

#about_area .videoBtn {
    position: absolute;
    width: 109px;
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: Outfit;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: .5px;
    color: #043248;
    top: 90px;
    right: -160px;
    z-index: 30;
}

#about_area .videoBtn a {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#about_area .videoBtn .play {
    margin: 0 auto 5px;
    width: 12px;
    height: 10px;
    fill: none;
    stroke: #043248;
}

#about_area .videoBtn:before {
    position: absolute;
    width: 123px;
    height: 1px;
    background: #2f3841;
    display: block;
    top: 50%;
    left: -96%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
}

#about_area .videoBtn:after {
    position: absolute;
    border: 1px #043248 solid;
    border-radius: 50%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
}

#about_area .info_box small {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    right: 50px;
    letter-spacing: 8px;
    font-size: 18px;
}

#about_area .info_box small:after {
    content: "";
    width: 1px;
    height: 140px;
    display: block;
    background: #dfdfdf;
    position: absolute;
    top: 100%;
    left: 50%;
}

#about_area .info_box article {
    margin-bottom: 1em;
    width: min(100%, 24em);
}

/* cabin_area */
#cabin_area .about_cabin {
    width: 65%;
}

#cabin_area .cabin_item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 7%;
}

#cabin_area .cabin_item .item_info {
    padding: 7% 0;
}

#cabin_area .cabin_item .item_info article {
    margin-bottom: 1.5em;
    line-height: 2;
    font-size: 18px;
    color: #5b6166;
}

#cabin_area .cabin_item .item_info .btn_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .9em 1.5em;
}

#cabin_area .cabin_item .img_box img {
    width: 100%;
    height: 100%;
}

#cabin_area .cabin_item.show_bg {
    grid-template-columns: 1fr 30% 30%;
    gap: 0;
}

#cabin_area .cabin_item.show_bg .item_info {
    padding: 11% 10% 9% 13%;
}

#cabin_area .cabin_item.show_bg .item_info article {
    margin-bottom: 2.5em;
}

#cabin_area .cabin_item.show_bg .travelers {
    padding-top: 30%;
}

#cabin_area .cabin_item.show_bg .travelers img {
    width: 90%;
    height: 100%;
    object-position: bottom;
}

#cabin_area .cabin_item.show_bg .img_box img {
    height: 80%;
}

#cabin_area .bg_box {
    position: relative;
    width: 25%;
}

#cabin_area .bg_box img {
    position: relative;
    height: 100%;
}

#cabin_area .bg_box:before {
    position: absolute;
    width: 140%;
    height: 67%;
    background: var(--primary);
    display: block;
    right: -5vw;
    bottom: -3%;
    content: "";
}

/* news_area */
#news_area {
    padding-top: 0;
}

#news_area .workframe_l {
    margin-right: 0;
    margin-left: auto;
}

#news_area .workframe_l:before {
    position: absolute;
    width: 100%;
    height: 50%;
    background: #f6f6f6;
    display: block;
    bottom: 0;
    left: 8vw;
    content: "";
}

#news_area .title_box {
    position: relative;
    padding: 1% 0 0 4%;
    width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

#news_list {
    position: relative;
    width: 1%;
    flex: 1 1 auto;
    margin-top: 0vmax;
}

#news_list .newIcon {
    display: inline-block;
    padding: 10px 0 15px 0;
    border-radius: 0px;
    font-size: 17px;
    font-weight: 400;
    color: #0f1011;
}

#news_list .img_box {
    width: 100%;
    aspect-ratio: 4.5/3;
}

#news_list .info_box {
    margin-top: 1.2em;
}

#news_list .info_box .time {
    font-size: .9em;
    color: var(--g_500);
}

#news_list .info_box h3 {
    margin: .1em 0 0.8em;
    font-size: 22px;
    color: #003057;
    font-weight: 600;
}

#news_list .info_box article {
    margin-bottom: .5em;
    font-size: 1.2em;
    color: var(--g_600);
    padding-top: 10px;
    border-top: 1px solid #d2d2d2;
    height: auto;
}

#news_list .slick-prev {
    left: -200px;
    top: unset;
    bottom: 160px;
}

#news_list .slick-prev:before {
    content: url("/images/00/arrow-left.png");
    opacity: 1;
}

#news_list .slick-next {
    right: unset;
    left: -120px;
    top: unset;
    bottom: 160px;
}

#news_list .slick-next:before {
    content: url(/images/00/arrow-right.png);
    opacity: 1;
}

@media screen and (max-width: 1440px) {
    #booking_box {
        --booking-w: 1000px;
    }

    #booking_box .form_box {
        grid-template-columns: repeat(2, 1fr);
    }

    #booking_box .booking_tabs li {
        font-size: 1.1em;
    }

    #booking_box .form_box {
        gap: 0.5em 0.5em;
    }

    #booking_box .booking_container {
        padding: 1.0em 4%;
    }

    #about_area .info_box small {
        right: -10px;
    }

    #about_area .media_box {
        margin-right: 16%;
    }
}

@media screen and (max-width: 1280px) {
    .section_area .area_title {
        font-size: 1.8em;
        margin-bottom: .4em;
        padding-bottom: .4em;
    }

    .section_area .sub_title {
        font-size: 1.2em;
    }

    #booking_box .book_process * {
        font-size: 14px;
    }

    #news_area .title_box {
        padding: 1% 0 0 0%;
    }

    #news_area .workframe_l {
        margin: auto;
    }

    #news_area .workframe_l:before {
        left: 0;
    }

    #news_list .slick-prev {
        left: -280px;
        top: unset;
        bottom: 40px;
    }

    #news_list .slick-next {
        right: unset;
        left: -200px;
        top: unset;
        bottom: 40px;
    }

    #news_area {
        padding-top: 50px;
    }
}

@media screen and (max-width: 1160px) {
    #about_area .workframe_l, #cabin_area .workframe_l, #news_area .workframe_l {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #about_area .media_box {
        position: relative;
        margin-right: 13%;
        padding-bottom: 5%;
        width: auto;
    }

    #about_area .info_box {
        width: auto;
    }

    #about_area .info_box article {
        width: min(100%, 90%);
    }

    #cabin_area .about_cabin, #news_area .title_box, #news_list {
        width: 100%;
    }

    #news_area .title_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 50px;
    }

    #cabin_area .bg_box, #news_area .area_title:before {
        display: none;
    }

    #cabin_area .cabin_item.show_bg {
        margin-top: 40px;
    }
}

@media screen and (min-width: 1161px) {
    #photo_area .item_row:hover {
        border-color: var(--primary);
    }
}

@media screen and (min-width: 981px) {
    #booking_box .form_box .large_item {
        /* grid-column: 1/4; */
    }
    #booking_box .form_box .Departure_Date{
    grid-column: 1 / 3;
}
}

@media screen and (min-width: 769px) {
    #about_area .videoBtn:hover {
        color: transparent;
    }

    #about_area .videoBtn:hover .play {
        -webkit-transform: translate(2px, 15px) scale(1.5);
        transform: translate(2px, 15px) scale(1.5);
    }

    #about_area .videoBtn:hover:before {
        opacity: 0;
    }

    #about_area .videoBtn:hover:after {
        -webkit-transform: scale(.8);
        transform: scale(.8);
    }
}

@media screen and (max-width: 768px) {
    #about_area .img_box {
        width: 100%;
        max-width: inherit;
    }

    #about_area .info_box {
        order: 1;
    }

    #booking_box .book_process {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        margin: 10px 0;
        flex-wrap: wrap;
    }

    #booking_box .book_process p {
        width: 100%;
        margin: 20px 0 20px 0;
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 1.5px;
    }

    #booking_box .book_process font {
        margin-bottom: 7px;
        width: 50%;
        display: flex;
        justify-content: space-between;
    }
    #booking_box .form_box .form_item input, #booking_box .form_box .form_item select{
    width: 100%;
    padding: 1%;
}

    #about_area .media_box .img_box, #about_area .videoBtn {
        display: none;
    }

    #about_area .media_box .video_box video {
        height: 100%;
    }

    #about_area .media_box {
        margin-right: 0;
        padding-bottom: 5%;
    }
    #booking_box .form_box{grid-template-columns: repeat(1, 1fr);gap: 0.8em;}
    #booking_box .form_box .form_item{display: grid;}
    #booking_box .form_box .large_item.send_box{
    grid-column: 1 / 2;
    margin-top: 17px;
}
}

@media screen and (max-width: 640px) and (min-width: 551px) {
    #photo_area .item_row .img_box {
        width: 100%;
    }

    #photo_area .item_row .img_box img {
        width: 100%;
        aspect-ratio: 1/1;
    }

    #photo_area .item_row .info_box {
        margin: .5em 0 0;
        width: 100%;
    }
}

@media screen and (max-width: 550px) {
    #product_list {
        margin: 2vmax auto 0;
        width: min(100%, 350px);
    }

    #cabin_area .cabin_item {
        grid-template-columns: repeat(1, 1fr);
        gap: 0%;
    }

    #cabin_area .cabin_item.show_bg {
        display: flex;
        flex-direction: column;
        margin-top: 20px;
    }

    #cabin_area .cabin_item.show_bg .item_info {
        padding: 0% 0 9% 0;
    }

    #cabin_area .cabin_item.show_bg .travelers {
        display: none;
    }

    #news_area {
        padding-top: 0;
    }
    #booking_box{}
}
