@charset "UTF-8";
.section._resident {
    padding: 80px 0;
    background: url(../image/long_bg.jpg);
}
.btn._faq .new_arrow {
    width: 530px;
    max-width: 100%;
    height: 56px;
}
.btn._faq .new_arrow:before {
    right: 111px;
}
.btn._faq .new_arrow:after {
    right: 118px;
}
.main_txt {
    font-size: 24px;
    line-height: calc(41 / 24);
    font-weight: bold;
    color: #40220F;
    text-align: center;
    margin: 0 auto 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.main_txt:after {
    content: "";
    aspect-ratio: 116 / 60;
    width: 116px;
    background: #5487C6;
    mask: url(../image/i_arw_down.svg) no-repeat center / contain;
}
.resident_cta_contents {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(315px, 1fr));
    gap: 46px;
    margin: 0 auto;
    width: 1000px;
    max-width: 100%;
}
.resident_cta_contents .item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 0;
}
.resident_cta_contents .ttl {
    font-size: 18px;
    color: #FFFFFF;
    background: url(../image/resident_bg_hd.png) no-repeat center / contain;
    line-height: 66px;
    text-align: center;
    font-weight: bold;
    position: relative;
    z-index: 1;
    margin: 0 -10px;
}
.resident_cta_contents .cont {
    width: 100%;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #F0EDE7;
    border-top: none;
    padding: 22px 50px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    color: #40220F;
    font-size: 14px;
    gap: 18px;
}
.resident_cta_contents .txt {
    font-size: 18px;
    line-height: calc(24 / 14);
    text-align: center;
    color: #40220F;
}
.resident_cta_contents .btn {
    width: 380px;
    max-width: 100%;
}
.resident_cta_contents .btn .new_arrow {
    padding: 15px 0;
}
.resident_cta_contents .btn .new_arrow:before {
    right: 62px;
}
.resident_cta_contents .btn .new_arrow:after {
    right: 69px;
}
.resident_emergency {
    padding: 40px 20px;
    margin: 40px auto 0;
    width: 1000px;
    max-width: 100%;
    background: #fff;
    border: 3px solid #DCD5BC;
}
.resident_emergency .ttl {
    width: 410px;
    max-width: 100%;
    margin: 0 auto 30px;
    font-size: 20px;
    line-height: calc(34 / 20);
    font-weight: 700;
    text-align: center;
    color: #40220F;
    padding: 0 0 27px;
    background: url(../image/resident_line.png) center bottom no-repeat;
}
.resident_emergency .area_lists {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    font-size: 20px;
    line-height: calc(24 / 14);
    color: #40220F;
    font-weight: 700;
    margin: 0 0 40px;
}
.resident_emergency .detail {
    display: grid;
    grid-template-columns: 288px 1fr;
    align-items: center;
    gap: 15px;
    max-width: fit-content;
    margin: 0 auto;
}
.resident_emergency .detail .list {
    display: flex;
    font-size: 20px;
    line-height: calc(24 / 14);
    color: #40220F;
}
.resident_emergency .detail .list:before {
    content: "・";
}
.section._contact .page_ttl._resident_contact span:after {
    content: "";
    display: none;
}
@media screen and (max-width: 767px) {
    .section._resident {
        padding: 25px 15px 40px;
    }
    .btn._faq .new_arrow {
        margin: 0 auto 40px;
        height: auto;
        line-height: 48px;
    }
    .btn._faq .new_arrow:after {
        width: 18px;
        height: 18px;
        top: 50%;
        transform: translateY(-50%);
        right: 33px;
        position: absolute;
        margin: 0;
    }
    .main_txt {
        font-size: 22px;
        line-height: calc(37 / 22);
        gap: 15px;
        margin: 0 auto 15px;
    }
    .main_txt:after {
        width: 78px;
    }
    .resident_cta_contents {
        gap: 30px;
        padding: 0 15px;
    }
    .resident_cta_contents .cont {
        width: 100%;
        margin: -20px auto 0;
        padding: 20px 15px 15px;
        gap: 15px;
    }
    .resident_cta_contents .btn {
        width: 100%;
    }
    .resident_emergency {
        padding: 20px 30px;
    }
    .resident_emergency .ttl {
        margin: 0 auto 20px;
        font-size: 18px;
        line-height: calc(28 / 18);
        padding: 0 0 24px;
    }
    .resident_emergency .area_lists {
        text-align: center;
        flex-wrap: wrap;
        margin: 0 0 20px;
        font-size: 18px;
    }
    .resident_emergency .detail {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .resident_emergency .detail .list {
        font-size: 18px;
    }
}