/************
kv
*************/
.p-privacy-kv {
    width: 100%;
    height: calc(400 / 1366 * 100vw);
    background: linear-gradient(
        135deg,
        #E0F7FF 0%,
        #B0E9FF 40%,
        #5EEBFF 80%,
        #ffffff 100%
    );
}
.p-privacy-kv__inner {
    width: calc(1040 / 1366* 100vw);
    height: 100%;
    margin: 0 auto;
    position: relative;
}
.p-privacy-kv__title-area {
    position: absolute;
    top: 60%;
    left: 0;
}
.p-privacy-kv__title {
    font-size: calc(46 / 1366* 100vw);
    color: #00344D;
}
/************
privacy contents
*************/
.p-page-privacy {
    width: calc(1040 / 1366* 100vw);
    margin: 0 auto;
}
.p-page-privacy__inner {
    padding: calc(75 / 1366 * 100vw) 0;
}
.p-page-privacy__contents {
    font-size: var(--font-size-md);
    line-height: 1.8;
    color: var(--color-text);
}
.p-page-privacy__contents h2 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--color-text);
    margin-top: calc(60 / 1366 * 100vw);
    margin-bottom: calc(25 / 1366 * 100vw);
    padding-bottom: calc(10 / 1366 * 100vw);
    border-bottom: 2px solid var(--color-secondary); 
}
.p-page-privacy__contents h3 {
    font-size: var(--font-size-l);
    font-weight: 600;
    color: var(--color-text);
    margin-top: calc(40 / 1366 * 100vw);
    margin-bottom: calc(20 / 1366 * 100vw);
    padding-left: calc(15 / 1366 * 100vw);
    border-left: 5px solid var(--color-secondary); 
}
.p-page-privacy__txt {
    margin-bottom: calc(25 / 1366 * 100vw);
    font-size: var(--font-size-md);
}
.p-page-privacy__list-ttl {
    font-size: calc(22 / 1366 * 100vw);
    font-weight: 600;
    margin-bottom: calc(10 / 1366 * 100vw);
}
.p-page-privacy__contents a {
    text-decoration: underline;
    transition: opacity 0.3s ease;
}
.p-page-privacy__contents a:hover {
    opacity: 0.7;
}
.p-page-privacy__contents ul,
.p-page-privacy__contents ol {
    margin-top: calc(20 / 1366 * 100vw);
    margin-bottom: calc(25 / 1366 * 100vw);
}
.p-page-privacy__contents li {
    margin-bottom: calc(10 / 1366 * 100vw);
}
/************
Responsive
*************/
@media only screen and (max-width: 767px) {
    .p-privacy-kv {
        height: calc(250 / 390 * 100vw);
    }
    .p-privacy-kv__inner {
        width: 100%;
    }
    .p-privacy-kv__title-area {
        padding: 0 calc(15 / 390* 100vw);
    }
    .p-privacy-kv__title {
        font-size: calc(30 / 390* 100vw);
        line-height: 1.2;
    }
    .p-page-privacy {
        width: 100%;
        padding: 0 calc(15 / 390 * 100vw); 
        box-sizing: border-box;
    }
    .p-page-privacy__inner {
        padding: calc(40 / 390 * 100vw) 0;
    }
    .p-page-privacy__contents {
        font-size: var(--font-size-md-sub); 
        line-height: 1.7;
    }
    .p-page-privacy__list-ttl {
        font-size: calc(22 / 390 * 100vw);
        margin-bottom: calc(10 / 390 * 100vw);
    }
    .p-page-privacy__contents h2 {
        font-size: var(--font-size-l); 
        margin-top: calc(40 / 390 * 100vw);
        margin-bottom: calc(20 / 390 * 100vw);
        padding-bottom: calc(8 / 390 * 100vw);
    }
    .p-page-privacy__contents h3 {
        font-size: var(--font-size-lg); 
        margin-top: calc(30 / 390 * 100vw);
        margin-bottom: calc(15 / 390 * 100vw);
        padding-left: calc(10 / 390 * 100vw);
    }
    .p-page-privacy__contents p {
        margin-bottom: calc(20 / 390 * 100vw);
    }
    .p-page-privacy__contents ul,
    .p-page-privacy__contents ol {
        margin-top: calc(15 / 390 * 100vw);
        margin-bottom: calc(20 / 390 * 100vw);
    }
    .p-page-privacy__contents li {
        margin-bottom: calc(8 / 390 * 100vw);
    }
}
@media only screen and (min-width: 1367px) {
    .p-privacy-kv {
        height: 400px;
    }
    .p-privacy-kv__inner {
        width: 1040px;
    }
    .p-privacy-kv__title {
        font-size: 46px;
    }
    .p-page-privacy {
        width: 1040px;
    }
    .p-page-privacy__inner {
        padding: 75px 0;
    }
    .p-page-privacy__contents {
        font-size: var(--font-size-md);
    }
    .p-page-privacy__contents h2 {
        font-size: var(--font-size-xl);
        margin-top: 60px;
        margin-bottom: 25px;
        padding-bottom: 10px;
    }
    .p-page-privacy__contents h3 {
        font-size: var(--font-size-l);
        margin-top: 40px;
        margin-bottom: 20px;
        padding-left: 15px;
    }
    .p-page-privacy__txt {
        margin-bottom: 25px;
        font-size: var(--font-size-md);
    }
    .p-page-privacy__list-ttl {
        font-size: 22px;
        margin-bottom: 10px;
    }
    .p-page-privacy__contents ul,
    .p-page-privacy__contents ol {
        margin-top: 20px;
        margin-bottom: 25px;
    }
    .p-page-privacy__contents li {
        margin-bottom: 10px;
    }
}