
/* ----------共通スタイル---------- */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=Zen+Kaku+Gothic+New:wght@300&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: 62.5%;
    scroll-behavior: smooth;
    --title-fontsize: 20rem;
    --side-margin: 10vw;
    --top-maring: 10vh;
    /* font-family: 'BIZ UDPGothic', sans-serif; */
}



/* ----------HEADER---------- */
header {
    position: relative;
    width: 100%;
    
}


.header_top{
    background-color: black;
    height: 17rem;
    
}

.header_top_imgBx img {
    width: 25rem;
    object-fit: contain;
    padding: 2.5rem;
    padding-top:5.5rem;
}

.header_line {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.header_line div {
    position: relative;
    width: 90%;
    height: calc(var(--top-maring) / 22);
    background: #304C97;
}


.header_line div::before {
    content: '';
    position: absolute;
    top: calc((var(--top-maring) / 22) - 6rem);
    right: 0;
    width: 12rem;
    height: 12rem;
    background: #B13594;
    border-radius: 50%;
}




/* ----------------プライバシーポリシー---------------- */



.privacy-policy-page{
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding-top: 10rem;
    background-color: black;
    color: #fff;
    font-family: '游明朝';

}
.privacy-policy-page__wrapper{
    width: 80%;
    margin: 0 auto;
    padding-top: 10rem;
    margin-bottom: 5rem;
    
}


.privacy-policy-page__title{
    width: 85%;
}

.privacy-policy-page__text{
    font-size: 1.7rem;
}

.privacy-policy-page__container{
    width: 85%;
    padding:0rem 5rem;
    padding-left: 15rem;
    padding-bottom: 15rem;
    
    
}


.privacy-policy-page__title h1{
    margin-bottom: 0.2rem;
    padding: 1rem 0;
    font-weight: bold;
    font-size: 2.2rem;
    
}


.privacy-policy-page__title h1:before {
    margin-right: 0.5rem;
    border-left: 0.8rem solid #2d74bb;
    content: '';
}

.privacy-policy-page__container {
    width: 80%;
    margin: 0 auto;
    margin-top: 4rem;
    padding: 0;
}

.privacy-policy-page__contents{
    padding-top: 0.5rem;
}

.privacy-policy-page__contents h2{
    font-size: 2rem;
    border-bottom:0.2rem solid #2d74bb  ;
    
}

.privacy-policy-page__contents--text{
    padding: 3rem 0;
    font-size: 1.7rem;

}


ol{
	counter-reset: listnum; 
	list-style: none;
}
ol li::before{
	counter-increment: listnum; 
	content: counter(listnum)". "; 
}






.privacy-policy-page__contents--text ul{
    display: table;
    padding-top:3rem ;
    
    
}

.privacy-policy-page__contents--text li{
    display: table-row;
    font-size: 1.8rem;
}



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

    
    .privacy-policy-page__title h1{
        font-size: 2rem;
        
    }

    .privacy-policy-page__text{
        font-size: 1.5rem;
    }

    .privacy-policy-page__container {
        width: 85%;
        margin: 0 auto;
        margin-top: 4rem;
        padding: 0;
    }
    
    
    .privacy-policy-page__contents{
        padding-top: 0.5rem;
    }
    
    .privacy-policy-page__contents--text{
        padding: 3rem 0;
        font-size: 1.5rem;
    }

}


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


    .privacy-policy-page{
        width: 100%;
    }

    .privacy-policy-page__text{
        font-size: 1.5rem;
    }

    .privacy-policy-page__wrapper{
        width: 85%;
        margin: 0 auto;
        padding-top: 0rem;
        margin-bottom: 5rem;
    }

    .privacy-policy-page__container {
        width: 85%;
        margin: 0 auto;
        margin-top: 5rem;
        padding: 0;
    }
    
    .privacy-policy-page__contents h2{
        font-size: 1.6rem;
        
    }
    
    .privacy-policy-page__contents{
        padding-top: 0.5rem;
    }
    
    .privacy-policy-page__contents--text{
        padding: 3rem 0;
        font-size: 1.5rem;
    }

    .privacy-policy-page__contents--text li{
        display: table-row;
        font-size: 1.5rem;
    }
}

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


    .header_top_imgBx img {
        width: 20rem;

    }

    .header_line div {
        position: relative;
        width:90%;
        height: calc(var(--top-maring) / 22);
        background: #304C97;
    }

    .header_line div::before {
        content: '';
        position: absolute;
        top: calc((var(--top-maring) / 22) - 3rem);
        right: 0;
        width: 6rem;
        height: 6rem;
        background: #B13594;
        border-radius: 50%;
    }

    .privacy-policy-page{
        width: 100%;
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    .privacy-policy-page__wrapper{
        width: 90%;
        margin: 0 auto;
        padding-top: 0rem;
        margin-bottom: 5rem;
    }
    
    .privacy-policy-page__title h1{
        font-size: 2rem;
        
    }

    .privacy-policy-page__text{
        font-size: 1.5rem;
    }

    .privacy-policy-page__container {
        width: 90%;
        margin: 0 auto;
        margin-top: 5rem;
        padding: 0;
    }
    
    .privacy-policy-page__contents h2{
        font-size: 1.6rem;
        
    }
    
    .privacy-policy-page__contents{
        padding-top: 0.5rem;
    }
    
    .privacy-policy-page__contents--text{
        padding: 3rem 0;
        font-size: 1.3rem;
    }

    
}
















footer {
    position: relative;
    width: 100%;
    background: #000000;
    color: #fff;
    margin: 0 auto;
}

.footer_container {
    display: block;
    width: 100%;
}

.footer_left {
    margin-left: calc(var(--side-margin) / 4);

}

.footer_left img {
    width: 20rem;
}




.footer_left_detail p,
.footer_left_name p {
    line-height: 4rem;
    font-size: 1rem;
    border-bottom: solid 1px #304C97;
}

.footer_right {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: calc(var(--top-maring) * 0);
    padding-bottom: calc(var(--top-maring) * 1);
    width: 100%;
}

.footer_right_iconBx {
    height: 1rem;
    margin: 0 0 2rem 0;
}

.footer_right_iconBx a {
    color: #fff;
    font-size: 5rem;
    margin-left: 1rem;
}

.footer_right_textBx {
    display: flex;
}


.footer_right_textBx a:last-child {
    border-right: none;
    text-align: right;
}

.footer_bottom {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.footer_bottom div {
    position: relative;
    width: 100%;
    height: calc(var(--top-maring) / 2);
    background: #304C97;
}


.footer_bottom p {
    width: 100%;
    height: calc(var(--top-maring) / 2);
    padding-right: calc(var(--side-margin) / 2);
    font-size: 1rem;
    text-align: end;
    line-height: calc(var(--top-maring) / 2);
}

