



/*--------------------------------------------------------------------------------*/
.special-feature {
    position: relative;
    display: flex;
    flex-direction: column;

    padding: 20px 0px;
}

    .special-feature-title {
        display: flex;
        flex-direction: row;

        align-items: flex-start;
        justify-content: center;
    }
        .special-feature-title img {
            margin-right: 5px;
            width: 28px;
            padding-top: 3px;
        }
        .special-feature-text {
            padding-top: 3px;

            color: #4F5248;
            font-size: 18px;
            font-weight: 900;
        }

    .special-feature-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        row-gap: 30px;
        column-gap: 10px;
        padding: 10px 20px 10px;
    }
        .special-feature-item {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }
            .special-feature-item-category {
                display: none;

                text-align: center;
                background-color: #5ea156;
                border-radius: 5px;
                color: #fff;
            }
                .special-feature-item-category span {

                }

            .special-feature-item-image-wrapper {

            }
                .special-feature-item-image-wrapper img {
                    width: 100%;
                    border-radius: 5px;
                }
            .special-feature-item-title {
                font-size: 12px;
                font-weight: 600;

                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                text-overflow: ellipsis;
            }
            .special-feature-item-content {
                font-size: 10px;

                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                text-overflow: ellipsis;
            }

    .special-feature-more {
        display: flex;
        flex-direction: row;

        justify-content: end;
        padding-right: 20px;
    }
        .special-feature-more-text,
        .special-feature-more-text:visited,
        .special-feature-more-text:hover,
        .special-feature-more-text:active,
        .special-feature-more-text:focus {
            text-align: right;

            font-weight: 600;
            font-size: 13px;

            color: #5ea156;
        }



/*--------------------------------------------------------------------------------*/
.new-store {
    position: relative;
    display: flex;
    flex-direction: column;
}

    .new-store::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50%;   /* 상단 절반 */
        background-color: #5c9f55;
        z-index: -1;   /* 본문 아래로 보내기 */
    }

    .new-store-title {
        display: flex;
        flex-direction: row;

        align-items: flex-start;
        justify-content: center;
    }
        .new-store-title img {
            margin-right: 5px;
        }
        .new-store-text {
            padding-top: 3px;

            color: #4F5248;
            font-size: 18px;
            font-weight: 900;
        }
        

    .new-store-wrapper {
        display: flex;
        flex-direction: column;

        justify-content: center;

        overflow: hidden;

        padding-top: 20px;
    }

        .swiper-wrapper {
            
        }
            .new-store-wrapper .swiper-slide {
                position: relative;
                background-color: transparent;
            }

            .new-store-card {
                border-radius: 8px;
                overflow: hidden;

                position: relative;
                display: flex;
                flex-direction: column;

                width: 100%;
                container-type: inline-size;

                aspect-ratio: 0.74;
            }

                .new-store-card-image {
                    width: 100%;

                    overflow: hidden;

                    position: relative;
                    display: block;

                    flex: 0 0 50%;
                }
                    .new-store-card-image img {
                        width: 100%;
                        aspect-ratio: 1/1;

                        display: block;
                    }

                .new-store-card-content {
                    position: relative;
                    display: flex;
                    flex-direction: column;

                    flex: 1 0 auto;
                    gap: clamp(5px, 2cqi, 20px);

                    background-color: #fff;

                    container-type: inline-size;
                    min-width: 240px;
                }

                    .new-store-card-title-wrapper {
                        position: relative;
                        display: flex;
                        flex-direction: row;

                        font-size: 18px;

                        container-type: inline-size;
                        height: clamp(70px, 27cqi, 200px);
                    }
                        .new-store-card-title-logo {
                            position: relative;
                            flex: 0 0 30%;
                            margin-right: 20px;
                        }
                            .new-store-card-title-logo img {
                                position: absolute;
                                left: 15px;
                                top: -10px;
                                width: 100%;
                                aspect-ratio: 1 / 1;

                                padding: 5px;
                                background-color: #fff;

                                border-radius: 5px;
                                object-fit: fill;
                            }

                        .new-store-card-title-text {
                            flex: 1 0 calc(70% - 20px);

                            display: flex;
                            flex-direction: column;

                            justify-content: space-evenly;
                            align-items: stretch;

                            text-align: left;

                            container-type: inline-size;
                            min-width: 162px;
                        }
                            .new-store-card-title-text-genre {
                                display: flex;
                                flex-wrap: wrap;

                                height: 2.1em;
                                row-gap: 5px;

                                margin-top: clamp(4px, 3cqi, 18px);
                                font-size: clamp(9px, 6cqi, 17px);

                                padding-right: 10px;

                                overflow: hidden;

                                container-type: inline-size;
                                min-width: 163px;
                            }
                                .new-store-card-title-text-genre-item {
                                    overflow: hidden;
                                    margin-right: 3px;
                                    margin-bottom: 3px;
                                    border-radius: 15px;
                                    border: 1px solid #eee;
                                    font-weight: 600;
                                    padding: 2px 7px;
                                    display: inline-block;
                                    text-wrap: nowrap;
                                    text-overflow: ellipsis;
                                    font-size: clamp(9px, 6cqi, 17px);
                                }
                            .new-store-card-title-text-name {
                                font-size: clamp(12px, 9cqi, 32px);
                                font-weight: 600;

                                display: -webkit-box;
                                -webkit-box-orient: vertical;
                                -webkit-line-clamp: 1;
                                overflow: hidden;
                                text-overflow: ellipsis;
                            }
                            .new-store-card-title-text-kana {
                                font-size: clamp(9px, 5cqi, 16px);

                                display: -webkit-box;
                                -webkit-box-orient: vertical;
                                -webkit-line-clamp: 1;
                                overflow: hidden;
                                text-overflow: ellipsis;
                            }

                    .new-store-card-description {
                        padding: 0px 20px;
                        line-height: 1.4;
                        font-size: clamp(10px, 4.5cqi, 21px);
                        height: calc(1.4em * 3);

                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 3;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        text-align: left;
                    }

                    .new-store-card-button {
                        position: absolute;
                        display: block;
                        left: 50%;
                        transform: translateX(-50%);

                        bottom: clamp(13px, 5cqi, 30px);
                        width: clamp(160px, 63cqi, 200px);
                        font-size: clamp(14px, 5.5cqi, 18px);
                        height: clamp(28px, 11cqi, 40px);

                        background-color: #4CAF50;
                        color: white;
                        border: none;
                        border-radius: 4px;
                        cursor: pointer;
                    }


  

        .new-store-wrapper .swiper-pagination {
            display: flex;

            position: relative;
            align-items: center;
            justify-content: center;
            padding: 14px 0px;

            bottom: 0px !important;
        }
            .new-store-wrapper .swiper-pagination-bullet-active {
                width: 12px;
                height: 12px;
                background-color: #fff;
            }




/*--------------------------------------------------------------------------------*/
#store-voice-more {
    background-color: #EBE4CE;

    padding-top: 5px;

    display: flex;
    flex-direction: column;
}

    .store-voice-result-more {
        position: relative;

        margin: 0 auto;
    }
        #store-voice-more-button {
            display: flex;
            flex-direction: row;
            gap: 10px;

            border-radius: 18px;
            border: 1px solid #333;
            padding: 5px 15px;

            cursor: pointer;
        }

            .store-voice-result-text {
            }
            .store-voice-result-icon {
                display: flex;
                flex-direction: column;
            }
                .store-voice-result-icon img {
                    padding-top: 8px;
                    width: 16px;
                }




/*--------------------------------------------------------------------------------*/
#top-blog-container {
    position: relative;
    display: flex;
    flex-direction: column;
}

    #top-blog-container-title {
        position: relative;
        display: flex;
        flex-direction: row;
        gap: 10px;
        justify-content: center;
        margin-top: 20px;
    }
        .top-blog-container-title-icon {
        }
            .top-blog-container-title-icon img {
                width: 28px;
            }
        .top-blog-container-title-text {
            color: #4F5248;
            font-size: 18px;
            font-weight: 900;
        }
        a.top-blog-container-title-list {
            position: absolute;
            top: 5px;
            right: 20px;
            font-size: 12px;
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 2px;
        }


    #top-blog-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 30px;
        column-gap: 10px;
        padding: 10px 20px 10px;
    }
        .top-blog-item {
            display: flex;
            flex-direction: column;
        }
        
            .top-blog-thumbnail {

            }
                .top-blog-thumbnail-image {
                    width: 100%;
                }
            .top-blog-title {
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
                overflow: hidden;
                text-overflow: ellipsis;

                font-size: 14px;
            }





/*--------------------------------------------------------------------------------*/



#btn-search-option {
    cursor: pointer;

    word-break: keep-all; /* Keep 「絞り込む」 Button */
}



/*--------------------------------------------------------------------------------*/
.recruit-list-banner {
    width: 100%;
    background-color: #fff;

    display: flex;
    flex-direction: column;

    padding: 14px 0px 12px 0px;
}
    .recruit-list-banner-title-1-wrapper {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        gap: 10px;
    }
        .recruit-list-banner-title-1-icon {
        }
            .recruit-list-banner-title-1-icon img {
                height: 16px;
            }
        .recruit-list-banner-title-1-text {
            margin: 0px;
            color: #4F5248;
            font-size: 14px;
            font-weight: 400;
        }

    .recruit-list-banner-title-2-wrapper {
        display: grid;
        grid-template-columns: 31px auto;
        justify-content: center;
        gap: 6px;
    }
        .recruit-list-banner-title-2-icon {
            height: 30px;
        }
            .recruit-list-banner-title-2-icon img {
                height: 100%;
            }
        .recruit-list-banner-title-2-text {
            color: #4F5248;
            font-size: 18px;
            font-weight: 900;
        }
    .recruit-list-banner-image {
        margin-top: 10px;
    }
    .recruit-list-banner-image img {
        width: 100%;
    }
