.lp02-page {
    --bs-cyan: #d7ad45;
    --lp02-gold-soft: #f2d27a;
    --lp02-panel: #171715;
    --lp02-border: rgba(215, 173, 69, .28);
    --lp02-muted: rgba(255, 255, 255, .68);
    background:
        radial-gradient(circle at 70% 8%, rgba(215, 173, 69, .18), transparent 30rem),
        radial-gradient(circle at 16% 18%, rgba(255, 255, 255, .05), transparent 24rem),
        var(--bs-black);
    color: var(--bs-white);
    font-family: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;
    overflow-x: hidden;
}

body.lp02-body > #app > header {
    display: none !important;
}

body.lp02-body main {
    padding-top: 0 !important;
}

.lp02-page h1,
.lp02-page h2,
.lp02-page h3 {
    font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
    letter-spacing: .04em;
}

.lp02-header {
    backdrop-filter: blur(16px);
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    z-index: 20;
}

.lp02-header-logo img {
    width: 112px;
    height: auto;
}

.lp02-nav-link {
    color: var(--bs-dark);
    font-size: .86rem;
    font-weight: 700;
}

.lp02-nav-link:hover {
    color: var(--bs-cyan);
}

.lp02-btn-gold {
    background: linear-gradient(135deg, var(--lp02-gold-soft), var(--bs-cyan));
    color: var(--bs-black);
    border: 0;
    font-weight: 800;
}

.lp02-btn-outline {
    color: var(--bs-dark);
    border: 1px solid rgba(0, 0, 0, .18);
    background: rgba(255, 255, 255, .72);
}

.lp02-btn-outline:hover {
    color: var(--bs-black);
    background: var(--bs-cyan);
}

.lp02-hero {
    min-height: 760px;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .78) 35%, rgba(0, 0, 0, .18) 76%),
        image-set(url("/images/lp02/top.png") 1x) center right / cover no-repeat;
    border-bottom: 1px solid var(--lp02-border);
    padding-top: 92px;
}

.lp02-hero-copy {
    max-width: 640px;
}

.lp02-eyebrow {
    color: var(--bs-cyan);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .22em;
}

.lp02-hero-title {
    font-size: clamp(3.2rem, 6vw, 6rem);
    line-height: 1.14;
    text-shadow: 0 0 34px rgba(215, 173, 69, .16);
}

.lp02-text-gold {
    color: var(--lp02-gold-soft);
}

.lp02-lead {
    color: rgba(255, 255, 255, .88);
    font-size: 1.17rem;
    font-weight: 700;
    line-height: 2;
}

.lp02-stat-number {
    color: var(--lp02-gold-soft);
    font-family: Georgia, serif;
    font-size: 2.4rem;
    line-height: 1;
}

.lp02-section {
    padding: 5.5rem 0;
    border-bottom: 1px solid rgba(215, 173, 69, .18);
    scroll-margin-top: 88px;
}

.lp02-section-dark {
    background: linear-gradient(180deg, #111110, #080808);
}

.lp02-section-heading {
    max-width: 760px;
    margin: 0 auto 3rem;
    text-align: center;
}

.lp02-section-heading p {
    color: var(--lp02-muted);
    line-height: 1.9;
}

.lp02-card {
    height: 100%;
    background: linear-gradient(145deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .018));
    border: 1px solid var(--lp02-border);
    box-shadow: inset 0 0 28px rgba(255, 255, 255, .025);
}

.lp02-icon {
    color: var(--bs-cyan);
    font-size: 2rem;
}

.lp02-small-text {
    color: var(--lp02-muted);
    line-height: 1.9;
}

.lp02-flow-panel {
    background: var(--bs-light);
    color: var(--bs-dark);
}

.lp02-flow-icon {
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(0, 0, 0, .16);
    color: var(--bs-dark);
}

.lp02-reason-number {
    color: var(--bs-cyan);
    font-family: Georgia, serif;
    font-size: 2.4rem;
    line-height: 1;
}

.lp02-list-item {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .82);
}

.lp02-step {
    min-height: 142px;
}

.lp02-price {
    background:
        linear-gradient(135deg, rgba(215, 173, 69, .16), transparent 20%),
        linear-gradient(180deg, #141414, #060606);
}

.lp02-price-main {
    border-top: 3px solid var(--bs-cyan);
    border-bottom: 3px solid var(--bs-cyan);
}

.lp02-price-title {
    font-family: Arial, sans-serif;
    font-size: clamp(2.8rem, 7vw, 6.5rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: .08em;
}

.lp02-price-feature {
    min-height: 78px;
    display: grid;
    place-items: center;
    color: var(--bs-blue);
    background:
        linear-gradient(135deg, rgba(215, 173, 69, .45), rgba(255, 255, 255, .92) 16%, rgba(255, 255, 255, .92) 78%, rgba(215, 173, 69, .82));
    border: 1px solid rgba(255, 255, 255, .35);
    font-size: clamp(1.15rem, 2.3vw, 2rem);
    font-weight: 900;
}

.lp02-blog-card {
    display: flex;
    flex-direction: column;
}

.lp02-blog-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(215, 173, 69, .92), rgba(255, 255, 255, .09) 48%, #111 49%, #1b1b1b);
}

.lp02-blog-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.lp02-blog-card .p-4 {
    flex: 1 1 auto;
}

.lp02-blog-link,
.lp02-blog-link:hover,
.lp02-blog-link:focus {
    color: inherit;
    text-decoration: none;
}

.lp02-blog-link-disabled {
    cursor: default;
}

.lp02-faq-button {
    color: var(--bs-white);
    background: rgba(255, 255, 255, .025);
    border: 1px solid var(--lp02-border);
}

.lp02-faq-button:not(.collapsed) {
    color: var(--bs-black);
    background: linear-gradient(135deg, var(--lp02-gold-soft), var(--bs-cyan));
}

.lp02-cta-wrapper {
    background:
        linear-gradient(90deg, rgba(77, 50, 7, .78), rgba(0, 0, 0, .76), rgba(77, 50, 7, .78)),
        url("/images/lp02/top.png") center / cover no-repeat;
}

.lp02-cta-wrapper .bg-dark {
    background: transparent !important;
}

.lp02-cta-wrapper h3,
.lp02-cta-wrapper .h5,
.lp02-cta-wrapper .h1,
.lp02-cta-wrapper div {
    color: var(--bs-white);
}

.lp02-cta-wrapper .btn-light {
    background: rgba(0, 0, 0, .28);
    color: var(--bs-white);
    border: 1px solid var(--lp02-border) !important;
}

.lp02-footer {
    background: var(--bs-white);
    border-top: 1px solid rgba(0, 0, 0, .08);
    color: var(--bs-dark);
}

.lp02-footer img {
    width: 112px;
    height: auto;
}

.lp02-footer .text-white-50 {
    color: rgba(0, 0, 0, .58) !important;
}

@media (max-width: 991.98px) {
    .lp02-hero {
        min-height: 720px;
        background:
            linear-gradient(180deg, rgba(0, 0, 0, .68) 0%, rgba(0, 0, 0, .86) 58%, rgba(0, 0, 0, .98) 100%),
            url("/images/lp02/top.png") 66% center / auto 100% no-repeat;
    }

    .lp02-header-logo img {
        width: 92px;
    }
}

@media (max-width: 575.98px) {
    .lp02-hero {
        min-height: 680px;
        padding-top: 78px;
        background:
            linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .82) 46%, rgba(0, 0, 0, .98) 100%),
            url("/images/lp02/top.png") 72% top / auto 58% no-repeat;
    }

    .lp02-lead {
        font-size: 1rem;
    }

    .lp02-section {
        padding: 4rem 0;
    }

    .lp02-price-feature {
        min-height: 62px;
    }
}
