.newsearch_header {
    margin-bottom: 0;
    background: #21b6bc;
}

.newsearch_header__inner h1::before {
    content: "";
    display: block;
    width: 46px;
    height: 46px;
    background-color: #fff;
    border-radius: 50%;
    margin-right: 10px;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2046.06%2046.06%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23008ca3%3Bstroke-width%3A0px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_248%22%3E%3Cpath%20id%3D%22_%E3%83%91%E3%82%B9_316%22%20class%3D%22cls-1%22%20d%3D%22m44.6%2C37.28l-4.73-4.73c6.12-10.16%2C2.84-23.35-7.31-29.47C22.39-3.04%2C9.2.24%2C3.08%2C10.39-3.04%2C20.55.24%2C33.74%2C10.39%2C39.86c6.82%2C4.11%2C15.34%2C4.1%2C22.16%2C0l4.73%2C4.73c2.04%2C1.99%2C5.32%2C1.95%2C7.31-.1%2C1.95-2.01%2C1.95-5.2%2C0-7.21m-13.77-6.46c-5.13%2C5.13-13.46%2C5.13-18.59%2C0-5.13-5.13-5.13-13.46%2C0-18.59%2C5.13-5.13%2C13.46-5.13%2C18.59%2C0%2C2.46%2C2.46%2C3.85%2C5.81%2C3.85%2C9.29%2C0%2C3.49-1.38%2C6.84-3.85%2C9.3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 24px 24px;
}

.newsearch_header__inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 20px 0 0 0;
}

.newsearch_header__inner h1 {
    font-size: 2.25rem;
    margin-bottom: 0;
    font-weight: 600;
    color: #fff;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}

.newsearch_wrap {
    margin-top: 0;
    background-color: #fff8d9;
    padding-bottom: 30px;
    margin-bottom: 80px;
}

.newsearch_deco {
    width: 100%;
    height: 20px;
    border-radius: 0 0 40px 40px;
    background: #21b6bc;
    margin-bottom: 20px;
}

.newsearch_box {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.newsearch_h2 {
    font-size: 24px;
    color: #068ba4;
    font-weight: 600;
    margin-bottom: 16px;
}

.newsearch_ui {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.newsearch_btbox {
    width: 700px;
    display: flex;
    justify-content: center;
    background-color: #fff;
    border: 2px solid #fe9900;
    border-radius: 12px;
    padding: 8px 0;
}

.modal-open {
    width: 33%;
}

.newsearch_area {
    width: 226px;
    color: #21b6bc;
    font-size: 26px;
    height: 40px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 3px solid #d5d5d5;
    cursor: pointer;
}

.newsearch_area img {
    width: 34px;
    height: 34px;
    margin-right: 16px;
}

.modal-open > span {
    display: inline-block;
    font-size: 13px;
    color: #21b6bc;
    font-weight: 600;
    background: #ffeed5;
    border-radius: 6px;
    padding: 5px 10px;
    margin: 15px 5px 0 5px;
    cursor: pointer;
}

.newsearch_job {
    width: 226px;
    color: #21b6bc;
    font-size: 26px;
    height: 40px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.newsearch_job img {
    width: 34px;
    height: 34px;
    margin-right: 16px;
}

.newsearch_branch {
    width: 226px;
    color: #21b6bc;
    font-size: 26px;
    height: 40px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 3px solid #d5d5d5;
    cursor: pointer;
}

.newsearch_branch img {
    width: 26px;
    height: 34px;
    margin-right: 16px;
}

.newsearch_wordbox {
    display: flex;
    align-items: center;
    border: 2px solid #fe9900;
    /* オレンジ枠 */
    border-radius: 12px;
    overflow: hidden;
    /* ボタンと角丸をつなげる */
    height: 60px;
    background-color: #fff;
}

.newsearch_wordbox input {
    flex: 1;
    border: none;
    outline: none;
    padding: 0 16px;
    font-size: 20px;
    color: #333;
    height: 100%;
    border-radius: 12px 0 0 12px;
}

.newsearch_wordbox input::placeholder {
    color: #aaa;
}

.check_submit {
    background-color: #fe9900;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    border: none;
    padding: 0 32px;
    height: 100%;
    cursor: pointer;
    /*border-radius: 0 12px 12px 0;*/
    transition: background-color 0.2s;
}

.check_submit:hover {
    background-color: #ffa81f;
}

@media only screen and (max-width: 1100px) {
    .newsearch_header__inner h1 {
        font-size: 2rem;
        margin-left: 20px;
    }

    .newsearch_header__inner h1::before {
        width: 46px;
        height: 46px;
        background-size: 24px 24px;
    }

    .newsearch_box {
        width: 90%;
        min-width: 340px;
        max-width: 800px;
        margin: 0 auto;
    }

    .newsearch_h2 {
        text-align: center;
        font-size: 26px;
    }

    .newsearch_ui {
        flex-direction: column;
        justify-content: center;
    }

    .newsearch_btbox {
        width: 100%;
        height: auto;
        margin-bottom: 40px;
        margin-left: auto;
        margin-right: auto;
    }

    .newsearch_wordbox {
        width: 350px;
        margin-bottom: 40px;
    }

    .newsearch_area {
        width: 100%;
        font-size: 18px;
        height: 70px;
        font-weight: 500;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-right: 2px solid #d5d5d5;
        text-align: center;
    }

    .newsearch_area img {
        margin-right: 0px;
        margin-bottom: 2px;
    }

    .modal-open > span {
        font-size: 12px;
    }

    .newsearch_area p,
    .newsearch_job p,
    .newsearch_branch p {
        width: 100%;
    }

    .newsearch_job {
        width: 100%;
        font-size: 18px;
        height: 70px;
        font-weight: 500;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .newsearch_job img {
        margin-right: 0px;
        margin-bottom: 2px;
    }

    .newsearch_branch {
        width: 100%;
        font-size: 18px;
        height: 70px;
        font-weight: 500;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-left: 2px solid #d5d5d5;
        text-align: center;
    }

    .newsearch_branch img {
        margin-right: 0px;
        margin-bottom: 2px;
    }

    .newsearch_area p::before {
        display: block;
        width: 39px;
        height: 40px;
        margin-left: auto;
        margin-right: auto;
    }

    .newsearch_job p::before {
        display: block;
        width: 39px;
        height: 40px;
        margin-left: auto;
        margin-right: auto;
    }

    .newsearch_branch p::before {
        display: block;
        width: 39px;
        height: 40px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .newsearch_wordbox {
        width: 100%;
        margin-bottom: 0;
    }

    .newsearch_wordbox input {
        padding: 0 4px 0 16px;
    }

    .check_submit {
        padding: 0 16px;
    }
}

@media only screen and (max-width: 1280px) {

    .newsearch_box {
        width: 96%;
    }
}


/* ==========================================================
   モーダル共通設定（PC／SP共通HTML対応）
   ========================================================== */
@media only screen and (max-width: 1200px) {
    #general_input {
        padding-bottom: 33.3333333333vw;
        background: none;
    }
}

#general_input .sp_float {
    display: none;
}

@media only screen and (max-width: 1200px) {
    #general_input .sp_float {
        background: rgba(0, 0, 0, 0.6);
        padding: 4vw 2.6666666667vw;
        position: fixed;
        z-index: 10001;
        bottom: 0;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
    }

    #general_input .sp_float #float_modal_close {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        color: #fff;
        /*font-size: 3.2vw;*/
        font-weight: 500;
    }

    #general_input .sp_float #float_modal_close:before {
        background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%22512%2052.53%20459.47%200%20256%20203.46%2052.54%200%200%2052.53%20203.47%20256%200%20459.46%2052.53%20512%20256%20308.53%20459.47%20512%20512%20459.47%20308.54%20256%20512%2052.53%22%2F%3E%3C%2Fsvg%3E");
        width: 4.4vw;
        height: 4.4vw;
        content: "";
        display: block;
        background-repeat: no-repeat;
        background-size: cover;
        margin-right: 1.3333333333vw;
    }
}

#general_input .sp_float .space {
    padding: 0 4.6666666667vw 0 11.3333333333vw;
}

#general_input .sp_float button.submit {
    background: #ff9900;
    /*font-size: 2.25rem;*/
    border-radius: 12px;
    font-weight: 600;
    color: #fff;
    width: 200px;
    border: none;
}

@media only screen and (max-width: 1200px) {
    #general_input .sp_float button.submit {
        /*font-size: 4.5333333333vw;*/
        width: auto;
        padding: 0.9333333333vw 1.2vw;
    }
}

#general_input .sp_float button.reset {
    background: #fff;
    border-radius: 12px;
    /*font-size: 2.6666666667vw;*/
    color: #333333;
    font-weight: 600;
    width: 20vw;
    text-align: center;
    padding: 2.6666666667vw 0;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap {
        background: #fff;
    }
}

.modal__wrap .modal {
    overflow: auto;
    background: #fff;
    width: 990px;
    border: 2px solid #21b6bc;
    border-radius: 12px;
    padding: 0 20px 20px 20px;
    position: relative;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal {
        width: 100%;
        border: none;
        padding: 0;
        overflow: unset;
    }
}

.modal__wrap .modal .modal-close {
    right: 36px;
    top: 16px;
    cursor: pointer;
}

.modal__wrap .modal .modal-close::after {
    background-image: url("/images/close_navi.svg");
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    width: 27px;
    height: 27px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal .modal-close::after {
        width: 36px;
        height: 36px;
    }
    .modal__wrap .modal .modal-close {
    position: fixed;
    }
}

.modal__wrap .modal .mobile_title {
    display: none;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal .mobile_title {
        padding: 2.6666666667vw;
    }
}

.modal__wrap .modal .category {
    font-size: 24px;
    font-weight: 600;
    width: 777px;
    background: #21b6bc;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    border-radius: 0 0 8px 8px;
    margin: 0 auto 40px auto;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal .category {
        width: 180px;
        height: 50px;
        border-radius: 0 0 12px 12px;
        margin-bottom: 30px;
        padding-top: 0;
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal {
        border-radius: 0;
        padding: 0;
    }
}

.modal__wrap .modal__checklist .area_list {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #D9F1F5;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .area_list {
        padding-right: 2.6666666667vw;
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
}

.modal__wrap .modal__checklist .area_list li {
    font-size: 1rem;
    font-weight: 600;
    line-height: normal;
    width: 12%;
    margin-right: 1px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .area_list li {
        margin-bottom: 40px;
        /*font-size: 3.2vw;*/
        font-weight: 500;
        width: 100%;
    }
}

.modal__wrap .modal__checklist .area_list li:first-child {
    width: 15%;
    color: #21b6bc;
}

.modal__wrap .modal__checklist .area_list input[type=checkbox] {
    padding-left: 27px;
}

@media only screen and (max-width: 1200px) {

    /* ▼ 第一階層（都道府県）見出し用 */
    .modal__wrap .modal__checklist .area_list > li:first-child {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        padding-top: 20px;
        font-size: 20px;
        border-top: 2px solid #d9f1f5;
        color: #008ca3;
    }


    /* ▼ 三角アイコン（開閉用） */
    .area_list > li:first-child {
        position: relative;
        cursor: pointer;
        font-weight: bold;
        padding-right: 28px;
    }

    .area_list > li:first-child .toggle-btn {
        position: absolute;
        right: 36px;
        top: 50%;
        transform: translateY(-50%) rotate(0deg);
        width: 0;
        height: 0;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 12px solid #ff9900;
        transition: transform 0.2s ease;
    }

    .area_list > li:first-child .toggle-btn.open {
        transform: translateY(-50%) rotate(90deg);
    }

    /* ▼ 営業所（branch_list）も同様 */
    .branch_list dt {
        position: relative;
        cursor: pointer;
        font-weight: bold;
        padding-right: 28px;
    }

    .branch_list dt .toggle-btn {
        position: absolute;
        right: 36px;
        top: 50%;
        transform: translateY(-50%) rotate(0deg);
        width: 0;
        height: 0;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 12px solid #ff9900;
        transition: transform 0.2s ease;
    }

    .branch_list dt .toggle-btn.open {
        transform: translateY(-50%) rotate(90deg);
    }
}

.modal__wrap .modal__checklist .area_list li:last-child {
    margin-right: 0;
}

.modal__wrap .modal__checklist .job_list {
    width: 777px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .job_list {
        width: 100%;
        padding-left: 20px;
        padding-left: 20px;
    }
}

.modal__wrap .modal__checklist .job_list dl > div {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #D9F1F5;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .job_list dl > div {
        padding-bottom: 0vw;
        border-bottom: none;
    }
}

.modal__wrap .modal__checklist .job_list dl > div dt {
    font-weight: 600;
    font-size: 1rem;
    color: #21b6bc;
    width: 315px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .job_list dl > div dt {
        font-size: 19px;
        width: 100%;
        margin-bottom: 2.6666666667vw;
        border-top: 2px solid #d9f1f5 !important;
        padding-top: 20px;
    }
}

.modal__wrap .modal__checklist .job_list dl > div dd {
    font-size: 1rem;
    width: calc(100% - 315px);
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .job_list dl > div dd {
        /*font-size: 3.2vw;*/
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .job_list dl > div dd {
        width: 100%;
    }
}

.modal__wrap .modal__checklist .job_list dl > div dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.modal__wrap .modal__checklist .job_list dl > div dd ul > li {
    margin-right: 40px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .job_list dl > div dd ul > li {
        width: 100%;
        margin: 0 0 30px 20px;
    }
}

.modal__wrap .modal__checklist .branch_list {
    width: 891px;
    margin: auto;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list {
        width: 100%;
        padding-left: 20px;
        padding-left: 20px;
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list {
        padding-left: 2.6666666667vw;
    }
}

.modal__wrap .modal__checklist .branch_list > div {
    margin-bottom: 10px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div {
        margin-bottom: 40px;
    }
}

.modal__wrap .modal__checklist .branch_list > div dt {
    color: #21B6BC;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 10px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dt {
        margin-bottom: 20px;
        padding-top: 20px;
        font-size: 20px;
        border-top: 2px solid #d9f1f5;


    }
}

.modal__wrap .modal__checklist .branch_list > div dd {
    font-size: 1rem;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dd {
        font-size: 16px;
    }
}

.modal__wrap .modal__checklist .branch_list > div dd ul {
    display: flex;
    flex-wrap: wrap;
}

.modal__wrap .modal__checklist .branch_list > div dd ul li {
    margin-bottom: 20px;
    margin-right: 40px;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dd ul li {
        margin-bottom: 4vw;
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dd ul li {
        margin-right: 0vw;
    }
}

@media only screen and (min-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dd ul li input[type=checkbox] {
        padding-left: 27px;
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dd ul li {
        width: 33.33%;
        margin-right: 0;
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal__checklist .branch_list > div dd ul li {
        width: 48%;
        margin-right: 2%;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 600px) {
    .modal__wrap .modal__checklist .branch_list > div dd ul li {
        width: 100%;
        margin-right: 2%;
        margin-bottom: 30px;
    }
}



.modal__wrap .modal button.submit {
    background: #ff9900;
    font-size: 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    color: #fff;
    border: 4px solid #fff;
    cursor: pointer;
}

@media only screen and (max-width: 1200px) {
    .modal__wrap .modal button.submit {
        /*font-size: 4.5333333333vw;*/
        width: auto;
        padding: 10px;
        margin: 0;
    }
}

.modal__wrap .modal button.reset {
    background: #fff;
    border-radius: 12px;
    font-size: 2.6666666667vw;
    color: #333333;
    font-weight: 600;
    width: 20vw;
    text-align: center;
    padding: 2.6666666667vw 0;
}

.modal__wrap .modal .job,
.modal__wrap .modal .area,
.modal__wrap .modal .branch {
    font-weight: 600;
    font-size: 1.125rem;
    color: #008ca3;
    position: absolute;
    bottom: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.modal__wrap .modal .job::after,
.modal__wrap .modal .job::before,
.modal__wrap .modal .area::after,
.modal__wrap .modal .area::before,
.modal__wrap .modal .branch::after,
.modal__wrap .modal .branch::before {
    content: "";
    display: block;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2030%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23008ca3%3Bstroke-width%3A0px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22_%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_240%22%3E%3Cpath%20id%3D%22_%E3%83%91%E3%82%B9_314%22%20class%3D%22cls-1%22%20d%3D%22m15%2C0C6.72%2C0%2C0%2C6.72%2C0%2C15s6.72%2C15%2C15%2C15%2C15-6.72%2C15-15S23.28%2C0%2C15%2C0m-1.39%2C22.83l-2.58-2.58%2C5.24-5.24-5.24-5.24%2C2.58-2.58%2C7.83%2C7.83-7.83%2C7.83Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    width: 30px;
    height: 30px;
    cursor: pointer;
}

.modal__wrap .modal .job::before,
.modal__wrap .modal .area::before,
.modal__wrap .modal .branch::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    margin-right: 10px;
}

.modal__wrap .modal .job::after,
.modal__wrap .modal .area::after,
.modal__wrap .modal .branch::after {
    margin-left: 10px;
}

@media only screen and (max-width: 1200px) {

    .modal__wrap .modal .job,
    .modal__wrap .modal .area,
    .modal__wrap .modal .branch {
        /*display: none;*/
    }
}

#area-input.modal__wrap .modal .branch {
    left: 34px;
    width: 120px;
    cursor: pointer;
    background-color: #fff;
}

#area-input.modal__wrap .modal .branch::after {
    display: none;
}

#area-input.modal__wrap .modal .job {
    right: 34px;
    width: 120px;
    cursor: pointer;
    background-color: #fff;
}

#area-input.modal__wrap .modal .job::before {
    display: none;
}

#job-input.modal__wrap .modal .area {
    left: 34px;
    width: 120px;
    cursor: pointer;
    background-color: #fff;
}

#job-input.modal__wrap .modal .area::after {
    display: none;
}

#job-input.modal__wrap .modal .branch {
    right: 34px;
    width: 120px;
    cursor: pointer;
    background-color: #fff;
}

#job-input.modal__wrap .modal .branch::before {
    display: none;
}

#branch-input.modal__wrap .modal {
    width: 1100px;
}

@media only screen and (max-width: 1200px) {
    #branch-input.modal__wrap .modal {
        width: 94%;
        padding-bottom: 80px;
    }
}

#branch-input.modal__wrap .modal .job {
    left: 34px;
    width: 120px;
    cursor: pointer;
    background-color: #fff;
}

#branch-input.modal__wrap .modal .job::after {
    display: none;
}

#branch-input.modal__wrap .modal .area {
    right: 34px;
    width: 120px;
    cursor: pointer;
    background-color: #fff;
}

#branch-input.modal__wrap .modal .area::before {
    display: none;
}

/* ==========================================================
   スマホ用表示（max-width: 1200px）
   ========================================================== */
@media screen and (max-width: 1200px) {

    /* モーダル本体：SPは画面下固定表示 */
    .modal {
        width: 100%;
        height: 90%;
        max-height: none;
        border-radius: 20px 20px 0 0;
        padding: 60px 20px 120px;
        overflow-y: auto;
    }

    /* 閉じるボタン */
    .modal-close {
        top: 14px;
        right: 16px;
        width: 28px;
        height: 28px;
    }

    .modal-close::before,
    .modal-close::after {
        width: 18px;
    }

    /* テキスト調整 */
    .modal__checklist {
        font-size: 15px;
        line-height: 1.8;
    }

    .modal__checklist .category {
        font-size: 17px;
        margin-bottom: 8px;
    }

    /* アコーディオン用三角 */
    .pref.dli-chevron-down {
        margin-left: 6px;
        transition: transform 0.3s;
    }

    .pref.dli-chevron-down.selected {
        transform: translateY(-25%) rotate(135deg);
    }

    /* 下部固定ボタンエリア */
    .sp_float {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #fff;
        border-top: 1px solid #ddd;
        padding: 10px 16px 14px;
        z-index: 10000;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    }

    .sp_float button {
        flex: 1;
        border: none;
        border-radius: 6px;
        padding: 14px 0;
        font-size: 15px;
        font-weight: 600;
    }

    .sp_float .reset {
        background: #f2f2f2;
        color: #555;
    }

    .sp_float .submit {
        background: #21b6bc;
        color: #fff;
    }

    #float_modal_close {
        font-size: 14px;
        color: #21b6bc;
        position: absolute;
        top: 8px;
        right: 18px;
    }

    /* 開閉アニメ */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media only screen and (max-width: 1200px) {
    .modal__wrap {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(255, 255, 255, 0.7);
        z-index: 10001;
        overflow: hidden;
    }

    .modal__wrap.on {
        display: flex;
        justify-content: center;
        align-items: center;
        animation: appear 0.4s ease;
    }

    .modal__wrap .modal {
        width: 94%;
        max-width: 720px;
        border: 2px solid #21b6bc;
        border-radius: 12px;
        background: #fff;
        position: relative;
        overflow: auto;
        height: 80%;
        padding-bottom: 80px;
        padding-bottom: 80px;
    }

    /* 横移動アニメーション */
    .modal__wrap.slide-in {
        animation: slideIn 0.4s ease forwards;
    }

    .modal__wrap.slide-out {
        animation: slideOut 0.4s ease forwards;
    }

    @keyframes slideIn {
        from {
            transform: translateX(100%);
            opacity: 0;
        }

        to {
            transform: translateX(0);
            opacity: 1;
        }
    }

    @keyframes slideOut {
        from {
            transform: translateX(0);
            opacity: 1;
        }

        to {
            transform: translateX(-100%);
            opacity: 0;
        }
    }
}

@media screen and (max-width: 1200px) {

    /* モーダル切替ボタン（職種・エリア） */
    .modal-nav {
        position: fixed;
        bottom: 20px;
        /* 下部ボタン群の少し上に配置 */
        left: 0;
        width: 100%;
        display: flex;
        justify-content: space-around;
        gap: 10px;
        padding: 10px 15px;
        z-index: 12000;
        /* sp_floatより上 */
    }

    .modal-nav p {
        flex: 1;
        text-align: center;
        border: 2px solid #f39800;
        color: #f39800;
        border-radius: 8px;
        font-weight: 600;
        font-size: 15px;
        padding: 10px 0;
    }

    /* モーダル下部固定ボタンエリア */
    .sp_float {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        gap: 10px;
        background: #fff;
        padding: 12px 16px;
        border-top: 1px solid #ddd;
        z-index: 11000;
    }

    .modal_submit {
        margin-bottom: 80px;
    }
}

@media screen and (max-width: 1200px) {

    /* ▼ エリア（area_list） */
    .area_list > li:first-child {
        position: relative;
        cursor: pointer;
        font-weight: bold;
        padding-right: 28px;
    }

    .area_list > li:first-child .toggle-btn {
        position: absolute;
        right: 36px;
        top: 75%;
        transform: translateY(-50%) rotate(0deg);
        width: 0;
        height: 0;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 12px solid #ff9900;
        /* 黄色三角 */
        transition: transform 0.2s ease;
    }

    .area_list > li:first-child .toggle-btn.open {
        transform: translateY(-50%) rotate(90deg);
    }

    /* ▼ 営業所（branch_list） */
    .branch_list dt {
        position: relative;
        cursor: pointer;
        font-weight: bold;
        padding-right: 28px;
    }

    .branch_list dt .toggle-btn {
        position: absolute;
        right: 36px;
        top: 75%;
        transform: translateY(-50%) rotate(0deg);
        width: 0;
        height: 0;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 12px solid #ff9900;
        transition: transform 0.2s ease;
    }

    .branch_list dt .toggle-btn.open {
        transform: translateY(-50%) rotate(90deg);
    }
}

/*htmlソース内のものを移動*/
.dli-chevron-down {
    display: inline-block;
    vertical-align: middle;
    color: #008ca3;
    line-height: 1;
    width: 0.8em;
    height: 0.8em;
    border: 0.2em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(45deg);
    cursor: pointer;
}

.dli-chevron-down.selected {
    transform: translateY(-25%) rotate(135deg);
}

/* ===============================
   SP: 第1階層(都道府県見出し)だけ大きく
   =============================== */
@media only screen and (max-width: 1200px) {

    /* 新ルール：クラスで明示的に指定 */
    .modal__wrap .modal__checklist .area_list > li.area-head {
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 20px !important;
        padding-top: 20px !important;
        font-size: 20px !important;
        border-top: 2px solid #d9f1f5 !important;
        color: #21b6bc !important;
    }

    /* 既存の :first-child を無効化（念のため） */
    .modal__wrap .modal__checklist .area_list > li:first-child:not(.area-head) {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 16px !important;
        border: none !important;
        color: inherit !important;
    }

    /* 第三階層（市区町村）の整形 */
    .modal__wrap .modal__checklist .cities .mr-li > li {
        margin: 16px 36px 0 0 !important;
        padding: 6px 0 !important;
        line-height: 1.6 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
    }
}

@media only screen and (max-width: 1200px) {

    /* ▼ 都道府県（第2階層）だけ左にインデントを付ける */
    .modal__wrap .modal__checklist .area_list li.prefecture {
        padding-left: 20px;
        /* ←ここでズラす距離を調整 */
    }
}


.modal_submit {
    width: 100%;
    display: flex;
    justify-content: center;
}
@media only screen and (max-width: 1200px) {
    .modal_submit {
        
    }
}

@media only screen and (max-width: 600px) {
    .modal_submit {
        bottom: -22px;
        position: fixed;
        width: calc(100% - 26px);
    }

    .modal__wrap .modal button.submit {
        width: 160px;
        font-size: 16px;
        border: 2px solid #ff9900;
        border-radius: 8px;
        height: 56px;
    }
    #job-input.modal__wrap .modal .area {
        width:110px;
        font-size: 16px;
        left: 14px;
    }
    #job-input.modal__wrap .modal .branch {
        width:110px;
        font-size: 16px;
        right: 14px;
    }
    #branch-input.modal__wrap .modal .area {
        width:110px;
        font-size: 16px;
        right: 14px;
    }
    #branch-input.modal__wrap .modal .job {
        width:110px;
        font-size: 16px;
        left: 14px;
    }
    #area-input.modal__wrap .modal .branch {
        width:110px;
        font-size: 16px;
        left: 14px;
    }
    #area-input.modal__wrap .modal .job {
        width:110px;
        font-size: 16px;
        right: 14px;
    }
    .modal__wrap .modal__checklist .area_list{
        margin-bottom: 20px;
    }
    .modal__wrap .modal__checklist .branch_list{
        margin-bottom: 60px;
    }
    .modal__wrap .modal__checklist .job_list{
        margin-bottom: 60px;
    }
}
@media only screen and (max-width: 400px) {

    .modal__wrap .modal button.submit {
        width: 110px;
        font-size: 16px;
    }
}
@media only screen and (max-width: 800px) {
    .newsearch_header {
    margin-top:50px;
    }
}
@media only screen and (max-width: 600px) {
    .newsearch_header {
    margin-top:25px;
    }
}
.filterd {
    text-align: center;
    margin-bottom: 16px;
    color: #ff9900;
}

#page.search .search-list > li {
    border: 4px solid rgb(222, 222, 222);
}

#page.search .search-list .detail__left .branch-info .name {
    padding: 0px 20px 0px 10px;
    border-radius: 10px 60px 0px 0px;
}
