/************

faq

*************/
.p-page-faq__lead {
    font-size: calc(22 / 1920 * 100vw);
    line-height: 1.8;
    color: #333;
    margin-bottom: calc(50 / 1920 * 100vw);
}

/* カテゴリナビ */
.p-page-faq__nav {
    display: flex;
    flex-wrap: wrap;
    gap: calc(12 / 1920 * 100vw);
    margin-bottom: calc(60 / 1920 * 100vw);
    padding-bottom: calc(30 / 1920 * 100vw);
    border-bottom: 1px solid #d4c9b8;
}

.p-page-faq__nav-link {
    display: inline-block;
    padding: calc(10 / 1920 * 100vw) calc(24 / 1920 * 100vw);
    font-size: calc(18 / 1920 * 100vw);
    color: #543600;
    border: 1px solid #543600;
    text-decoration: none;
    transition: all 0.3s;
}

.p-page-faq__nav-link:hover {
    background: #543600;
    color: #fff;
}

/* セクション */
.p-page-faq__section {
    margin-bottom: calc(60 / 1920 * 100vw);
}

.p-page-faq__section-ttl {
    font-size: calc(32 / 1920 * 100vw);
    color: #543600;
    font-weight: 700;
    padding: calc(16 / 1920 * 100vw) calc(20 / 1920 * 100vw);
    background: #f8f5f0;
    border-left: 5px solid #543600;
    margin-bottom: calc(30 / 1920 * 100vw);
    line-height: 1.4;
}

/* FAQ項目 */
.p-page-faq__item {
    margin-bottom: calc(30 / 1920 * 100vw);
    padding-bottom: calc(30 / 1920 * 100vw);
    border-bottom: 1px solid #e8e0d4;
}

.p-page-faq__item:last-child {
    border-bottom: none;
}

.p-page-faq__q {
    font-size: calc(24 / 1920 * 100vw);
    font-weight: 700;
    color: #543600;
    line-height: 1.5;
    margin-bottom: calc(12 / 1920 * 100vw);
    padding-left: calc(36 / 1920 * 100vw);
    position: relative;
}

.p-page-faq__q::before {
    content: "Q";
    position: absolute;
    left: 0;
    top: 0;
    font-size: calc(24 / 1920 * 100vw);
    font-weight: 700;
    color: #c4a46c;
    font-family: 'Lato', sans-serif;
}

.p-page-faq__a {
    font-size: calc(20 / 1920 * 100vw);
    line-height: 2;
    color: #333;
    padding-left: calc(36 / 1920 * 100vw);
}

/* CTA */
.p-page-faq__cta {
    margin-top: calc(60 / 1920 * 100vw);
    padding: calc(40 / 1920 * 100vw);
    background: #f8f5f0;
    text-align: center;
}

.p-page-faq__cta-txt {
    font-size: calc(22 / 1920 * 100vw);
    color: #333;
    margin-bottom: calc(15 / 1920 * 100vw);
}

.p-page-faq__cta-tel {
    font-size: calc(28 / 1920 * 100vw);
    font-weight: 700;
    color: #543600;
    margin-bottom: calc(20 / 1920 * 100vw);
}

.p-page-faq__cta-tel a {
    color: #543600;
    text-decoration: none;
}

.p-page-faq__cta-btn {
    display: inline-block;
    padding: calc(15 / 1920 * 100vw) calc(50 / 1920 * 100vw);
    background: #543600;
    color: #fff;
    font-size: calc(20 / 1920 * 100vw);
    font-weight: 700;
    text-decoration: none;
    transition: opacity 0.3s;
}

.p-page-faq__cta-btn:hover {
    opacity: 0.8;
}

/************

SP

*************/
@media only screen and (max-width: 767px) {
    .p-page-faq {
        padding: calc(40 / 390 * 100vw) calc(15 / 390 * 100vw) calc(60 / 390 * 100vw);
    }

    .p-page-faq__lead {
        font-size: calc(15 / 390 * 100vw);
        margin-bottom: calc(30 / 390 * 100vw);
    }

    .p-page-faq__nav {
        gap: calc(8 / 390 * 100vw);
        margin-bottom: calc(30 / 390 * 100vw);
        padding-bottom: calc(20 / 390 * 100vw);
    }

    .p-page-faq__nav-link {
        padding: calc(8 / 390 * 100vw) calc(14 / 390 * 100vw);
        font-size: calc(13 / 390 * 100vw);
    }

    .p-page-faq__section {
        margin-bottom: calc(40 / 390 * 100vw);
    }

    .p-page-faq__section-ttl {
        font-size: calc(20 / 390 * 100vw);
        padding: calc(12 / 390 * 100vw) calc(15 / 390 * 100vw);
        margin-bottom: calc(20 / 390 * 100vw);
    }

    .p-page-faq__item {
        margin-bottom: calc(20 / 390 * 100vw);
        padding-bottom: calc(20 / 390 * 100vw);
    }

    .p-page-faq__q {
        font-size: calc(16 / 390 * 100vw);
        margin-bottom: calc(8 / 390 * 100vw);
        padding-left: calc(25 / 390 * 100vw);
    }

    .p-page-faq__q::before {
        font-size: calc(16 / 390 * 100vw);
    }

    .p-page-faq__a {
        font-size: calc(14 / 390 * 100vw);
        line-height: 1.8;
        padding-left: calc(25 / 390 * 100vw);
    }

    .p-page-faq__cta {
        margin-top: calc(30 / 390 * 100vw);
        padding: calc(25 / 390 * 100vw) calc(15 / 390 * 100vw);
    }

    .p-page-faq__cta-txt {
        font-size: calc(15 / 390 * 100vw);
    }

    .p-page-faq__cta-tel {
        font-size: calc(20 / 390 * 100vw);
    }

    .p-page-faq__cta-btn {
        padding: calc(12 / 390 * 100vw) calc(30 / 390 * 100vw);
        font-size: calc(15 / 390 * 100vw);
    }
}