@charset "UTF-8";

.page_head_block {
    padding-inline: 20px
}

@media screen and (min-width:425px) {
    .page_head_block {
        padding-inline: 30px
    }
}

@media screen and (min-width:768px) {
    .page_head_block {
        padding-inline: 40px
    }
}

@media screen and (min-width:992px) {
    .page_head_block {
        padding-inline: 60px
    }
}

.page_head_block {
    -webkit-padding-before: 40px;
    padding-block-start: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 40px
}

@media screen and (min-width:768px) {
    .page_head_block {
        -webkit-padding-before: 75px;
        padding-block-start: 75px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .page_head_block:not(:has(.page_head_img)) {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width:768px) {
    .page_head_contents {
        width: 50%;
        max-width: 750px
    }
}

@media screen and (min-width:992px) {
    .page_title {
        -webkit-margin-before: 50px;
        margin-block-start: 50px
    }
}

.page_title .page_title_sub {
    font-size: 5.5rem;
    color: #27278A;
    font-family: "EBGaramond";
    font-weight: 600;
    line-height: 1
}

@media screen and (min-width:768px) {
    .page_title .page_title_sub {
        font-size: 8rem
    }
}

@media screen and (min-width:992px) {
    .page_title .page_title_sub {
        font-size: 10rem
    }
}

.page_title .page_title_main {
    font-size: 2rem;
    font-weight: 700;
    color: #27278A;
    line-height: 1;
    -webkit-margin-before: 5px;
    margin-block-start: 5px
}

@media screen and (min-width:768px) {
    .page_title .page_title_main {
        -webkit-margin-before: 10px;
        margin-block-start: 10px
    }
}

.page_head_text {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.05em
}

@media screen and (min-width:768px) {
    .page_head_text {
        -webkit-margin-before: 50px;
        margin-block-start: 50px;
        -webkit-padding-start: 160px;
        padding-inline-start: 160px
    }
}

@media screen and (min-width:992px) {
    .page_head_text {
        -webkit-margin-before: 90px;
        margin-block-start: 90px
    }
}

.page_head_image {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: 600px
}

#sitepolicy {
    padding-inline: 20px
}

@media screen and (min-width:425px) {
    #sitepolicy {
        padding-inline: 30px
    }
}

@media screen and (min-width:768px) {
    #sitepolicy {
        padding-inline: 40px
    }
}

@media screen and (min-width:992px) {
    #sitepolicy {
        padding-inline: 60px
    }
}

#sitepolicy {
    -webkit-margin-before: 50px;
    margin-block-start: 50px;
    -webkit-padding-after: 100px;
    padding-block-end: 100px
}

@media screen and (min-width:768px) {
    #sitepolicy {
        -webkit-margin-before: 100px;
        margin-block-start: 100px;
        -webkit-padding-after: 150px;
        padding-block-end: 150px
    }
}

@media screen and (min-width:992px) {
    #sitepolicy {
        -webkit-margin-before: 150px;
        margin-block-start: 150px;
        -webkit-padding-after: 200px;
        padding-block-end: 200px
    }
}

.sitepolicy_title {
    font-size: 3.2rem;
    color: #27278A;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em
}

.sitepolicy_title+.sitepolicy_text {
    -webkit-margin-before: 30px;
    margin-block-start: 30px
}

@media screen and (min-width:768px) {
    .sitepolicy_title .sp {
        display: none
    }
}

*+.sitepolicy_title {
    -webkit-margin-before: 50px;
    margin-block-start: 50px
}

@media screen and (min-width:992px) {
    *+.sitepolicy_title {
        -webkit-margin-before: 80px;
        margin-block-start: 80px
    }
}

.sitepolicy_text {
    -webkit-margin-before: 10px;
    margin-block-start: 10px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2;
    margin-block-start: 10px
}

.sitepolicy_num_list {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
    display: -ms-grid;
    display: grid;
    gap: 5px
}

.sitepolicy_num_list li {
    position: relative;
    counter-increment: num;
    -webkit-padding-start: 1em;
    padding-inline-start: 1em;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 600;
    letter-spacing: 0.05em
}

@media screen and (min-width:992px) {
    .sitepolicy_num_list li {
        -webkit-padding-start: 1.5em;
        padding-inline-start: 1.5em
    }
}

.sitepolicy_num_list li:before {
    content: counter(num) ".";
    position: absolute;
    top: 0;
    left: 0
}

.sitepolicy_list {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
    display: -ms-grid;
    display: grid;
    gap: 5px
}

.sitepolicy_list li {
    position: relative;
    -webkit-padding-start: 1em;
    padding-inline-start: 1em;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 600;
    letter-spacing: 0.05em
}

@media screen and (min-width:992px) {
    .sitepolicy_list li {
        -webkit-padding-start: 1.5em;
        padding-inline-start: 1.5em
    }
}

.sitepolicy_list li:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0
}

.sitepolicy_title_list_row {
    -webkit-margin-before: 30px;
    margin-block-start: 30px
}

.sitepolicy_title_list_row dt {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #27278A
}

.sitepolicy_title_list_row dd {
    -webkit-margin-before: 10px;
    margin-block-start: 10px;
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 600
}

/*# sourceMappingURL=sitepolicy.css.map */