@import './common.css';

/*----gallery----*/
.ly_mainCont {
    display: flex;
    justify-content: space-between;
    gap: 32px;
}

@media screen and (max-width: 768px) {
    .ly_mainCont {
        flex-direction: column;

        gap: 24px;
    }
}

.ly_productImgs {
    width: calc(100% - 32px - 398px);
    max-width: 375px;
}

.ly_productImgs img {
    width: 100%;
    height: auto;
}

.bl_productImg_wrapper {
    width: 100%;
    margin-bottom: 24px;
}

.bl_productImg_gallery {
    gap: 8px;
}

.bl_productImg_gallery {
    display: flex;
    flex-wrap: wrap;
}

.bl_productImg_gallery_imgWrapper {
    width: calc((100% - 8px * 2)/3);
}

/*----slick----*/
.bl_productImg_wrapper {
    position: relative;
}

.slick-prev,
.slick-next {
    position: absolute;
    z-index: 2;
    top: 50%;

    display: flex;
    align-items: center;

    width: 45px;
    height: 45px;
    padding: 16px 17px;

    content: url(../image/common/arrow_white.svg);
    text-align: center;

    border-radius: 22.5px;
    background-color: var(--main);
}

.slick-prev::before,
.slick-next::before {
    color: transparent !important;
}

.slick-prev:hover,
.slick-next:hover {
    background: var(--main) !important;
}

.slick-prev {
    left: 0;

    transform: translateY(-53%) translateX(-59%) rotate(180deg);
}

.slick-next {
    right: 0;

    transform: translateY(-53%) translateX(59%);
}

@media screen and (max-width: 1138px) {
    .ly_productImgs {
        min-width: 231px;
    }
}

@media screen and (max-width: 768px) {
    .ly_productImgs {
        width: unset;
        margin: 0 auto;
    }

    .bl_productImg_wrapper.bl_productImg_wrapper__slider {
        width: unset;
        margin-right: 27px;
        margin-bottom: 14px;
        margin-left: 27px;
    }

    .bl_productImg_gallery {
        gap: 7px;
        column-gap: 8px;
    }

    .bl_productImg_galleryImgWrapper {
        width: calc((100% - 8px * 2)/3);
    }
}

@media screen and (max-width: 520px) {
    .ly_productImgs {
        width: calc(100% - 20px);
    }
}


/*----txtColumn----*/
.ly_txtColumn {
    width: 398px;
    margin-bottom: 96px;
}

@media screen and (max-width: 1138px) {
    .ly_txtColumn {
        width: unset;
    }
}

@media screen and (max-width: 768px) {
    .ly_txtColumn {
        margin-right: 10px;
        margin-bottom: 48px;
        margin-left: 10px;
    }
}

.cb_product_ttl {
    font-size: 2rem;
    font-weight: 600;
    line-height: 3rem;

    margin-bottom: 10px;

    letter-spacing: .02em;
}

.el_product_notice {
    font-size: 1.4rem;
    line-height: 2.1rem;

    text-align: justify;
    letter-spacing: .05em;
}

.bl_productInfo {
    margin-bottom: 48px;
}

.bl_productInfo_subTtl {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 2.8rem;

    margin-bottom: 12px;

    letter-spacing: .05em;
}

.bl_productInfo_subTtl.bl_productInfo_subTtl__mb16 {
    margin-bottom: 16px;
}

.cb_productCont {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;

    margin-bottom: 13px;

    text-align: justify;
    letter-spacing: .02em;
}

.cb_productCont__mb24 {
    margin-bottom: 24px;
}

.cb_productCont.cb_productCont__prepare {
    margin-bottom: 24px;
    padding-right: 29px;

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

.cb_productCont.cb_productCont__notice {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.1rem;

    letter-spacing: .05em;
}

@media screen and (max-width: 768px) {
    .cb_product_ttl {
        font-size: 1.8rem;
        line-height: 3rem;

        margin-bottom: 1px;
    }

    .bl_productInfo_subTtl.bl_productInfo_subTtl__mb16 {
        margin-bottom: 14px;
    }

    .bl_productInfo_subTtl.bl_productInfo_subTtl__spMl0 {
        margin-left: 0;
    }


    .cb_productCont {
        margin-right: 27px;
        margin-left: 27px;
    }


    .cb_productCont.cb_productCont__prepare {
        font-size: 1.4rem;
        line-height: 2.4rem;

        padding-right: 0;
    }

    .cb_productCont.cb_productCont__notice {
        line-height: 2.4rem;

        margin-right: 0;
        margin-left: 0;
    }


    .cb_productCont.cb_productCont__spMb22 {
        margin-bottom: 22px;
    }

    .el_product_notice {
        line-height: 2.4rem;
    }
}

.bl_productInfo_list {
    width: 100%;
    margin-bottom: 46px;

    border: 1px solid var(--rentalBorder);
}

.bl_productInfo_item {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 2.8rem;

    padding: 12px 0 10px;

    text-align: center;
    letter-spacing: .05em;
}

.bl_productInfo_item:not(:last-child) {
    border-bottom: 1px solid var(--rentalBorder);
}

.bl_productInfo_item:last-child {
    padding-bottom: 15px;
}

.bl_productInfo_item_note {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.1rem;

    letter-spacing: .05em;
}

.bl_productInfo_taxedTxt {
    font-size: 1.6rem;
    line-height: 2.4rem;

    letter-spacing: .02em;
}

.bl_productInfo_rate {
    font-size: 2.0rem;
    font-weight: 600;
    line-height: 3.0rem;

    letter-spacing: .02em;
}

.bl_productInfo_item_gothic {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;


}

@media screen and (max-width: 768px) {
    .bl_productInfo_subTtl {
        font-size: 1.6rem;
        line-height: 2.4rem;

        margin-bottom: 14px;
        margin-left: 27px;
    }

    .bl_productInfo_list {
        width: unset;
        margin-right: 8%;
        margin-bottom: 25px;
        margin-left: 8%;
    }

    .bl_productInfo_item {
        font-size: 1.6rem;
        line-height: 2.4rem;

        padding: 5px 0 2px;
    }

    .bl_productInfo_item:last-child {
        padding-bottom: 9px;
    }

    .bl_productInfo_item.bl_productInfo_item__spPb4 {
        padding-bottom: 6px;
    }

    .bl_productInfo_desc {
        margin-bottom: 3px;
    }

    .bl_productInfo_desc.bl_productInfo_desc__wide {
        margin-bottom: 5px;
    }

    .bl_productInfo_rate {
        font-size: 1.8rem;
        line-height: 3rem;
    }

    .bl_productInfo_item_note.bl_productInfo_item_note__spMb2 {
        margin-bottom: 2px;
    }

    .bl_productInfo_item_gothic {
        font-size: 1.4rem;
        line-height: 2.4rem;
    }

    .cb_productCont.cb_productCont__prepare {
        margin-bottom: 16px;
    }
}

.bl_productSpecifications_secTtlWrapper {
    position: relative;

    margin-bottom: 23px;
    padding: 13px 0;

    border-top: .5px solid var(--lightGold);
    border-bottom: .5px solid var(--lightGold);
}

.bl_productSpecifications_secTtlWrapper::after {
    position: absolute;
    top: 2px;
    left: 0;

    width: 100%;
    height: calc(100% - 4px);

    content: '';
    letter-spacing: .02em;

    border-top: .5px solid var(--lightGold);
    border-bottom: .5px solid var(--lightGold);
}


.bl_productSpecifications_secTtl {
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 3.9rem;

    text-align: center;
    letter-spacing: .02em;
}

.bl_productSpecifications_table {
    margin-bottom: 48px;

    border-bottom: 1px solid var(--rentalBorder);
}

.bl_productSpecifications_label {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;

    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 16px;

    letter-spacing: .05em;

    border-top: 1px solid var(--rentalBorder);
    border-right: 1px solid var(--rentalBorder);
    border-left: 1px solid var(--rentalBorder);
    background-color: var(--rentalBg);
}

.bl_productSpecifications_cont {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.4rem;

    padding-top: 11px;
    padding-bottom: 11px;
    padding-left: 16px;

    letter-spacing: .05em;

    border-top: 1px solid var(--rentalBorder);
    border-right: 1px solid var(--rentalBorder);
    border-left: 1px solid var(--rentalBorder);
}

.bl_productSpecifications_cont.bl_productSpecifications_cont__size {
    padding-top: 9px;
    padding-bottom: 9px;
}

.bl_productSpecifications_cont.bl_productSpecifications_cont__single {
    padding-top: 8px;
    padding-bottom: 8px;
}

.bl_productSpecifications_cont.bl_productSpecifications_cont__narrow {
    padding-top: 7px;
    padding-bottom: 7px;
}

.bl_productSpecifications_cont.bl_productSpecifications_cont__wide {
    padding-bottom: 8px;
}

@media screen and (max-width: 768px) {
    .bl_productSpecifications_secTtl {
        font-size: 2.4rem;
        line-height: 3.6rem;
    }

    .bl_productSpecifications_secTtlWrapper {
        margin-bottom: 26px;
    }
}

.bl_productInfo_prepare {
    margin-bottom: 48px;
}

.bl_productInfo_prepareList {
    margin-bottom: 24px;

    list-style-position: inside;
    list-style-type: disc;
}

.bl_productInfo_listItem {
    font-size: 1.6rem;
    line-height: 2.4rem;

    letter-spacing: .05em;
}

.bl_productInfo_imgWrapper {
    width: 100%;
    margin-bottom: 8px;
}

.bl_productInfo_imgWrapper img {
    width: 100%;
}

.bl_productInfo_note {
    font-size: 1.4rem;
    line-height: 2.1rem;

    text-align: right;
    letter-spacing: .05em;
}

.bl_productInfo_notice {
    padding: 21px 22px 9px 24px;

    background-color: var(--rentalBg);
}

@media screen and (max-width: 768px) {
    .bl_productInfo_prepare {
        margin-bottom: 25px;
    }

    .bl_productSpecifications_table {
        margin-right: 8%;
        margin-bottom: 25px;
        margin-left: 8%;
    }

    .bl_productSpecifications_label {
        font-size: 1.4rem;
        line-height: 2.4rem;

        padding-left: 14px;
    }

    .bl_productSpecifications_cont {
        font-size: 1.4rem;
        line-height: 2.4rem;

        padding-left: 14px;
    }

    .bl_productInfo_imgWrapper {
        width: unset;
        margin-right: 8%;
        margin-bottom: 10px;
        margin-left: 8%;
    }

    .bl_productInfo_note {
        font-size: 1.2rem;
        line-height: 1.2rem;

        margin-right: 8%;
    }

    .bl_productInfo_notice {
        padding: 21px 24px 11px 24px;
    }
}

/*----calender----*/
.bl_calender {
    margin-bottom: 48px;
}

.monthly-calendar caption {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem !important;
    font-weight: 500;
    line-height: 2.4rem;

    margin-bottom: 11px;

    letter-spacing: .05em;

    color: var(--black);
}

.week-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    line-height: 2.1rem;

    padding-top: 4px;
    padding-bottom: 5px;

    letter-spacing: .05em;

    border: 1px solid var(--rentalBorder);
}

.monthly-calendar table {
    width: 100% !important;
}

.monthly-calendar td {
    border: 1px solid var(--rentalBorder);
}

.day-box {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.4rem;
    line-height: 2.1rem;

    letter-spacing: .05em;
}

.week-title.sun,
.day-box.sun .day-number {
    color: var(--sun) !important;
}

.week-title.sat,
.day-box.sat .day-number {
    color: var(--sat) !important;
}



.monthly-prev-next {
    font-size: 1.2rem;
    line-height: 2.1rem;

    height: 24px;
    margin-top: 10px;

    letter-spacing: .05em;
}

.monthly-prev {
    position: relative;

    margin-left: 15px;
}

.monthly-prev::before {
    position: absolute;
    top: 50%;
    left: -10px;

    content: url(../image/rental/arrow_left_black.svg);
    transform: translateY(-50%);
}

.monthly-next {
    position: relative;

    float: none !important;

    margin-right: 15px !important;

    text-align: right;
}

.monthly-next::after {
    position: absolute;
    top: 50%;
    right: -10px;

    content: url(../image/rental/arrow_left_black.svg);
    transform: translateY(-50%) rotate(180deg);
}


@media screen and (max-width: 768px) {
    .bl_calender {
        margin-bottom: 46px;
    }

    .monthly-calendar {
        margin-bottom: 18px !important;
    }

    .monthly-calendar caption {
        margin-bottom: 13px;
    }

    .monthly-calendar td {
        border: .5px solid var(--rentalBorder);
    }

    .week-title {
        padding-top: 3px;
        padding-bottom: 2px;

        border: .5px solid var(--rentalBorder);
    }

    .monthly-calendar td {
        padding: 5px 0 4px !important;
    }

    .day-number {
        line-height: 1.8rem;
    }

    .monthly-prev-next {
        margin-top: 13px;
    }

    .monthly-prev {
        margin-left: 10px;
    }

    .monthly-next {
        margin-right: 10px !important;
    }
}