@charset "UTF-8";

.detail {
    padding: 100px 0;
    @media only screen and (max-width: 1099px) {
        padding: 30px 0 50px;
    }
    .detail__inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .detail__img {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 20px;
        width: 60%;
        @media only screen and (max-width: 767px) {
            gap: 10px;
            width: 100%;
            margin-bottom: 20px;
        }
        img {
            width: 100%;
            box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.15);
        }
        > div {
            width: calc(50% - 10px);
            position: relative;
            @media only screen and (max-width: 767px) {
                width: calc(50% - 5px);
            }
            &:first-child {
                width: 100%;
            }
        }
    }
    .detail__desc {
        width: 35%;
        // padding-right: 50px;
        @media only screen and (max-width: 767px) {
            width: 100%;
            // padding-right: 0;
        }
        .ttl {
            font-size: 24px;
            font-weight: 700;
            line-height: calc(34 / 24);
            margin-bottom: 24px;
            @media only screen and (max-width: 767px) {
                font-size: 20px;
                margin-bottom: 20px;
            }
        }
        .btn {
            margin-bottom: 20px;
            .item {
                font-size: 14px;
                color: #fff;
                font-family: var(--font--nimbus);
                font-weight: 700;
                letter-spacing: 0.06em;
                height: 50px;
                display: flex;
                align-items: center;
                justify-content: center;
                background: #1a1a1a;
                border-radius: 4px;
                position: relative;
                margin-bottom: 10px;
                &:last-child {
                    margin-bottom: 0;
                }
                &.download:after {
                    content: "";
                    background: url(ico_download.svg) no-repeat left top / 100%;
                    width: 20px;
                    height: 17px;
                    position: absolute;
                    right: 19px;
                    top: 50%;
                    transform: translateY(-50%);
                }
                &.bookmark:after {
                    content: "";
                    background: url(ico_bookmark_white.svg) no-repeat left top / 100%;
                    width: 14px;
                    height: 18px;
                    position: absolute;
                    right: 23px;
                    top: 50%;
                    transform: translateY(-50%);
                }
                &.bookmark {
                    transition: all 0.4s;
                    background: none;
                    &:hover {
                        opacity: 0.8;
                    }
                }
            }
            .swym-button-bar {
                margin: 0;
                display: block !important;
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                .swym-btn-container {
                    display: block;
                    position: absolute;
                    left: 0;
                    top: 0;
                    width: 100%;
                    height: 100%;
                    .swym-add-to-wishlist.swym-btnlink {
                        display: block;
                        position: absolute;
                        left: 0;
                        top: 0;
                        width: 100%;
                        height: 100%;
                        padding: 0;
                        outline: none;
                        background: #1a1a1a;
                        border-radius: 4px;
                        .swym-wishlist-cta {
                            font-size: 14px;
                            color: #fff;
                            font-family: var(--font--nimbus);
                            font-weight: 700;
                            letter-spacing: 0.06em;
                        }
                        &.swym-added {
                            background: #ccc;
                            .swym-wishlist-cta {
                                color: #000;
                            }
                        }
                    }
                }
                button.swym-button.disabled,
                button.swym-button:disabled,
                button.swym-button.disabled:hover,
                button.swym-button:disabled:hover {
                    opacity: 1;
                }
            }
        }
        .other {
            background: #f6f6f6;
            padding: 18px 20px;
            margin-bottom: 17px;
            .txt {
                font-size: 14px;
                margin-bottom: 5px;
                line-height: 1.4;
                &:last-child {
                    margin-bottom: 0;
                }
                a {
                    color: #1a0dab;
                    text-decoration: underline;
                }
            }
        }
        .note {
            font-size: 14px;
            line-height: calc(22 / 14);
            a {
                color: #1a0dab;
                text-decoration: underline;
            }
            span {
                color: var(--color-primary);
            }
        }
    }
}

.recommend {
    padding: 0 0 100px;
    @media only screen and (max-width: 1099px) {
        padding: 0 0 70px;
    }
    .c-ttl {
        font-size: 24px;
        margin: 0 0 30px;
        text-align: left;
        @media only screen and (max-width: 767px) {
            margin-bottom: 20px;
        }
    }
    .splide {
        margin: 0;
        .splide__slide {
            a {
                position: relative;
                display: block;
            }
        }
    }
    .splide__arrow {
        width: 40px;
        height: 40px;
        background: url(ico_arrow.svg) no-repeat center center / 100%;
        border-radius: 50%;
        box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
        opacity: 1;
        svg {
            display: none;
        }
    }
    .splide__arrow--prev {
        left: 0;
        transform: translate(-50%, -50%);
        @media only screen and (max-width: 1299px) {
            left: 30px;
        }
    }
    .splide__arrow--next {
        right: 0;
        transform: translate(50%, -50%) scale(-1, 1);
        @media only screen and (max-width: 1299px) {
            right: 30px;
        }
    }
    .splide__pagination {
        bottom: -28px;
        .splide__pagination__page.is-active {
            background: var(--color-primary);
        }
    }
}
