@charset "utf-8";

.faq_anchor {
    display: flex;
    gap: 20rem;
}
.faq_anchor li {
    width: 100%;
}
.faq_anchor_link {
    width: 100%;
    background-color: var(--color-red);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.77;
    height: 55rem;
    gap: 14rem;
}
.faq_anchor_link_arrow {
    width: 39.5rem;
}
.faq_anchor_link_arrow path {
    stroke: var(--color-white);
}
.faq_block {
    position: relative;
    display: flex;
}
.faq_ttl {
    line-height: 1.3;
    color: var(--color-red);
    position: relative;
    z-index: 1;
    filter: drop-shadow(0px 2px 0px var(--color-red)) drop-shadow(2px 0px 0px var(--color-red))
        drop-shadow(-2px 0px 0px var(--color-red)) drop-shadow(0px -2px 0px var(--color-red));
}
.faq_ttl_txt {
    display: inline-block;
    background-color: var(--color-white);
}
.faq_list {
    width: 100%;
}
.faq_accordion_detail {
    border-bottom: 1px solid var(--color-red);
}
.faq_accordion_summary {
    color: var(--color-red);
    list-style: none;
    display: flex;
    position: relative;
}
.faq_accordion_summary::before,
.faq_accordion_summary::after {
    content: '';
    display: block;
    background-color: var(--color-red);
    position: absolute;
    right: 0;
    margin-block: auto;
}
.faq_accordion_summary::after {
    rotate: 90deg;
    transition: rotate 0.3s;
}
.faq_accordion_detail.is-opened .faq_accordion_summary::after {
    rotate: 0deg;
}
.faq_accordion_summary_txt {
    line-height: 1.8;
}
.faq_accordion_summary::-webkit-details-marker {
    display: none;
}
.faq_accordion_icn {
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--color-red);
}
.faq_accordion_cont {
    display: flex;
}
.faq_accordion_txt {
    line-height: 1.8;
    width: 100%;
}
.faq_accordion_txt a {
    text-decoration: underline;
    color: var(--color-red);
    font-weight: 900;
}
@media (min-width: 769px) {
    .faq_anchor {
        margin-top: 80rem;
    }
    .faq_anchor_link {
        font-size: 26rem;
    }
    .faq_cont {
        margin-top: 90rem;
    }
    .faq_block {
        gap: 18rem;
    }
    .faq_block + .faq_block {
        margin-top: 200rem;
    }
    .faq_block::after {
        content: '';
        display: block;
        width: 700rem;
        height: 700rem;
        position: absolute;
        top: 40rem;
        left: -350rem;
    }
    .recruit_faq_common::after {
        background: var(--gradation-5);
    }
    .recruit_faq_new::after {
        background: var(--gradation-9);
    }
    .recruit_faq_career::after {
        background: var(--gradation-2);
    }
    .faq_ttl {
        min-width: 280rem;
        font-size: 36rem;
        margin-top: 40px;
    }
    .faq_ttl .faq_ttl_txt:nth-of-type(1) {
        padding: 9rem 9rem 9rem 15rem;
        margin-bottom: -9rem;
    }
    .faq_ttl .faq_ttl_txt:not(:nth-of-type(1)) {
        padding: 0 9rem 9rem 15rem;
    }
    .faq_accordion_detail {
        padding: 40px 20px;
    }
    .faq_accordion_summary {
        align-items: center;
        padding-right: 54px;
    }
    .faq_accordion_summary::before,
    .faq_accordion_summary::after {
        width: 40px;
        height: 2px;
        top: 0;
        bottom: 0;
        margin-block: auto;
    }
    .faq_accordion_summary_txt {
        font-size: 21px;
        padding-top: 4px;
    }
    .faq_accordion_icn {
        width: 70px;
        min-width: 70px;
        font-size: 32px;
    }
    .faq_accordion_cont {
        padding-top: 5rem;
    }
    .faq_accordion_txt {
        font-size: 16px;
    }
    .links_list {
        margin-top: 180rem;
    }
    .btn_back_wrap {
        margin-top: 160rem;
    }
}
@media (max-width: 768px) {
    .faq_anchor {
        margin-top: 32rem;
        flex-direction: column;
    }
    .faq_anchor_link {
        font-size: 21rem;
    }
    .faq_cont {
        margin-top: 80rem;
    }
    .faq_block {
        flex-direction: column;
        gap: 30rem;
    }
    .faq_block + .faq_block {
        margin-top: 120rem;
    }
    .faq_ttl {
        font-size: 32rem;
    }
    .faq_ttl .faq_ttl_txt:nth-of-type(1) {
        padding: 9rem 12rem 9rem 15rem;
        margin-bottom: -9rem;
    }
    .faq_ttl .faq_ttl_txt:not(:nth-of-type(1)) {
        padding: 0 12rem 9rem 15rem;
    }
    .faq_accordion_detail {
        padding-block: 30rem;
    }
    .faq_accordion_summary {
        padding-right: 30rem;
        gap: 10rem;
    }
    .faq_accordion_summary::before,
    .faq_accordion_summary::after {
        width: 20rem;
        height: 2rem;
        top: 18rem;
    }
    .faq_accordion_summary_txt {
        font-size: 18rem;
        padding-top: 2rem;
    }
    .faq_accordion_icn {
        width: 40rem;
        min-width: 40rem;
        font-size: 24rem;
    }
    .faq_accordion_cont {
        padding-top: 8rem;
    }
    .faq_accordion_txt {
        font-size: 16rem;
    }
    .links_list {
        margin-top: 140rem;
    }
    .btn_back_wrap {
        margin-top: 120rem;
    }
}
/* faq animation */
.faq_block::after {
    animation: rotate_bg 20s linear infinite;
}

/* recruit_privacy_policy */
.recruit_privacy_policy_area {
    position: relative;
    background: #fff;
}
.recruit_privacy_policy_contact {
    font-weight: 700;
}
.recruit_privacy_policy_contact_cap {
    font-weight: 500;
}
.recruit_privacy_policy_contact a {
    color: var(--color-red);
    text-decoration: underline;
}
.recruit_privacy_policy_area_inner {
    position: relative;
    height: 100%;
    overflow: auto;
}
.recruit_privacy_policy_area_set > dt {
    display: flex;
    flex-wrap: wrap;
    font-weight: 700;
}
.recruit_privacy_policy_area_set_dot::before {
    content: '';
    display: block;
    border-radius: 50%;
    background-color: var(--color-red);
}
.recruit_privacy_policy_area_set > dd {
    font-weight: 400;
}
@media (min-width: 769px) {
    .recruit_privacy_policy {
        margin-top: 120px;
    }
    .recruit_privacy_policy .faq_ttl {
        font-size: 26rem;
    }
    .recruit_privacy_policy_area {
        border: 3px solid #ccc;
        border-radius: 8px;
        height: 300px;
        margin-top: 60px;
    }
    .recruit_privacy_policy_contact {
        margin-top: 60px;
        font-size: 18px;
        line-height: 1.8;
    }
    .recruit_privacy_policy_area_inner {
        padding-block: 50px;
        padding-inline: 70px 60px;
        margin-right: 10px;
    }
    .recruit_privacy_policy_area_set + .recruit_privacy_policy_area_set {
        margin-top: 54px;
    }
    .recruit_privacy_policy_area_set > dt {
        font-size: 20px;
    }
    .recruit_privacy_policy_area_set_dot {
        margin-right: 12px;
    }
    .recruit_privacy_policy_area_set_dot::before {
        width: 5px;
        height: 5px;
        margin-top: 12px;
    }
    .recruit_privacy_policy_area_set > dd {
        font-size: 14px;
        line-height: 1.8;
        margin-top: 20px;
    }
}
@media (max-width: 768px) {
    .recruit_privacy_policy {
        margin-top: 60rem;
    }
    .recruit_privacy_policy .faq_ttl {
        font-size: 22rem;
        line-height: 1.77;
    }
    .recruit_privacy_policy .faq_ttl .faq_ttl_txt {
        margin-bottom: 0;
    }
    .recruit_privacy_policy_area {
        border: 3px solid #ccc;
        border-radius: 8px;
        height: 400rem;
        margin-top: 30rem;
    }
    .recruit_privacy_policy_contact {
        margin-top: 40rem;
        font-size: 14rem;
        line-height: 1.8;
    }
    .recruit_privacy_policy_area_inner {
        padding-block: 30rem;
        padding-inline: 30rem 20rem;
        margin-right: 10rem;
    }
    .recruit_privacy_policy_area_set + .recruit_privacy_policy_area_set {
        margin-top: 30rem;
    }
    .recruit_privacy_policy_area_set > dt {
        font-size: 16rem;
        line-height: 1.4;
    }
    .recruit_privacy_policy_area_set_dot {
        margin-right: 8rem;
    }
    .recruit_privacy_policy_area_set_dot::before {
        width: 5rem;
        height: 5rem;
        margin-top: 9rem;
    }
    .recruit_privacy_policy_area_set > dd {
        font-size: 14rem;
        line-height: 1.8;
        margin-top: 20rem;
    }
}
