/* ==========================================================
   Privacy Policy Page Styling
   ========================================================== */
.l-main-policy {
    background-color: #212121;
    overflow-x: hidden;
}

/* Hero Section */
.p-policy-hero {
    width: 100%;
}

.p-policy-hero__inner {
    display: flex;
    width: 100%;
    margin: 0 auto;
    height: 482px;
    align-items: center;
    padding: 0 0 0 80px;
}

.p-policy-hero__left {
    width: auto;
    flex-shrink: 0;
}

.p-policy-hero__title {
    color: #FFF;
    text-align: left;
    font-family: Roboto;
    font-size: 64px;
    font-weight: 900;
    letter-spacing: 3.2px;
    margin: 0;
    white-space: nowrap;
}

.p-policy-hero__right {
    flex: 1;
    height: 482px;
    background-color: #212121;
}

/* Content Section */
.p-policy-content {
    padding: 100px 160px 150px;
}

.p-policy-content__inner {
    width: 100%;
    margin: 0 auto;
}

.p-policy-item {
    margin-bottom: 80px;
}

.p-policy-item:last-child {
    margin-bottom: 0;
}

/* Section Title */
.p-policy-item__title {
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-weight: 700;
    line-height: 32px;
    margin-bottom: 25px;
}

/* Section Text */
.p-policy-item__text {
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 32px;
}

/* Utility Class */
.u-mt-20 {
    margin-top: 20px;
}

@media (max-width: 1250px) {
    /* CTAのはみ出しを防ぐ */
    .c-cta__inner {
        width: 90%;
    }
}

/* --- Responsive (834px基準) --- */
@media (max-width: 834px) {
    /* Hero Section Responsive */
    .p-policy-hero { position: relative; height: 482px; }
    .p-policy-hero__inner {
        position: relative; z-index: 10; height: 100%;
        display: flex; justify-content: center; align-items: center; padding: 0 20px;
    }
    .p-policy-hero__left { width: 100%; position: relative; z-index: 20; }
    .p-policy-hero__title { 
        text-align: center; color: #FFF; font-size: 60px; letter-spacing: 2px; 
        white-space: normal; /* モバイルでは必要に応じて折り返しを許可 */
    }
    .p-policy-hero__right { 
        position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; 
        margin: 0; background-color: #212121;
    }

    /* Content Section Responsive */
    .p-policy-content { padding: 60px 20px 80px; /* モバイル用の余白縮小 */ }
    .p-policy-item { margin-bottom: 60px; }
    .p-policy-item__title { font-size: 18px; line-height: 1.5; }
}