/* ===== Section title ===== */
.p-webinar__sec-ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
.p-webinar__sec-ttl-en {
    font-size: .8125rem;
    font-size: clamp(.75rem, .65rem + .2vw, .8125rem);
    font-weight: 500;
    font-variation-settings: "wght" 500;
    letter-spacing: .24em;
    color: var(--c-primary);
}
.p-webinar__sec-ttl-ja {
    font-size: 2rem;
    font-size: clamp(1.375rem, .9rem + 1.5vw, 2rem);
    font-weight: 700;
    font-variation-settings: "wght" 700;
    letter-spacing: .04em;
    line-height: 1.4;
    color: var(--c-text);
}

/* ===== Audience ===== */
.p-webinar__audience {
    padding-block: 80px;
    background: var(--c-band-blue);
}
.p-webinar__audience-in {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    max-width: var(--c-wrap);
    margin-inline: auto;
    padding-inline: 20px;
}
.p-webinar__audience-checks {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    max-width: 600px;
}
.p-webinar__audience-check {
    position: relative;
    padding: 18px 24px 18px 60px;
    font-size: 1.1875rem;
    font-weight: 500;
    font-variation-settings: "wght" 500;
    line-height: 1.5;
    letter-spacing: .03em;
    color: var(--c-text);
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: 10px;
    box-shadow: var(--c-shadow-soft);
}
.p-webinar__audience-check::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background: var(--c-primary);
    border-radius: 4px;
}
.p-webinar__audience-check::after {
    content: "";
    position: absolute;
    left: 29px;
    top: calc(50% - 4px);
    width: 12px;
    height: 6px;
    border-left: 2.5px solid #fff;
    border-bottom: 2.5px solid #fff;
    transform: rotate(-45deg);
}

/* ===== Speakers ===== */
.p-webinar__speakers {
    padding-block: 80px;
    background: #fff;
}
.p-webinar__speakers-in {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    max-width: var(--c-wrap);
    margin-inline: auto;
    padding-inline: 20px;
}
.p-webinar__speakers-lst {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
}
.p-webinar__speakers-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 36px 26px 28px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: 10px;
    box-shadow: var(--c-shadow-card);
}
.p-webinar__speakers-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 56px;
    height: 4px;
    background: var(--c-primary);
    border-radius: 999px;
}
.p-webinar__speakers-photo {
    line-height: 0;
}
.p-webinar__speakers-photo :is(img) {
    width: 180px;
    height: 180px;
    object-fit: cover;
    border-radius: 50%;
}
.p-webinar__speakers-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.p-webinar__speakers-role {
    display: inline-flex;
    padding: 5px 16px;
    font-size: 13px;
    font-weight: 500;
    font-variation-settings: "wght" 500;
    letter-spacing: .04em;
    color: var(--c-primary-dark);
    background: var(--c-primary-soft);
    border-radius: 999px;
}
.p-webinar__speakers-name {
    font-size: 22px;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    letter-spacing: .06em;
    color: var(--c-text);
}
.p-webinar__speakers-bio {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
    color: var(--c-text);
    text-align: left;
}

/* ===== Program ===== */
.p-webinar__program {
    padding-block: 80px;
    background: linear-gradient(180deg, var(--c-band-blue) 0%, #fff 100%);
}
.p-webinar__program-in {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    max-width: var(--c-wrap);
    margin-inline: auto;
    padding-inline: 20px;
}
.p-webinar__program-lst {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    max-width: 700px;
}
.p-webinar__program-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px 26px 24px;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: 10px;
    box-shadow: var(--c-shadow-card);
}
.p-webinar__program-header {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
}
.p-webinar__program-no {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    font-size: 20px;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    line-height: 1;
    color: #fff;
    background: var(--c-primary);
    border-radius: 50%;
}
.p-webinar__program-ttl {
    font-size: 20px;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    letter-spacing: .04em;
    color: var(--c-text);
}
.p-webinar__program-bullets {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 74px;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    color: var(--c-text);
}
.p-webinar__program-bullets :is(li) {
    position: relative;
    padding-left: 18px;
}
.p-webinar__program-bullets :is(li)::before {
    content: "";
    position: absolute;
    left: 0;
    top: .8em;
    width: 8px;
    height: 8px;
    background: var(--c-primary);
    border-radius: 50%;
}

/* ===== CTA ===== */
.p-webinar__cta {
    padding-block: 80px;
    color: var(--c-text);
    background: linear-gradient(-117deg, #d8ebfa 0%, #ffffff 50%, #fde6ec 100%);
}
.p-webinar__cta-in {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    max-width: var(--c-wrap);
    margin-inline: auto;
    padding-inline: 20px;
    text-align: center;
}
.p-webinar__cta-eyebrow {
    display: inline-flex;
    padding: 12px 24px;
    font-size: 1.625rem;
    font-size: clamp(1rem, .85rem + .5vw, 1.625rem);
    font-weight: 700;
    font-variation-settings: "wght" 700;
    letter-spacing: .08em;
    color: #fff;
    background: var(--c-primary);
    border-radius: 999px;
}
.p-webinar__cta-headline {
    font-size: 2.5rem;
    font-size: clamp(1.5rem, 1rem + 1.8vw, 2.5rem);
    font-weight: 700;
    font-variation-settings: "wght" 700;
    line-height: 1.5;
    letter-spacing: .04em;
    color: var(--c-text);
}
.p-webinar__cta-date {
    display: inline-flex;
    padding: 8px 28px;
    font-size: 1.875rem;
    font-size: clamp(1.25rem, .9rem + .8vw, 1.875rem);
    font-weight: 700;
    font-variation-settings: "wght" 700;
    letter-spacing: .04em;
    color: var(--c-primary);
    background: #fff;
    border: 2px solid var(--c-primary);
    border-radius: 8px;
}
.p-webinar__cta-btn {
    display: flex;
    justify-content: center;
}
.p-webinar__cta-btn :is(a) {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 520px;
    padding: 28px 56px;
    font-size: 1.625rem;
    font-size: clamp(1.375rem, 1rem + .8vw, 1.625rem);
    font-weight: 700;
    font-variation-settings: "wght" 700;
    letter-spacing: .08em;
    color: #fff;
    background: var(--c-accent);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgb(229 0 62 / .35);
    transition: background .2s var(--c-ease), opacity .2s var(--c-ease);
}
.p-webinar__cta-btn :is(a)::before {
    content: '';
    position: absolute;
    right: 32px;
    top: 50%;
    width: 14px;
    height: 14px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}
@media (hover: hover) and (pointer: fine) {
    .p-webinar__cta-btn :is(a):hover {
        background: var(--c-accent-dark);
        opacity: 1;
    }
}

/* ===== Footer ===== */
.p-webinar__footer {
    padding-block: 30px;
    color: var(--c-text);
    background: var(--c-band-blue);
}
.p-webinar__footer-in {
    max-width: var(--c-wrap);
    margin-inline: auto;
    padding-inline: 20px;
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
}
.p-webinar__footer-copy,
.p-webinar__footer-legal {
    display: block;
}
.p-webinar__footer-copy {
    font-weight: 500;
    font-variation-settings: "wght" 500;
    letter-spacing: .04em;
}

/* ===== SP ===== */
@media (max-width: 896px) {
    .p-webinar__audience {
        padding-block: 40px;
    }
    .p-webinar__audience-in {
        gap: 20px;
        padding-inline: 16px;
    }
    .p-webinar__audience-checks {
        gap: 10px;
        max-width: none;
    }
    .p-webinar__audience-check {
        padding: 14px 14px 14px 52px;
        font-size: 14px;
        line-height: 1.6;
        border-radius: 8px;
    }
    .p-webinar__audience-check::before {
        left: 14px;
        width: 22px;
        height: 22px;
    }
    .p-webinar__audience-check::after {
        left: 19px;
    }

    .p-webinar__speakers {
        padding-block: 40px;
    }
    .p-webinar__speakers-in {
        gap: 20px;
        padding-inline: 16px;
    }
    .p-webinar__speakers-lst {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .p-webinar__speakers-card {
        padding: 30px 18px 24px;
        border-radius: 8px;
    }
    .p-webinar__speakers-photo :is(img) {
        width: 200px;
        height: 200px;
    }
    .p-webinar__speakers-name {
        font-size: 20px;
    }
    .p-webinar__speakers-bio {
        font-size: 13px;
    }
    .p-webinar__speakers-role {
        min-width: min(290px, 100%);
        text-align: center;
        justify-content: center;
    }

    .p-webinar__program {
        padding-block: 40px;
    }
    .p-webinar__program-in {
        gap: 20px;
        padding-inline: 16px;
    }
    .p-webinar__program-lst {
        gap: 12px;
        max-width: none;
    }
    .p-webinar__program-card {
        padding: 16px 16px 20px;
        gap: 6px;
        border-radius: 8px;
    }
    .p-webinar__program-header {
        gap: 14px;
    }
    .p-webinar__program-no {
        width: 40px;
        height: 40px;
        font-size: 17px;
    }
    .p-webinar__program-ttl {
        font-size: 16px;
    }
    .p-webinar__program-bullets {
        padding-left: 54px;
        font-size: 13px;
        line-height: 1.8;
    }

    .p-webinar__cta {
        padding-block: 40px;
    }
    .p-webinar__cta-in {
        gap: 22px;
        padding-inline: 16px;
    }
    .p-webinar__cta-eyebrow {
        padding: 10px 20px;
        font-size: 16px;
    }
    .p-webinar__cta-headline {
        font-size: 24px;
    }
    .p-webinar__cta-date {
        padding: 8px 20px;
        font-size: 16px;
        border-radius: 4px;
    }
    .p-webinar__cta-btn {
        min-width: min(320px, 100%);
    }
    .p-webinar__cta-btn :is(a) {
        min-width: 100%;
        padding: 20px 24px;
        font-size: 20px;
    }
    .p-webinar__cta-btn :is(a)::before {
        right: 24px;
    }

    .p-webinar__footer {
        padding-block: 20px;
    }
    .p-webinar__footer-in {
        padding-inline: 16px;
        font-size: 12px;
    }
}
