.gallery_search_wrapper{
    border: solid 1px var(--teal);
    padding: 2rem 1rem;
    margin-bottom: 3rem;
    & details{
        margin-bottom: .5rem;
        padding: 0 0 .5rem;
        border-radius: 4px;
    }
    & summary{
        font-weight: bold;
        cursor: pointer;
        background: var(--ivory);
        padding: .5rem;
        border: solid 1px var(--logo_gray);
        border-radius: 4px;
        white-space: nowrap;
    }
    & .termlist{
        margin: .5rem 0 0;
        padding: .5rem;
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
        >li{
            list-style: none;
            padding: 0;
            margin: 0;
            >label{
                display: inline-block;
                border: solid 2px var(--teal);
                padding: .25rem .25rem;
                color: var(--teal);
                line-height: 1.2;
                cursor: pointer;
                font-weight: bold;
                border-radius: 4px;
                &:has(input:checked){
                    background: var(--teal);
                    color: #fff;
                }
            }
        }
        >.has_children{
            flex-basis: 100%;
            >label{
                float: left;
                margin-bottom: .5rem;
                @media (max-width: 991.98px){
                    float: none;
                    display: block;
                }
                &:after{
                    content: 'すべて';
                }
            }
        }
    }
    .termlist_children{
        display: inline-flex;
        flex-wrap: wrap;
        gap: .5rem;
        font-size: 1rem;
        color: #000;
        margin: 0;
        padding-left: .5rem;
        @media (max-width: 991.98px){
            display: flex;
        }
        & li{
            margin: 0;
            list-style: none;
            padding: 0;
        }
        & label{
            display: inline-block;
            border: solid 1px #d5d5d5;
            padding: .25rem .25rem;
            color: #333;
            line-height: 1.2;
            cursor: pointer;
            border-radius: 4px;
            &:has(input:checked){
                color: #000;
                background: #e5e5e5;
            }
        }
        & input{
            display: inline-block;
        }
    }
    & .form_footer{
        text-align: center;
    }
    & button{
        border: none;
        cursor: pointer;
        background: var(--teal);
        color: #fff;
        font-size: 1.25rem;
        min-width: 8em;
        border-radius: 4px;
        padding: .5rem 1rem;
    }
}