/* 202103 */

.book01-template-03 {
    overflow: hidden;
    background-position: center;
    background-size: cover;
}

.book01-template-03__top {
    position: relative
}

@media (min-width:768px) {
    .book01-template-03__top {
        display: -ms-grid;
        display: grid;
        -ms-grid-rows: auto;
        grid-template-rows: auto;
        -ms-grid-columns: 17fr 8fr;
        grid-template-columns: 17fr 8fr
    }
    .book01-template-03__top>:first-child {
        -ms-grid-row: 1;
        -ms-grid-column: 1
    }
    .book01-template-03__top>:nth-child(2) {
        -ms-grid-row: 1;
        -ms-grid-column: 2
    }
}

.book01-template-03__top-left,
.book01-template-03__top-right {
    padding-top: 5.83333vw
}

@media (max-width:767px) {
    .book01-template-03__top-left,
    .book01-template-03__top-right {
        padding-top: 45px
    }
}

@media (min-width:768px) {
    .book01-template-03__top-left {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

@media (min-width:768px) {
    .book01-template-03__top-left-inner.-bottom {
        padding-bottom: 5.98958vw;
        padding-left: 2.9875vw;
        min-height: 100%;
        border-left: 1px solid hsla(0, 0%, 43.9%, .2)
    }
}

@media (min-width:768px) {
    .book01-template-03__top-left-container.-bottom {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
        flex: 1 0 auto
    }
}

@media (min-width:768px) {
    .book01-template-03__top-left-desc,
    .book01-template-03__top-left-title {
        max-width: 28vw
    }
}

.book01-template-03__top-left-title {
    font-size: 1.66667vw;
    line-height: 1.3125;
    font-weight: 700;
    letter-spacing: .0651vw;
    letter-spacing: .39062vw;
    padding-bottom: 2.5vw
}

@media (max-width:767px) {
    .book01-template-03__top-left-title {
        font-size: 28px;
        letter-spacing: 1.25px;
        padding-bottom: 30px;
        letter-spacing: 3px
    }
}


/* 202103 */

.book01-template-03__top-left-desc {
    font-size: .9375vw;
    line-height: 1.77778;
    padding-bottom: 3.90625vw;
}

@media (max-width:767px) {
    .book01-template-03__top-left-desc {
        font-size: 16px;
        padding-bottom: 15px
    }
}


/* 202103 */

.book01-template-03__top-left-desc-p {
    margin-bottom: 3.125vw;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 20;
    -webkit-box-orient: vertical;
}

@media (max-width:767px) {
    .book01-template-03__top-left-desc-p {
        margin-bottom: 30px
    }
    .book01-template-03__top-left-desc-p br {
        display: none;
    }
}

.book01-template-03__top-left-btn {
    font-size: 1.14583vw;
    line-height: 1.36364;
    font-weight: 700;
    letter-spacing: .0651vw;
    border-bottom: 1px solid #f2583b;
    color: #f2583b
}

@media (min-width:1200px) {
    .book01-template-03__top-left-btn {
        -webkit-transition: opacity .8s cubic-bezier(.7, 0, .3, 1);
        transition: opacity .8s cubic-bezier(.7, 0, .3, 1)
    }
    .book01-template-03__top-left-btn:hover {
        opacity: .4
    }
}

@media (max-width:767px) {
    .book01-template-03__top-left-btn {
        font-size: 18px;
        letter-spacing: 1.25px
    }
}

.book01-template-03__top-right {
    position: relative;
    padding-bottom: 29.94792vw;
    background: #c5f368
}

@media (max-width:767px) {
    .book01-template-03__top-right {
        display: none
    }
}

.book01-template-03__top-right-title {
    font-size: 3.125vw;
    line-height: 1.4;
    letter-spacing: .1em;
    font-family: Lexend Deca, Noto Serif TC, sans-serif
}

@media (max-width:767px) {
    .book01-template-03__top-right-title {
        font-size: 32px
    }
}

.book01-template-03__top-right-deco,
.book01-template-03__top-right-dot,
.book01-template-03__top-right-line-square {
    pointer-events: none;
    position: absolute;
    display: block;
    height: auto
}

.book01-template-03__top-right-deco {
    bottom: 5.20833vw;
    left: -23.4375vw;
    width: 23.4375vw;
    height: 23.4375vw;
    z-index: 2
}


/* 202103 */

.book01-template-03__top-right-deco .color {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 50%;
    height: 100%;
    background: #c5f368
}


/* 202103 */

.book01-template-03__top-right-deco .color:nth-child(1) {
    left: 0;
    border-radius: 0 11.71875vw 11.71875vw 0
}


/* 202103 */

.book01-template-03__top-right-deco .color:nth-child(2) {
    right: 0;
    border-radius: 11.71875vw 0 0 11.71875vw
}

.book01-template-03__top-right-dot {
    bottom: 22.91667vw;
    left: -18.02083vw;
    width: 7.91667vw;
    z-index: 3
}

.book01-template-03__top-right-line-square {
    bottom: 3.90625vw;
    left: -9.21875vw;
    width: 18.4375vw;
    z-index: 1
}

.book01-template-03__top-title {
    padding-top: 1.30208vw;
    padding-bottom: 7.29167vw;
    font-size: 1.875vw;
    font-family: Lexend Deca, sans-serif;
    text-transform: uppercase;
    border-top: 2px solid #393939
}

@media (max-width:767px) {
    .book01-template-03__top-title {
        padding-top: 20px;
        padding-bottom: 10px;
        font-size: 24px
    }
}

@media (min-width:768px) {
    .book01-template-03__top .container.-top {
        padding-right: 4.27083vw;
        padding-left: 4.27083vw
    }
}


/* 202103 */

.book01-template-03__bottom {
    padding-bottom: 7.29166vw;
    background-position: center;
    background-size: cover;
}

@media (max-width:767px) {
    .book01-template-03__bottom {
        padding-bottom: 45px
    }
}

.book01-template-03__bottom-inner {
    position: relative
}

.book01-template-03__bottom-inner-outside {
    padding-top: 6.77083vw
}

@media (min-width:1200px) {
    .book01-template-03__bottom-inner-outside {
        border-left: 1px solid hsla(0, 0%, 43.9%, .2)
    }
}

@media (max-width:767px) {
    .book01-template-03__bottom-inner-outside {
        padding-top: 75px
    }
}

.book01-template-03__swiper-next,
.book01-template-03__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-03__swiper-next,
    .book01-template-03__swiper-prev {
        right: -12px;
        width: 45px
    }
}

.book01-template-03__swiper-prev {
    right: auto;
    left: 0
}

@media (max-width:1199px) {
    .book01-template-03__swiper-prev {
        left: -12px
    }
}

@media (min-width:1200px) {
    .book01-template-03__swiper {
        padding-right: 100px
    }
}

.book01-template-03__swiper-btn-group {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -15px;
    margin: auto;
    width: calc(100% + 30px);
    height: 100%;
    min-height: 90px;
    z-index: 3
}

@media (min-width:768px) {
    .book01-template-03__swiper-btn-group {
        right: 0;
        width: 100%
    }
}

@media (min-width:1200px) {
    .book01-template-03__swiper-btn-group {
        width: 100px;
        background-color: #fff;
    }
}

.book01-template-03__swiper-slide {
    width: 20%
}

@media (max-width:767px) {
    .book01-template-03__swiper-slide {
        width: 33.33333%
    }
    .book01-template-03 {}
}

@media (min-width:1200px) {
    .book01-template-03__swiper-slide img {
        -webkit-filter: grayscale(1);
        filter: grayscale(1)
    }
    .book01-template-03__swiper-slide:hover img {
        -webkit-filter: grayscale(0);
        filter: grayscale(0)
    }
}

.book01-template-03__swiper-slide img {
    display: block;
    margin: auto;
    width: auto;
    height: 4.84375vw;
    -webkit-transition: all .8s cubic-bezier(.7, 0, .3, 1);
    transition: all .8s cubic-bezier(.7, 0, .3, 1)
}

@media (max-width:1199px) {
    .book01-template-03__swiper-slide img {
        height: 40px
    }
}