.legal-fv-container{
    background-color: rgb(57, 87, 151, 0.05);
}

.legal-fv-wrapper{
    padding-top: calc(100vw * 224 / 1366);
    padding-bottom: calc(100vw * 205 / 1366);
}

.legal-fv-content{
    padding-left: calc(100vw * 100 / 1366);
}

.legal-fv-content h2{
    font-size: calc(100vw * 64 / 1366);
    color: #1D3A78;
    border-bottom: 1px solid #1D3A78;
    display: inline-block;
    line-height: calc(100vw * 77 / 1366);
}

.legal-fv-content p{
    font-size: calc(100vw * 24 / 1366);
    color: #1D3A78;
    line-height: calc(100vw * 29 / 1366);
    margin-top:calc(100vw * 5 / 1366);
}

.legal-fv-content{
    opacity: 0;
    transform: translateY(18px);
    animation: legalFvIntro .9s cubic-bezier(.2,.8,.2,1) .15s forwards;
}

.legal-fv-content h2{
    opacity: 0;
    transform: translateY(10px);
    animation: legalFvIntro .9s cubic-bezier(.2,.8,.2,1) .22s forwards;
}

.legal-fv-content p{
    opacity: 0;
    transform: translateY(10px);
    animation: legalFvIntro .9s cubic-bezier(.2,.8,.2,1) .32s forwards;
}

@keyframes legalFvIntro{
    0%{
        opacity: 0;
        transform: translateY(18px);
        filter: blur(6px);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@media (prefers-reduced-motion: reduce){
    .legal-fv-content,
    .legal-fv-content h2,
    .legal-fv-content p{
        animation: none;
        opacity: 1;
        transform: none;
        filter: none;
    }
}

@media (max-width: 768px){
    .legal-fv-wrapper{
        padding-top: calc(100vw * 100 / 375);
        padding-bottom: calc(100vw * 64 / 375);
    }

    .legal-fv-content{
        padding-left: calc(100vw * 18 / 375);
        padding-right: calc(100vw * 18 / 375);
    }

    .legal-fv-content h2{
        font-size: calc(100vw * 26 / 375);
        line-height: calc(100vw * 34 / 375);
        border-bottom: 1px solid #1D3A78;
        display: inline-block;
        word-break: break-word;
    }

    .legal-fv-content p{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 20 / 375);
        margin-top: calc(100vw * 10 / 375);
    }
}

.legal-sv-wrapper{
    margin-top: calc(100vw * -125 / 1366);
}

.legal-sv-content{
    width: calc(100vw * 1264 / 1366);
}

.legal-sv-content img{
    width: 100%;
    height: calc(100vw * 250 / 1366);
    object-fit: cover;
	border-radius: 0 40px 40px 0;
}

@media(max-width:768px){
    .legal-sv-wrapper{
        margin-top: calc(100vw * -24 / 375);
    }

    .legal-sv-content{
        width: 100%;
        padding-left: calc(100vw * 18 / 375);
        padding-right: calc(100vw * 18 / 375);
    }

    .legal-sv-content img{
        width: 100%;
        height: calc(100vw * 168 / 375);
        border-radius: calc(100vw * 12 / 375);
        object-fit: cover;
    }
}

.privacy-section{
    width: 100%;
    background: #ffffff;
    padding: calc(100vw * 60 / 1366) 0;
}

.privacy-wrapper{
    width: 100%;
    max-width: calc(100vw * 1084 / 1366);
    margin: 0 auto;
    padding-left: calc(100vw * 40 / 1366);
    padding-right: calc(100vw * 40 / 1366);
}

.privacy-title{
    font-size: calc(100vw * 40 / 1366);
    line-height: calc(100vw * 52 / 1366);
    letter-spacing: 0.12em;
    color: #1D3A78;
    font-weight: 800;
    border-bottom: 1px solid rgba(29, 58, 120, .35);
    padding-bottom: calc(100vw * 18 / 1366);
}

.privacy-lead{
    font-size: calc(100vw * 16 / 1366);
    line-height: calc(100vw * 30 / 1366);
    color: rgba(0,0,0,.78);
    margin-top: calc(100vw * 26 / 1366);
}

.privacy-block{
    margin-top: calc(100vw * 46 / 1366);
    padding: calc(100vw * 26 / 1366);
    border: 1px solid rgba(29, 58, 120, .12);
    border-radius: calc(100vw * 14 / 1366);
}

.privacy-block h3{
    font-size: calc(100vw * 18 / 1366);
    line-height: calc(100vw * 28 / 1366);
    letter-spacing: 0.06em;
    color: #1D3A78;
    font-weight: 800;
}

.privacy-block p{
    font-size: calc(100vw * 16 / 1366);
    line-height: calc(100vw * 30 / 1366);
    color: rgba(0,0,0,.78);
    margin-top: calc(100vw * 12 / 1366);
    word-break: break-word;
}

.privacy-list{
    margin-top: calc(100vw * 12 / 1366);
    padding-left: calc(100vw * 18 / 1366);
}

.privacy-list li{
    font-size: calc(100vw * 16 / 1366);
    line-height: calc(100vw * 30 / 1366);
    color: rgba(0,0,0,.78);
    margin-top: calc(100vw * 10 / 1366);
    word-break: break-word;
}

@media (max-width: 768px){
    .privacy-section{
        padding: calc(100vw * 20 / 375) 0;
    }

    .privacy-wrapper{
        max-width: 1084px;
        padding-left: calc(100vw * 18 / 375);
        padding-right: calc(100vw * 18 / 375);
    }

    .privacy-title{
        font-size: calc(100vw * 24 / 375);
        line-height: calc(100vw * 32 / 375);
        padding-bottom: calc(100vw * 14 / 375);
    }

    .privacy-lead{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 24 / 375);
        margin-top: calc(100vw * 18 / 375);
    }

    .privacy-block{
        margin-top: calc(100vw * 22 / 375);
        padding: calc(100vw * 16 / 375);
        border-radius: calc(100vw * 12 / 375);
    }

    .privacy-block h3{
        font-size: calc(100vw * 16 / 375);
        line-height: calc(100vw * 24 / 375);
    }

    .privacy-block p{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 24 / 375);
        margin-top: calc(100vw * 10 / 375);
    }

    .privacy-list{
        padding-left: calc(100vw * 16 / 375);
    }

    .privacy-list li{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 24 / 375);
        margin-top: calc(100vw * 10 / 375);
    }
}