/*mobile-first*/
.contents{
    padding-top: 16vw;
}

/*mainvisual*/
.mainvisual{
    position: relative;
    margin-bottom: 3rem;
}

    .mainvisual > .box_inner{
        position: relative;
    }

        .mainvisual > .box_inner .home_slider{}

            .mainvisual > .box_inner .home_slider ul{
                margin: 0;
                padding: 0;
                list-style: none;
            }

                .mainvisual > .box_inner .home_slider ul li{
                    margin: 0;
                }

                    .home_slider .slide_obj{}

                        .home_slider .slide_obj a{}

                            .home_slider .slide_obj a{
                                display: flex;
                                flex-direction: column-reverse;
                                color: #fff;
                                text-decoration: none;
                            }

                                .home_slider .slide_obj a .text{
                                    box-sizing: border-box;
                                    background: #26265B;
                                    padding: 1rem 1rem 4rem 1rem;
                                }

                                    .home_slider .slide_obj a .text dl{
                                        margin: 0;
                                    }

                                        .home_slider .slide_obj a .text dl dt{
                                            font-size: 1.18em;
                                            margin-bottom: 0.5em;
                                            font-weight: 500;
                                        }

                                        .home_slider .slide_obj a .text dl dd{
                                            margin: 0;
                                        }

                                            .home_slider .slide_obj a .text dl dd p{
                                                margin: 0 0 0.5em 0;
                                                font-size: 0.9em;
                                                height: 6em;
                                                overflow: hidden;
                                                position: relative;
                                            }

                                                .home_slider .slide_obj a .text dl dd p::after{
                                                    content: "";
                                                    position: absolute;
                                                    bottom: 0;
                                                    left: 0;
                                                    width: 100%;
                                                    height: 2em;
                                                    background: linear-gradient(transparent, #26265B);
                                                }

                                            .home_slider .slide_obj a .text dl dd .goto_detail{
                                                font-size: 0.94em;
                                                display: flex;
                                                justify-content: center;
                                                align-items: center;
                                            }

                                                .home_slider .slide_obj a .text dl dd .goto_detail .lbl{
                                                    margin-right: 0.5rem;
                                                }

                                                .home_slider .slide_obj a .text dl dd .goto_detail::after{
                                                    content: "";
                                                    display: inline-block;
                                                    background-image: url("../shared/arr_w.png");
                                                    background-repeat: no-repeat;
                                                    background-size: contain;
                                                    width: 2.5rem;
                                                    aspect-ratio: 2/1;
                                                }


                                .home_slider .slide_obj a .fig{}

                                    .home_slider .slide_obj a .fig img{
                                        max-width: 100%;
                                        height: auto;
                                    }

    .mainvisual > .box_footer{
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 1;
        width: 100%;
    }

        .mainvisual > .box_footer p{
            margin: 0;
            color: rgba(255,255,255,0.8);
            font-family: "Cormorant Garamond", serif;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            line-height: 1;
        }

        .mainvisual > .box_footer p .lbl1{
            font-size: 0.84rem;
        }

        .mainvisual > .box_footer p .lbl2{
            font-size: 2.2rem;
        }

/*fig_kumapon*/
.fig_kumapon{
    position: relative;
    z-index: 1;
    width: 100%;
}

    .fig_kumapon p{
        width: 6rem;
        margin: 0;;
        position: absolute;
        right: 2vw;
        top: 2vw;
        z-index: 1;
    }

    .fig_kumapon p img{
        max-width: 100%;
        height: auto;
    }


/*search_form_box*/
.search_form_box{
    margin-bottom: 2em;
    padding: 0 3vw;
}

    .search_form_box dl{
        display: flex;
        flex-direction: column;
        border-radius: 0.5rem;
        margin: 0;
        padding: 1rem 0;
        background: #fff;
        border-radius: 0.5rem;
        box-shadow:  0 0 5px 1px rgba(0,0,0,0.1);
    }

        .search_form_box dl dt{
            display: flex;
            flex-direction: column;
        }

            .search_form_box dl dt .lbl1{
                font-size: 1.1rem;
                font-weight: 700;
                color: #111;
                border-left: 0.375rem solid #F2551C;
                padding-left: 0.5em;
                margin-bottom: 0.3em;
            }

            .search_form_box dl dt .lbl2{
                margin-bottom: 0.5em;
                padding-left: 4vw;
                font-size: 0.9em;
                line-height: 1.4;
                padding-right: 7rem;
                font-weight: normal;
            }

        .search_form_box dl dd.main_search{
            margin: 0;
            padding: 0 4vw;
            display: flex;
            flex-direction: column;
        }

            .search_form_box dl dd .input_submit_box{
                display: flex;
                border: 2px solid #32339b;
                border-radius: 0.25rem;
                overflow: hidden;
            }

            .search_form_box dl dd .input_box{
                flex: 1;
            }

                .search_form_box dl dd .input_box input[type="text"]{
                    box-sizing: border-box;
                    width: 100%;
                    border: none;
                    font-size: 1em;
                    padding: 0.3em;
                    height: 100%;
                }

            .search_form_box dl dd .submit_box{
                width: 5rem;
            }

                .search_form_box dl dd .submit_box button[type="submit"]{
                    background: #32339b;
                    border: none;
                    width: 100%;
                    height: 100%;
                    color: #fff;
                }

                .search_form_box dl dd .submit_box button[type="submit"]::before{
                    content: "";
                    display: inline-block;
                    width: 0.8rem;
                    height: 0.8rem;
                    background-image: url("../shared/icon_search.png");
                    background-repeat: no-repeat;
                    background-size: contain;
                    margin-right: 0.5rem;
                }

            .search_form_box dl dd .detail_search{
                text-align: center;
                margin-top: 0.5em;
            }

                .search_form_box dl dd .detail_search button{
                    border: none;
                    background: none;
                    color: #32339b;
                    border-bottom: 2px solid #32339b;
                    font-size: 0.9em;
                    padding: 0.5em;
                    line-height: 1;
                }

                .search_form_box dl dd .detail_search button::after{
                    font-family: FontAwesome;
                    content:"\f107";
                    margin-left: 1em;
                }

        .search_form_box dl dd.sub_search{
            margin: 1em 0 0 0;
            border-top: 1px solid rgba(0,0,0,0.15);
            padding: 1em 4vw 0 4vw;
        }

            .search_form_box dl dd.sub_search ul{
                font-size: 0.84em;
                margin: 0;
                padding: 0;
                list-style: none;
                display: flex;
                flex-wrap: wrap;
                gap: 0.25em;
            }

                .search_form_box dl dd.sub_search ul li{

                }

                    .search_form_box dl dd.sub_search ul li a{
                        box-sizing: border-box;
                        height: 1.5rem;
                        border-radius: 0.75rem;
                        display: flex;
                        align-items: center;
                        border: 1px solid #A1A1A1;
                        color: #333;
                        text-decoration: none;
                        padding: 0 1em;
                        transition: .3s all ease;
                    }

                    .search_form_box dl dd.sub_search ul li a:hover{
                        background: #32339b;
                        color: #fff;
                    }

            

.common_box{
    margin: 0 5vw;
}

    .common_box > .box_header{
        display: flex;
        margin-bottom: 1.5em;
    }

        .common_box > .box_header::after{
            content: "";
            margin-left: 1em;
            font-family: "Cormorant Garamond", serif;
        }

        .common_box > .box_header h2{
            margin: 0;
            font-size: 1.2rem;
            font-weight: 700;
        }

            .common_box > .box_header h2 .lbl{
                border-bottom: 2px solid #26265b;
            }


    .common_box > .box_footer{
        display: flex;
        justify-content: center;
        margin-top: 1em;
    }

        .common_box > .box_footer a{
            display: flex;
            align-items: center;
            color: #222;
            font-size: 0.94em;
        }

        .common_box > .box_footer a .lbl{
            margin-right: 0.5rem;
        }

        .common_box > .box_footer a::after{
            content: "";
            display: inline-block;
            background-image: url(../shared/arr_b.png);
            background-repeat: no-repeat;
            background-size: contain;
            width: 2.5rem;
            aspect-ratio: 2 / 1;
        }

/*news_box*/
.news_box{
    margin-bottom: 2em;
}

    .news_box > .box_header::after{
        content: "News";
    }

    .news_box > .box_inner ul{
        list-style: none;
        margin: 0;
        padding: 0;
    }

        .news_box > .box_inner ul li{
            display: flex;
            margin-bottom: 0.5em;
        }

        .news_box > .box_inner ul li:last-child{
            margin-bottom: 0;
        }
        
            .news_box > .box_inner ul li .entry_date{
                color: #952416;
                width: 6em;
            }

            .news_box > .box_inner ul li .entry_title{
                flex: 1;
            }

            .news_box > .box_inner ul li .entry_title a{
                color: #222;
                text-decoration: none;
            }

            .news_box > .box_inner ul li .entry_title a:hover{
                text-decoration: underline;
            }
            
/*pickup_box*/
.pickup_box{
    background: #fef5ee;
    padding: 1.5rem 5vw;
    margin-bottom: 2rem;
}

    .pickup_box > .box_header{
        display: flex;
        margin-bottom: 1rem;
    }

        .pickup_box > .box_header h2{
            display: flex;
            align-items: center;
            margin: 0;
            border-top: 1px solid #000;
            border-bottom: 1px solid #000;
            padding: 0 0 0.2rem 0;
        }

            .pickup_box > .box_header h2::before{
                content: "Pickup";
                font-family: "Cormorant Garamond", serif;
                font-weight: 500;
                font-size: 2.5rem;
            }

            .pickup_box > .box_header h2 .lbl{
                font-size: 0.9rem;
                font-weight: 700;
                margin: 0.9rem 0 0 1em;
            }

    .pickup_box > .box_inner{}

        .pickup_slider{}

        .slick-prev, .slick-next{}

            .pickup_slider ul{
                margin: 0;
                padding: 0;
                list-style: none;
            }

            .pickup_slider .slick-dotted.slick-slider{
                margin: 0;
            }

                .pickup_slider .slide_obj{
                    box-sizing: content-box;
                    width: 60vw;
                    height: 60vw;
                    padding: 0 2vw;
                }

                    .pickup_slider .slide_obj a{
                        display: block;
                        position: relative;
                        overflow: hidden;
                        box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.1);
                    }

                    .pickup_slider .slide_obj img{
                        width: 100%;
                        aspect-ratio: 1/1;
                        object-fit: cover;
                        transition: .3s all ease;
                    }

                    .pickup_slider .slide_obj a:hover img{
                        transform: scale(1.03);
                        filter: brightness(1.1);
                    }
    

                        .pickup_slider .slide_obj a .lbl_collection_title{
                            color: #fff;
                            background: #373bbe;
                            position: absolute;
                            top: 0;
                            left: 0;
                            z-index: 1;
                            display: inline-block;
                            padding: 0.2em 0.5em;
                            font-size: 0.9em;
                        }

                        .pickup_slider .slide_obj a dl{
                            position: relative;
                            margin: 0;
                        }

                            .pickup_slider .slide_obj a dl dt{
                                box-sizing: border-box;
                                position: absolute;
                                bottom: 0;
                                left: 0;
                                z-index: 1;
                                background: rgba(0,0,0,0.75);
                                color: #fff;
                                padding: 0 0.7em;
                                display: flex;
                                align-items: center;
                                width: 100%;
                                font-weight: normal;
                                font-size: 0.92em;
                                height: 4em;
                            }

                            .pickup_slider .slide_obj a dl dd{
                                position: relative;
                                margin: 0;
                            }

/*collection_box*/
.collection_box{
    margin-bottom: 3em;
}

    .collection_box > .box_header::after{
        content: "Collection";
    }

    .collection_box > .box_inner{}

        .collection_box > .box_inner ul{
            display: flex;
            flex-wrap: wrap;
            margin: 0;
            padding: 0;
            list-style: none;
            gap: 0.75rem;
        }

            .collection_box > .box_inner ul li{
                width: calc((100% - 0.75rem) / 2);
            }

                .collection_box > .box_inner ul li a{
                    display: block;
                    color: #222;
                    border: 1px solid #cacaca;
                    box-shadow: 0.25rem 0.25rem 0 0 rgba(0,0,0,0.1);
                    border-radius: 0.25rem;
                    text-decoration: none;
                    overflow: hidden;
                    transition: .3s all ease;
                }

                .collection_box > .box_inner ul li a:hover{
                    box-shadow: 0.25rem 0.25rem 0 0 rgba(49,54,135,0.5);
                }

                    .collection_box > .box_inner ul li a dl{
                        display: flex;
                        flex-direction: column-reverse;
                        align-items: center;
                        margin: 0;
                    }

                        .collection_box > .box_inner ul li a dl dt{
                            height: 3em;
                            display: flex;
                            flex-direction: column-reverse;
                            align-items: center;
                            justify-content: center;
                            font-weight: normal;
                        }

                            .collection_box > .box_inner ul li a dl dt .lbl_title{
                                font-weight: 500;
                                font-size: 0.9em;
                            }

                            .collection_box > .box_inner ul li a dl dt .lbl_ruby{
                                font-size: 0.5em;
                            }


                        .collection_box > .box_inner ul li a dl dd{
                            margin: 0;
                        }

                        .collection_box > .box_inner ul li a dl dd img{
                            max-width: 100%;
                            height: auto;
                            transition: .3s all ease;
                        }

                        .collection_box > .box_inner ul li a:hover dl dd img{
                            transform: scale(1.03);
                            filter: brightness(1.1);
                        }

/*about_box*/
.about_box{
    background-image: url('../shared/home/bg_about.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1.5rem 5vw;
}

    .about_box > .box_header{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

        .about_box > .box_header h2{
            color: #fff;
            margin: 0;
            font-family: "Cormorant Garamond", serif;
            font-weight: 500;
            font-size: 2.5rem;
            border-top: 1px solid #fff;
            border-bottom: 1px solid #fff;
            line-height: 1.1;
        }

        .about_box > .box_header .more{
        }

            .about_box > .box_header .more a{
                display: flex;
                align-items: center;
                color: #fff;
                font-size: 0.94em;
            }

            .about_box > .box_header .more a .lbl{
                margin-right: 0.5rem;
            }

            .about_box > .box_header .more a::after{
                content: "";
                display: inline-block;
                background-image: url(../shared/arr_w.png);
                background-repeat: no-repeat;
                background-size: contain;
                width: 2.5rem;
                aspect-ratio: 2 / 1;
            }


    .about_box > .box_inner{
        color: #fff;
        padding: 1rem 0 0 0;
    }

        .about_box > .box_inner .text{
            margin-bottom: 1em;
        }

            .about_box > .box_inner .text h3{
                font-size: 1.3em;
                text-align: left;
                line-height: 1.3;
                margin-bottom: 0.8em;
            }

            .about_box > .box_inner .text p{
                font-size: 0.92em;
                margin-bottom: 0.5em;
                text-indent: 1em;
            }

            .about_box > .box_inner .text p a{
                color: #fff;
                text-decoration: underline;
            }

        .about_box > .box_inner .about_nav{
            
        }

            .about_box > .box_inner .about_nav ul{
                margin: 0;
                padding: 0;
                list-style: none;
                display: flex;
                flex-wrap: wrap;
                gap: 0.5rem;
            }

                .about_box > .box_inner .about_nav ul li{
                    width: calc((100% - 0.5rem) / 2);
                }

                    .about_box > .box_inner .about_nav ul li a{
                        display: flex;
                        align-items: center;
                        background: #fff;
                        color: #222;
                        text-decoration: none;
                        height: 3.5rem;
                        font-size: 0.92em;
                        padding: 0 0.5em;
                        line-height: 1.2;
                        transition: .3s all ease;
                    }

                    .about_box > .box_inner .about_nav ul li a:hover{
                        box-shadow: 0 0 10px 1px rgba(255,255,255,0.5);
                    }

                        .about_box > .box_inner .about_nav ul li a .fig{
                            width: 1.5rem;
                            margin-right: 0.5em;
                        }

                            .about_box > .box_inner .about_nav ul li a .fig img{
                                max-width: 100%;
                                height: a;
                            }

                        .about_box > .box_inner .about_nav ul li a .fig{}



/*タブレット*/
@media screen and (min-width: 600px) {
    .contents{
        padding-top: 5rem;
    }

    .home_slider .slide_obj a{
        flex-direction: row;
    }

        .home_slider .slide_obj a .text{
            flex: 1;
            padding: 2rem 2rem 2rem 6rem;
        }

            .home_slider .slide_obj a .text dl dd p{
                height: 11em;
            }

            .home_slider .slide_obj a .text dl dd p::after{
                
            }

        .home_slider .slide_obj a .fig{
            width: 50%;
        }

        .mainvisual > .box_inner .home_slider ul.slick-dots{
            width: auto;
            left: 3vw;
        }

    .mainvisual > .box_footer{
        bottom: auto;
        top: 0;
        width: auto;
    }

        .mainvisual > .box_footer p{
            writing-mode: vertical-rl;
            text-orientation: sideways;
            align-items: flex-end;
            color: rgba(255,255,255,1);
            padding-top: 0.5rem;
        }

            .mainvisual > .box_footer p .lbl1{
                font-size: 1.1rem;
                margin-left: 0.5em;
            }

            .mainvisual > .box_footer p .lbl2{
                font-size: 2.8rem;
            }

    .search_form_box{
        position: relative;
        padding-left: 25vw;
        margin-top: -4rem;
        z-index: 1;
    }

        .fig_kumapon{
            position: absolute;
            width: auto;
        }

        .fig_kumapon p{
            width: 8rem;
            right: 2rem;
            top: 4rem;
        }

        .search_form_box dl dt{
            flex-direction: row;
            align-items: center;
            margin-bottom: 1rem;
        }

        .search_form_box dl dt .lbl1{
            margin-bottom: 0;
        }

        .search_form_box dl dt .lbl2{
            padding: 0;
            margin-bottom: 0;
            margin-left: 1em;
        }

        .search_form_box dl dd.main_search{
            flex-direction: row;
        }

        .search_form_box dl dd .input_submit_box{
            flex: 1;
        }

        .search_form_box dl dd .detail_search{
            margin: 0 0 0 0.5rem;
        }

    .common_box{
        display: flex;
        flex-wrap: wrap;
    }

        .common_box > .box_header{
            flex-direction: column;
            margin-bottom: 0;
            position: relative;
            width: 5rem;
        }

            .common_box > .box_header::before{
                content: "";
                display: block;
                width: 0;
                height: 11.5em;
                border-left: 0.25rem solid #26265b;
                position: absolute;
                top: 0;
                left: 0;
            }

            .common_box > .box_header h2{
                writing-mode: vertical-rl;
            }

            .common_box > .box_header h2 .lbl{
                border: none;
            }

            .common_box > .box_header::after{
                position: absolute;
                top: 0;
                left: 0.5rem;
                font-weight: 500;
                line-height: 1;
                margin-left: 0;
                writing-mode: vertical-rl;
                text-orientation: sideways;
            }

    .common_box > .box_inner{
        flex: 1;
        padding-left: 3rem;
    }

    .common_box > .box_footer{
        width: 100%;
    }

        .collection_box > .box_inner ul li {
            width: calc((100% - 2rem) / 3);
        }

    .pickup_box{
        padding-top: 3rem;
        margin-bottom: 3rem;
    }

    .pickup_box > .box_header{
        margin-bottom: 1.5rem;
    }

    .pickup_slider .slick-dots{
        bottom: auto;
        right: 0;
        top: -3.5rem;
        width: auto;
    }

    .pickup_slider .slick-prev,
    .pickup_slider .slick-next{
        width: 3rem;
        height: 3rem;
        background: rgba(0,0,0,0.5);
        border-radius: 50%;
        z-index: 1;
    }

        .pickup_slider .slick-prev::before,
        .pickup_slider .slick-next::before{
            opacity: 1;
            font-family: FontAwesome;
        }

        .pickup_slider .slick-prev::before{
            content:"\f104";
        }
        .pickup_slider .slick-next::before{
            content:"\f105";
        }

    .pickup_slider .slide_obj{
        width: 30vw;
        height: 30vw;
        padding: 0 1.5vw;
    }

    .about_box > .box_inner{
        display: flex;
    }

        .about_box > .box_inner .text{
            flex: 1;
            padding-right: 3rem;
        }

        .about_box > .box_inner .about_nav{
            width: 33%;
        }

            .about_box > .box_inner .about_nav ul{
                flex-direction: column;
            }

                .about_box > .box_inner .about_nav ul li{
                    width: 100%;
                }



}

/*PC*/
@media screen and (min-width: 1025px) {
    .contents{
        max-width: 1200px;
        margin: 0 auto;
    }

    .home_slider .slide_obj a .text {
        padding: 5.625rem 5.625rem 2rem 11.875rem;
    }

        .home_slider .slide_obj a .text dl dd p{
            height: auto;
        }

        .home_slider .slide_obj a .text dl dd p::after{
            content: none;
        }

        .home_slider .slide_obj a .text dl dd .goto_detail{
            justify-content: flex-start;
            margin-top: 2em;
        }

    .home_slider .slide_obj a .fig{
        width: 600px;
    }

    .mainvisual > .box_footer p .lbl1{
        font-size: 1.55rem;
        margin-left: 0.4em;
    }

    .mainvisual > .box_footer p .lbl2{
        font-size: 4rem;
    }

    .search_form_box{
        padding-left: 22rem;
        margin-bottom: 5rem;
    }

        .search_form_box dl dd .input_submit_box{
            height: 3rem;
        }

        .search_form_box dl dd .detail_search{
            margin-left: 1rem;
        }

            .search_form_box dl dd .detail_search button{
                height: 100%;
            }

    .fig_kumapon p{
        width: 13rem;
        right: 5rem;
    }

    .search_form_box dl{
        padding-top: 2rem;
    }

    .search_form_box dl dt .lbl1{
        font-size: 1.25rem;
    }

    .search_form_box dl dd.main_search{
        padding: 1rem 4.75rem;
    }

    .search_form_box dl dd.sub_search{
        padding-left: 4.5rem;
        padding-right: 4.75rem;
    }

    .common_box > .box_header{
        width: 6rem;
    }

        .common_box > .box_header h2{
            font-size: 1.2rem;
            font-weight: 500;
        }

    .common_box > .box_inner{
        padding-left: 6rem;
    }

    .common_box > .box_footer{
        margin-top: 3em;
        justify-content: flex-end;
    }

    .news_box{
        margin-bottom: 3rem;
    }

    .pickup_box{
        padding-top: 4rem;
        padding-bottom: 4rem;
        margin-bottom: 4rem;
    }

        .pickup_box > .box_header{
            justify-content: flex-start;
        }

        .pickup_slider{
            width: 66rem;
        }

        .pickup_slider .slick-prev,
        .pickup_slider .slick-next{
            top: auto;
            bottom: 0;
        }

        .pickup_slider .slick-prev{
            left: -3rem;
        }
        .pickup_slider .slick-next{
            right: -3rem;
        }

        .pickup_slider .slide_obj{
            width: 15rem;
            height: 15rem;
            padding: 0 0.75rem;
        }

    .collection_box > .box_inner ul{
        gap: 1.875rem;
    }

        .collection_box > .box_inner ul li{
            width: calc((100% - 3.75rem) / 3);
        }

        .collection_box > .box_inner ul li a dl dt{
            height: 5rem;
        }

            .collection_box > .box_inner ul li a dl dt .lbl_title{
                font-size: 1.1em;
            }

            .collection_box > .box_inner ul li a dl dt .lbl_ruby{
                font-size: 0.8em;
            }

    .about_box{
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

        .about_box > .box_header h2{
            width: 43%;
            font-size: 3rem;
        }

        .about_box > .box_inner{
            padding-top: 3.75rem;
        }

        .about_box > .box_inner .text h3{
            font-size: 1.5em;
            line-height: 1.5;
            margin-bottom: 1em;
        }

        .about_box > .box_inner .text p{
            line-height: 1.8;
            font-size: 0.9em;
        }

        .about_box > .box_inner .about_nav {
            width: 33.75rem;
        }

            .about_box > .box_inner .about_nav ul{
                flex-direction: row;
                gap: 1rem;
            }

                .about_box > .box_inner .about_nav ul li{
                    width: calc((100% - 1rem) / 2);
                    
                }

                .about_box > .box_inner .about_nav ul li a{
                    height: 4.5rem;
                    justify-content: center;
                    font-size: 1em;
                }


}