.search-fields{
    background-color:var(--secondary-color);
    padding:1.5rem .938rem;
    border-radius:.938rem .938rem 0 0;
}
.search-fields > dl{
    display:flex;
    flex-direction:column;
}
.search-fields > dl+dl{
    margin-top:clamp(1.25rem,2.21vi + .73rem,2.5rem);
    padding-top:clamp(1.25rem,2.21vi + .73rem,2.5rem);
    border-top:.063rem solid var(--primary-color);
}
.search-fields dl dt{
    font-size:var(--fs-sm);
    flex-shrink:0;
    width:clamp(8.125rem,2.21vi + 7.61rem,9.375rem);
    padding:.125rem .625rem;
    background-color:var(--primary-color);
    color:var(--white);
    border-radius:2.5rem;
    text-align:center;
}
.search-fields dl dd{
    flex-basis:auto;
    width:100%;
    margin-top:.938rem;
}
.searchform_group-btn{
    position:relative;
}
.search-input{
    width:100%;
    height:3.125rem;
    padding:0 .938rem;
    background-color:var(--white);
    border-radius:1.25rem;
}
.searchform_group-btn .search-btn{
    position:absolute;
    top:.625rem;
    right:1.25rem;
}
.search-icon svg path{
    fill:var(--primary-color);
}
.search-fields p{
    font-weight:var(--font-w-bold);
}
.search-fields ul{
    font-size:var(--fs-sm);
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:clamp(.625rem,1.1vi + .37rem,1.25rem);
    margin-top:.625rem;
}
.search-fields ul a{
    display:flex;
    align-items:center;
    gap:.5rem;
}
.search-fields ul a .caret-right-icon{
    width:.5rem;
}
.search-fields dd > div+div{
    margin-top:1.875rem;
}
.list{
    margin-top:clamp(1.875rem,3.31vi + 1.1rem,3.75rem);
}
.list > dl{
    background-color:var(--white);
}
.list > dl+dl{
    margin-top:1.25rem;
}
.list .job-ttl{
    font-size:clamp(1.125rem,.66vi + .97rem,1.5rem);
    font-weight:var(--font-w-black);
    background-color:var(--secondary-color);
    padding:.625rem;
}
.list .job-content{
    padding:1.25rem .625rem;
}
.job-content > .flex > div:nth-of-type(1){
    position:relative;
}
.job-content ol{
    font-size:var(--fs-sm);
    display:flex;
    flex-wrap:wrap;
    gap:.625rem;
    margin-top:.938rem;
}
.job-content ol li.current{
    padding:.215rem .625rem;
    background-color:var(--primary-color);
    color:var(--white);
}
.job-desc{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-line-clamp:5;
    line-clamp:5;
    line-height:1.8;
    margin-top:.938rem;
}
.job-details{
    margin-top:.938rem;
}
.job-details > dl+dl{
    margin-top:.625rem;
}
.job-details > dl{
    display:flex;
}
.job-details > dl dt{
    flex-shrink:0;
    width:5rem;
    color:var(--orange);
}
.job-details > dl dd{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-overflow:ellipsis;
    -webkit-line-clamp:2;
    line-clamp:2;
}
.actions-btn{
    margin-top:clamp(1.25rem,2.21vi + .73rem,2.5rem);
}
.actions-btn .flex{
    flex-direction:row;
    justify-content:center;
    gap:.938rem;
    margin-top:clamp(1.25rem,2.21vi + .73rem,2.5rem);
}
.actions-btn .btn{
    margin-top:0;
}
.actions-btn a{
    font-size:var(--fs-sm);
    width:clamp(8.75rem,4.42vi + 7.71rem,11.25rem);
    height:clamp(2.5rem,1.1vi + 2.24rem,3.125rem);
}
.actions-btn .save-job a{
    background-color:var(--blue);
}
.actions-btn .view-job a{
    background-color:var(--orange);
}
.pagination-alt{
    margin-top:1.25rem;
    padding-top:1.25rem;
    border-top:.063rem solid var(--primary-color);
}
.pagination-alt .wp-pagenavi{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:clamp(.625rem,1.1vi + .37rem,1.25rem);
    line-height:1;
}
.pagination-alt .wp-pagenavi a,
.pagination-alt .wp-pagenavi .current{
    font-size:clamp(1rem,.66vi + .84rem,1.375rem);
}
.pagination-alt .wp-pagenavi .current{
    padding:.313rem .625rem;
    background-color:var(--white);
    color:var(--primary-color);
    border-radius:.313rem;
}
.pagination-alt .wp-pagenavi .pages{
    width:100%;
    text-align:center;
}
/*-- Filter Styles --*/
.location-filters{
    display:flex;
    flex-wrap:wrap;
    gap:2rem;
}
.prefecture-group{
    min-width:200px;
}
.prefecture-name{
    margin-bottom:.5rem;
}
.search-fields li{
    margin-bottom:.25rem;
}
.search-fields li a{
    display:flex;
    align-items:center;
    padding:.5rem;
    transition:background-color 0.2s;
}
.search-fields li a:hover,
.search-fields li a.active{
    background-color:var(--white);
}
.filter-actions{
    display:flex;
    justify-content:flex-end;
    gap:.938rem;
    margin-top:clamp(1.25rem,2.21vi + .73rem,2.5rem);
    padding-top:clamp(1.25rem,2.21vi + .73rem,2.5rem);
    border-top:.063rem solid var(--white);
}
.search-submit,
.clear-filters{
    width:7.5rem;
    padding:.625rem .938rem;
    background-color:var(--primary-color);
    color:var(--white);
}
.clear-filters{
    background-color:transparent;
    color:var(--primary-color);
    text-align:center;
}
.clear-filters:hover,
.clear-filters:active{
    background-color:var(--white);
}
.active-filters {
    padding:.938rem;
    margin-bottom:.938rem;
    background:var(--gray);
    border-radius:0 0 .938rem .938rem;
}
.active-filters h4{
    margin:0 0 0.5rem 0;
    color:var(--gray-dark);
}
.filter-tags{
    display:flex;
    flex-wrap:wrap;
    gap:.625rem;
}
.filter-tag{
    font-size:var(--fs-sm);
    background-color:var(--white);
    padding:.75rem;
}
.jobs-loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}
.jobs-loading-overlay .spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #007cba;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
.job-information--list {
    position: relative;
}
.filter-count {
    background: #007cba;
    color: white;
    border-radius: 10px;
    padding: 2px 6px;
    font-size: 0.75rem;
    margin-left: 0.5rem;
}
.search-fields a.active {
    background-color: #007cba !important;
    color: white !important;
}
.search-fields a.active .caret-right-icon::before {
    color: white;
}
/*-- media query 80rem --*/
@media screen and (min-width:80rem){
    .search-fields{
        padding:1.875rem;
    }
    .search-fields > dl{
        flex-wrap:nowrap;
        flex-direction:row;
        gap:2.5rem;
    }
    .search-fields dl dt{
        height:3.125rem;
        line-height:3.3;
    }
    .search-fields dl dd{
        margin-top:0;
    }
    .pagination-alt{
        margin-top:3.75rem;
        padding-top:3.75rem;
    }
    .list > dl+dl{
        margin-top:0;
    }
    .list .job-ttl,
    .list .job-content{
        padding:1.875rem;
    }
    .job-content > .flex{
        flex-direction:row;
        gap:3.125rem;
    }
    .job-content > .flex > div:nth-of-type(1){
        flex-shrink:0;
        width:25rem;
    }
    .job-content > .flex > div:nth-of-type(2){
        flex-basis:auto;
        width:100%;
    }
    .featured-img{
        width:25rem;
        height:18.75rem;
        overflow:hidden;
    }
    .featured-img img{
        height:100%;
        object-fit:cover;
        object-position:center;
    }
    .job-details{
        display:flex;
        flex-wrap:wrap;
        gap:1.25rem;
    }
    .job-details > dl{
        width:calc(50% - 1.25rem);
    }
    .job-details > dl+dl{
        margin-top:0;
    }
    .actions-btn .flex{
        justify-content:flex-start;
    }
}
@media (max-width: 768px) {
    .location-filters {
        flex-direction: column;
        gap: 1rem;
    }
    
    .filter-actions {
        flex-direction:row;
    }
    
    .filter-tags {
        flex-direction: column;
    }
}
/*-- keyfraames --*/
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}