@charset "utf-8";

/* Key visual */
/* ============================================ */
.p-kv-talk {
    --design-width: var(--canvas-width);
    position: relative;
    width: 100%;
    height: min(868 / var(--design-width) * 100vw, 868px);
    overflow: hidden;

    .p-kv-talk__bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .p-kv-talk__img {
        position: absolute;
        top: min(94 / var(--design-width) * 100vw, 94px);
        left: calc(50% - min(462 / var(--design-width) * 100vw, 462px));
        width: min(793 / var(--design-width) * 100vw, 793px);
        height: min(775 / var(--design-width) * 100vw, 775px);
        z-index: 2;
        opacity: 0;
        translate: 0 30px;
        transition: opacity 1.0s ease, translate 1.0s ease;

        &.--v-anime {
            opacity: 1;
            translate: 0 0;
        }

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .p-kv-talk__deco {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        pointer-events: none;
        --deco-duration: 0.7s;
        --deco-step: 0.07s;

        > span {
            position: absolute;
            display: block;
            opacity: 0;
            mask-image: linear-gradient(#000, #000);
            mask-repeat: no-repeat;
            mask-size: 0% 100%;
            transition: opacity var(--deco-duration) ease-in-out,
                        mask-size var(--deco-duration) ease-in-out;
        }

        .e-deco-01 {
            top: 0;
            left: 0;
            right: calc(50% - min(234 / var(--design-width) * 100vw, 234px));
            height: min(270 / var(--design-width) * 100vw, 270px);
            background-image: linear-gradient(68.76deg, var(--grad-deco-03));
            clip-path: polygon(0 0, 100% 0, 0 100%);
            --deco-opacity: 0.72;
        }

        .e-deco-02 {
            left: calc(50% - min(312 / var(--design-width) * 100vw, 312px));
            right: 0;
            bottom: 0;
            height: min(212 / var(--design-width) * 100vw, 212px);
            background-image: linear-gradient(222.2deg, var(--grad-deco-01));
            clip-path: polygon(100% 0, 100% 100%, 0 100%);
        }

        .e-deco-03 {
            left: 0;
            right: calc(50% - min(476 / var(--design-width) * 100vw, 476px));
            bottom: 0;
            height: min(174 / var(--design-width) * 100vw, 174px);
            background-image: linear-gradient(301.79deg, var(--grad-deco-01));
            clip-path: polygon(0 0, 100% 100%, 0 100%);
            --deco-opacity: 0.69;
        }

        .e-deco-03 {
            transition-delay: var(--deco-step);
        }

        .e-deco-02 {
            transition-delay: calc(var(--deco-step) * 2);
        }

        &.--v-anime > span {
            opacity: var(--deco-opacity, 1);
            mask-size: 100% 100%;
        }
    }

    .p-kv-talk__content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: min(100%, 1600px);
        margin: 0 auto;
        height: 100%;
        z-index: 4;

        .e-tab-01 {
            position: absolute;
            top: min(142 / var(--design-width) * 100vw, 142px);
            left: min(1348 / var(--design-width) * 100vw, 1348px);
            width: min(42 / var(--design-width) * 100vw, 42px);
            padding: min(15.64 / var(--design-width) * 100vw, 15.64px) 0;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: var(--c-blue-10);

            .m-text-01 {
                writing-mode: vertical-rl;
                white-space: nowrap;
                font-size: clamp(13px, 16 / var(--design-width) * 100vw, 16px);
                line-height: 2.098;
                letter-spacing: 0.435em;
                color: var(--c-white);
            }
        }

        .e-catch-01 {

            .m-line-01,
            .m-line-02 {
                position: absolute;
                display: flex;
                justify-content: center;
                align-items: center;
                width: min(50 / var(--design-width) * 100vw, 50px);
                padding: min(22 / var(--design-width) * 100vw, 22px) 0 min(18 / var(--design-width) * 100vw, 18px);
                background-color: color-mix(in srgb, var(--c-orange-02) 76%, transparent);
                writing-mode: vertical-rl;
                white-space: nowrap;
                font-size: clamp(13px, 22 / var(--design-width) * 100vw, 22px);
                line-height: 1;
                letter-spacing: 0.21em;
                font-weight: 500;
                color: var(--c-white);
            }

            .m-line-01 {
                top: min(194 / var(--design-width) * 100vw, 194px);
                left: min(1282 / var(--design-width) * 100vw, 1282px);
            }

            .m-line-02 {
                top: min(256 / var(--design-width) * 100vw, 256px);
                left: min(1230 / var(--design-width) * 100vw, 1230px);
            }
        }

        .e-logotype-01 {
            position: absolute;
            bottom: -2px;
            left: min(716 / var(--design-width) * 100vw, 716px);

            .m-text-01 {
                display: block;
                width: min(812 / var(--design-width) * 100vw, 812px);

                img {
                    width: 100%;
                    height: auto;
                }
            }
        }

        .e-tab-01,
        .e-catch-01,
        .e-logotype-01 {
            opacity: 0;
            transition: opacity 0.8s ease;
        }

        .e-tab-01.--v-anime,
        .e-catch-01.--v-anime,
        .e-logotype-01.--v-anime {
            opacity: 1;
        }
    }
}
@media screen and (max-width: 899px) {
    .p-kv-talk {
        height: min(532 / var(--design-width) * 100vw, 532px);

        .p-kv-talk__img {
            top: min(221.15 / var(--design-width) * 100vw, 221.15px);
            left: 50%;
            transform: translateX(-50%);
            width: min(363.45 / var(--design-width) * 100vw, 363.45px);
            height: min(354.97 / var(--design-width) * 100vw, 354.97px);
        }

        .p-kv-talk__deco {

            .e-deco-01 {
                right: calc(50% - min(156.63 / var(--design-width) * 100vw, 156.63px));
                height: min(90 / var(--design-width) * 100vw, 90px);
                --deco-opacity: 0.68;
            }

            .e-deco-02 {
                left: calc(50% - min(112.5 / var(--design-width) * 100vw, 112.5px));
                height: min(100 / var(--design-width) * 100vw, 100px);
            }

            .e-deco-03 {
                right: calc(50% - min(112.5 / var(--design-width) * 100vw, 112.5px));
                height: min(87.02 / var(--design-width) * 100vw, 87.02px);
            }
        }

        .p-kv-talk__content {

            .e-tab-01 {
                top: min(49.52 / var(--design-width) * 100vw, 49.52px);
                left: min(236.1 / var(--design-width) * 100vw, 236.1px);
                width: min(25.78 / var(--design-width) * 100vw, 25.78px);
                padding: min(6.34 / var(--design-width) * 100vw, 6.34px) 0;

                .m-text-01 {
                    font-size: clamp(9.66px, 9.66 / var(--design-width) * 100vw, 9.66px);
                }
            }

            .e-catch-01 {

                .m-line-01,
                .m-line-03,
                .m-line-04 {
                    position: absolute;
                    display: flex !important;
                    justify-content: center;
                    align-items: center;
                    width: min(29.6 / var(--design-width) * 100vw, 29.6px);
                    padding: min(10 / var(--design-width) * 100vw, 10px) 0 min(10 / var(--design-width) * 100vw, 10px);
                    background-color: color-mix(in srgb, var(--c-orange-02) 76%, transparent);
                    writing-mode: vertical-rl;
                    white-space: nowrap;
                    font-size: clamp(13px, 12 / var(--design-width) * 100vw, 12px);
                    line-height: 1;
                    letter-spacing: 0.255em;
                    font-weight: 500;
                    color: var(--c-white);
                }

                .m-line-01 {
                    top: min(66.56 / var(--design-width) * 100vw, 66.56px);
                    left: min(195.15 / var(--design-width) * 100vw, 195.15px);
                }

                .m-line-03 {
                    top: min(87.17 / var(--design-width) * 100vw, 87.17px);
                    left: min(164.13 / var(--design-width) * 100vw, 164.13px);
                }

                .m-line-04 {
                    top: min(107.17 / var(--design-width) * 100vw, 107.17px);
                    left: min(133.12 / var(--design-width) * 100vw, 133.12px);
                }
            }

            .e-logotype-01 {
                left: auto;
                right: 0;
                bottom: -0.71px;

                .m-text-01 {
                    width: min(238 / var(--design-width) * 100vw, 238px);
                }
            }
        }
    }
}



/* Main / 装飾帯 */
/* ============================================ */
.l-main {

    &.--v-talk {
        position: relative;
    }
}

.p-talk-deco-01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;

    > span {
        position: absolute;
        display: block;
        height: min(1444 / var(--design-width) * 100vw, 1444px);
        left: max(-254 / var(--design-width) * 100vw, -254px);
        right: max(-98 / var(--design-width) * 100vw, -98px);
    }

    .e-deco-01 {
        top: min(512 / var(--design-width) * 100vw, 512px);
        left: max(-838 / var(--design-width) * 100vw, -838px);
        right: 0;
        height: min(952 / var(--design-width) * 100vw, 952px);
        background-image: linear-gradient(317.8deg, var(--grad-deco-01));
        clip-path: polygon(0 0, 100% 0, 100% 100%);
        opacity: 0.43;
    }

    .e-deco-02 {
        top: min(1548 / var(--design-width) * 100vw, 1548px);
        left: 0;
        right: max(-352 / var(--design-width) * 100vw, -352px);
        background-image: linear-gradient(137.8deg, var(--grad-deco-01));
        clip-path: polygon(0 0, 100% 100%, 0 100%);
        opacity: 0.4;
    }

    .e-deco-03 {
        top: min(2992 / var(--design-width) * 100vw, 2992px);
        left: 0;
        right: max(-352 / var(--design-width) * 100vw, -352px);
        background-image: linear-gradient(42.2deg, var(--grad-deco-01));
        clip-path: polygon(0 0, 100% 0, 0 100%);
        opacity: 0.43;
    }

    .e-deco-04 {
        top: min(3976 / var(--design-width) * 100vw, 3976px);
        background-image: linear-gradient(222.2deg, var(--grad-deco-01));
        clip-path: polygon(100% 0, 100% 100%, 0 100%);
        opacity: 0.4;
    }

    .e-deco-05 {
        top: min(5420 / var(--design-width) * 100vw, 5420px);
        background-image: linear-gradient(317.8deg, var(--grad-deco-01));
        clip-path: polygon(0 0, 100% 0, 100% 100%);
        opacity: 0.43;
    }

    .e-deco-06 {
        top: min(5836 / var(--design-width) * 100vw, 5836px);
        background-image: linear-gradient(137.8deg, var(--grad-deco-01));
        clip-path: polygon(0 0, 100% 100%, 0 100%);
        opacity: 0.4;
    }

    .e-deco-07 {
        top: min(7280 / var(--design-width) * 100vw, 7280px);
        background-image: linear-gradient(42.2deg, var(--grad-deco-01));
        clip-path: polygon(0 0, 100% 0, 0 100%);
        opacity: 0.43;
    }
}
@media screen and (max-width: 899px) {
    .p-talk-deco-01 {

        > span {
            height: min(369.71 / var(--design-width) * 100vw, 369.71px);
            left: 0;
            right: max(-125 / var(--design-width) * 100vw, -125px);
        }

        .e-deco-01 {
            display: none;
        }

        .e-deco-02 {
            top: min(2842.63 / var(--design-width) * 100vw, 2842.63px);
            right: max(-125 / var(--design-width) * 100vw, -125px);
        }

        .e-deco-03 {
            top: min(3212.34 / var(--design-width) * 100vw, 3212.34px);
            right: max(-125 / var(--design-width) * 100vw, -125px);
        }

        .e-deco-04 {
            top: min(5699.13 / var(--design-width) * 100vw, 5699.13px);
            left: max(-125 / var(--design-width) * 100vw, -125px);
            right: 0;
        }

        .e-deco-05 {
            top: min(6068.85 / var(--design-width) * 100vw, 6068.85px);
            left: max(-125 / var(--design-width) * 100vw, -125px);
            right: 0;
        }

        .e-deco-06 {
            display: none;
        }

        .e-deco-07 {
            display: none;
        }
    }
}



/* Profile */
/* ============================================ */
.p-talk-profile-01 {
    position: relative;
    padding-top: min(30 / var(--design-width) * 100vw, 30px);

    .p-talk-profile-01__inner {
        width: min(1540 / var(--canvas-width) * 100vw, 1540px);
        margin: 0 auto;
        padding: min(56 / var(--design-width) * 100vw, 56px) min(220 / var(--canvas-width) * 100vw, 220px) min(74 / var(--design-width) * 100vw, 74px);
        border-radius: 8px;
        background-image: linear-gradient(270deg, var(--c-blue-07) -7%, var(--c-blue-08) 139%);
    }

    .e-list-01 {
        display: flex;
        justify-content: space-between;

        > li {
            width: min(310 / var(--design-width) * 100vw, 310px);
            color: var(--c-white);
        }

        .m-position-01,
        .m-career-01 {
            font-size: clamp(13px, 16 / var(--design-width) * 100vw, 16px);
            line-height: 2;
            letter-spacing: 0.18em;
        }

        .m-name-01 {
            position: relative;
            width: fit-content;
            margin-top: min(10 / var(--design-width) * 100vw, 10px);
            padding-bottom: calc(min(6 / var(--design-width) * 100vw, 6px) + 3px);
            font-size: clamp(13px, 22 / var(--design-width) * 100vw, 22px);
            line-height: 1.4;
            letter-spacing: 0.255em;
            font-weight: 500;

            &::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: 0;
                width: calc(100% - 0.255em);
                height: 3px;
            }

            &.--v-speaker-01::after {
                background-color: var(--c-green-08);
            }

            &.--v-speaker-02::after {
                background-color: var(--c-blue-11);
            }

            &.--v-speaker-03::after {
                background-color: var(--c-yellow-02);
            }
        }

        .m-career-01 {
            margin-top: min(16 / var(--design-width) * 100vw, 16px);
        }

        .m-text-01 {
            margin-top: min(32 / var(--design-width) * 100vw, 32px);
            font-size: clamp(13px, 16 / var(--design-width) * 100vw, 16px);
            line-height: 2;
            letter-spacing: 0.05em;
            text-align: justify;
        }
    }
}
@media screen and (max-width: 899px) {
    .p-talk-profile-01 {
        padding-top: min(20 / var(--design-width) * 100vw, 20px);

        .p-talk-profile-01__inner {
            width: calc(100% - min(48 / var(--design-width) * 100vw, 48px));
            margin: 0 min(24 / var(--design-width) * 100vw, 24px);
            padding: min(27 / var(--design-width) * 100vw, 27px) min(20 / var(--design-width) * 100vw, 20px) min(48 / var(--design-width) * 100vw, 48px);
            background-image: linear-gradient(124.04deg, var(--c-blue-08) 0%, var(--c-blue-07) 100%);
        }

        .e-list-01 {
            flex-direction: column;
            gap: min(44.67 / var(--design-width) * 100vw, 44.67px) 0;

            > li {
                width: 100%;
            }

            .m-position-01,
            .m-career-01 {
                font-size: clamp(13px, 12 / var(--design-width) * 100vw, 12px);
                line-height: 2.667;
            }

            .m-name-01 {
                margin-top: min(12 / var(--design-width) * 100vw, 12px);
                padding-bottom: calc(min(8 / var(--design-width) * 100vw, 8px) + 3px);
                font-size: clamp(13px, 17 / var(--design-width) * 100vw, 17px);
            }

            .m-career-01 {
                margin-top: min(8 / var(--design-width) * 100vw, 8px);
            }

            .m-text-01 {
                margin-top: min(11 / var(--design-width) * 100vw, 11px);
                font-size: clamp(13px, 13 / var(--design-width) * 100vw, 13px);
                line-height: 2.154;
                letter-spacing: 0.075em;
            }
        }
    }
}



/* Theme 01–03（共通） */
/* ============================================ */
.p-talk-section-01,
.p-talk-section-02,
.p-talk-section-03 {
    position: relative;

    .p-talk-section-01__img,
    .p-talk-section-02__img,
    .p-talk-section-03__img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .p-talk-section-01__panel,
    .p-talk-section-02__panel,
    .p-talk-section-03__panel {
        position: relative;
        background-color: var(--c-white);
    }

    .e-content-01 {
        margin-left: min(108 / var(--design-width) * 100vw, 108px);

        .m-label-01 {
            width: min(520 / var(--design-width) * 100vw, 520px);
            padding-bottom: min(12 / var(--design-width) * 100vw, 12px);
            font-size: clamp(13px, 22 / var(--design-width) * 100vw, 22px);
            line-height: 1.6;
            letter-spacing: 0.155em;
            color: var(--c-black);
            border-bottom: 1px solid var(--c-black);
        }

        .m-title-01 {
            margin-top: min(34 / var(--design-width) * 100vw, 34px);
            font-size: clamp(13px, 30 / var(--design-width) * 100vw, 30px);
            line-height: 1.667;
            letter-spacing: 0.105em;
            font-weight: 500;
            color: var(--c-black);
        }
    }

    .e-talk-01 {
        margin-top: min(32 / var(--design-width) * 100vw, 32px);

        > li {
            display: flex;
            gap: 0 min(28 / var(--design-width) * 100vw, 28px);

            + li {
                margin-top: min(32 / var(--design-width) * 100vw, 32px);
            }
        }

        .m-icon-01 {
            width: min(80 / var(--design-width) * 100vw, 80px);
            margin-top: min(10 / var(--design-width) * 100vw, 10px);
            flex-shrink: 0;

            img {
                width: min(80 / var(--design-width) * 100vw, 80px);
                height: min(80 / var(--design-width) * 100vw, 80px);
                object-fit: cover;
            }

            .s-name-01 {
                display: flex;
                justify-content: center;
                align-items: center;
                width: min(80 / var(--design-width) * 100vw, 80px);
                height: min(34 / var(--design-width) * 100vw, 34px);
                font-size: clamp(13px, 14 / var(--design-width) * 100vw, 14px);
                line-height: 1;
                letter-spacing: 0.2em;
                color: var(--c-white);

                &.--v-speaker-01 {
                    background-color: var(--c-green-08);
                }

                &.--v-speaker-02 {
                    background-color: var(--c-blue-11);
                }

                &.--v-speaker-03 {
                    background-color: var(--c-yellow-02);
                }
            }
        }

        .m-text-01 {
            flex: 1;
            font-size: clamp(13px, 16 / var(--design-width) * 100vw, 16px);
            line-height: 2;
            text-align: justify;
            color: var(--c-black);
        }
    }
}
@media screen and (max-width: 899px) {
    .p-talk-section-01,
    .p-talk-section-02,
    .p-talk-section-03 {

        .e-content-01 {
            margin-left: 0;

            .m-label-01 {
                width: 100%;
                padding-bottom: min(6 / var(--design-width) * 100vw, 6px);
                font-size: clamp(13px, 13 / var(--design-width) * 100vw, 13px);
                line-height: 1.701;
            }

            .m-title-01 {
                margin-top: min(22 / var(--design-width) * 100vw, 22px);
                font-size: clamp(13px, 18 / var(--design-width) * 100vw, 18px);
                line-height: 1.778;
            }
        }

        .e-talk-01 {
            margin-top: min(20 / var(--design-width) * 100vw, 20px);

            > li {
                gap: 0 min(20 / var(--design-width) * 100vw, 20px);

                + li {
                    margin-top: min(28 / var(--design-width) * 100vw, 28px);
                }
            }

            .m-icon-01 {
                width: min(60 / var(--design-width) * 100vw, 60px);
                margin-top: min(8 / var(--design-width) * 100vw, 8px);

                img {
                    width: min(60 / var(--design-width) * 100vw, 60px);
                    height: min(60 / var(--design-width) * 100vw, 60px);
                }

                .s-name-01 {
                    width: min(60 / var(--design-width) * 100vw, 60px);
                    height: min(26.25 / var(--design-width) * 100vw, 26.25px);
                    font-size: clamp(13px, 12 / var(--design-width) * 100vw, 12px);

                    &.--v-speaker-01,
                    &.--v-speaker-03 {
                        font-size: clamp(10.5px, 10.5 / var(--design-width) * 100vw, 10.5px);
                    }
                }
            }

            .m-text-01 {
                font-size: clamp(13px, 13 / var(--design-width) * 100vw, 13px);
                line-height: 2.154;
                letter-spacing: 0.015em;
            }
        }
    }
}


/* Theme 01 */
/* ============================================ */
.p-talk-section-01 {
    margin-top: min(30 / var(--design-width) * 100vw, 30px);
    padding-top: min(474 / var(--design-width) * 100vw, 474px);

    .p-talk-section-01__img {
        right: calc(50% - min(450 / var(--design-width) * 100vw, 450px));
        width: auto;
        height: min(684 / var(--design-width) * 100vw, 684px);
    }

    .p-talk-section-01__panel {
        min-height: min(1288 / var(--design-width) * 100vw, 1288px);
        margin-left: calc(50% - min(350 / var(--design-width) * 100vw, 350px));
        padding: min(106 / var(--design-width) * 100vw, 106px) min(200 / var(--design-width) * 100vw, 200px) min(168 / var(--design-width) * 100vw, 168px) min(68 / var(--design-width) * 100vw, 68px);
        border-radius: 36px 0 0 36px;
    }
}
@media screen and (max-width: 899px) {
    .p-talk-section-01 {
        margin-top: min(30 / var(--design-width) * 100vw, 30px);
        padding-top: min(205 / var(--design-width) * 100vw, 205px);

        .p-talk-section-01__img {
            right: auto;
            width: 100%;
            height: auto;

            img {
                height: auto;
                object-fit: contain;
            }
        }

        .p-talk-section-01__panel {
            min-height: 0;
            margin-left: 0;
            padding: min(44 / var(--design-width) * 100vw, 44px) min(24 / var(--design-width) * 100vw, 24px) min(40 / var(--design-width) * 100vw, 40px);
            border-radius: 0;
        }
    }
}


/* Theme 02 */
/* ============================================ */
.p-talk-section-02 {
    margin-top: max(-104 / var(--design-width) * 100vw, -104px);
    padding-top: min(826 / var(--design-width) * 100vw, 826px);

    .p-talk-section-02__img {

        .e-img-01 {
            position: absolute;
            top: 0;
            left: 0;
            right: 50%;
            height: min(496 / var(--design-width) * 100vw, 496px);
            z-index: 1;
        }

        .e-img-02 {
            position: absolute;
            top: min(248 / var(--design-width) * 100vw, 248px);
            left: calc(50% - min(302 / var(--design-width) * 100vw, 302px));
            right: 0;
            height: min(684 / var(--design-width) * 100vw, 684px);
        }
    }

    .p-talk-section-02__panel {
        min-height: min(1520 / var(--design-width) * 100vw, 1520px);
        margin-right: calc(50% - min(450 / var(--design-width) * 100vw, 450px));
        padding: min(106 / var(--design-width) * 100vw, 106px) min(120 / var(--design-width) * 100vw, 120px) min(144 / var(--design-width) * 100vw, 144px) min(250 / var(--design-width) * 100vw, 250px);
        border-radius: 0 36px 36px 0;
    }
}
@media screen and (max-width: 899px) {
    .p-talk-section-02 {
        margin-top: min(57 / var(--design-width) * 100vw, 57px);
        padding-top: min(268 / var(--design-width) * 100vw, 268px);

        .p-talk-section-02__img {

            .e-img-01 {
                height: auto;

                img {
                    height: auto;
                    object-fit: contain;
                }
            }

            .e-img-02 {
                top: min(58.15 / var(--design-width) * 100vw, 58.15px);
                left: calc(50% - min(70.77 / var(--design-width) * 100vw, 70.77px));
                height: auto;

                img {
                    height: auto;
                    object-fit: contain;
                }
            }
        }

        .p-talk-section-02__panel {
            min-height: 0;
            margin-right: 0;
            padding: min(46 / var(--design-width) * 100vw, 46px) min(24 / var(--design-width) * 100vw, 24px) min(41 / var(--design-width) * 100vw, 41px);
            border-radius: 0;
        }
    }
}


/* Theme 03 */
/* ============================================ */
.p-talk-section-03 {
    margin-top: max(-92 / var(--design-width) * 100vw, -92px);
    padding-top: min(988 / var(--design-width) * 100vw, 988px);

    .p-talk-section-03__img {

        .e-img-01 {
            position: absolute;
            top: 0;
            left: 50%;
            width: min(600 / var(--design-width) * 100vw, 600px);
            height: min(372 / var(--design-width) * 100vw, 372px);
        }

        .e-img-02 {
            position: absolute;
            top: min(390 / var(--design-width) * 100vw, 390px);
            left: 0;
            right: calc(50% - min(302 / var(--design-width) * 100vw, 302px));
            height: min(684 / var(--design-width) * 100vw, 684px);
        }
    }

    .p-talk-section-03__panel {
        min-height: min(1288 / var(--design-width) * 100vw, 1288px);
        margin-left: calc(50% - min(350 / var(--design-width) * 100vw, 350px));
        padding: min(106 / var(--design-width) * 100vw, 106px) min(200 / var(--design-width) * 100vw, 200px) min(168 / var(--design-width) * 100vw, 168px) min(68 / var(--design-width) * 100vw, 68px);
        border-radius: 36px 0 0 36px;
    }
}
@media screen and (max-width: 899px) {
    .p-talk-section-03 {
        margin-top: min(62 / var(--design-width) * 100vw, 62px);
        padding-top: min(338 / var(--design-width) * 100vw, 338px);

        .p-talk-section-03__img {

            .e-img-01 {
                left: calc(50% + min(26.76 / var(--design-width) * 100vw, 26.76px));
                width: min(160.74 / var(--design-width) * 100vw, 160.74px);
                height: auto;

                img {
                    height: auto;
                    object-fit: contain;
                }
            }

            .e-img-02 {
                top: min(104.56 / var(--design-width) * 100vw, 104.56px);
                right: calc(50% - min(107.71 / var(--design-width) * 100vw, 107.71px));
                height: auto;

                img {
                    height: auto;
                    object-fit: contain;
                }
            }
        }

        .p-talk-section-03__panel {
            min-height: 0;
            margin-left: 0;
            padding: min(46 / var(--design-width) * 100vw, 46px) min(24 / var(--design-width) * 100vw, 24px) min(41 / var(--design-width) * 100vw, 41px);
            border-radius: 0;
        }
    }
}



/* Section 04（写真⑥⑦） */
/* ============================================ */
.p-talk-section-04 {
    position: relative;
    height: min(1204 / var(--design-width) * 100vw, 1204px);
    margin-top: max(-138 / var(--design-width) * 100vw, -138px);

    .p-talk-section-04__img {

        .e-img-01,
        .e-img-02 {
            position: absolute;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .e-img-01 {
            top: 0;
            left: 0;
            right: calc(50% + min(116 / var(--design-width) * 100vw, 116px));
            height: min(410 / var(--design-width) * 100vw, 410px);
        }

        .e-img-02 {
            top: min(424 / var(--design-width) * 100vw, 424px);
            left: calc(50% - min(456 / var(--design-width) * 100vw, 456px));
            right: 0;
            height: min(780 / var(--design-width) * 100vw, 780px);
        }
    }
}
@media screen and (max-width: 899px) {
    .p-talk-section-04 {
        height: min(282.35 / var(--design-width) * 100vw, 282.35px);
        margin-top: min(57 / var(--design-width) * 100vw, 57px);

        .p-talk-section-04__img {

            .e-img-01 {
                right: calc(50% + min(27.03 / var(--design-width) * 100vw, 27.03px));
                height: auto;

                img {
                    height: auto;
                    object-fit: contain;
                }
            }

            .e-img-02 {
                top: min(99.54 / var(--design-width) * 100vw, 99.54px);
                left: calc(50% - min(107.21 / var(--design-width) * 100vw, 107.21px));
                height: auto;

                img {
                    height: auto;
                    object-fit: contain;
                }
            }
        }
    }
}



/* Section 05（CONTENTS） */
/* ============================================ */
.p-talk-section-05 {
    margin-top: max(-46 / var(--design-width) * 100vw, -46px);
}
@media screen and (max-width: 899px) {
    .p-talk-section-05 {
        margin-top: min(100 / var(--design-width) * 100vw, 100px);
    }
}
