@charset "UTF-8";
.policy {
    line-height: 1;
    max-width: 1600px;
    width: 100%;
    padding-top: 320px;
    margin: 0 auto -146px;
}

.policy a {
    color: #333333;
}

.policy_wrapper {
    margin-left: 10%;
}

.policy_content {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.policy_box {
    padding: 100px 0 150px;
    background-color: #FFFFFF;
    width: 80%;
    border-radius: 20px 0px 0px 20px;
}

.policy_box_inner { 
    margin: 0px 13.89% 0 16.49%;
    border-top: 1px dashed #333333;
    border-bottom: 1px dashed #333333;;
}

.policy_intro {
    padding: 70px 0 78px;
}

.policy_intro p {
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
}

.policy_content_section h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.56;
    padding-bottom: 20px;
}

.policy_content_section p {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    padding-bottom: 70px;
}

.policy_article {
    margin-right: 1em;
    display: inline-block;
}


/* 1024px以下のデバイスに適用 */
@media screen and (max-width: 1024px) {
    .policy {
        padding-top: 145px;
        margin: 0 auto;
    }

    .policy_wrapper {
        padding: 0 clamp(20px, 5.1%, 100%);
        margin: auto;
    }

    .policy_box {
        width: 100%;
        padding: 40px 0;
        border-radius: 20px;
    }

    .policy_box_inner {
        margin: 0 25px;
    }

    .policy_intro {
        padding: 40px 0 55px;
    }

    .policy_intro p {
        font-size: 14px;
        font-weight: 400;
        line-height: 1.5;
    }

    .policy_content_section h2 {
        font-size: 16px;
        line-height: 1.5;
        padding-bottom: 25px;
    }

    .policy_content_section p {
        font-family: "Manrope", sans-serif;
        font-size: 14px;
        font-weight: 400;
        padding-bottom: 30px;
    }
    
    .policy_content_section p:last-child {
        padding-bottom: 40px;
    }
}


@media screen and (min-width: 1610px) {
    .policy_box {
        border-radius: 20px;
    }   
}