/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-09-17 12:53:05
========================================================= */

/* =========================================================
   Page: header / HEADER ページ
========================================================= */

/* Block: global_header / sec_1786353021160 */
:root {
    --jlr-header-navy: #03355f;
    --jlr-header-navy-deep: #002b4d;
    --jlr-header-blue: #075c99;

    --jlr-header-red: #e60012;
    --jlr-header-red-dark: #ce0010;

    --jlr-header-gold: #e8bd42;

    --jlr-header-text: #102a43;
    --jlr-header-muted: #60778c;

    --jlr-header-border: #dbe5ec;

    --jlr-header-white: #ffffff;

    --jlr-header-max-width: 1280px;

    --jlr-header-top-height: 78px;
    --jlr-header-nav-height: 44px;
}



html,
body {
    margin-top: 0;
}


header.global-header.jlr-global-header {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    inset: auto !important;

    transform: none !important;

    display: block !important;

    flex: none !important;
    flex-direction: initial !important;
    flex-wrap: initial !important;
    align-items: initial !important;
    justify-content: initial !important;

    float: none !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    background: #fff !important;

    border: 0 !important;

    box-shadow:
        0 2px 10px
        rgba(0, 32, 59, .07) !important;

    z-index: 1000 !important;
}


header.global-header.jlr-global-header.is-scrolled {
    position: relative !important;

    top: auto !important;

    transform: none !important;

    box-shadow:
        0 4px 15px
        rgba(0, 32, 59, .11) !important;
}



.hero-wrapper--jlr {
    position: relative !important;

    top: auto !important;

    margin-top: 0 !important;

    transform: none;
}


.jlr-global-header + .hero-wrapper--jlr {
    margin-top: 0 !important;
}



#hero-main,
#glass-service,
#glass-price,
#service-area,
#jlr-reasons,
#customer-voice,
#service-flow,
#faq {
    scroll-margin-top: 20px;
}



.jlr-global-header .jlr-header-top {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height: var(--jlr-header-top-height) !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #fff !important;

    border: 0 !important;
    border-bottom:
        1px solid
        var(--jlr-header-border) !important;

    overflow: visible !important;
}



.jlr-global-header .jlr-header-top-inner {
    position: relative !important;

    width:
        min(
            var(--jlr-header-max-width),
            calc(100% - 48px)
        ) !important;

    max-width:
        var(--jlr-header-max-width) !important;

    height: auto !important;
    min-height:
        var(--jlr-header-top-height) !important;

    margin:
        0
        auto !important;

    padding: 0 !important;

    display: grid !important;

    grid-template-columns:
        minmax(230px, 1fr)
        minmax(340px, 1.25fr)
        minmax(290px, 1fr) !important;

    align-items: center !important;

    justify-content: stretch !important;

    gap: 28px !important;
}


.jlr-global-header .jlr-header-brand {
    position: relative !important;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    min-width: 0 !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}




.jlr-global-header .header-logo.jlr-header-logo {
    position: relative !important;

    top: auto !important;
    left: auto !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    max-width: 270px !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color:
        var(--jlr-header-navy) !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

    text-decoration: none !important;

    transform: none !important;
}


.jlr-global-header
.header-logo.jlr-header-logo img {
    display: block !important;

    width: auto !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}


/* text fallback */
.jlr-header-logo-text {
    display: block;

    margin-right: 10px;

    color:
        var(--jlr-header-navy);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 2.45rem;
    font-style: italic;
    font-weight: 900;

    line-height: 1;

    letter-spacing: -.07em;
}


.jlr-header-logo-company {
    display: block;

    color:
        var(--jlr-header-navy);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: .59rem;
    font-weight: 900;

    line-height: 1.25;

    letter-spacing: .02em;
}


/* =========================================================
   SERVICE TITLE
========================================================= */

.jlr-global-header .jlr-header-service {
    position: relative !important;

    display: block !important;

    width: auto !important;

    margin: 0 !important;

    padding:
        0
        28px !important;

    text-align: center !important;
}


/* separator */
.jlr-global-header
.jlr-header-service::before {
    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 1px;
    height: 38px;

    background: #dfe6ec;

    transform:
        translateY(-50%);
}


.jlr-global-header
.jlr-header-service-title {
    margin:
        0
        0
        3px !important;

    padding: 0 !important;

    color:
        var(--jlr-header-navy) !important;

    font-family:
        "Noto Sans JP",
        "Hiragino Sans",
        "Yu Gothic",
        "Meiryo",
        sans-serif;

    font-size:
        clamp(
            1.15rem,
            1.55vw,
            1.48rem
        ) !important;

    font-weight: 900 !important;

    line-height: 1.2 !important;

    letter-spacing:
        .035em !important;

    white-space:
        nowrap !important;
}


.jlr-global-header
.jlr-header-service-sub {
    margin: 0 !important;
    padding: 0 !important;

    color:
        #4e687e !important;

    font-size:
        .72rem !important;

    font-weight:
        700 !important;

    line-height:
        1.35 !important;

    letter-spacing:
        .02em !important;

    white-space:
        nowrap !important;
}


/* =========================================================
   HEADER ACTIONS
========================================================= */

.jlr-global-header .jlr-header-actions {
    position: relative !important;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    height: auto !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   LANGUAGE SWITCHER
========================================================= */

.jlr-global-header
.fc-language-switcher-header {
    flex: 0 0 auto;

    margin-right: 12px;

    color:
        var(--jlr-header-navy);
}


.jlr-global-header
.fc-language-switcher-header a {
    color:
        var(--jlr-header-navy);

    background:
        #f4f7f9;

    border:
        1px solid
        #d9e2e9;
}


.jlr-global-header
.fc-language-switcher-header a.is-active {
    color: #fff;

    background:
        var(--jlr-header-navy);

    border-color:
        var(--jlr-header-navy);
}


/* =========================================================
   HEADER PHONE CTA
========================================================= */

.jlr-global-header .jlr-header-phone {
    position: relative !important;

    top: auto !important;
    right: auto !important;

    flex: 0 0 auto !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;

    min-width: 290px !important;

    height: auto !important;
    min-height: 64px !important;

    margin: 0 !important;

    padding:
        6px
        18px !important;

    color: #fff !important;

    text-decoration: none !important;

    background:
        linear-gradient(
            180deg,
            #f10b1d 0%,
            #db0012 100%
        ) !important;

    border:
        0 !important;

    border-radius:
        0
        0
        5px
        5px !important;

    box-shadow:
        0 5px 13px
        rgba(155, 0, 17, .18) !important;

    transform: none !important;

    transition:
        filter .2s ease,
        box-shadow .2s ease !important;
}


.jlr-global-header
.jlr-header-phone:hover {
    color: #fff !important;

    filter:
        brightness(1.04);

    box-shadow:
        0 7px 18px
        rgba(155, 0, 17, .24) !important;
}


/* phone icon */
.jlr-header-phone-icon {
    flex: 0 0 auto;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin-right: 10px;

    color: #fff;
}


.jlr-header-phone-icon svg {
    width: 31px;
    height: 31px;
}


/* phone content */
.jlr-header-phone-body {
    display: flex;

    flex-direction: column;

    align-items: center;

    line-height: 1;
}


.jlr-header-phone-label {
    display: block;

    margin-bottom: 2px;

    color: #fff;

    font-size: .61rem;
    font-weight: 800;

    letter-spacing: .025em;
}


.jlr-header-phone-number {
    display: block;

    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size:
        clamp(
            1.6rem,
            2vw,
            1.96rem
        );

    font-weight: 900;

    line-height: 1;

    letter-spacing: .02em;

    white-space: nowrap;
}


.jlr-header-phone-hours {
    display: block;

    margin-top: 3px;

    color: #fff;

    font-size: .57rem;
    font-weight: 700;

    letter-spacing: .03em;
}


/* =========================================================
   GLOBAL NAV
   ★ヘッダーとは完全に別の2段目
========================================================= */

.jlr-global-header
.desktop-nav.jlr-header-nav {
    position: relative !important;

    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    inset: auto !important;

    display: block !important;

    float: none !important;

    flex: none !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;
    min-height:
        var(--jlr-header-nav-height) !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
        linear-gradient(
            180deg,
            #06426f 0%,
            #03345e 100%
        ) !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    transform: none !important;

    overflow: visible !important;
}


/* =========================================================
   NAV INNER
========================================================= */

.jlr-global-header
.jlr-header-nav-inner {
    position: relative !important;

    width:
        min(
            var(--jlr-header-max-width),
            calc(100% - 48px)
        ) !important;

    max-width:
        var(--jlr-header-max-width) !important;

    height: auto !important;
    min-height:
        var(--jlr-header-nav-height) !important;

    margin:
        0
        auto !important;

    padding: 0 !important;

    display: flex !important;

    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: stretch !important;
    justify-content: center !important;

    gap: 0 !important;
}


/* =========================================================
   NAV LINKS
========================================================= */

.jlr-global-header
.jlr-header-nav-link {
    position: relative !important;

    flex:
        0
        0
        auto !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;

    height: auto !important;
    min-height:
        var(--jlr-header-nav-height) !important;

    margin: 0 !important;

    padding:
        0
        clamp(
            15px,
            1.65vw,
            27px
        ) !important;

    color:
        rgba(
            255,
            255,
            255,
            .97
        ) !important;

    background:
        transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    text-decoration: none !important;

    font-family:
        "Noto Sans JP",
        "Yu Gothic",
        sans-serif;

    font-size:
        .76rem !important;

    font-weight:
        700 !important;

    line-height:
        1 !important;

    letter-spacing:
        .04em !important;

    white-space:
        nowrap !important;

    opacity:
        1 !important;

    transform:
        none !important;

    transition:
        background-color .2s ease,
        color .2s ease !important;
}


/* separator */
.jlr-global-header
.jlr-header-nav-link::before {
    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 1px;
    height: 15px;

    background:
        rgba(
            255,
            255,
            255,
            .18
        );

    transform:
        translateY(-50%);
}


/* active underline */
.jlr-global-header
.jlr-header-nav-link::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 3px;

    background:
        var(--jlr-header-gold);

    transform:
        translateX(-50%);

    transition:
        width .22s ease;
}


.jlr-global-header
.jlr-header-nav-link:hover {
    color: #fff !important;

    background:
        rgba(
            255,
            255,
            255,
            .07
        ) !important;
}


.jlr-global-header
.jlr-header-nav-link:hover::after {
    width: 55%;
}


/* =========================================================
   MOBILE PHONE BAR
   PCでは非表示
========================================================= */

.jlr-global-header
.jlr-header-mobile-call {
    display: none !important;
}


/* =========================================================
   MENU BUTTON
   PCでは非表示
========================================================= */

.jlr-global-header
.jlr-menu-trigger {
    display: none !important;
}


/* =========================================================
   MOBILE NAV OVERLAY
========================================================= */

.mobile-nav-overlay.jlr-mobile-nav {
    position: fixed !important;

    inset: 0 !important;

    z-index: 10050 !important;

    display: block !important;

    width: 100% !important;
    height: 100dvh !important;

    margin: 0 !important;

    padding:
        0
        22px
        36px !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    color: #fff !important;

    background:
        linear-gradient(
            145deg,
            #04345f 0%,
            #001f3c 100%
        ) !important;

    opacity: 0 !important;
    visibility: hidden !important;

    transform:
        translateX(100%) !important;

    transition:
        transform .35s ease,
        opacity .35s ease,
        visibility .35s ease !important;
}


.mobile-nav-overlay.jlr-mobile-nav.active {
    opacity: 1 !important;
    visibility: visible !important;

    transform:
        translateX(0) !important;
}


/* =========================================================
   MOBILE NAV HEAD
========================================================= */

.jlr-mobile-nav-head {
    min-height: 72px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .15
        );
}


.jlr-mobile-nav-brand {
    display: flex;

    align-items: center;
}


.jlr-mobile-nav-brand img {
    display: block;

    width: auto;
    max-width: 180px;

    height: auto;
    max-height: 42px;

    object-fit: contain;

    filter:
        brightness(0)
        invert(1);
}


.jlr-mobile-nav-brand strong {
    color: #fff;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 2rem;
    font-style: italic;
    font-weight: 900;
}


/* =========================================================
   MOBILE NAV CLOSE
========================================================= */

.jlr-mobile-nav-close {
    position: relative;

    width: 44px;
    height: 44px;

    margin: 0;
    padding: 0;

    border: 0;

    background: transparent;

    cursor: pointer;
}


.jlr-mobile-nav-close span {
    position: absolute;

    left: 9px;
    top: 21px;

    width: 27px;
    height: 2px;

    background: #fff;
}


.jlr-mobile-nav-close span:first-child {
    transform:
        rotate(45deg);
}


.jlr-mobile-nav-close span:last-child {
    transform:
        rotate(-45deg);
}


/* =========================================================
   MOBILE NAV SERVICE
========================================================= */

.jlr-mobile-nav-service {
    padding:
        24px
        0
        18px;

    text-align: center;
}


.jlr-mobile-nav-service strong {
    display: block;

    margin-bottom: 5px;

    color: #fff;

    font-size: 1.25rem;
    font-weight: 900;

    letter-spacing: .035em;
}


.jlr-mobile-nav-service span {
    display: block;

    color:
        rgba(
            255,
            255,
            255,
            .72
        );

    font-size: .78rem;
    font-weight: 600;
}


/* =========================================================
   MOBILE NAV LINKS
========================================================= */

.jlr-mobile-nav-links {
    display: block;

    margin:
        0
        0
        26px;

    padding: 0;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .14
        );
}


.jlr-mobile-nav-links a {
    position: relative;

    min-height: 56px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    margin: 0;

    padding:
        0
        5px;

    color: #fff;

    text-decoration: none;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .14
        );

    font-size: .95rem;
    font-weight: 700;

    letter-spacing: .035em;
}


.jlr-mobile-nav-arrow {
    color:
        var(--jlr-header-gold);

    font-size: 1.8rem;

    font-weight: 300;
}


/* =========================================================
   MOBILE NAV CTA
========================================================= */

.jlr-mobile-nav-cta {
    width: 100%;
    max-width: 440px;

    margin:
        0
        auto;

    text-align: center;
}


.jlr-mobile-nav-cta > p {
    margin:
        0
        0
        9px;

    color:
        rgba(
            255,
            255,
            255,
            .86
        );

    font-size: .78rem;
    font-weight: 700;
}


.jlr-mobile-nav-phone {
    width: 100%;
    min-height: 78px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding:
        8px
        16px;

    color: #fff;

    text-decoration: none;

    background:
        linear-gradient(
            180deg,
            #f10b1e,
            #d90012
        );

    border-radius: 7px;

    box-shadow:
        0 8px 22px
        rgba(0,0,0,.22);
}


.jlr-mobile-nav-phone-icon {
    flex: 0 0 auto;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin-right: 10px;
}


.jlr-mobile-nav-phone-icon svg {
    width: 31px;
    height: 31px;
}


.jlr-mobile-nav-phone > span:last-child {
    display: flex;

    flex-direction: column;

    line-height: 1;
}


.jlr-mobile-nav-phone small {
    font-size: .63rem;
    font-weight: 700;
}


.jlr-mobile-nav-phone strong {
    margin:
        3px
        0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    font-size: 1.85rem;
    font-weight: 900;

    letter-spacing: .02em;
}


/* =========================================================
   MENU OPEN
========================================================= */

html.jlr-menu-open,
body.jlr-menu-open {
    overflow: hidden !important;
}


/* =========================================================
   SMALL DESKTOP
   1180px
========================================================= */

@media (max-width: 1180px) {

    .jlr-global-header
    .jlr-header-top-inner {
        width:
            calc(100% - 32px) !important;

        grid-template-columns:
            minmax(190px, .9fr)
            minmax(280px, 1.1fr)
            minmax(260px, 1fr) !important;

        gap:
            14px !important;
    }


    .jlr-global-header
    .jlr-header-service {
        padding:
            0
            15px !important;
    }


    .jlr-global-header
    .jlr-header-phone {
        min-width:
            255px !important;
    }


    .jlr-global-header
    .jlr-header-nav-inner {
        width:
            calc(100% - 24px) !important;
    }


    .jlr-global-header
    .jlr-header-nav-link {
        padding:
            0
            12px !important;

        font-size:
            .7rem !important;
    }

}


/* =========================================================
   TABLET / SP
   900px
========================================================= */

@media (max-width: 900px) {

    :root {
        --jlr-header-top-height: 64px;
    }


    /* -----------------------------------------
       HEADER ROOT
    ----------------------------------------- */

    header.global-header.jlr-global-header,
    header.global-header.jlr-global-header.is-scrolled {
        position:
            relative !important;

        top:
            auto !important;

        display:
            block !important;

        height:
            auto !important;

        min-height:
            0 !important;

        transform:
            none !important;
    }


    /* -----------------------------------------
       TOP
    ----------------------------------------- */

    .jlr-global-header
    .jlr-header-top {
        min-height:
            64px !important;
    }


    .jlr-global-header
    .jlr-header-top-inner {
        width:
            100% !important;

        max-width:
            none !important;

        min-height:
            64px !important;

        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;

        margin:
            0 !important;

        padding:
            0
            14px !important;

        gap:
            10px !important;
    }


    /* -----------------------------------------
       LOGO
    ----------------------------------------- */

    .jlr-global-header
    .jlr-header-brand {
        flex:
            1
            1
            auto !important;
    }


    .jlr-global-header
    .header-logo.jlr-header-logo {
        max-width:
            185px !important;
    }


    .jlr-global-header
    .header-logo.jlr-header-logo img {
        max-height:
            39px !important;
    }


    /* -----------------------------------------
       HIDE PC ELEMENTS
    ----------------------------------------- */

    .jlr-global-header
    .jlr-header-service {
        display:
            none !important;
    }


    .jlr-global-header
    .jlr-header-phone {
        display:
            none !important;
    }


    .jlr-global-header
    .fc-language-switcher-header {
        display:
            none !important;
    }


    .jlr-global-header
    .desktop-nav.jlr-header-nav {
        display:
            none !important;
    }


    /* -----------------------------------------
       ACTION
    ----------------------------------------- */

    .jlr-global-header
    .jlr-header-actions {
        flex:
            0
            0
            auto !important;
    }


    /* -----------------------------------------
       MENU
    ----------------------------------------- */

    .jlr-global-header
    .jlr-menu-trigger {
        width:
            46px !important;

        height:
            52px !important;

        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        gap:
            5px !important;

        margin:
            0 !important;

        padding:
            0 !important;

        color:
            var(--jlr-header-navy) !important;

        background:
            transparent !important;

        border:
            0 !important;

        cursor:
            pointer !important;
    }


    .jlr-menu-line {
        display: block;

        width: 25px;
        height: 2px;

        background:
            var(--jlr-header-navy);

        border-radius:
            20px;
    }


    .jlr-menu-label {
        margin-top: 1px;

        color:
            var(--jlr-header-navy);

        font-family:
            Arial,
            sans-serif;

        font-size: .51rem;
        font-weight: 900;

        line-height: 1;

        letter-spacing: .08em;
    }


    /* =====================================================
       RED PHONE BAR
       これも通常フロー内なのでHEROと重ならない
    ===================================================== */

    .jlr-global-header
    .jlr-header-mobile-call {
        position:
            relative !important;

        top:
            auto !important;

        left:
            auto !important;

        width:
            100% !important;

        min-height:
            49px !important;

        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        margin:
            0 !important;

        padding:
            5px
            12px !important;

        color:
            #fff !important;

        text-decoration:
            none !important;

        background:
            linear-gradient(
                180deg,
                #ef0a1c 0%,
                #d90012 100%
            ) !important;

        border:
            0 !important;

        border-radius:
            0 !important;

        box-shadow:
            none !important;

        transform:
            none !important;
    }


    .jlr-header-mobile-call-icon {
        flex: 0 0 auto;

        display: flex;

        align-items: center;
        justify-content: center;

        width: 25px;
        height: 25px;

        margin-right: 8px;

        color: #fff;
    }


    .jlr-header-mobile-call-icon svg {
        width: 23px;
        height: 23px;
    }


    .jlr-header-mobile-call-text {
        display: flex;

        flex-direction: column;

        line-height: 1;
    }


    .jlr-header-mobile-call-text small {
        margin-bottom: 2px;

        color: #fff;

        font-size: .54rem;
        font-weight: 700;
    }


    .jlr-header-mobile-call-text strong {
        color: #fff;

        font-family:
            Arial,
            Helvetica,
            sans-serif;

        font-size:
            clamp(
                1.25rem,
                6vw,
                1.55rem
            );

        font-weight: 900;

        letter-spacing: .02em;

        white-space: nowrap;
    }


    .jlr-header-mobile-call-hours {
        margin-left: 12px;

        padding-left: 12px;

        color: #fff;

        border-left:
            1px solid
            rgba(
                255,
                255,
                255,
                .4
            );

        font-size: .63rem;
        font-weight: 800;

        white-space: nowrap;
    }


    /* -----------------------------------------
       HERO
       SPでも必ずヘッダー後から開始
    ----------------------------------------- */

    .hero-wrapper--jlr {
        margin-top:
            0 !important;

        top:
            auto !important;
    }

}


/* =========================================================
   SMALL SP
========================================================= */

@media (max-width: 480px) {

    .jlr-global-header
    .jlr-header-top-inner {
        padding:
            0
            10px !important;
    }


    .jlr-global-header
    .header-logo.jlr-header-logo {
        max-width:
            165px !important;
    }


    .jlr-global-header
    .header-logo.jlr-header-logo img {
        max-height:
            36px !important;
    }


    .jlr-header-mobile-call-hours {
        margin-left:
            8px;

        padding-left:
            8px;

        font-size:
            .57rem;
    }


    .mobile-nav-overlay.jlr-mobile-nav {
        padding:
            0
            18px
            28px !important;
    }

}


/* =========================================================
   VERY SMALL SP
========================================================= */

@media (max-width: 360px) {

    .jlr-global-header
    .header-logo.jlr-header-logo {
        max-width:
            145px !important;
    }


    .jlr-header-mobile-call-text strong {
        font-size:
            1.2rem;
    }


    .jlr-header-mobile-call-hours {
        display:
            none;
    }

}


/* =========================================================
   FOCUS
========================================================= */

.jlr-global-header a:focus-visible,
.jlr-global-header button:focus-visible,
.jlr-mobile-nav a:focus-visible,
.jlr-mobile-nav button:focus-visible {
    outline:
        3px solid
        #ffd452 !important;

    outline-offset:
        2px !important;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .jlr-global-header *,
    .jlr-mobile-nav * {
        animation:
            none !important;

        transition:
            none !important;
    }

}


/* =========================================================
   Page: index / トップページ
========================================================= */

/* Block: keyword_strip / sec_1786353794904 */
.keyword-strip {
    --ks-navy: #063e6d;
    --ks-navy-deep: #032f55;
    --ks-navy-light: #0a5b93;
    --ks-red: #ed1223;
    --ks-white: #fff;
    --ks-text: #173b58;
    --ks-muted: #637b8e;
    --ks-line: rgba(6,62,109,.14);
    --ks-soft: #f3f8fb;
    position: relative;
    z-index: 5;
    width: 100%;
    padding: 76px 0 0;
    background: linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
    border-bottom: 1px solid var(--ks-line);
    overflow: hidden;
}

.keyword-strip-head {
    width: min(calc(100% - 48px),1200px);
    margin: 0 auto 44px;
    text-align: center;
}

.keyword-strip-label {
    margin: 0 0 12px;
    color: var(--ks-navy-light);
    font-size: .7rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .25em;
}

.keyword-strip-label::after {
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    margin: 13px auto 0;
    background: var(--ks-red);
}

.keyword-strip-title {
    margin: 0;
    color: var(--ks-navy-deep);
    font-size: clamp(1.65rem,3vw,2.45rem);
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: .04em;
}

.keyword-strip-lead {
    max-width: 760px;
    margin: 17px auto 0;
    color: var(--ks-muted);
    font-size: .95rem;
    line-height: 1.9;
    font-weight: 500;
}

.keyword-strip-nav {
    width: 100%;
    border-top: 1px solid var(--ks-line);
    background: rgba(255,255,255,.94);
}

.keyword-strip-list {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: min(calc(100% - 48px),1440px);
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.keyword-strip--between .keyword-strip-list {
    justify-content: space-between;
}

.keyword-strip-list-item {
    position: relative;
    display: flex;
    flex: 1 1 0;
    min-width: 0;
}

.keyword-strip-list-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 42%;
    background: var(--ks-line);
    transform: translateY(-50%);
}

.keyword-strip-list-item:last-child::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 1px;
    height: 42%;
    background: var(--ks-line);
    transform: translateY(-50%);
}

.keyword-strip-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 92px;
    padding: 20px 22px;
    color: var(--ks-navy-deep);
    font-size: clamp(.9rem,1.15vw,1.06rem);
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: .055em;
    text-align: center;
    text-decoration: none;
    transition: color .25s ease,background .25s ease;
}

.keyword-strip-item span {
    position: relative;
    z-index: 2;
}

a.keyword-strip-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(243,248,251,0) 0%,rgba(226,241,250,.9) 100%);
    opacity: 0;
    transition: opacity .25s ease;
}

a.keyword-strip-item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 4px;
    background: var(--ks-red);
    transform: translateX(-50%);
    transition: width .28s ease;
}

a.keyword-strip-item:hover,
a.keyword-strip-item:focus-visible {
    color: var(--ks-red);
}

a.keyword-strip-item:hover::before,
a.keyword-strip-item:focus-visible::before {
    opacity: 1;
}

a.keyword-strip-item:hover::after,
a.keyword-strip-item:focus-visible::after {
    width: 100%;
}

a.keyword-strip-item:focus-visible {
    outline: 2px solid var(--ks-red);
    outline-offset: -4px;
}

.keyword-strip-item--static {
    cursor: default;
}

.keyword-strip--dark {
    padding-top: 76px;
    background: linear-gradient(105deg,var(--ks-navy-deep) 0%,var(--ks-navy) 55%,#075284 100%);
    border-color: rgba(255,255,255,.12);
}

.keyword-strip--dark .keyword-strip-label {
    color: rgba(255,255,255,.68);
}

.keyword-strip--dark .keyword-strip-title {
    color: var(--ks-white);
}

.keyword-strip--dark .keyword-strip-lead {
    color: rgba(255,255,255,.7);
}

.keyword-strip--dark .keyword-strip-nav {
    border-color: rgba(255,255,255,.14);
    background: rgba(0,32,59,.24);
}

.keyword-strip--dark .keyword-strip-list-item::before,
.keyword-strip--dark .keyword-strip-list-item:last-child::after {
    background: rgba(255,255,255,.18);
}

.keyword-strip--dark .keyword-strip-item {
    color: var(--ks-white);
}

.keyword-strip--dark a.keyword-strip-item::before {
    background: rgba(255,255,255,.07);
}

.keyword-strip--dark a.keyword-strip-item:hover,
.keyword-strip--dark a.keyword-strip-item:focus-visible {
    color: var(--ks-white);
}

@media (max-width: 1100px) {
    .keyword-strip {
        padding-top: 64px;
    }

    .keyword-strip-head {
        margin-bottom: 36px;
    }

    .keyword-strip-nav {
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .keyword-strip-nav::-webkit-scrollbar {
        display: none;
    }

    .keyword-strip-list {
        justify-content: flex-start;
        width: max-content;
        min-width: 100%;
    }

    .keyword-strip-list-item {
        flex: 0 0 auto;
        min-width: 190px;
    }

    .keyword-strip-item {
        min-height: 82px;
        padding: 18px 24px;
        font-size: .94rem;
        white-space: nowrap;
    }
}

@media (max-width: 767px) {
    .keyword-strip {
        padding-top: 48px;
    }

    .keyword-strip-head {
        width: calc(100% - 36px);
        margin-bottom: 28px;
    }

    .keyword-strip-label {
        margin-bottom: 10px;
        font-size: .62rem;
    }

    .keyword-strip-title {
        font-size: clamp(1.35rem,6vw,1.75rem);
        line-height: 1.5;
    }

    .keyword-strip-lead {
        margin-top: 13px;
        font-size: .84rem;
        line-height: 1.8;
    }

    .keyword-strip-list-item {
        min-width: 158px;
    }

    .keyword-strip-item {
        min-height: 66px;
        padding: 14px 18px;
        font-size: .82rem;
        line-height: 1.45;
        letter-spacing: .035em;
    }

    .keyword-strip-list-item::before,
    .keyword-strip-list-item:last-child::after {
        height: 44%;
    }

    a.keyword-strip-item::after {
        height: 3px;
    }
}

/* Block: custom_html / sec_1789604872989 */
.fc-other-services {
    --fos-navy:#073b67;
    --fos-navy-deep:#032f55;
    --fos-blue:#0a5b93;
    --fos-red:#ed1223;
    --fos-bg:#f3f8fb;
    --fos-white:#fff;
    --fos-text:#173b58;
    --fos-muted:#647c8f;
    --fos-line:rgba(7,59,103,.12);
    position:relative;
    padding:88px 24px 96px;
    background:linear-gradient(180deg,#f7fbfd 0%,#edf6fb 100%);
    overflow:hidden;
}

.fc-other-services::before {
    content:"";
    position:absolute;
    top:-180px;
    right:-140px;
    width:480px;
    height:480px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(10,91,147,.08) 0%,rgba(10,91,147,0) 70%);
    pointer-events:none;
}

.fc-other-services__inner {
    position:relative;
    z-index:1;
    width:min(100%,1200px);
    margin:0 auto;
}

.fc-other-services__head {
    max-width:900px;
    margin:0 auto 46px;
    text-align:center;
}

.fc-other-services__label {
    margin:0 0 14px;
    color:var(--fos-blue);
    font-size:.7rem;
    line-height:1;
    font-weight:700;
    letter-spacing:.25em;
}

.fc-other-services__label::after {
    content:"";
    display:block;
    width:32px;
    height:2px;
    margin:14px auto 0;
    background:var(--fos-red);
}

.fc-other-services__title {
    margin:0;
    color:var(--fos-navy-deep);
    font-size:clamp(1.65rem,3vw,2.4rem);
    line-height:1.5;
    font-weight:800;
    letter-spacing:.04em;
}

.fc-other-services__lead {
    max-width:820px;
    margin:20px auto 0;
    color:var(--fos-muted);
    font-size:.96rem;
    line-height:2;
}

.fc-other-services__lead strong {
    color:var(--fos-navy);
    font-weight:800;
}

.fc-other-services__grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:0;
    padding:0;
    list-style:none;
}

.fc-other-services__item {
    position:relative;
    display:grid;
    grid-template-columns:58px 1fr;
    gap:20px;
    min-height:150px;
    padding:28px 30px;
    background:rgba(255,255,255,.96);
    border:1px solid var(--fos-line);
    border-radius:8px;
    box-shadow:0 8px 24px rgba(3,47,85,.045);
    overflow:hidden;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.fc-other-services__item::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:4px;
    height:100%;
    background:linear-gradient(180deg,var(--fos-navy-deep),var(--fos-blue));
}

.fc-other-services__item:hover {
    transform:translateY(-3px);
    border-color:rgba(7,59,103,.22);
    box-shadow:0 14px 34px rgba(3,47,85,.09);
}

.fc-other-services__num {
    display:flex;
    align-items:center;
    justify-content:center;
    width:50px;
    height:50px;
    border-radius:50%;
    color:var(--fos-navy);
    background:var(--fos-bg);
    border:1px solid rgba(7,59,103,.1);
    font-size:.68rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.08em;
}

.fc-other-services__body h3 {
    margin:1px 0 10px;
    color:var(--fos-navy-deep);
    font-size:1rem;
    line-height:1.55;
    font-weight:800;
    letter-spacing:.025em;
}

.fc-other-services__body p {
    margin:0;
    color:var(--fos-muted);
    font-size:.86rem;
    line-height:1.85;
}

.fc-other-services__contact {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    margin-top:30px;
    padding:28px 30px 28px 36px;
    color:var(--fos-white);
    background:linear-gradient(105deg,var(--fos-navy-deep) 0%,var(--fos-navy) 55%,#075486 100%);
    border-radius:8px;
    box-shadow:0 14px 34px rgba(3,47,85,.14);
}

.fc-other-services__contact-text {
    min-width:0;
}

.fc-other-services__contact-text span {
    display:block;
    margin-bottom:7px;
    color:rgba(255,255,255,.58);
    font-size:.58rem;
    line-height:1;
    font-weight:700;
    letter-spacing:.22em;
}

.fc-other-services__contact-text strong {
    display:block;
    font-size:1.03rem;
    line-height:1.65;
    font-weight:800;
    letter-spacing:.03em;
}

.fc-other-services__contact-text p {
    margin:6px 0 0;
    color:rgba(255,255,255,.67);
    font-size:.78rem;
    line-height:1.75;
}

.fc-other-services__contact-link {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    min-width:238px;
    min-height:58px;
    padding:14px 20px 14px 24px;
    color:var(--fos-white);
    background:linear-gradient(135deg,#f1192b 0%,#df0618 100%);
    border-radius:6px;
    font-size:.9rem;
    line-height:1.4;
    font-weight:800;
    letter-spacing:.04em;
    text-decoration:none;
    box-shadow:0 7px 18px rgba(237,18,35,.25);
    transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}

.fc-other-services__contact-link i {
    font-style:normal;
    font-size:1.15rem;
    transition:transform .25s ease;
}

.fc-other-services__contact-link:hover {
    transform:translateY(-2px);
    filter:brightness(1.04);
    box-shadow:0 10px 24px rgba(237,18,35,.32);
}

.fc-other-services__contact-link:hover i {
    transform:translateX(4px);
}

.fc-other-services__contact-link:focus-visible {
    outline:2px solid #fff;
    outline-offset:3px;
}

@media (max-width:900px) {
    .fc-other-services {
        padding:72px 20px 76px;
    }

    .fc-other-services__grid {
        grid-template-columns:1fr;
    }

    .fc-other-services__contact {
        align-items:flex-start;
        flex-direction:column;
    }

    .fc-other-services__contact-link {
        width:100%;
    }
}

@media (max-width:600px) {
    .fc-other-services {
        padding:54px 16px 60px;
    }

    .fc-other-services__head {
        margin-bottom:30px;
    }

    .fc-other-services__title {
        font-size:clamp(1.35rem,6vw,1.7rem);
        line-height:1.55;
    }

    .fc-other-services__title br {
        display:none;
    }

    .fc-other-services__lead {
        margin-top:15px;
        font-size:.84rem;
        line-height:1.9;
        text-align:left;
    }

    .fc-other-services__item {
        grid-template-columns:42px 1fr;
        gap:15px;
        min-height:0;
        padding:22px 20px 22px 22px;
    }

    .fc-other-services__num {
        width:38px;
        height:38px;
        font-size:.6rem;
    }

    .fc-other-services__body h3 {
        margin-top:0;
        font-size:.93rem;
    }

    .fc-other-services__body p {
        font-size:.8rem;
        line-height:1.8;
    }

    .fc-other-services__contact {
        margin-top:20px;
        padding:24px 20px;
    }

    .fc-other-services__contact-text strong {
        font-size:.92rem;
    }

    .fc-other-services__contact-text p {
        font-size:.75rem;
    }

    .fc-other-services__contact-link {
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-width:300px;
    min-height:72px;
    padding:12px 22px;
    color:#fff;
    background:linear-gradient(135deg,#f1192b 0%,#df0618 100%);
    border-radius:6px;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(237,18,35,.28);
    transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}

.fc-other-services__contact-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border:2px solid rgba(255,255,255,.9);
    border-radius:50%;
    font-size:1.25rem;
    line-height:1;
}

.fc-other-services__contact-info {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.2;
}

.fc-other-services__contact-info small {
    margin-bottom:3px;
    color:rgba(255,255,255,.86);
    font-size:.68rem;
    font-weight:700;
    letter-spacing:.06em;
}

.fc-other-services__contact-info strong {
    color:#fff;
    font-size:1.75rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.035em;
}

.fc-other-services__contact-info em {
    margin-top:5px;
    color:rgba(255,255,255,.82);
    font-size:.66rem;
    line-height:1;
    font-style:normal;
    font-weight:700;
}

.fc-other-services__contact-link:hover {
    transform:translateY(-2px);
    filter:brightness(1.04);
    box-shadow:0 12px 28px rgba(237,18,35,.34);
}

.fc-other-services__contact-link:focus-visible {
    outline:2px solid #fff;
    outline-offset:3px;
}

@media (max-width:900px) {
    .fc-other-services__contact-link {
        width:100%;
        min-width:0;
    }
}

@media (max-width:600px) {
    .fc-other-services__contact-link {
        min-height:68px;
        padding:11px 16px;
        gap:12px;
    }

    .fc-other-services__contact-icon {
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:1.1rem;
    }

    .fc-other-services__contact-info strong {
        font-size:1.5rem;
    }

    .fc-other-services__contact-info small {
        font-size:.62rem;
    }

    .fc-other-services__contact-info em {
        font-size:.6rem;
    }
}

/* Block: feature_cards / sec_1786353843653 */
#asm-reason26,
.asm-reason26 {
    --ar-white:#fff;
    --ar-navy:#063b67;
    --ar-navy-deep:#022f53;
    position:relative;
    width:100%;
    margin:0;
    padding:110px 24px 118px;
    overflow:hidden;
    color:var(--ar-navy-deep);
    background:#fff;
    box-sizing:border-box;
    isolation:isolate;
}

.asm-reason26 *,
.asm-reason26 *::before,
.asm-reason26 *::after {
    box-sizing:border-box;
}

.asm-reason26::before {
    content:"";
    position:absolute;
    z-index:-1;
    top:-350px;
    right:-330px;
    width:760px;
    height:760px;
    border:1px solid rgba(6,59,103,.045);
    border-radius:50%;
}

.asm-reason26__inner {
    width:min(100%,1240px);
    margin:0 auto;
}

.asm-reason26__head {
    width:min(100%,820px);
    margin:0 auto 56px;
    text-align:center;
}

.asm-reason26__eyebrow {
    display:block;
    margin:0 0 17px;
    padding:0;
    color:var(--ar-navy);
    font-size:.67rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.28em;
}

.asm-reason26__eyebrow::after {
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin:16px auto 0;
    background:var(--ar-navy);
}

.asm-reason26__title {
    margin:0;
    padding:0;
    color:var(--ar-navy-deep);
    font-size:clamp(1.9rem,3.2vw,2.65rem);
    line-height:1.5;
    font-weight:850;
    letter-spacing:.045em;
}

.asm-reason26__lead {
    width:min(100%,720px);
    margin:19px auto 0;
    padding:0;
    color:rgba(2,47,83,.64);
    font-size:.91rem;
    line-height:2;
}

.asm-reason26__grid {
    display:grid;
    align-items:stretch;
    width:100%;
    gap:18px;
}

.asm-reason26__grid.asm-reason26--2col {
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.asm-reason26__grid.asm-reason26--3col {
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.asm-reason26__grid.asm-reason26--4col {
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.asm-reason26__card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(6,59,103,.14);
    border-radius:12px;
    box-shadow:0 12px 30px rgba(2,47,83,.065);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.asm-reason26__card:hover {
    transform:translateY(-6px);
    border-color:rgba(6,59,103,.32);
    box-shadow:0 22px 48px rgba(2,47,83,.13);
}

.asm-reason26__media {
    position:relative;
    width:100%;
    height:205px;
    overflow:hidden;
    background:var(--ar-navy);
}

.asm-reason26__media::after {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(2,47,83,0) 58%,
            rgba(2,47,83,.14) 100%
        );
    pointer-events:none;
}

.asm-reason26__media img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}

.asm-reason26__card:hover .asm-reason26__media img {
    transform:scale(1.04);
}

.asm-reason26__icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    margin:30px 26px 0;
    color:#fff;
    background:var(--ar-navy);
    border-radius:50%;
    font-size:1.25rem;
}

.asm-reason26__body {
    position:relative;
    display:flex;
    flex:1;
    flex-direction:column;
    padding:31px 24px 28px;
}

.asm-reason26__number {
    position:absolute;
    z-index:5;
    top:-28px;
    left:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    margin:0;
    color:#fff;
    background:var(--ar-navy-deep);
    border:4px solid #fff;
    border-radius:50%;
    font-size:.76rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.07em;
    box-shadow:0 7px 18px rgba(2,47,83,.18);
}

.asm-reason26__card-title {
    position:relative;
    margin:0;
    padding:0 0 17px;
    color:var(--ar-navy-deep);
    font-size:1rem;
    line-height:1.65;
    font-weight:850;
    letter-spacing:.025em;
}

.asm-reason26__card-title::after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:1px;
    background:rgba(6,59,103,.14);
}

.asm-reason26__text {
    flex:1;
    margin:17px 0 0;
    padding:0;
    color:rgba(2,47,83,.67);
    font-size:.78rem;
    line-height:1.95;
}

.asm-reason26__card:nth-child(odd) {
    color:#fff;
    background:
        linear-gradient(
            145deg,
            var(--ar-navy-deep) 0%,
            var(--ar-navy) 100%
        );
    border-color:var(--ar-navy);
    box-shadow:0 16px 38px rgba(2,47,83,.16);
}

.asm-reason26__card:nth-child(odd)::after {
    content:"";
    position:absolute;
    right:-110px;
    bottom:-130px;
    width:300px;
    height:300px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:50%;
    pointer-events:none;
}

.asm-reason26__card:nth-child(odd) .asm-reason26__card-title {
    color:#fff;
}

.asm-reason26__card:nth-child(odd) .asm-reason26__card-title::after {
    background:rgba(255,255,255,.18);
}

.asm-reason26__card:nth-child(odd) .asm-reason26__text {
    color:rgba(255,255,255,.76);
}

.asm-reason26__card:nth-child(odd) .asm-reason26__number {
    color:var(--ar-navy-deep);
    background:#fff;
    border-color:var(--ar-navy);
}

.asm-reason26__card:nth-child(even) {
    color:var(--ar-navy-deep);
    background:#fff;
}

.asm-reason26__card:nth-child(even) .asm-reason26__number {
    color:#fff;
    background:var(--ar-navy-deep);
}

.asm-reason26__card:nth-child(odd):hover {
    box-shadow:0 24px 52px rgba(2,47,83,.23);
}

.asm-reason26__grid.asm-reason26--2col .asm-reason26__media {
    height:285px;
}

.asm-reason26__grid.asm-reason26--2col .asm-reason26__body {
    padding:34px 30px 32px;
}

.asm-reason26__grid.asm-reason26--3col .asm-reason26__media {
    height:235px;
}

.asm-reason26__grid.asm-reason26--4col .asm-reason26__media {
    height:190px;
}

.asm-reason26__grid.asm-reason26--4col .asm-reason26__body {
    padding-right:22px;
    padding-left:22px;
}

.asm-reason26__grid.asm-reason26--4col .asm-reason26__number {
    left:20px;
    width:54px;
    height:54px;
    top:-27px;
}

.asm-reason26__grid.asm-reason26--4col .asm-reason26__card-title {
    font-size:.93rem;
}

.asm-reason26__grid.asm-reason26--4col .asm-reason26__text {
    font-size:.76rem;
    line-height:1.9;
}

@media (max-width:1100px) {
    .asm-reason26 {
        padding:88px 22px 96px;
    }

    .asm-reason26__grid.asm-reason26--3col,
    .asm-reason26__grid.asm-reason26--4col {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .asm-reason26__grid.asm-reason26--4col .asm-reason26__media {
        height:225px;
    }

    .asm-reason26__grid.asm-reason26--4col .asm-reason26__card-title {
        font-size:1rem;
    }

    .asm-reason26__grid.asm-reason26--4col .asm-reason26__text {
        font-size:.8rem;
    }
}

@media (max-width:700px) {
    .asm-reason26 {
        padding:62px 16px 68px;
    }

    .asm-reason26__head {
        margin-bottom:32px;
    }

    .asm-reason26__eyebrow {
        font-size:.61rem;
    }

    .asm-reason26__title {
        font-size:clamp(1.45rem,6.5vw,1.85rem);
        line-height:1.55;
    }

    .asm-reason26__lead {
        margin-top:14px;
        font-size:.81rem;
        line-height:1.9;
    }

    .asm-reason26__grid,
    .asm-reason26__grid.asm-reason26--2col,
    .asm-reason26__grid.asm-reason26--3col,
    .asm-reason26__grid.asm-reason26--4col {
        grid-template-columns:1fr;
        gap:15px;
    }

    .asm-reason26__media,
    .asm-reason26__grid.asm-reason26--2col .asm-reason26__media,
    .asm-reason26__grid.asm-reason26--3col .asm-reason26__media,
    .asm-reason26__grid.asm-reason26--4col .asm-reason26__media {
        height:215px;
    }

    .asm-reason26__body,
    .asm-reason26__grid.asm-reason26--2col .asm-reason26__body,
    .asm-reason26__grid.asm-reason26--4col .asm-reason26__body {
        padding:30px 20px 24px;
    }

    .asm-reason26__number,
    .asm-reason26__grid.asm-reason26--4col .asm-reason26__number {
        top:-26px;
        left:18px;
        width:52px;
        height:52px;
        font-size:.72rem;
    }

    .asm-reason26__card-title,
    .asm-reason26__grid.asm-reason26--4col .asm-reason26__card-title {
        padding-bottom:15px;
        font-size:.93rem;
    }

    .asm-reason26__text,
    .asm-reason26__grid.asm-reason26--4col .asm-reason26__text {
        margin-top:15px;
        font-size:.77rem;
        line-height:1.85;
    }
}
