/* 202103 */

.book01-template-04 {
    position: relative;
    overflow: hidden;
    background-position: center;
    background-size: cover;
}

.book01-template-04__deco {
    position: absolute;
    display: block;
    height: auto;
    z-index: 10
}

@media (max-width:767px) {
    .book01-template-04__deco {
        display: none
    }
}

.book01-template-04__deco.-dot {
    top: 6.09375vw;
    right: -5.67708vw;
    width: 14.32292vw
}

.book01-template-04__deco.-triangle {
    bottom: 7.29167vw;
    right: -1.09375vw;
    width: 13.90625vw
}

.book01-template-04__deco.-pen {
    bottom: 6.40625vw;
    left: -5.52083vw;
    width: 13.69792vw
}

.book01-template-04__top-container {}

@media (min-width:768px) {
    .book01-template-04__top-container {
        padding-right: 4.27083vw;
        padding-left: 4.27083vw
    }
}

@media (max-width:767px) {
    .book01-template-04__top-container {}
}

@media (min-width:768px) {
    .book01-template-04__bottom-container {
        padding-right: 4.27083vw
    }
}

.book01-template-04__bottom-container-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 66.66666%;
    height: 1.30208vw;
    background: #c5f368;
    z-index: 1;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%
}

.book01-template-04__bottom-container-inner {
    position: relative
}

@media (min-width:768px) {
    .book01-template-04__bottom-container-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .book01-template-04__bottom-container-inner:after {
        content: "";
        position: absolute;
        top: 0;
        left: 33.333333333%;
        display: block;
        width: 1px;
        height: 100%;
        background: #e8e8e8
    }
}

.book01-template-04 .swiper-pagination {
    position: relative;
    padding-bottom: 11.35417vw
}

@media (max-width:767px) {
    .book01-template-04 .swiper-pagination {
        display: none
    }
}

.book01-template-04 .swiper-pagination .swiper-pagination-bullet {
    display: block;
    width: 10px;
    height: 10px;
    background: #fff;
    border: 2px solid #8b8b8b
}

.book01-template-04 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #fd6443;
    border: 2px solid #fd6443
}

.book01-template-04 .swiper-pagination .swiper-pagination-bullet:not(:last-child) {
    margin-bottom: 1.82292vw
}

.book01-template-04__top-line {
    width: 100%;
    height: 2px;
    background: #39373b
}

.book01-template-04__category {
    font-size: 1.14583vw;
    line-height: 1.36364;
    font-weight: 700;
    letter-spacing: .0651vw;
    padding-top: 7.03125vw;
    padding-bottom: 1.77083vw;
    color: #f2583b;
    line-height: 1
}

@media (max-width:767px) {
    .book01-template-04__category {
        font-size: 18px;
        letter-spacing: 1.25px
    }
}

@media (min-width:768px) {
    .book01-template-04__left {
        width: 33.33333333%;
        min-width: 33.333333%;
        max-width: 33.333333%
    }
    .book01-template-04__left-inner {
        padding-right: 5.46875vw
    }
}

.book01-template-04__right {
    position: relative
}

@media (min-width:768px) {
    .book01-template-04__right {
        width: 66.6666%;
        min-width: 66.6666%;
        max-width: 66.6666%
    }
    .book01-template-04__right:after {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        display: block;
        width: 1px;
        height: 100%;
        background: #e8e8e8
    }
}

.book01-template-04__title {
    padding-bottom: 4.0625vw;
    font-size: 3.125vw;
    font-family: Lexend Deca, Noto Serif TC, sans-serif;
    font-weight: 700;
    color: #3c3c3c;
    line-height: 1.2;
    letter-spacing: .23438vw
}

@media (max-width:767px) {
    .book01-template-04__title {
        padding-bottom: 20px;
        font-size: 30px;
        letter-spacing: 2.25px
    }
}


/* 202103 */

.book01-template-04__desc {
    font-size: .9375vw;
    line-height: 1.77778;
    margin-bottom: 7.1875vw;
    color: #3c3c3c;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
}

@media (max-width:767px) {
    .book01-template-04__desc {
        font-size: 16px;
        margin-bottom: 30px
    }
    .book01-template-04__desc br{
        display: none;
    }
}

.book01-template-04__swiper {
    width: 100%;
    height: auto
}

.book01-template-04__swiper-next,
.book01-template-04__swiper-prev {
    z-index: 3;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 30px;
    height: 45px;
    font-size: 20px;
    font-weight: 900;
    cursor: pointer;
    color: #000;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    right: 0
}

@media (max-width:1199px) {
    .book01-template-04__swiper-next,
    .book01-template-04__swiper-prev {
        right: -12px;
        width: 45px
    }
}

.book01-template-04__swiper-prev {
    right: auto;
    left: 0
}

@media (max-width:1199px) {
    .book01-template-04__swiper-prev {
        left: -12px
    }
}

.book01-template-04__swiper-index {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: .9375vw;
    font-family: number, sans-serif;
    font-weight: 700;
    z-index: 4
}

.book01-template-04__swiper-index-split {
    margin: auto 1.19792vw;
    width: 3.125vw;
    height: 1px;
    background: rgba(30, 27, 25, .2)
}

.book01-template-04__swiper-index {
    padding-bottom: 3.95833vw
}

@media (max-width:767px) {
    .book01-template-04__swiper-index {
        display: none
    }
}

.book01-template-04__swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.book01-template-04__swiper-slide-left,
.book01-template-04__swiper-slide-right {
    display: block;
    padding: 0 10px 35px;
    width: 50%;
    min-width: 50%;
    min-height: 100%
}

@media (min-width:768px) {
    .book01-template-04__swiper-slide-left,
    .book01-template-04__swiper-slide-right {
        padding: 7.03125vw 2.1875vw 3.95833vw
    }
}

@media (min-width:1200px) {
    .book01-template-04__swiper-slide-left:hover .book01-template-04__swiper-slide-img-icon,
    .book01-template-04__swiper-slide-left:hover .book01-template-04__swiper-slide-img:before,
    .book01-template-04__swiper-slide-right:hover .book01-template-04__swiper-slide-img-icon,
    .book01-template-04__swiper-slide-right:hover .book01-template-04__swiper-slide-img:before {
        opacity: 1
    }
    .book01-template-04__swiper-slide-left:hover .book01-template-04__swiper-slide-img>img,
    .book01-template-04__swiper-slide-right:hover .book01-template-04__swiper-slide-img>img {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

.book01-template-04__swiper-slide-right {
    padding-top: 70px
}

@media (min-width:768px) {
    .book01-template-04__swiper-slide-right {
        padding-top: 23.95833vw
    }
}

.book01-template-04__swiper-slide-title {
    font-size: 1.25vw;
    line-height: 2.03125vw;
    line-height: 1.625;
    font-weight: 700;
    letter-spacing: .0651vw;
    padding-top: 1.66667vw;
    padding-bottom: 2.29167vw
}

@media (max-width:767px) {
    .book01-template-04__swiper-slide-title {
        font-size: 20px;
        letter-spacing: 1.25px;
        padding-top: 20px;
        padding-bottom: 15px;
        font-size: 5.625vw
    }
}

.book01-template-04__swiper-slide-desc {
    font-size: .83333vw;
    line-height: 1.875;
    letter-spacing: .04167vw;
    color: #424242
}

@media (max-width:767px) {
    .book01-template-04__swiper-slide-desc {
        font-size: 14px;
        line-height: 25px;
        letter-spacing: .8px;
        display: none
    }
}

.book01-template-04__swiper-slide-img {
    position: relative;
    overflow: hidden;
    border-radius: 5px
}

.book01-template-04__swiper-slide-img:before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .48)
}

.book01-template-04__swiper-slide-img-icon,
.book01-template-04__swiper-slide-img:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    opacity: 0;
    z-index: 1;
    -webkit-transition: opacity .8s cubic-bezier(.7, 0, .3, 1);
    transition: opacity .8s cubic-bezier(.7, 0, .3, 1)
}

.book01-template-04__swiper-slide-img-icon {
    width: 4.27083vw;
    height: 4.27083vw
}

@media (max-width:767px) {
    .book01-template-04__swiper-slide-img-icon {
        display: none
    }
}

.book01-template-04__swiper-slide-img img {
    display: block;
    width: 100%;
    height: auto
}

.book01-template-04__swiper-slide-img>img {
    border-radius: 5px;
    -webkit-transition: -webkit-transform .8s cubic-bezier(.7, 0, .3, 1);
    transition: -webkit-transform .8s cubic-bezier(.7, 0, .3, 1);
    transition: transform .8s cubic-bezier(.7, 0, .3, 1);
    transition: transform .8s cubic-bezier(.7, 0, .3, 1), -webkit-transform .8s cubic-bezier(.7, 0, .3, 1)
}
@media (max-width: 1200px){
    .book01-template-04__desc br{
        display: none;
    }
}