@charset "UTF-8";

html{
    scroll-behavior: smooth;
}

/* ============================
リセット
============================ */
.l-main *{
    font-family: "Noto Sans JP", sans-serif;
}

.l-main{
    width: auto;
    padding: 0;
    overflow: hidden;
    background: #fff;
}

/* ============================
共通
============================ */
[class*="section__wrapper--"]{
    position: relative;
}

[class*="section__inner--"]{
    position: relative;
    width: 1140px;
    margin: 0 auto;
}

[class*="ttl__box--"]{
    position: relative;
    text-align: left;
}

[class*="section__ttl--"]{
    position: relative;
    margin: 0;
    padding-left: 12px;
    color: #0f318d;
    font-family: "Poppins", sans-serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 4.6px;
    z-index: 1;
}
[class*="section__ttl--"]::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    display: block;
    width: 56px;
    height: 64px;
    background: url(/images/top/ttl_deco.webp) no-repeat center / contain;
    pointer-events: none;
    z-index: -1;
}

[class*="section__sub-ttl--"]{
    margin: 12px 0 0;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

/* ============================
メインビジュアル
============================ */
.main__box{
    position: relative;
    z-index: 1;
}

.main__box::before{
    position: absolute;
    content: "";
    background: url(/images/top/main_bg.webp) no-repeat center / cover;
    width: 100%;
    height: 1370px;
    top: 0;
    left: 0;
    z-index: -1;
}

.main__img{
    margin: 0;
    line-height: 0;
}

.main__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ============================
Worries
============================ */
.section__wrapper--worries {
    padding-top: 60px;
    z-index: 1;
}
    .worries__grid {
        display: grid;
        grid-template-columns: repeat(3, 360px);
        gap: 20px 30px;
    }
        .ttl__box--worries {
            padding-top: 42px;
        }
        .section__sub-ttl--worries{
            margin: 13px 0 0;
        }
        .worries__item {
            position: relative;
            padding-top: 32px;
        }
            .worries__icon {
                position: absolute;
                top: 0;
                left: 50%;
                display: block;
                width: 64px;
                height: 64px;
                transform: translateX(-50%);
            }
            .worries__body {
                display: flex;
                align-items: center;
                justify-content: center;
                height: 116px;
                padding-inline: 20px;
                background-color: #ededed;
                border-radius: 10px;
                padding-top: 20px;
            }
                .worries__text {
                    margin: 0;
                    width: 320px;
                    color: #383838;
                    font-size: 14px;
                    font-weight: 700;
                    line-height: 1.5;
                    text-align: center;
                }
    .worries__resolve {
        position: relative;
        padding-block: 180px 76px;
    }
        .worries__resolve-arrow {
            position: absolute;
            top: 40px;
            left: 50%;
            display: block;
            width: 540px;
            height: 98px;
            transform: translateX(-50%);
        }
        .worries__resolve-inner {
            width: 1140px;
            margin: 0 auto;
            text-align: center;
        }
            .worries__resolve-lead {
                margin: 0;
                color: #0f318d;
                font-size: 25px;
                font-weight: 500;
                line-height: 1;
            }
            .worries__resolve-text {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                justify-content: center;
                gap: 8px;
                margin: 13px 0 0;
                color: #0f318d;
                line-height: 1;
            }
                .worries__resolve-text-sm {
                    font-size: 25px;
                    font-weight: 500;
                }
                .worries__resolve-text-md {
                    font-size: 30px;
                    font-weight: 500;
                }
                .worries__resolve-em {
                    font-size: 40px;
                    font-weight: 700;
                }

/* ============================
Reason
============================ */
.section__wrapper--reason {
    padding-block: 444px 120px;
    z-index: 1;
}
.section__wrapper--reason::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 2596px;
    background: url(/images/top/reason_before.webp) no-repeat center / cover;
    pointer-events: none;
}
.section__wrapper--reason::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 480px;
    background: url(/images/top/reason_bg.webp) no-repeat center top / 1920px 480px;
    pointer-events: none;
}
    .reason__list {
        display: flex;
        flex-direction: column;
        gap: 80px;
        margin-top: 40px;
    }
        .reason__item {
            display: flex;
            align-items: center;
            gap: 60px;
            width: 100%;
            overflow: hidden;
        }
        .reason__item--text-left {
            padding-left: max(0px, calc((100% - 1140px) / 2));
        }
        .reason__item--text-right {
            justify-content: flex-end;
            padding-right: max(0px, calc((100% - 1140px) / 2));
        }
            .reason__content {
                position: relative;
                display: flex;
                flex-direction: column;
                gap: 20px;
                flex-shrink: 0;
                width: 570px;
            }
                .reason__num {
                    margin: 0;
                    color: #0f318d;
                    font-family: "Poppins", sans-serif;
                    font-size: 16px;
                    font-weight: 300;
                    line-height: 1;
                    letter-spacing: 1.6px;
                }
                .reason__ttl {
                    display: flex;
                    flex-direction: column;
                    gap: 8px;
                    margin: 0;
                    color: #091f59;
                    font-size: 20px;
                    font-weight: 700;
                    line-height: 1;
                }
                    .reason__ttl-line {
                        display: block;
                    }
                .reason__line {
                    display: flex;
                    align-items: center;
                    width: 760px;
                }
                .reason__item--text-right .reason__line {
                    position: absolute;
                    top: 104px; /* num(16) + gap(20) + ttl(48) + gap(20) */
                    right: 0;
                    width: 760px;
                }
                /* absolute でフローから外れる分（line 3px + gap 20px）を確保 */
                .reason__item--text-right .reason__ttl {
                    margin-bottom: 23px;
                }
                    .reason__line-tip {
                        flex-shrink: 0;
                        width: 10px;
                        height: 3px;
                        background-color: #0f318d;
                    }
                    .reason__line-bar {
                        flex-shrink: 0;
                        width: 750px;
                        height: 1px;
                        background-color: #0f318d;
                    }
                .reason__text {
                    margin: 0;
                    color: #000;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.8;
                }
            .reason__img {
                flex-shrink: 0;
                width: 900px;
                height: 320px;
                margin: 0;
                overflow: hidden;
                line-height: 0;
            }
            .reason__item--text-left .reason__img {
                border-radius: 10px 0 0 10px;
            }
            .reason__item--text-right .reason__img {
                border-radius: 0 10px 10px 0;
            }
                .reason__img img {
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

/* ============================
Structure
============================ */
.section__wrapper--structure {
    padding-block: 114px 120px;
    background: url(/images/top/structure_bg.webp) no-repeat center / cover;
}
    .section__inner--structure {
        z-index: 1;
    }
        .structure__content {
            display: flex;
            flex-direction: column;
            gap: 30px;
            margin-top: 40px;
        }
            .structure__flow {
                display: flex;
                align-items: center;
                gap: 8px;
                width: 1140px;
            }
                .structure__step {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: center;
                    background-color: #fff;
                }
                .structure__step--edge {
                    flex-shrink: 0;
                    width: 100px;
                    height: 60px;
                }
                .structure__step--process {
                    flex: 1 1 0;
                    gap: 5px;
                    min-width: 0;
                    height: 150px;
                    padding: 5px 20px 5px;
                }
                    .structure__step-label {
                        margin: 0;
                        color: #000;
                        font-size: 18px;
                        font-weight: 700;
                        line-height: 1;
                        text-align: center;
                    }
                    .structure__tag {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        height: 32px;
                        padding-inline: 15px;
                        color: #fff;
                        font-family: 'Overpass', sans-serif;
                        font-size: 20px;
                        font-weight: 500;
                        line-height: 1;
                        text-align: center;
                        white-space: nowrap;
                        margin: 0;
                        padding-top: 5px;
                    }
                    .structure__tag--asr {
                        background-color: #0f318d;
                    }
                    .structure__tag--nlp {
                        background-color: #2f7db3;
                    }
                    .structure__tag--tts {
                        background-color: #39a8ed;
                    }
                    .structure__subject {
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        gap: 3px;
                        margin: 10px 0 0;
                        padding: 0;
                        list-style: none;
                        color: #000;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1;
                        text-align: center;
                    }
                    .structure__subject li {
                        font-weight: 400;
                        line-height: 1.4;
                        text-align: center;
                        color: #000;
                    }
                .structure__arrow {
                    flex-shrink: 0;
                    width: 20px;
                    height: 2px;
                    background-color: rgba(15, 49, 141, 0.15);
                }
            .structure__caption {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 10px;
                width: 1140px;
                height: 100px;
                background-color: #0f318d;
            }
                .structure__caption-main {
                    margin: 0;
                    font-size: 25px;
                    font-weight: 700;
                    line-height: 1;
                    color: #fff;
                    text-align: center;
                }
                .structure__caption-sub {
                    margin: 0;
                    font-size: 18px;
                    font-weight: 700;
                    line-height: 1;
                    color: #fff;
                    text-align: center;
                }

/* ============================
Implementation Flow
============================ */
.section__wrapper--implementation-flow {
    padding-block: 114px 125px;
    background: #f1f3f8;
}
    .section__inner--implementation-flow {
        display: flex;
        align-items: flex-start;
        gap: 56px;
    }
        .ttl__box--implementation-flow {
            flex-shrink: 0;
        }
        .impl-flow__body {
            display: flex;
            flex: 1 1 0;
            flex-direction: column;
            gap: 20px;
            min-width: 0;
        }
            .impl-flow__merit-list {
                display: flex;
                align-items: center;
                gap: 5px;
                margin: 0;
                padding: 0;
                list-style: none;
            }
                .impl-flow__merit-item {
                    display: flex;
                    align-items: center;
                    gap: 5px;
                    height: 40px;
                    padding-inline: 14px 13px;
                    background-color: #fff;
                }
                    .impl-flow__merit-icon {
                        display: block;
                        flex-shrink: 0;
                        width: 12px;
                        height: 12px;
                    }
                    .impl-flow__merit-text {
                        color: #000;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1;
                        white-space: nowrap;
                    }
            .impl-flow__step-wrap {
                position: relative;
            }
                .impl-flow__step-list {
                    display: flex;
                    gap: 20px;
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }
                    .impl-flow__step {
                        position: relative;
                        z-index: 1;
                        display: flex;
                        flex: 1 1 0;
                        flex-direction: column;
                        gap: 18px;
                        min-width: 0;
                        padding-bottom: 20px;
                        background-color: #fff;
                    }
                        .impl-flow__step-num {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            width: 100%;
                            padding-block: 15px 12px;
                            background-color: #0f318d;
                        }
                            .impl-flow__step-num-text {
                                color: #fff;
                                font-family: "Poppins", sans-serif;
                                font-size: 18px;
                                font-weight: 700;
                                line-height: 1;
                                text-align: center;
                            }
                        .impl-flow__step-body {
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            gap: 12px;
                            text-align: center;
                        }
                            .impl-flow__step-ttl {
                                margin: 0;
                                color: #091f59;
                                font-size: 18px;
                                font-weight: 700;
                                line-height: 1;
                            }
                            .impl-flow__step-text {
                                margin: 0;
                                color: #000;
                                font-size: 14px;
                                font-weight: 400;
                                line-height: 1.5;
                            }
                .impl-flow__arrow {
                    position: absolute;
                    top: 25px;
                    left: 0;
                    z-index: 0;
                    display: block;
                    width: 752px;
                    height: 12px;
                    pointer-events: none;
                }

/* ============================
About
============================ */
.section__wrapper--about {
    padding-block: 110px 120px;
    background: url(/images/top/about_bg.webp) no-repeat center / cover;
}
    .section__inner--about {
        z-index: 1;
    }
        .about__ttl {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 20px;
            text-align: center;
        }
            .about__ttl-main {
                display: flex;
                flex-wrap: wrap;
                align-items: flex-end;
                justify-content: center;
                gap: 8px;
                margin: 0;
                line-height: 1;
            }
                .about__ttl-text {
                    color: #000;
                    font-size: 25px;
                    font-weight: 500;
                    line-height: 1;
                }
                .about__ttl-em {
                    color: #0f318d;
                    font-size: 40px;
                    font-weight: 500;
                    line-height: 1;
                }
            .about__ttl-sub {
                margin: 0;
                color: #000;
                font-size: 25px;
                font-weight: 500;
                line-height: 1;
            }
        .about__content {
            display: flex;
            align-items: center;
            gap: 30px;
            margin-top: 40px;
        }
            .about__diagram {
                flex-shrink: 0;
                width: 420px;
                height: 398px;
                margin: 0;
                line-height: 0;
            }
                .about__diagram img {
                    display: block;
                    width: 100%;
                    height: 100%;
                }
            .about__subject {
                display: flex;
                flex: 1 1 0;
                flex-direction: column;
                gap: 15px;
                min-width: 0;
            }
                .about__lead {
                    margin: 0;
                    color: #000;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.5;
                }
                .about__text {
                    margin: 0;
                    color: #000;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.8;
                }
                .about__detail-list {
                    display: flex;
                    flex-direction: column;
                    gap: 5px;
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }
                    .about__detail-item {
                        padding: 15px;
                    }
                    .about__detail-item--owner {
                        background-color: #31b0e6;
                    }
                    .about__detail-item--manager {
                        background-color: #4b53a8;
                    }
                    .about__detail-item--foreigner {
                        background-color: #2f7db3;
                    }
                        .about__detail-text {
                            margin: 0;
                            color: #fff;
                            font-size: 14px;
                            font-weight: 500;
                            line-height: 1.5;
                        }
                .about__closing {
                    margin: 0;
                    color: #000;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.5;
                }

/* ============================
Plan
============================ */
.section__wrapper--plan {
    padding-block: 112px 120px;
    z-index: 1;
}
.section__wrapper--plan::before{
    position: absolute;
    content: "";
    background: url(/images/top/plan_before.webp) no-repeat center / cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}
    .plan__table {
        width: 100%;
        margin-top: 40px;
        border-collapse: separate;
        border-spacing: 1px;
        background-color: #e4eaf8;
        border-radius: 15px;
        overflow: hidden;
    }
        .plan__th,
        .plan__row-label,
        .plan__cell {
            height: 54px;
            padding-inline: 20px;
            vertical-align: middle;
            text-align: center;
        }
        .plan__th--item,
        .plan__row-label {
            width: 170px;
            background-color: #f1f3f8;
            text-align: left;
        }
        .plan__th--item {
            text-align: center;
        }
        .plan__th--a {
            background-color: #0f318d;
        }
        .plan__th--b {
            background-color: #31b0e6;
        }
        .plan__th--c {
            background-color: #1e74e5;
        }
        .plan__cell {
            background-color: #fff;
        }
            .plan__th-text--item {
                color: #091f59;
                font-size: 18px;
                font-weight: 700;
                line-height: 1;
            }
            .plan__th-text--plan {
                color: #fff;
                font-size: 18px;
                font-weight: 600;
                line-height: 1;
            }
            .plan__row-label-text {
                color: #091f59;
                font-size: 18px;
                font-weight: 700;
                line-height: 1;
            }
            .plan__mark {
                color: #000;
                font-size: 18px;
                font-weight: 700;
                line-height: 1;
            }

/* ============================
BRO-ZERO
============================ */
.section__wrapper--bro-zero {
    padding-block: 114px 120px;
    background: linear-gradient(147.39deg, #364d98 15.37%, #8a4d92 83.85%);
}
    .section__ttl--bro-zero {
        color: #fff;
    }
    .section__ttl--bro-zero::before {
        background: url(/images/top/deco_ttl-bro-zero.webp) no-repeat center / contain;
    }
    .section__sub-ttl--bro-zero {
        color: #fff;
    }
    .bro-zero__content {
        display: flex;
        gap: 20px;
        align-items: center;
        margin-top: 40px;
    }
        .bro-zero__before {
            display: flex;
            flex-direction: column;
            gap: 20px;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            width: 300px;
            height: 341px;
            padding: 30px 40px;
            border: 1px solid #fff;
        }
            .bro-zero__before-ttl {
                margin: 0;
                color: #fff;
                font-size: 25px;
                font-weight: 700;
                line-height: 1;
                text-align: center;
            }
            .bro-zero__before-line {
                width: 100%;
                height: 1px;
                background-color: rgba(255, 255, 255, 0.2);
            }
            .bro-zero__before-cost {
                display: flex;
                gap: 4px;
                align-items: flex-end;
                margin: 0;
                text-align: center;
            }
                .bro-zero__before-cost-label {
                    color: #fff;
                    font-size: 18px;
                    font-weight: 500;
                    line-height: 1.3;
                }
                .bro-zero__before-cost-value {
                    color: #fff;
                    font-size: 25px;
                    font-weight: 500;
                    line-height: 1;
                }
            .bro-zero__before-text,
            .bro-zero__before-note {
                margin: 0;
                color: #fff;
                font-size: 18px;
                font-weight: 500;
                line-height: 1.3;
                text-align: center;
            }
        .bro-zero__arrow {
            flex-shrink: 0;
            width: 40px;
            height: auto;
        }
        .bro-zero__after {
            display: flex;
            flex: 1 1 0;
            flex-direction: column;
            gap: 20px;
            align-items: center;
            box-sizing: border-box;
            min-width: 0;
            padding: 30px 40px 40px;
            background-color: #fff;
            box-shadow: 0 0 7.5px rgba(0, 0, 0, 0.5);
        }
            .bro-zero__badge {
                display: flex;
                gap: 10px;
                align-items: center;
                justify-content: center;
            }
                .bro-zero__logo {
                    display: block;
                    width: 144px;
                    height: 42px;
                }
                .bro-zero__badge-text {
                    margin: 0;
                    color: #000;
                    font-size: 25px;
                    font-weight: 700;
                    line-height: 1;
                    text-align: center;
                }
            .bro-zero__after-line {
                width: 100%;
                height: 1px;
                background: #CFD8DC;
            }
            .bro-zero__detail-list {
                display: flex;
                gap: 5px;
                align-items: center;
                width: 100%;
            }
                .bro-zero__detail {
                    display: flex;
                    flex-direction: column;
                    gap: 4px;
                    align-items: center;
                    justify-content: center;
                    box-sizing: border-box;
                    height: 80px;
                    background-color: #0f318d;
                    text-align: center;
                }
                .bro-zero__detail--cost {
                    width: 185px;
                }
                .bro-zero__detail--payment {
                    width: 287px;
                }
                .bro-zero__detail--method {
                    width: 198px;
                }
                    .bro-zero__detail-label {
                        margin: 0;
                        color: #fff;
                        font-size: 18px;
                        font-weight: 500;
                        line-height: 1;
                    }
                    .bro-zero__detail-price {
                        display: flex;
                        gap: 2px;
                        align-items: flex-end;
                        margin: 0;
                    }
                        .bro-zero__detail-price-num {
                            color: #fff;
                            font-size: 32px;
                            font-weight: 400;
                            line-height: 1;
                        }
                        .bro-zero__detail-price-note {
                            color: #fff;
                            font-size: 18px;
                            font-weight: 500;
                            line-height: 1.3;
                        }
                    .bro-zero__detail-text {
                        margin: 0;
                        color: #fff;
                        font-size: 18px;
                        font-weight: 500;
                        line-height: 1.3;
                        text-align: center;
                    }
            .bro-zero__info {
                display: flex;
                gap: 8px;
                align-items: flex-start;
                width: 100%;
            }
                .bro-zero__info-ttl {
                    flex-shrink: 0;
                    margin: 0;
                    color: #000;
                    font-size: 18px;
                    font-weight: 700;
                    line-height: 1.3;
                    text-align: center;
                    white-space: nowrap;
                }
                .bro-zero__info-text {
                    flex: 1 1 0;
                    min-width: 0;
                    margin: 0;
                    color: #091f59;
                    font-size: 18px;
                    font-weight: 500;
                    line-height: 1.3;
                }

/* ============================
Contract Flow
============================ */
.section__wrapper--contract-flow {
    padding-block: 111px 125px;
    background: #f1f3f8;
}
    .section__inner--contract-flow {
        display: flex;
        align-items: flex-start;
        gap: 55px;
    }
        .ttl__box--contract-flow {
            flex-shrink: 0;
        }
        .contract-flow__step-wrap {
            position: relative;
            flex: 1 1 0;
            min-width: 0;
        }
            .contract-flow__step-list {
                display: flex;
                align-items: stretch;
                gap: 20px;
                margin: 0;
                padding: 0;
                list-style: none;
            }
                .contract-flow__step {
                    position: relative;
                    z-index: 1;
                    display: flex;
                    flex: 1 1 0;
                    flex-direction: column;
                    gap: 20px;
                    align-items: center;
                    min-width: 0;
                    padding-bottom: 30px;
                    background-color: #fff;
                }
                    .contract-flow__step-num {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        width: 100%;
                        padding-block: 15px 12px;
                        background-color: #0f318d;
                    }
                        .contract-flow__step-num-text {
                            color: #fff;
                            font-family: "Poppins", sans-serif;
                            font-size: 18px;
                            font-weight: 700;
                            line-height: 1;
                            text-align: center;
                        }
                    .contract-flow__texts {
                        display: flex;
                        gap: 5px;
                        align-items: flex-start;
                        justify-content: center;
                    }
                        .contract-flow__text {
                            margin: 0;
                            color: #091f59;
                            font-size: 18px;
                            font-weight: 500;
                            line-height: 1;
                            text-align: center;
                            writing-mode: vertical-rl;
                            letter-spacing: 4px;
                        }
            .contract-flow__arrow {
                position: absolute;
                top: 25px;
                left: 0;
                z-index: 0;
                display: block;
                width: 783px;
                max-width: 100%;
                height: 12px;
                pointer-events: none;
            }

/* ============================
Example
============================ */
.section__wrapper--example {
    padding-block: 114px 120px;
    background: url(/images/top/example_bg.webp) no-repeat center / cover;
}
    .section__inner--example {
        position: relative;
        z-index: 1;
    }
        .example__list {
            display: flex;
            gap: 40px;
            align-items: stretch;
            margin-top: 40px;
        }
            .example__item {
                display: flex;
                flex: 1 1 auto;
                flex-direction: column;
                gap: 18px;
                align-items: center;
                min-width: 0;
            }
                .example__img {
                    display: block;
                    flex-shrink: 0;
                    width: 550px;
                    max-width: 100%;
                    height: 336px;
                    object-fit: cover;
                }
                .example__body {
                    display: flex;
                    flex: 1 1 auto;
                    flex-direction: column;
                    gap: 15px;
                    align-items: center;
                    width: 100%;
                }
                    .example__ttl {
                        margin: 0;
                        color: #000;
                        font-size: 25px;
                        font-weight: 700;
                        line-height: 1;
                        text-align: center;
                    }
                        .example__ttl-em {
                            color: #0f318d;
                            font-size: 25px;
                            font-weight: 700;
                            line-height: 1;
                        }
                    .example__text {
                        margin: 0;
                        color: #000;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.8;
                    }
                    .example__link {
                        position: relative;
                        z-index: 0;
                        display: flex;
                        flex-shrink: 0;
                        align-items: center;
                        justify-content: center;
                        box-sizing: border-box;
                        width: 280px;
                        height: 60px;
                        min-height: 60px;
                        margin-top: auto;
                        padding-left: 20px;
                        padding-right: 10px;
                        overflow: hidden;
                        background-color: #0f318d;
                        border: 1px solid #0f318d;
                        text-decoration: none;
                    }
                    .example__link:hover{
                        opacity: 1;
                    }
                    .example__link::before {
                        content: "";
                        position: absolute;
                        inset: 0;
                        z-index: 0;
                        background-color: #fff;
                        transform: scaleX(0);
                        transform-origin: center;
                        transition: transform 0.35s ease;
                    }
                    .example__link:hover::before {
                        transform: scaleX(1);
                    }
                        .example__link-text {
                            position: relative;
                            z-index: 1;
                            flex: 1 1 auto;
                            color: #fff;
                            font-family: "Poppins", sans-serif;
                            font-size: 18px;
                            font-weight: 500;
                            line-height: 1;
                            letter-spacing: 4.5px;
                            text-align: center;
                            transition: color 0.35s ease;
                        }
                        .example__link:hover .example__link-text {
                            color: #0f318d;
                        }
                        .example__link-arrow {
                            position: relative;
                            z-index: 1;
                            display: block;
                            flex-shrink: 0;
                            width: 10px;
                            height: 6px;
                            background-color: #fff;
                            transition: background-color 0.35s ease;
                            -webkit-mask: url("/images/top/btn_arrow.svg") no-repeat center / contain;
                            mask: url("/images/top/btn_arrow.svg") no-repeat center / contain;
                        }
                        .example__link:hover .example__link-arrow {
                            background-color: #0f318d;
                        }

/* ============================
Column
============================ */
.section__wrapper--column {
    padding-block: 114px 120px;
    z-index: 1;
}
.section__wrapper--column::before{
    position: absolute;
    content: "";
    background: url(/images/top/column_before.webp) no-repeat center / cover;
    width: 100%;
    height: 712px;
    top: 0;
    left: 0;
    z-index: -1;
}
    .column__header {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
    }
        .section__sub-ttl--column {
            color: #0f318d;
        }
        .column__link {
            position: relative;
            z-index: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            width: 280px;
            height: 60px;
            padding-left: 20px;
            padding-right: 10px;
            overflow: hidden;
            background-color: #0f318d;
            border: 1px solid #0f318d;
            text-decoration: none;
        }
        .column__link:hover{
            opacity: 1;
        }
        .column__link::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            background-color: #fff;
            transform: scaleX(0);
            transform-origin: center;
            transition: transform 0.35s ease;
        }
        .column__link:hover::before {
            transform: scaleX(1);
        }
            .column__link-text {
                position: relative;
                z-index: 1;
                flex: 1 1 0;
                color: #fff;
                font-family: "Poppins", sans-serif;
                font-size: 18px;
                font-weight: 500;
                line-height: 1;
                letter-spacing: 4.5px;
                text-align: center;
                transition: color 0.35s ease;
            }
            .column__link:hover .column__link-text {
                color: #0f318d;
            }
            .column__link-arrow {
                position: relative;
                z-index: 1;
                display: block;
                flex-shrink: 0;
                width: 10px;
                height: 6px;
                background-color: #fff;
                transition: background-color 0.35s ease;
                -webkit-mask: url("/images/top/btn_arrow.svg") no-repeat center / contain;
                mask: url("/images/top/btn_arrow.svg") no-repeat center / contain;
            }
            .column__link:hover .column__link-arrow {
                background-color: #0f318d;
            }
    .column__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        margin-top: 40px;
    }
        .column__item {
            display: flex;
            gap: 20px;
            align-items: center;
        }
            .column__img {
                display: block;
                flex-shrink: 0;
                width: 260px;
                height: 173px;
                object-fit: cover;
            }
            .column__body {
                display: flex;
                flex: 1 1 0;
                flex-direction: column;
                gap: 10px;
                min-width: 0;
            }
                .column__ttl {
                    margin: 0;
                    color: #091f59;
                    font-size: 18px;
                    font-weight: 700;
                    line-height: 1.3;
                }
                .column__text {
                    margin: 0;
                    color: #000;
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.5;
                }

/* ============================
FAQ
============================ */
.section__wrapper--faq {
    padding-block: 114px 120px;
    background: url(/images/top/faq_bg.webp) no-repeat center / cover;
}
    .section__inner--faq {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 40px;
    }
        .ttl__box--faq {
            text-align: center;
        }
        .faq__list {
            display: flex;
            flex-direction: column;
            gap: 40px;
            width: 100%;
        }
            .faq__item {
                display: flex;
                flex-direction: column;
                gap: 15px;
                align-items: center;
                width: 100%;
            }
                .faq__question {
                    display: flex;
                    gap: 8px;
                    align-items: center;
                    width: 100%;
                }
                .faq__answer {
                    display: flex;
                    gap: 10px;
                    align-items: flex-start;
                    width: 100%;
                }
                    .faq__label {
                        flex-shrink: 0;
                        color: #0f318d;
                        font-family: "Poppins", sans-serif;
                        font-size: 16px;
                        font-weight: 700;
                    }
                    .faq__label--q {
                        line-height: 1;
                    }
                    .faq__label--a {
                        line-height: 1.3;
                    }
                    .faq__question-text {
                        margin: 0;
                        color: #0f318d;
                        font-size: 18px;
                        font-weight: 700;
                        line-height: 1;
                    }
                    .faq__answer-text {
                        margin: 0;
                        color: #000;
                        font-size: 14px;
                        font-weight: 400;
                        line-height: 1.5;
                    }
                .faq__divider {
                    width: 100%;
                    height: 1px;
                    background-color: #d5d5d5;
                }

