.searchform_custom_posts{
    padding: 1rem 1rem 2rem;
    background: #ecf5ff;
    border-radius: 4px;
    margin-top: 1rem;
    margin-bottom: 1rem;
    & dt{
        line-height: 1.1;
        background-color: var(--blue);
        padding: .5rem;
        color: #fff;
        border-radius: 4px;
    }
    & dd{
        margin: 0;
    }
    & .level1_list{
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-top: 1rem;
        @container wrap (max-width: 500px){
            gap: .5rem;
        }
        li{
            display: inline-flex;
            align-items: center;
        }
        &:has(.level2_list){
            >li {
                display: grid;
                grid-template-columns: minmax(8rem,auto) 1fr;
                width: 100%;
                @container wrap (max-width: 500px) {
                    grid-template-columns: 1fr;
                }
            }
        }
    }
    & .level2_list{
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
        @container wrap (max-width: 500px){
            margin-top: .5rem;
            margin-left: .5rem;
            font-size: .9rem;
        }
    }
    label{
        display: inline-flex;
        gap: .5rem;
        cursor: pointer;
        align-items: center;
        background: #fff;
        border: solid 2px #666;
        color: #666;
        padding: .5rem;
        border-radius: 4px;
        &:has(input:checked){
            border-color: var(--blue);
            border-width: 2px;
            color: var(--blue);
        }
    }
    & .button_area{
        text-align: center;
        margin-top: 2rem;
        & button{
            background: var(--blue);
            border: none;
            color: #fff;
            padding: .75em 2em;
        }
    }
}

.searchform_custom_posts_header{
    text-align: center;
    color: var(--blue);
    margin-bottom: .5rem;
    font-weight: bold;
    font-family: var(--noto);
    font-size: 1.25rem;
}

.searchform_custom_posts_summary{
    background: #333;
    color: #fff;
    width: 100%;
    text-align: center;
    margin-top: 2rem;
}

.search-conditions{
    display: grid;
    grid-template-columns: minmax(4rem,30%) 1fr;
    gap: .5rem 1rem;
    align-items: flex-start;
    background: #f5f5f5;
    border-radius: 4px;
    margin-bottom: 2rem;
    padding: .5rem;
    & dt{
        font-weight: normal;
        display: flex;
        justify-content: space-between;
        &:after{
            content: "：";
        }
    }
    & dd{
        margin: 0;
    }
    &:blank{
        display: none;
    }
}
.loop-search_result{
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fill, minmax(30rem,auto));
    @container wrap (max-width: 750px) {
        grid-template-columns: 1fr;
    }
    & .hentry{
        display: grid;
        gap: 1rem;
        grid-template-columns: minmax(12%,12rem) 1fr;
        grid-template-rows: auto 1fr;
        border: solid 1px #e5e5e5;
        padding: .5rem;
        @container wrap (max-width: 500px){
            grid-template-columns: 20% 1fr;
        }
    }
    & .entry-header{
        grid-column: 1/-1;
        padding: .5rem;
    }
    & .entry-title{
        font-size: 1.25rem;
        line-height: 1.2;
        & a{
            color: var(--blue);
            &:after{
                content: '';
                display: inline-block;
                width: .5em;
                height: .5em;
                background: currentColor;
                clip-path: polygon(40% 0, 100% 50%, 40% 100%);
            }
            &:hover{
                &:after{
                    transform: translateX(20%);
                }
            }
        }
    }
    & .entry-summary{
        margin-top: 0;
        font-size: .8em;
    }
    & .entry-terms{
        font-size: .8em;
    }
}

.posts_pagination_wrapper{
    & .pagination{
        justify-content: center;
    }
    & .nav-links{
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 4rem;
        gap: .5rem;
    }
    a.page-numbers{
        text-decoration: underline;
        display: inline-block;
        padding-left: .25em;
        padding-right: .25em;
    }
    & .current{
        display: inline-grid;
        min-width: 1.5em;
        height: 1.5em;
        align-content: center;
        background: #a5a5a5;
        color: #fff;
        text-align: center;
    }
    & a.next,& a.prev{
        text-decoration: none;
    }
}