@charset "UTF-8";
@layer library, base, common, layouts, modules, inquiry, utility;

@layer library {
    :root {
        --swiper-theme-color: #007aff
    }

    :host {
        display: block;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        z-index: 1
    }

    .swiper {
        display: block;
        list-style: none;
        margin-left: auto;
        margin-right: auto;
        overflow: hidden;
        padding: 0;
        position: relative;
        z-index: 1
    }

    .swiper-vertical>.swiper-wrapper {
        flex-direction: column
    }

    .swiper-wrapper {
        box-sizing: initial;
        display: flex;
        height: 100%;
        position: relative;
        transition-property: transform;
        transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
        width: 100%;
        z-index: 1
    }

    .swiper-android .swiper-slide,
    .swiper-ios .swiper-slide,
    .swiper-wrapper {
        transform: translateZ(0)
    }

    .swiper-horizontal {
        touch-action: pan-y
    }

    .swiper-vertical {
        touch-action: pan-x
    }

    .swiper-slide {
        display: block;
        flex-shrink: 0;
        height: 100%;
        position: relative;
        transition-property: transform;
        width: 100%
    }

    .swiper-slide-invisible-blank {
        visibility: hidden
    }

    .swiper-autoheight,
    .swiper-autoheight .swiper-slide {
        height: auto
    }

    .swiper-autoheight .swiper-wrapper {
        align-items: flex-start;
        transition-property: transform, height
    }

    .swiper-backface-hidden .swiper-slide {
        backface-visibility: hidden;
        transform: translateZ(0)
    }

    .swiper-3d.swiper-css-mode .swiper-wrapper {
        perspective: 1200px
    }

    .swiper-3d .swiper-wrapper {
        transform-style: preserve-3d
    }

    .swiper-3d {
        perspective: 1200px
    }

    .swiper-3d .swiper-cube-shadow,
    .swiper-3d .swiper-slide {
        transform-style: preserve-3d
    }

    .swiper-css-mode>.swiper-wrapper {
        overflow: auto;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    .swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
        display: none
    }

    .swiper-css-mode>.swiper-wrapper>.swiper-slide {
        scroll-snap-align: start start
    }

    .swiper-css-mode.swiper-horizontal>.swiper-wrapper {
        scroll-snap-type: x mandatory
    }

    .swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
        margin-inline-start: var(--swiper-slides-offset-before);
        scroll-margin-inline-start: var(--swiper-slides-offset-before)
    }

    .swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child {
        margin-inline-end: var(--swiper-slides-offset-after)
    }

    .swiper-css-mode.swiper-vertical>.swiper-wrapper {
        scroll-snap-type: y mandatory
    }

    .swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
        margin-block-start: var(--swiper-slides-offset-before);
        scroll-margin-block-start: var(--swiper-slides-offset-before)
    }

    .swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child {
        margin-block-end: var(--swiper-slides-offset-after)
    }

    .swiper-css-mode.swiper-free-mode>.swiper-wrapper {
        scroll-snap-type: none
    }

    .swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
        scroll-snap-align: none
    }

    .swiper-css-mode.swiper-centered>.swiper-wrapper:before {
        content: "";
        flex-shrink: 0;
        order: 9999
    }

    .swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
        scroll-snap-align: center center;
        scroll-snap-stop: always
    }

    .swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
        margin-inline-start: var(--swiper-centered-offset-before)
    }

    .swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
        height: 100%;
        min-height: 1px;
        width: var(--swiper-centered-offset-after)
    }

    .swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
        margin-block-start: var(--swiper-centered-offset-before)
    }

    .swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
        height: var(--swiper-centered-offset-after);
        min-width: 1px;
        width: 100%
    }

    .swiper-3d .swiper-slide-shadow,
    .swiper-3d .swiper-slide-shadow-bottom,
    .swiper-3d .swiper-slide-shadow-left,
    .swiper-3d .swiper-slide-shadow-right,
    .swiper-3d .swiper-slide-shadow-top {
        height: 100%;
        left: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 10
    }

    .swiper-3d .swiper-slide-shadow {
        background: #00000026
    }

    .swiper-3d .swiper-slide-shadow-left {
        background-image: linear-gradient(270deg, #00000080, #0000)
    }

    .swiper-3d .swiper-slide-shadow-right {
        background-image: linear-gradient(90deg, #00000080, #0000)
    }

    .swiper-3d .swiper-slide-shadow-top {
        background-image: linear-gradient(0deg, #00000080, #0000)
    }

    .swiper-3d .swiper-slide-shadow-bottom {
        background-image: linear-gradient(180deg, #00000080, #0000)
    }

    .swiper-lazy-preloader {
        border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
        border-radius: 50%;
        border-top: 4px solid rgba(0, 0, 0, 0);
        box-sizing: border-box;
        height: 42px;
        left: 50%;
        margin-left: -21px;
        margin-top: -21px;
        position: absolute;
        top: 50%;
        transform-origin: 50%;
        width: 42px;
        z-index: 10
    }

    .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
    .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
        animation: swiper-preloader-spin 1s linear infinite
    }

    .swiper-lazy-preloader-white {
        --swiper-preloader-color: #fff
    }

    .swiper-lazy-preloader-black {
        --swiper-preloader-color: #000
    }

    @keyframes swiper-preloader-spin {
        0% {
            transform: rotate(0)
        }

        to {
            transform: rotate(1turn)
        }
    }

    .swiper-virtual .swiper-slide {
        -webkit-backface-visibility: hidden;
        transform: translateZ(0)
    }

    .swiper-virtual.swiper-css-mode .swiper-wrapper:after {
        content: "";
        left: 0;
        pointer-events: none;
        position: absolute;
        top: 0
    }

    .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
        height: 1px;
        width: var(--swiper-virtual-size)
    }

    .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
        height: var(--swiper-virtual-size);
        width: 1px
    }

    :root {
        --swiper-navigation-size: 44px
    }

    .swiper-button-next,
    .swiper-button-prev {
        align-items: center;
        color: var(--swiper-navigation-color, var(--swiper-theme-color));
        cursor: pointer;
        display: flex;
        height: var(--swiper-navigation-size);
        justify-content: center;
        position: absolute;
        width: var(--swiper-navigation-size);
        z-index: 10
    }

    .swiper-button-next.swiper-button-disabled,
    .swiper-button-prev.swiper-button-disabled {
        cursor: auto;
        opacity: .35;
        pointer-events: none
    }

    .swiper-button-next.swiper-button-hidden,
    .swiper-button-prev.swiper-button-hidden {
        cursor: auto;
        opacity: 0;
        pointer-events: none
    }

    .swiper-navigation-disabled .swiper-button-next,
    .swiper-navigation-disabled .swiper-button-prev {
        display: none !important
    }

    .swiper-button-next svg,
    .swiper-button-prev svg {
        height: 100%;
        object-fit: contain;
        transform-origin: center;
        width: 100%;
        fill: currentColor;
        pointer-events: none
    }

    .swiper-button-lock {
        display: none
    }

    .swiper-button-next,
    .swiper-button-prev {
        margin-top: calc(0px - var(--swiper-navigation-size) / 2);
        top: var(--swiper-navigation-top-offset, 50%)
    }

    .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, 4px);
        right: auto
    }

    .swiper-button-prev .swiper-navigation-icon {
        transform: rotate(180deg)
    }

    .swiper-button-next {
        left: auto;
        right: var(--swiper-navigation-sides-offset, 4px)
    }

    .swiper-horizontal .swiper-button-next,
    .swiper-horizontal .swiper-button-prev,
    .swiper-horizontal~.swiper-button-next,
    .swiper-horizontal~.swiper-button-prev {
        margin-left: 0;
        margin-top: calc(0px - var(--swiper-navigation-size) / 2);
        top: var(--swiper-navigation-top-offset, 50%)
    }

    .swiper-horizontal.swiper-rtl .swiper-button-next,
    .swiper-horizontal.swiper-rtl~.swiper-button-next,
    .swiper-horizontal~.swiper-button-prev,
    .swiper-horizontal .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, 4px);
        right: auto
    }

    .swiper-horizontal.swiper-rtl .swiper-button-prev,
    .swiper-horizontal.swiper-rtl~.swiper-button-prev,
    .swiper-horizontal~.swiper-button-next,
    .swiper-horizontal .swiper-button-next {
        left: auto;
        right: var(--swiper-navigation-sides-offset, 4px)
    }

    .swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,
    .swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon,
    .swiper-horizontal~.swiper-button-prev .swiper-navigation-icon,
    .swiper-horizontal .swiper-button-prev .swiper-navigation-icon {
        transform: rotate(180deg)
    }

    .swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,
    .swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon {
        transform: rotate(0)
    }

    .swiper-vertical .swiper-button-next,
    .swiper-vertical .swiper-button-prev,
    .swiper-vertical~.swiper-button-next,
    .swiper-vertical~.swiper-button-prev {
        left: var(--swiper-navigation-top-offset, 50%);
        margin-left: calc(0px - var(--swiper-navigation-size) / 2);
        margin-top: 0;
        right: auto
    }

    .swiper-vertical .swiper-button-prev,
    .swiper-vertical~.swiper-button-prev {
        bottom: auto;
        top: var(--swiper-navigation-sides-offset, 4px)
    }

    .swiper-vertical .swiper-button-prev .swiper-navigation-icon,
    .swiper-vertical~.swiper-button-prev .swiper-navigation-icon {
        transform: rotate(-90deg)
    }

    .swiper-vertical .swiper-button-next,
    .swiper-vertical~.swiper-button-next {
        bottom: var(--swiper-navigation-sides-offset, 4px);
        top: auto
    }

    .swiper-vertical .swiper-button-next .swiper-navigation-icon,
    .swiper-vertical~.swiper-button-next .swiper-navigation-icon {
        transform: rotate(90deg)
    }

    .swiper-pagination {
        position: absolute;
        text-align: center;
        transform: translateZ(0);
        transition: opacity .3s;
        z-index: 10
    }

    .swiper-pagination.swiper-pagination-hidden {
        opacity: 0
    }

    .swiper-pagination.swiper-pagination-disabled,
    .swiper-pagination-disabled>.swiper-pagination {
        display: none !important
    }

    .swiper-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: var(--swiper-pagination-bottom, 8px);
        left: 0;
        top: var(--swiper-pagination-top, auto);
        width: 100%
    }

    .swiper-pagination-bullets-dynamic {
        font-size: 0;
        overflow: hidden
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
        position: relative;
        transform: scale(.33)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
        transform: scale(1)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
        transform: scale(.66)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
        transform: scale(.33)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
        transform: scale(.66)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
        transform: scale(.33)
    }

    .swiper-pagination-bullet {
        background: var(--swiper-pagination-bullet-inactive-color, #000);
        border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
        display: inline-block;
        height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
        opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
        width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px))
    }

    button& {
        appearance: none;
        border: none;
        box-shadow: none;
        margin: 0;
        padding: 0
    }

    .swiper-pagination-clickable .swiper-pagination-bullet {
        cursor: pointer
    }

    .swiper-pagination-bullet:only-child {
        display: none !important
    }

    .swiper-pagination-bullet-active {
        background: var(--swiper-pagination-color, var(--swiper-theme-color));
        opacity: var(--swiper-pagination-bullet-opacity, 1)
    }

    .swiper-pagination-vertical.swiper-pagination-bullets,
    .swiper-vertical>.swiper-pagination-bullets {
        left: var(--swiper-pagination-left, auto);
        right: var(--swiper-pagination-right, 8px);
        top: 50%;
        transform: translate3d(0, -50%, 0)
    }

    .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
        display: block;
        margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0
    }

    .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
    .swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
        top: 50%;
        transform: translateY(-50%);
        width: 8px
    }

    .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
    .swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
        display: inline-block;
        transition: transform .2s, top .2s
    }

    .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
    }

    .swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
    .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
        left: 50%;
        transform: translate(-50%);
        white-space: nowrap
    }

    .swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
    .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
        transition: transform .2s, left .2s
    }

    .swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
        transition: transform .2s, right .2s
    }

    .swiper-pagination-fraction {
        color: var(--swiper-pagination-fraction-color, inherit)
    }

    .swiper-pagination-progressbar {
        background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .2509803922));
        position: absolute
    }

    .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        background: var(--swiper-pagination-color, var(--swiper-theme-color));
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        transform: scale(0);
        transform-origin: left top;
        width: 100%
    }

    .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        transform-origin: right top
    }

    .swiper-pagination-progressbar.swiper-pagination-horizontal,
    .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
    .swiper-horizontal>.swiper-pagination-progressbar,
    .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
        height: var(--swiper-pagination-progressbar-size, 4px);
        left: 0;
        top: 0;
        width: 100%
    }

    .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
    .swiper-pagination-progressbar.swiper-pagination-vertical,
    .swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
    .swiper-vertical>.swiper-pagination-progressbar {
        height: 100%;
        left: 0;
        top: 0;
        width: var(--swiper-pagination-progressbar-size, 4px)
    }

    .swiper-pagination-lock {
        display: none
    }

    .swiper-scrollbar {
        background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1019607843));
        border-radius: var(--swiper-scrollbar-border-radius, 10px);
        position: relative;
        touch-action: none
    }

    .swiper-scrollbar.swiper-scrollbar-disabled,
    .swiper-scrollbar-disabled>.swiper-scrollbar {
        display: none !important
    }

    .swiper-scrollbar.swiper-scrollbar-horizontal,
    .swiper-horizontal>.swiper-scrollbar {
        bottom: var(--swiper-scrollbar-bottom, 4px);
        height: var(--swiper-scrollbar-size, 4px);
        left: var(--swiper-scrollbar-sides-offset, 1%);
        position: absolute;
        top: var(--swiper-scrollbar-top, auto);
        width: calc(100% - var(--swiper-scrollbar-sides-offset, 1%) * 2);
        z-index: 50
    }

    .swiper-scrollbar.swiper-scrollbar-vertical,
    .swiper-vertical>.swiper-scrollbar {
        height: calc(100% - var(--swiper-scrollbar-sides-offset, 1%) * 2);
        left: var(--swiper-scrollbar-left, auto);
        position: absolute;
        right: var(--swiper-scrollbar-right, 4px);
        top: var(--swiper-scrollbar-sides-offset, 1%);
        width: var(--swiper-scrollbar-size, 4px);
        z-index: 50
    }

    .swiper-scrollbar-drag {
        background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5019607843));
        border-radius: var(--swiper-scrollbar-border-radius, 10px);
        height: 100%;
        left: 0;
        position: relative;
        top: 0;
        width: 100%
    }

    .swiper-scrollbar-cursor-drag {
        cursor: move
    }

    .swiper-scrollbar-lock {
        display: none
    }

    .swiper-zoom-container {
        align-items: center;
        display: flex;
        height: 100%;
        justify-content: center;
        text-align: center;
        width: 100%
    }

    .swiper-zoom-container>canvas,
    .swiper-zoom-container>img,
    .swiper-zoom-container>svg {
        max-height: 100%;
        max-width: 100%;
        object-fit: contain
    }

    .swiper-slide-zoomed {
        cursor: move;
        touch-action: none
    }

    .swiper .swiper-notification {
        left: 0;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        z-index: -1000
    }

    .swiper-free-mode>.swiper-wrapper {
        margin: 0 auto;
        transition-timing-function: ease-out
    }

    .swiper-grid>.swiper-wrapper {
        flex-wrap: wrap
    }

    .swiper-grid-column>.swiper-wrapper {
        flex-direction: column;
        flex-wrap: wrap
    }

    .swiper-fade.swiper-free-mode .swiper-slide {
        transition-timing-function: ease-out
    }

    .swiper-fade .swiper-slide {
        pointer-events: none;
        transition-property: opacity
    }

    .swiper-fade .swiper-slide .swiper-slide {
        pointer-events: none
    }

    .swiper-fade .swiper-slide-active,
    .swiper-fade .swiper-slide-active .swiper-slide-active {
        pointer-events: auto
    }

    .swiper.swiper-cube {
        overflow: visible
    }

    .swiper-cube .swiper-slide {
        backface-visibility: hidden;
        height: 100%;
        pointer-events: none;
        transform-origin: 0 0;
        visibility: hidden;
        width: 100%;
        z-index: 1
    }

    .swiper-cube .swiper-slide .swiper-slide {
        pointer-events: none
    }

    .swiper-cube.swiper-rtl .swiper-slide {
        transform-origin: 100% 0
    }

    .swiper-cube .swiper-slide-active,
    .swiper-cube .swiper-slide-active .swiper-slide-active {
        pointer-events: auto
    }

    .swiper-cube .swiper-slide-active,
    .swiper-cube .swiper-slide-next,
    .swiper-cube .swiper-slide-prev {
        pointer-events: auto;
        visibility: visible
    }

    .swiper-cube .swiper-cube-shadow {
        bottom: 0;
        height: 100%;
        left: 0;
        opacity: .6;
        position: absolute;
        width: 100%;
        z-index: 0
    }

    .swiper-cube .swiper-cube-shadow:before {
        background: #000;
        content: "";
        filter: blur(50px);
        inset: 0;
        position: absolute
    }

    .swiper-cube .swiper-slide-next+.swiper-slide {
        pointer-events: auto;
        visibility: visible
    }

    .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
    .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
    .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
    .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
        backface-visibility: hidden;
        z-index: 0
    }

    .swiper.swiper-flip {
        overflow: visible
    }

    .swiper-flip .swiper-slide {
        backface-visibility: hidden;
        pointer-events: none;
        z-index: 1
    }

    .swiper-flip .swiper-slide .swiper-slide {
        pointer-events: none
    }

    .swiper-flip .swiper-slide-active,
    .swiper-flip .swiper-slide-active .swiper-slide-active {
        pointer-events: auto
    }

    .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
    .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
    .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
    .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
        backface-visibility: hidden;
        z-index: 0
    }

    .swiper-creative .swiper-slide {
        backface-visibility: hidden;
        overflow: hidden;
        transition-property: transform, opacity, height
    }

    .swiper.swiper-cards {
        overflow: visible
    }

    .swiper-cards .swiper-slide {
        backface-visibility: hidden;
        overflow: hidden;
        transform-origin: center bottom
    }
}

@layer base {

    *,
    *:before,
    *:after {
        box-sizing: border-box
    }

    *::backdrop {
        background-color: var(--COLOR_BACKGROUND_OVERLAY)
    }

    @media(scripting:none) {
        *::backdrop {
            display: none
        }
    }

    html {
        min-block-size: 100%;
        scrollbar-gutter: stable;
        font-size: 62.5%;
        scroll-padding-block-start: var(--HEADER_HEIGHT, 120px);
        writing-mode: horizontal-tb;
        -webkit-text-size-adjust: 100%;
        scroll-behavior: smooth
    }

    html:not([lang=ja]) {
        font-feature-settings: "palt";
        font-variant-east-asian: proportional-width
    }

    body {
        --local-font-base-family: var(--FONT_FAMILY_JP);
        inline-size: 100%;
        block-size: 100%;
        min-block-size: 100%;
        margin: 0;
        overflow-x: clip;
        font-family: var(--local-font-base-family), var(--FONT_FAMILY_FALLBACK);
        font-size: 1.6rem;
        font-weight: var(--FONT_WEIGHT);
        line-height: 1.8;
        color: var(--FONT_COLOR_BASE);
        line-break: strict;
        word-break: normal;
        overflow-wrap: anywhere;
        text-rendering: optimizespeed
    }

    html:not([lang=ja]) body {
        --local-font-base-family: var(--FONT_FAMILY_GLOBAL)
    }

    body.is-fixed {
        position: fixed
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    figure,
    blockquote,
    dd {
        margin: 0
    }

    a {
        color: inherit;
        text-decoration: none
    }

    em {
        font-style: normal;
        font-weight: 700
    }

    strong {
        color: var(--FONT_COLOR_STRONG)
    }

    sub,
    sup {
        position: relative;
        margin-inline: .25em;
        font-size: 75%;
        line-height: 1;
        vertical-align: middle
    }

    sub {
        inset-block-end: -.15em
    }

    sup {
        inset-block-start: -.75em
    }

    ul,
    ol,
    dl {
        padding: 0;
        margin: 0
    }

    ul[class],
    ol[class] {
        list-style: none
    }

    dfn {
        font-style: normal
    }

    table {
        border-collapse: collapse
    }

    img,
    svg {
        max-inline-size: 100%;
        block-size: auto;
        vertical-align: bottom
    }

    iframe {
        max-inline-size: 100%;
        vertical-align: bottom;
        border: 0
    }

    video {
        max-inline-size: 100%;
        block-size: auto;
        vertical-align: bottom
    }

    button,
    select,
    input[type=button] {
        padding: 0;
        margin: 0;
        font: inherit;
        line-height: inherit;
        color: inherit;
        letter-spacing: inherit;
        appearance: none;
        cursor: pointer;
        background: none;
        border: 0
    }

    ::placeholder {
        opacity: 1
    }

    input {
        padding: 0;
        margin: 0;
        font-family: inherit;
        font-size: inherit
    }

    input[type=file] {
        inline-size: 100%
    }

    input[type=search] {
        background-color: transparent
    }

    input[type=search]::-webkit-search-cancel-button {
        appearance: none
    }

    select {
        font: inherit;
        line-height: inherit;
        color: inherit
    }

    textarea {
        box-sizing: border-box;
        display: block;
        font: inherit;
        line-height: inherit;
        color: inherit
    }

    fieldset {
        padding: 0;
        margin: 0;
        border: 0
    }

    legend {
        padding: 0
    }

    label {
        cursor: pointer
    }

    summary {
        cursor: pointer;
        list-style: none
    }

    summary::-webkit-details-marker {
        display: none
    }

    summary[tabindex="-1"] {
        cursor: auto
    }

    dialog {
        padding: 0;
        color: inherit;
        border: none
    }

    @media(scripting:none) {
        dialog {
            position: relative;
            display: block
        }
    }

    :root {
        --COLOR_BASE_DARK: #000;
        --COLOR_BASE_DARKGRAY: #333;
        --COLOR_BASE_LIGHT: #fff;
        --COLOR_PRIMARY: #005eb8;
        --COLOR_PRIMARY_BLUE: #00b5e2;
        --COLOR_PRIMARY_NAVY: #002f6c;
        --COLOR_SECONDARY_BLUE: #6dcde3;
        --COLOR_BORDER: #e6e6e6;
        --COLOR_BORDER_DARK: #ccc;
        --COLOR_BORDER_GRADIENT: linear-gradient(to right, var(--COLOR_PRIMARY) 30%, var(--COLOR_PRIMARY_BLUE) 70%, rgb(from var(--COLOR_PRIMARY_BLUE) r g b / 15%) 100%) 1;
        --COLOR_DARK_GRAY: #727272;
        --COLOR_LIGHT_GRAY: #e4e4e4;
        --COLOR_BACKGROUND_LIGHT_BLUE: #f2fbfd;
        --COLOR_BACKGROUND_BLUE: #e9f8fc;
        --COLOR_BACKGROUND_LIGHT_GRAY: #f7f7f7;
        --COLOR_BACKGROUND_OVERLAY: rgb(from var(--COLOR_BASE_DARK) r g b / 60%);
        --COLOR_BACKGROUND_H1_GRADIENT: linear-gradient(to right, var(--COLOR_BACKGROUND_LIGHT_BLUE) 0%, #b1e8f5 100%);
        --COLOR_INDEX_PURPLE: #a08bcb;
        --COLOR_INDEX_GREEN: #00bfb2;
        --COLOR_INDEX_LIGHTGREEN: #b7db57;
        --COLOR_INDEX_BEIGE: #d3bc8d;
        --COLOR_INDEX_YELLOW: #fae053;
        --COLOR_INDEX_ORANGE: #ffa400;
        --COLOR_INDEX_PINK: #f99fc9;
        --COLOR_INDEX_RED: #f8485e;
        --COLOR_INDEX_DEEP_RED: #e70925;
        --FONT_COLOR_BASE: var(--COLOR_BASE_DARKGRAY);
        --FONT_COLOR_LIGHT: var(--COLOR_BASE_LIGHT);
        --FONT_COLOR_STRONG: var(--COLOR_INDEX_DEEP_RED);
        --FONT_COLOR_LINK: var(--COLOR_PRIMARY);
        --FONT_FAMILY_FALLBACK: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "微软雅黑", "宋体", meiryo, "MS PGothic", "Helvetica Neue", arial, verdana, sans-serif;
        --FONT_FAMILY_JP: "Noto Sans CJK JP";
        --FONT_FAMILY_GLOBAL: "Noto Sans CJK SC";
        --FONT_WEIGHT: 400;
        --FONT_WEIGHT_BOLD: 700;
        --TRIM_HALF_LEADING: calc((1em - 1lh)/2);
        --MODULE_MARGIN_BASE: 24px;
        --MODULE_MARGIN_NEST: 16px;
        --TRANSITION: .3s ease-out;
        --Z_INDEX_LOWER_LAYER: -1;
        --Z_INDEX_UPPER_LAYER: 1;
        --Z_INDEX_OVERLAY: 10;
        --Z_INDEX_STRUCTURE: 500;
        --Z_INDEX_TOP_LAYER: 1000
    }

    @media(min-width:760px) {
        :root {
            --MODULE_MARGIN_BASE: 40px;
            --MODULE_MARGIN_NEST: 24px
        }
    }
}

@layer common;

@layer layouts {
    .l-wrap {
        display: grid;
        grid-template-areas: "header" "main" "navigationTop" "footer";
        grid-template-rows: auto 1fr auto auto;
        inline-size: 100%;
        min-block-size: 100%
    }

    .l-content-layout__content>:first-child,
    .l-content__inner>:first-child,
    .l-global-navigation .l-global-navigation__link-container>:first-child,
    .l-global-navigation .l-global-navigation__cta-item>:first-child {
        margin-block-start: 0 !important
    }

    .l-content-layout__content>:last-child,
    .l-content__inner>:last-child,
    .l-global-navigation .l-global-navigation__link-container>:last-child,
    .l-global-navigation .l-global-navigation__cta-item>:last-child {
        margin-block-end: 0 !important
    }

    .l-header .l-header__utility-button-text,
    .l-header-navigation-search .l-header-navigation-search__button-text {
        position: absolute;
        inline-size: 1px;
        block-size: 1px;
        overflow: hidden;
        clip: rect(1px, 1px, 1px, 1px)
    }

    .l-header .l-header__contact:after {
        flex-shrink: 0;
        inline-size: 30px;
        block-size: 7px;
        overflow-x: clip;
        content: "";
        mask-image: url(/assets/images/common/icon-link-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: var(--local-contact-arrow-position);
        mask-size: contain;
        transition: mask-position var(--TRANSITION)
    }

    .l-header {
        --local-header-gutter: 20px;
        --local-content-visibility: visible;
        --local-content-opacity: 1;
        position: fixed;
        inset-block-start: 0;
        z-index: var(--Z_INDEX_STRUCTURE);
        grid-area: header;
        inline-size: 100%;
        container-name: header-container;
        container-type: inline-size;
        font-size: 10px;
        background-color: var(--COLOR_BASE_LIGHT)
    }

    .l-header.is-hide {
        --local-content-visibility: hidden;
        --local-content-opacity: 0
    }

    .l-header.is-lower-hide {
        --local-lower-visibility: hidden;
        --local-lower-opacity: 0
    }

    .l-header a:link {
        text-decoration: none
    }

    .l-header .l-header__sub,
    .l-header .l-header__main {
        display: grid;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        gap: var(--local-header-gutter)
    }

    .l-header .l-header__sub {
        padding-block: 18px;
        border-block-start: 9px solid;
        border-image: linear-gradient(to right, var(--COLOR_PRIMARY) 30%, var(--COLOR_PRIMARY_BLUE) 70%, #d9f3fa 100%) 1
    }

    .l-header .l-header__sub :where(.l-header__logo-image) {
        max-inline-size: 120px
    }

    .l-header .l-header__inner {
        display: flex;
        grid-column: 2/3;
        gap: 18px;
        align-items: center;
        justify-content: space-between
    }

    .l-header .l-header__logo {
        font-size: 1.4em;
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .l-header--platform .l-header .l-header__logo {
        --local-trim-half-leading: calc((1em - 1lh)/2);
        margin-block: var(--local-trim-half-leading)
    }

    .l-header .l-header__logo-image {
        display: block
    }

    .l-header .l-header__contact {
        --local-contact-bg: var(--COLOR_PRIMARY);
        --local-contact-arrow-position: -6px;
        --local-contact-arrow-color: var(--COLOR_BASE_LIGHT);
        display: inline-flex;
        column-gap: 16px;
        align-items: center;
        justify-content: space-between;
        padding-block: 16px;
        padding-inline: 24px 16px;
        font-size: 1.6em;
        font-weight: var(--FONT_WEIGHT_BOLD);
        line-height: 1.5;
        color: var(--COLOR_BASE_LIGHT);
        text-decoration: none;
        background-color: var(--local-contact-bg);
        transition: background-color var(--TRANSITION)
    }

    .l-header .l-header__contact:before {
        inline-size: 27px;
        block-size: 18px;
        content: "";
        background-image: url(/assets/images/common/icon-mail.svg);
        background-repeat: no-repeat;
        background-size: contain
    }

    .l-header .l-header__contact:after {
        background-color: var(--local-contact-arrow-color)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-header .l-header__contact:hover,
        .l-header .l-header__contact:focus {
            --local-contact-bg: var(--COLOR_PRIMARY_NAVY);
            --local-contact-arrow-position: 0
        }
    }

    .l-header .l-header__button {
        --local-line-size: 27px;
        --local-center-line-opacity: 1;
        position: relative;
        inline-size: var(--local-line-size);
        block-size: var(--local-line-size)
    }

    .l-header .l-header__button:before,
    .l-header .l-header__button:after {
        position: absolute;
        inset: 0;
        block-size: 2px;
        margin: auto;
        content: "";
        background-color: var(--COLOR_BASE_DARK);
        border-radius: 2px;
        transition: transform var(--TRANSITION)
    }

    .l-header .l-header__button:before {
        transform: translateY(-8px)
    }

    .l-header .l-header__button:after {
        transform: translateY(8px)
    }

    .l-header .l-header__button.is-open {
        --local-center-line-opacity: 0
    }

    .l-header .l-header__button.is-open:before {
        transform: rotate(45deg)
    }

    .l-header .l-header__button.is-open:after {
        transform: rotate(-45deg)
    }

    .l-header .l-header__button-text {
        position: relative;
        display: block;
        aspect-ratio: 1/1;
        padding-block-start: var(--local-line-size);
        padding-inline-start: var(--local-line-size);
        overflow: hidden
    }

    .l-header .l-header__button-text:before {
        position: absolute;
        inset: 0;
        block-size: 2px;
        margin: auto;
        content: "";
        background-color: var(--COLOR_BASE_DARK);
        border-radius: 2px;
        opacity: var(--local-center-line-opacity);
        transition: opacity var(--TRANSITION)
    }

    .l-header .l-header__utility-menu,
    .l-header .l-header__utility-list {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .l-header .l-header__utility-menu {
        gap: clamp(28px, 3.2vw, 56px)
    }

    .l-header .l-header__utility-list {
        gap: clamp(14px, 1.5vw, 32px)
    }

    .l-header .l-header__utility-item {
        --local-utility-visibility: hidden;
        --local-overlay: none
    }

    .l-header .l-header__utility-item:after {
        position: fixed;
        inset-block-end: 0;
        inset-inline-start: 0;
        z-index: var(--Z_INDEX_LOWER_LAYER);
        display: var(--local-overlay);
        inline-size: 100vw;
        block-size: calc(100dvh - var(--HEADER_HEIGHT));
        pointer-events: auto;
        content: "";
        background-color: var(--COLOR_BASE_DARK);
        opacity: .4
    }

    .l-header .l-header__utility-item.is-open {
        --local-utility-visibility: visible
    }

    .l-header .l-header__utility-item:has(.l-header__utility-container.is-open) {
        --local-overlay: block
    }

    .l-header .l-header__utility-link {
        display: flex;
        gap: clamp(4px, .6vw, 10px);
        align-items: center;
        font-size: 1.6em;
        color: inherit;
        transition: color var(--TRANSITION)
    }

    .l-header .l-header__utility-link:before {
        position: relative;
        inset-block-start: 2px;
        display: block;
        flex: 0 0 auto;
        inline-size: 22px;
        block-size: 22px;
        content: "";
        background-color: currentColor;
        mask-image: var(--local-utility-icon);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    .l-header .l-header__utility-link--language {
        --local-utility-icon: url(/assets/images/common/icon-language.svg)
    }

    .l-header .l-header__utility-link--catalog {
        --local-utility-icon: url(/assets/images/common/icon-catalog.svg)
    }

    .l-header .l-header__utility-link--search {
        --local-utility-icon: url(/assets/images/common/icon-search.svg)
    }

    .l-header .l-header__utility-link--news {
        --local-utility-icon: url(/assets/images/common/icon-news.svg)
    }

    .l-header .l-header__utility-link.is-open {
        color: var(--COLOR_PRIMARY)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-header .l-header__utility-link:hover,
        .l-header .l-header__utility-link:focus {
            color: var(--COLOR_PRIMARY)
        }
    }

    .l-header .l-header__utility-container {
        position: absolute;
        inset-block-start: 100%;
        inset-inline-start: 0;
        display: grid;
        grid-template-rows: 0fr;
        inline-size: 100%;
        max-block-size: calc(100dvh - var(--HEADER_HEIGHT));
        content-visibility: var(--local-utility-visibility);
        background-color: var(--COLOR_BACKGROUND_LIGHT_GRAY);
        transition: grid-template-rows var(--TRANSITION)
    }

    .l-header .l-header__utility-container.is-open {
        grid-template-rows: 1fr
    }

    .l-header .l-header__utility-inner {
        position: relative;
        display: grid;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        gap: 40px;
        overflow-y: auto;
        scrollbar-gutter: stable
    }

    .l-header .l-header__utility-close-button {
        position: absolute;
        inset-block-start: 30px;
        inset-inline-end: 0;
        grid-column: 2/3;
        padding-inline-end: 24px;
        font-size: 1.4em;
        transition: color var(--TRANSITION)
    }

    .l-header .l-header__utility-close-button:before,
    .l-header .l-header__utility-close-button:after {
        position: absolute;
        inset-block: 0;
        inset-inline-end: 0;
        display: block;
        inline-size: 15px;
        block-size: 1px;
        margin: auto;
        content: "";
        background-color: currentColor
    }

    .l-header .l-header__utility-close-button:before {
        rotate: 45deg
    }

    .l-header .l-header__utility-close-button:after {
        rotate: -45deg
    }

    @media(hover:hover)and (min-width:760px) {

        .l-header .l-header__utility-close-button:hover,
        .l-header .l-header__utility-close-button:focus {
            color: var(--COLOR_PRIMARY)
        }
    }

    .l-header .l-header__utility-language {
        display: flex;
        grid-column: 2/3;
        justify-content: space-between;
        inline-size: 100%;
        max-inline-size: 1280px;
        margin-block: 80px 30px;
        margin-inline: auto
    }

    .l-header .l-header__utility-language-item {
        display: flex;
        align-items: center;
        justify-content: center;
        inline-size: 100%
    }

    .l-header .l-header__utility-language-item:not(:last-child) {
        border-inline-end: 1px solid var(--COLOR_DARK_GRAY)
    }

    .l-header .l-header__utility-language-link {
        --local-icon-height: 7px;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        position: relative;
        display: inline-flex;
        padding-inline-start: 40px;
        font-size: 1.4em;
        color: inherit
    }

    .l-header .l-header__utility-language-link:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-header .l-header__utility-language-link:any-link:hover,
        .l-header .l-header__utility-language-link:any-link:focus {
            --local-icon-animation-position: 0
        }
    }

    .l-header .l-header__utility-search {
        position: relative;
        grid-column: 2/3;
        inline-size: 100%;
        max-inline-size: 1280px;
        padding-block-end: 8px;
        margin-block: 32px 30px;
        margin-inline: auto;
        border-block-end: solid 1px var(--COLOR_DARK_GRAY)
    }

    .l-header .l-header__utility-label {
        display: block;
        padding-inline-end: 80px;
        font-size: 1.6em;
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .l-header .l-header__utility-input {
        inline-size: 100%;
        padding-block: 6px;
        padding-inline: 4px 40px;
        margin-block-start: 24px;
        font-size: 1.6em;
        background-color: transparent;
        border: none
    }

    .l-header .l-header__utility-input::placeholder {
        color: var(--COLOR_DARK_GRAY)
    }

    .l-header .l-header__utility-button {
        position: absolute;
        inset-block-end: 12px;
        inset-inline-end: 8px
    }

    .l-header .l-header__utility-button:before {
        display: block;
        inline-size: 22px;
        block-size: 22px;
        margin-block: auto;
        content: "";
        background-color: var(--COLOR_DARK_GRAY);
        mask-image: url(/assets/images/common/icon-search.svg);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    .l-header .l-header__main {
        padding-block: 12px 14px;
        background-color: var(--COLOR_LIGHT_GRAY)
    }

    .l-header .l-header__main :where(.l-header__logo-image) {
        max-inline-size: 165px
    }

    html:not([lang=ja]) .l-header .l-header__main :where(.l-header__logo-image) {
        max-inline-size: 230px
    }

    @media(max-width:1019px) {

        .l-header .l-header__utility-menu,
        .l-header .l-header__utility-container {
            display: none
        }
    }

    @media(min-width:1020px) {
        .l-header {
            --local-header-gutter: 40px;
            transition: inset-block-start var(--TRANSITION)
        }

        .l-header.is-scrolled {
            inset-block-start: calc(var(--HEADER_OPTIONS_HEIGHT) * -1)
        }

        .l-header .l-header__logo {
            font-size: 1.6em
        }

        .l-header .l-header__button {
            display: none
        }

        .l-header .l-header__sub {
            transition: visibility var(--TRANSITION)
        }

        .l-header.is-scrolled .l-header .l-header__sub {
            visibility: hidden
        }

        .l-header .l-header__sub :where(.l-header__logo-image) {
            max-inline-size: 150px
        }

        .l-header .l-header__main {
            overflow-y: hidden
        }

        .l-header .l-header__main :where(.l-header__logo-image) {
            max-inline-size: 218px
        }

        html:not([lang=ja]) .l-header .l-header__main :where(.l-header__logo-image) {
            min-inline-size: 300px
        }
    }

    .l-header-navigation {
        --local-container-start-position: 32px
    }

    @media(max-width:1019px) {
        .l-header-navigation {
            position: absolute;
            inset-block-start: var(--HEADER_HEIGHT);
            inset-inline-start: 0;
            inline-size: 100%;
            content-visibility: hidden
        }

        .l-header-navigation.is-open {
            content-visibility: visible
        }

        .l-header-navigation .l-header-navigation__container {
            display: grid;
            grid-template-rows: 0fr;
            block-size: calc(100dvh - var(--HEADER_HEIGHT));
            min-block-size: 0;
            transition: grid-template-rows var(--TRANSITION)
        }

        .l-header-navigation .l-header-navigation__container.is-open {
            grid-template-rows: 1fr
        }

        .l-header-navigation .l-header-navigation__inner {
            overflow-y: auto;
            background-color: var(--COLOR_BASE_LIGHT)
        }
    }

    .l-header-navigation-search {
        position: relative;
        margin-block: 20px;
        margin-inline: var(--local-header-gutter)
    }

    .l-header-navigation-search .l-header-navigation-search__input {
        inline-size: 100%;
        padding-block: 5px;
        padding-inline: 8px 40px;
        font-size: 1.6em
    }

    .l-header-navigation-search .l-header-navigation-search__button {
        position: absolute;
        inset-inline-end: 8px;
        block-size: 100%
    }

    .l-header-navigation-search .l-header-navigation-search__button:before {
        display: block;
        inline-size: 18px;
        block-size: 18px;
        margin-block: auto;
        content: "";
        background-color: currentColor;
        mask-image: url(/assets/images/common/icon-search.svg);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    @media(max-width:1019px) {
        .l-header-navigation-search {
            visibility: var(--local-content-visibility);
            opacity: var(--local-content-opacity)
        }
    }

    @media(min-width:1020px) {
        .l-header-navigation-search {
            display: none
        }
    }

    .l-header-navigation-utility {
        display: flex;
        flex-direction: column;
        gap: 24px;
        margin-block: 24px 40px
    }

    .l-header-navigation-utility :where(.l-header__contact) {
        inline-size: fit-content;
        margin-inline: auto;
        font-size: 1.4em
    }

    .l-header-navigation-utility .l-header-navigation-utility__language {
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center
    }

    .l-header-navigation-utility .l-header-navigation-utility__language-icon {
        block-size: 20px;
        aspect-ratio: 1/1;
        margin-block-start: 2px
    }

    .l-header-navigation-utility .l-header-navigation-utility__language-list {
        display: flex;
        gap: 12px
    }

    .l-header-navigation-utility .l-header-navigation-utility__language-item {
        display: flex;
        align-items: center
    }

    .l-header-navigation-utility .l-header-navigation-utility__language-item:not(:last-child) {
        padding-inline-end: 12px;
        border-inline-end: 1px solid var(--COLOR_BASE_DARK)
    }

    .l-header-navigation-utility .l-header-navigation-utility__language-link {
        font-size: 1.2em;
        color: inherit
    }

    .l-header-navigation-utility .l-header-navigation-utility__list {
        display: flex;
        gap: 24px;
        align-items: center;
        justify-content: center
    }

    .l-header-navigation-utility .l-header-navigation-utility__link {
        display: flex;
        gap: 10px;
        align-items: center;
        font-size: 1.2em;
        color: inherit;
        transition: color var(--TRANSITION)
    }

    .l-header-navigation-utility .l-header-navigation-utility__link:before {
        position: relative;
        inset-block-start: 2px;
        display: block;
        flex: 0 0 auto;
        inline-size: 20px;
        block-size: 20px;
        content: "";
        background-color: currentColor;
        mask-image: var(--local-utility-icon);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    .l-header-navigation-utility .l-header-navigation-utility__link--catalog {
        --local-utility-icon: url(/assets/images/common/icon-catalog.svg)
    }

    .l-header-navigation-utility .l-header-navigation-utility__link--news {
        --local-utility-icon: url(/assets/images/common/icon-news.svg)
    }

    @media(max-width:1019px) {
        .l-header-navigation-utility {
            visibility: var(--local-content-visibility);
            opacity: var(--local-content-opacity)
        }
    }

    @media(min-width:1020px) {
        .l-header-navigation-utility {
            display: none
        }
    }

    @media(scripting:none) {
        .l-header {
            position: static
        }

        .l-header .l-header__button {
            display: none
        }

        .l-header .l-header__main .l-header__inner {
            flex-direction: column
        }

        .l-header .l-header-navigation {
            position: static;
            content-visibility: visible
        }

        .l-header .l-header-navigation__container {
            grid-template-rows: 1fr;
            content-visibility: visible
        }
    }

    .l-global-navigation .l-global-navigation__list {
        display: flex
    }

    .l-global-navigation .l-global-navigation__button {
        font-size: 1.6em;
        color: inherit;
        transform: rotate(.03deg);
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation .l-global-navigation__button:hover,
        .l-global-navigation .l-global-navigation__button:focus {
            color: var(--COLOR_PRIMARY)
        }

        .l-global-navigation .l-global-navigation__button:hover:any-link,
        .l-global-navigation .l-global-navigation__button:focus:any-link {
            --local-icon-animation-position: 0
        }
    }

    .l-global-navigation .l-global-navigation__container {
        position: absolute;
        inset-block-start: 100%;
        inset-inline-start: 0;
        inline-size: 100%;
        background-color: var(--COLOR_BACKGROUND_LIGHT_GRAY)
    }

    .l-global-navigation .l-global-navigation__inner {
        overflow-y: auto;
        scrollbar-gutter: stable
    }

    .l-global-navigation .l-global-navigation__close-button {
        position: absolute;
        inset-block-start: var(--local-container-start-position);
        inset-inline-end: 0;
        grid-column: 2/3;
        padding-inline-end: 24px;
        font-size: 1.4em;
        transition: color var(--TRANSITION)
    }

    .l-global-navigation .l-global-navigation__close-button:before,
    .l-global-navigation .l-global-navigation__close-button:after {
        position: absolute;
        inset-block: 0;
        inset-inline-end: 0;
        display: block;
        inline-size: 15px;
        block-size: 1px;
        margin: auto;
        content: "";
        background-color: currentColor
    }

    .l-global-navigation .l-global-navigation__close-button:before {
        rotate: 45deg
    }

    .l-global-navigation .l-global-navigation__close-button:after {
        rotate: -45deg
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation .l-global-navigation__close-button:hover,
        .l-global-navigation .l-global-navigation__close-button:focus {
            color: var(--COLOR_PRIMARY)
        }
    }

    .l-global-navigation .l-global-navigation__content {
        grid-column: 2/3;
        inline-size: 100%;
        max-inline-size: 1049px;
        margin-inline: auto
    }

    .l-global-navigation .l-global-navigation__back-button {
        display: flex;
        visibility: hidden;
        column-gap: 10px;
        align-items: center;
        inline-size: 100%;
        padding-block: 16px;
        padding-inline: 20px;
        font-size: 1.6em;
        text-align: start;
        border-block-end: 1px solid var(--COLOR_BORDER);
        opacity: 0;
        transition: visibility var(--TRANSITION), opacity var(--TRANSITION)
    }

    .l-global-navigation .l-global-navigation__back-button:before {
        flex: 0 0 auto;
        inline-size: 9px;
        block-size: 15px;
        content: "";
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-size: contain;
        rotate: 180deg
    }

    .l-global-navigation .l-global-navigation-category__container.is-lower-open .l-global-navigation__back-button,
    .l-global-navigation .l-global-navigation__content:not(:has(.l-global-navigation-category__button.is-lower-open)) .l-global-navigation__back-button {
        visibility: visible;
        opacity: 1
    }

    .l-global-navigation .l-global-navigation__top {
        display: block;
        inline-size: 100%;
        padding-block-end: 16px;
        font-size: 1.6em;
        color: inherit;
        border-block-end: 1px solid #575757;
        transform: rotate(.03deg);
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation .l-global-navigation__top:hover,
        .l-global-navigation .l-global-navigation__top:focus {
            color: var(--COLOR_PRIMARY)
        }
    }

    .l-global-navigation .l-global-navigation__layout-item {
        display: flex;
        flex-direction: column
    }

    .l-global-navigation .l-global-navigation__link {
        font-size: 1.6em;
        color: inherit;
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation .l-global-navigation__link:hover,
        .l-global-navigation .l-global-navigation__link:focus {
            color: var(--FONT_COLOR_LINK)
        }
    }

    .l-global-navigation .l-global-navigation__link-container {
        padding-block-end: 48px
    }

    .l-global-navigation .l-global-navigation-list {
        display: grid;
        gap: 16px
    }

    .l-global-navigation .l-global-navigation-list__link {
        --local-icon-height: 7px;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        position: relative;
        display: inline-flex;
        padding-inline-start: 40px;
        font-size: 1.4em;
        color: inherit
    }

    .l-global-navigation .l-global-navigation-list__link:not(.l-global-navigation-list__link--catalog):before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2 - 1px);
        inset-inline-start: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    .l-global-navigation .l-global-navigation-list__link--catalog {
        --local-icon-height: 24px;
        padding-inline-start: 30px
    }

    .l-global-navigation .l-global-navigation-list__link--catalog:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: var(--local-icon-position);
        block-size: var(--local-icon-height);
        aspect-ratio: 1/1;
        overflow-x: clip;
        content: "";
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-catalog.svg);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation .l-global-navigation-list__link:any-link:hover,
        .l-global-navigation .l-global-navigation-list__link:any-link:focus {
            --local-icon-animation-position: 0
        }
    }

    .l-global-navigation .l-global-navigation__cta {
        --local-grid-columns: auto;
        display: flex;
        flex-wrap: wrap
    }

    .l-global-navigation .l-global-navigation__cta>* {
        flex: 0 0 auto;
        max-inline-size: 100%;
        block-size: 100%
    }

    .l-global-navigation .l-global-navigation__cta[data-column-sp],
    .l-global-navigation .l-global-navigation__cta[data-column-pc] {
        display: grid;
        grid-template-columns: repeat(var(--local-grid-columns), 1fr)
    }

    @media(max-width:759px) {
        .l-global-navigation .l-global-navigation__cta {
            gap: 24px 16px
        }

        .l-global-navigation .l-global-navigation__cta[data-column-sp="2"] {
            --local-grid-columns: 2
        }

        .l-global-navigation .l-global-navigation__cta[data-column-sp="3"] {
            --local-grid-columns: 3
        }

        .l-global-navigation .l-global-navigation__cta[data-column-sp="4"] {
            --local-grid-columns: 4
        }
    }

    @media(min-width:760px) {
        .l-global-navigation .l-global-navigation__cta {
            gap: 32px 20px
        }

        .l-global-navigation .l-global-navigation__cta[data-column-pc="2"] {
            --local-grid-columns: 2
        }

        .l-global-navigation .l-global-navigation__cta[data-column-pc="3"] {
            --local-grid-columns: 3
        }

        .l-global-navigation .l-global-navigation__cta[data-column-pc="4"] {
            --local-grid-columns: 4
        }
    }

    .l-global-navigation .l-global-navigation__cta-link {
        --local-cta-link-bg: var(--COLOR_PRIMARY);
        --local-cta-link-arrow-position: -6px;
        --local-cta-link-arrow-color: var(--COLOR_BASE_LIGHT);
        box-sizing: border-box;
        display: inline-flex;
        column-gap: 16px;
        align-items: center;
        justify-content: space-between;
        inline-size: 100%;
        padding-block: 16px;
        padding-inline: 24px 16px;
        font-size: 1.2em;
        font-weight: var(--FONT_WEIGHT_BOLD);
        line-height: 1.5;
        color: var(--COLOR_BASE_LIGHT);
        text-decoration: none;
        background-color: var(--local-cta-link-bg);
        transition: background-color var(--TRANSITION)
    }

    .l-global-navigation .l-global-navigation__cta-link:after {
        flex-shrink: 0;
        inline-size: 30px;
        block-size: 7px;
        overflow-x: clip;
        content: "";
        background-color: var(--local-cta-link-arrow-color);
        mask-image: url(/assets/images/common/icon-link-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: var(--local-cta-link-arrow-position);
        mask-size: contain;
        transition: mask-position var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation .l-global-navigation__cta-link:hover,
        .l-global-navigation .l-global-navigation__cta-link:focus {
            --local-cta-link-bg: var(--COLOR_PRIMARY_NAVY);
            --local-cta-link-arrow-position: 0
        }
    }

    @media(max-width:1019px) {
        .l-global-navigation .l-global-navigation__link-container {
            visibility: var(--local-lower-visibility);
            padding-block: 24px;
            padding-inline: 20px;
            opacity: var(--local-lower-opacity);
            transition: visibility var(--TRANSITION), opacity var(--TRANSITION)
        }

        .l-global-navigation .l-global-navigation__list {
            flex-direction: column
        }

        .l-global-navigation .l-global-navigation__list-item {
            border-block-start: 1px solid var(--COLOR_BORDER)
        }

        .l-global-navigation .l-global-navigation__list-item:last-child {
            border-block-end: 1px solid var(--COLOR_BORDER)
        }

        .l-global-navigation .l-global-navigation-list__link {
            padding-inline-start: 32px
        }

        .l-global-navigation .l-global-navigation__button {
            display: flex;
            visibility: var(--local-content-visibility);
            gap: 10px;
            align-items: center;
            justify-content: space-between;
            inline-size: 100%;
            padding-block: 20px;
            padding-inline: var(--local-header-gutter);
            text-align: start;
            opacity: var(--local-content-opacity)
        }

        .l-header--platform .l-global-navigation .l-global-navigation__button:not(:any-link) {
            display: none
        }

        .l-global-navigation .l-global-navigation__button:after {
            flex: 0 0 auto;
            inline-size: 9px;
            block-size: 15px;
            content: "";
            background-color: var(--COLOR_PRIMARY);
            mask-image: url(/assets/images/common/icon-arrow.svg);
            mask-repeat: no-repeat;
            mask-size: contain
        }

        .l-global-navigation .l-global-navigation__container {
            inset-block-start: 0;
            block-size: calc(100dvh - var(--HEADER_HEIGHT));
            content-visibility: hidden;
            background-color: var(--COLOR_BASE_LIGHT);
            opacity: 0;
            transform: translate(100%);
            transition: opacity var(--TRANSITION), transform var(--TRANSITION)
        }

        .l-global-navigation .l-global-navigation__container.is-open {
            content-visibility: visible;
            opacity: 1;
            transform: translate(0)
        }

        .l-header--platform .l-global-navigation .l-global-navigation__container {
            position: static;
            block-size: auto;
            opacity: revert;
            transform: revert
        }

        .l-header--platform .l-global-navigation .l-global-navigation__container.is-open .l-header-navigation__container {
            content-visibility: visible
        }

        .l-global-navigation .l-global-navigation__inner {
            block-size: 100%
        }

        .l-header--platform .l-global-navigation .l-global-navigation__inner {
            scrollbar-gutter: revert
        }

        .l-global-navigation .l-global-navigation__head {
            display: none
        }

        .l-global-navigation .l-global-navigation__top,
        .l-global-navigation .l-global-navigation__link {
            padding-block: 20px;
            padding-inline: 20px;
            border-block-end: 1px solid var(--COLOR_BORDER)
        }

        .l-global-navigation .l-global-navigation__top {
            visibility: hidden;
            font-weight: var(--FONT_WEIGHT_BOLD);
            background-color: var(--COLOR_BACKGROUND_LIGHT_BLUE);
            opacity: 0;
            transition: visibility var(--TRANSITION), opacity var(--TRANSITION)
        }

        .l-header--platform .l-global-navigation .l-global-navigation__top {
            display: none
        }

        .l-global-navigation .l-global-navigation-category__container.is-lower-open .l-global-navigation__top,
        .l-global-navigation .l-global-navigation__content:not(:has(.l-global-navigation-category__button.is-lower-open)) .l-global-navigation__top {
            visibility: visible;
            opacity: 1
        }

        .l-header--platform .l-global-navigation .l-global-navigation__link {
            display: flex;
            gap: 10px;
            align-items: center;
            justify-content: space-between;
            padding-inline-start: 40px;
            border-block-start: 1px solid var(--COLOR_BORDER);
            border-block-end: revert
        }

        .l-header--platform .l-global-navigation .l-global-navigation__link:after {
            flex: 0 0 auto;
            inline-size: 9px;
            block-size: 15px;
            content: "";
            background-color: var(--COLOR_PRIMARY);
            mask-image: url(/assets/images/common/icon-arrow.svg);
            mask-repeat: no-repeat;
            mask-size: contain
        }

        .l-global-navigation .l-global-navigation__close-button {
            display: none
        }
    }

    @media(min-width:1020px) {
        .l-global-navigation .l-global-navigation__list {
            gap: clamp(16px, 1.5vw, 24px);
            align-items: center;
            justify-content: space-between
        }

        .l-global-navigation .l-global-navigation__button {
            position: relative
        }

        .l-global-navigation .l-global-navigation__button.is-open,
        .l-global-navigation .l-global-navigation__button.is-current {
            color: var(--COLOR_PRIMARY)
        }

        .l-global-navigation .l-global-navigation__button.is-current:before {
            position: absolute;
            inset-block-start: 100%;
            inset-inline: 0;
            display: block;
            inline-size: 1px;
            block-size: 100%;
            margin-inline: auto;
            content: "";
            background-color: var(--COLOR_PRIMARY);
            transform: translate(-50%)
        }

        .l-global-navigation .l-global-navigation__button:any-link {
            --local-link-padding: 40px;
            --local-icon-height: 7px;
            --local-icon-direction: 1 1;
            --local-icon-position: 0;
            --local-icon-animation-position: -6px;
            position: relative;
            display: inline-flex;
            padding-inline-end: var(--local-link-padding)
        }

        .l-global-navigation .l-global-navigation__button:any-link:after {
            position: absolute;
            inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
            inset-inline-end: var(--local-icon-position);
            inline-size: 30px;
            block-size: var(--local-icon-height);
            overflow-x: clip;
            content: "";
            background-image: url(/assets/images/common/icon-link-arrow.svg);
            background-repeat: no-repeat;
            background-position-x: var(--local-icon-animation-position);
            background-size: contain;
            scale: var(--local-icon-direction);
            transition: background-position-x var(--TRANSITION)
        }

        .l-header--platform .l-global-navigation .l-global-navigation__button+.l-global-navigation__button {
            display: none
        }

        .l-global-navigation .l-global-navigation__list-item {
            --local-container-visibility: hidden;
            --local-overlay: none
        }

        .l-global-navigation .l-global-navigation__list-item:after {
            position: fixed;
            inset-block-end: 0;
            inset-inline-start: 0;
            z-index: var(--Z_INDEX_LOWER_LAYER);
            display: var(--local-overlay);
            inline-size: 100vw;
            block-size: calc(100dvh - var(--HEADER_HEIGHT));
            pointer-events: auto;
            content: "";
            background-color: var(--COLOR_BASE_DARK);
            opacity: .4
        }

        .l-global-navigation .l-global-navigation__list-item.is-open {
            --local-container-visibility: visible
        }

        .l-global-navigation .l-global-navigation__list-item:has(.l-global-navigation__container.is-open) {
            --local-overlay: block
        }

        .l-global-navigation .l-global-navigation__container {
            display: grid;
            grid-template-rows: 0fr;
            min-block-size: 0;
            max-block-size: calc(100dvh - var(--HEADER_HEIGHT));
            content-visibility: var(--local-container-visibility);
            transition: grid-template-rows var(--TRANSITION)
        }

        .l-global-navigation .l-global-navigation__container.is-open {
            grid-template-rows: 1fr
        }

        .l-global-navigation .l-global-navigation__inner {
            position: relative;
            display: grid;
            grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
            gap: 40px
        }

        .l-global-navigation .l-global-navigation__content {
            margin-block-start: var(--local-container-start-position)
        }

        .l-global-navigation :not(.l-global-navigation__content)>.l-global-navigation__top {
            display: none
        }

        .l-global-navigation .l-global-navigation__back-button {
            display: none
        }

        .l-global-navigation .l-global-navigation__layout {
            --local-layout-cols: 4;
            display: grid;
            grid-template-columns: repeat(var(--local-layout-cols), minmax(0, 1fr));
            gap: 16px;
            padding-block-end: 48px;
            margin-block-start: 24px
        }

        .l-global-navigation .l-global-navigation__layout[data-column-pc="3"] {
            --local-layout-cols: 3
        }

        .l-global-navigation .l-global-navigation__layout[data-column-pc="5"] {
            --local-layout-cols: 5
        }

        .l-global-navigation .l-global-navigation__layout[data-column-pc="6"] {
            --local-layout-cols: 6
        }

        .l-global-navigation .l-global-navigation__layout-item {
            gap: 16px
        }

        .l-global-navigation .l-global-navigation__link {
            font-size: 1.4em
        }

        .l-global-navigation .l-global-navigation-list {
            grid-template-columns: repeat(6, minmax(0, 1fr))
        }

        html:not([lang=ja]) .l-global-navigation .l-global-navigation-list {
            grid-template-columns: repeat(4, minmax(0, 1fr))
        }
    }

    @container header-container (min-width: 1200px) {
        .l-global-navigation .l-global-navigation__list {
            gap: clamp(32px, 4vw, 64px)
        }
    }

    .l-global-navigation-gallery {
        --local-gallery-cols: 2;
        --local-gallery-image-overlay: 0;
        display: grid;
        grid-template-columns: repeat(var(--local-gallery-cols), minmax(0, 1fr));
        gap: 24px 16px;
        padding-block: 24px;
        border-image-source: linear-gradient(var(--COLOR_BASE_LIGHT) 0 0);
        border-image-slice: fill 0;
        border-image-width: 1;
        border-image-outset: 0 100cqi
    }

    .l-global-navigation-gallery .l-global-navigation-gallery__item {
        display: flex;
        flex-direction: column-reverse;
        gap: 6px;
        justify-content: flex-end;
        color: inherit;
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-global-navigation-gallery .l-global-navigation-gallery__item:any-link:hover,
        .l-global-navigation-gallery .l-global-navigation-gallery__item:any-link:focus {
            --local-gallery-image-overlay: .3;
            color: var(--FONT_COLOR_LINK)
        }
    }

    .l-global-navigation-gallery .l-global-navigation-gallery__text {
        font-size: 1.2em
    }

    .l-global-navigation-gallery .l-global-navigation-gallery__media {
        position: relative
    }

    .l-global-navigation-gallery .l-global-navigation-gallery__media:before {
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        inline-size: 100%;
        block-size: 100%;
        content: "";
        background-color: var(--COLOR_PRIMARY_NAVY);
        opacity: var(--local-gallery-image-overlay);
        transition: opacity var(--TRANSITION)
    }

    .l-global-navigation-gallery .l-global-navigation-gallery__media-item {
        display: block;
        inline-size: 100%;
        block-size: 100%
    }

    @media(max-width:1019px) {
        .l-global-navigation-gallery {
            visibility: var(--local-lower-visibility);
            padding-block: 24px;
            padding-inline: 20px;
            opacity: var(--local-lower-opacity);
            transition: visibility var(--TRANSITION), opacity var(--TRANSITION)
        }

        .l-global-navigation__link-container+.l-global-navigation-gallery {
            padding-block-start: 0
        }
    }

    @media(min-width:1020px) {
        .l-global-navigation-gallery {
            --local-gallery-cols: 4;
            gap: 32px 20px;
            padding-block: 48px
        }
    }

    @media(max-width:1019px) {
        .l-global-navigation-category .l-global-navigation-category__button {
            display: flex;
            visibility: var(--local-lower-visibility);
            gap: 10px;
            align-items: center;
            justify-content: space-between;
            inline-size: 100%;
            padding-block: 20px;
            padding-inline: var(--local-header-gutter);
            font-size: 1.6em;
            text-align: start;
            border-block-end: 1px solid var(--COLOR_BORDER);
            opacity: var(--local-lower-opacity);
            transition: visibility var(--TRANSITION), opacity var(--TRANSITION)
        }

        .l-global-navigation-category .l-global-navigation-category__button:after {
            flex: 0 0 auto;
            inline-size: 9px;
            block-size: 15px;
            content: "";
            background-color: var(--COLOR_PRIMARY);
            mask-image: url(/assets/images/common/icon-arrow.svg);
            mask-repeat: no-repeat;
            mask-size: contain
        }

        .l-global-navigation-category .l-global-navigation-category__title {
            display: none
        }

        .l-global-navigation-category .l-global-navigation-category__container {
            position: absolute;
            inset-block-start: 0;
            inline-size: 100%;
            block-size: calc(100dvh - var(--HEADER_HEIGHT));
            content-visibility: hidden;
            background-color: var(--COLOR_BASE_LIGHT);
            opacity: 0;
            transform: translate(100%);
            transition: opacity var(--TRANSITION), transform var(--TRANSITION)
        }

        .l-global-navigation-category .l-global-navigation-category__container.is-lower-open {
            content-visibility: visible;
            opacity: 1;
            transform: translate(0)
        }

        .l-global-navigation-category .l-global-navigation-category__inner {
            display: flex;
            flex-direction: column;
            block-size: 100%;
            overflow-y: auto
        }
    }

    @media(min-width:1020px) {

        .l-global-navigation-category,
        .l-global-navigation-category .l-global-navigation-category__inner {
            display: contents
        }

        .l-global-navigation-category .l-global-navigation-category__button {
            display: none
        }

        .l-global-navigation-category .l-global-navigation-category__title {
            font-size: 1.4em;
            font-weight: var(--FONT_WEIGHT_BOLD);
            color: inherit;
            transition: color var(--TRANSITION)
        }
    }

    @media(min-width:1020px)and (hover:hover)and (min-width:760px) {

        .l-global-navigation-category .l-global-navigation-category__title:any-link:hover,
        .l-global-navigation-category .l-global-navigation-category__title:any-link:focus {
            color: var(--FONT_COLOR_LINK)
        }
    }

    @media(min-width:1020px) {
        .l-global-navigation-category .l-global-navigation-category__container {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin-block-start: 8px
        }
    }

    @media(scripting:none) {
        .l-global-navigation .l-global-navigation__list {
            flex-direction: column
        }

        .l-global-navigation .l-global-navigation__inner {
            overflow-y: revert;
            scrollbar-gutter: revert
        }

        .l-global-navigation .l-global-navigation__container {
            position: static;
            grid-template-rows: 1fr;
            block-size: auto;
            content-visibility: visible;
            opacity: 1;
            transform: revert
        }

        .l-global-navigation .l-global-navigation__button,
        .l-global-navigation .l-global-navigation__back-button,
        .l-global-navigation .l-global-navigation-category__button {
            display: none
        }

        .l-global-navigation .l-global-navigation-category__container {
            position: static;
            block-size: auto;
            content-visibility: visible;
            opacity: 1;
            transform: revert
        }
    }

    .l-main {
        display: grid;
        grid-area: main;
        grid-template-areas: "breadcrumb" "page-title" "content" "breadcrumb-foot";
        grid-template-rows: auto auto 1fr auto;
        inline-size: 100%;
        padding-block-start: var(--HEADER_HEIGHT, 120px)
    }

    .l-footer {
        position: relative;
        grid-area: footer;
        padding-block: 32px 24px;
        font-size: 10px;
        color: var(--COLOR_BASE_LIGHT);
        background-color: var(--COLOR_PRIMARY_NAVY)
    }

    html:has(.l-navigation-top.is-dlIndicate) .l-footer {
        border-block-start: 1px solid rgb(from var(--COLOR_PRIMARY_BLUE) r g b/30%)
    }

    .l-footer a:link {
        text-decoration: none
    }

    .l-footer .l-footer__category {
        display: flex;
        flex-wrap: wrap;
        gap: 24px 40px;
        justify-content: center;
        padding-inline: 16px
    }

    .l-footer .l-footer__category-link {
        font-size: 1.6em;
        color: inherit
    }

    @media(hover:hover)and (min-width:760px) {

        .l-footer .l-footer__category-link:any-link:hover,
        .l-footer .l-footer__category-link:any-link:focus {
            text-decoration: underline
        }
    }

    .l-footer .l-footer__utility {
        padding-inline: 10px;
        margin-block-start: 24px;
        border-block-start: 1px solid rgb(from var(--COLOR_PRIMARY_BLUE) r g b/30%)
    }

    .l-footer .l-footer__info {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        margin-block-start: 32px
    }

    .l-footer .l-footer__info-link {
        display: flex;
        column-gap: 16px;
        align-items: center;
        font-size: 1.2em;
        color: inherit
    }

    .l-footer .l-footer__info-link:after {
        display: block;
        inline-size: 1px;
        block-size: 21px;
        content: "";
        background-color: var(--COLOR_BASE_LIGHT)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-footer .l-footer__info-link:any-link:hover,
        .l-footer .l-footer__info-link:any-link:focus {
            text-decoration: underline
        }
    }

    .l-footer .l-footer__sns {
        display: flex;
        flex-direction: column;
        row-gap: 8px;
        align-items: center;
        margin-block-start: 32px
    }

    .l-footer .l-footer__sns-title {
        font-size: 1.6em
    }

    .l-footer .l-footer__sns-list {
        display: flex;
        gap: 20px
    }

    .l-footer .l-footer__sns-item {
        flex: 1
    }

    .l-footer .l-footer__branding {
        padding-inline: 10px;
        margin-block-start: 24px;
        border-block-start: 1px solid rgb(from var(--COLOR_PRIMARY_BLUE) r g b/30%)
    }

    .l-footer .l-footer__logo {
        display: block;
        max-inline-size: 300px;
        margin: 24px auto 0
    }

    .l-footer .l-footer__copyright {
        margin-block-start: 24px;
        font-size: 1em;
        text-align: center
    }

    @media(max-width:759px) {
        .l-footer .l-footer__sns-title {
            font-size: 1.4em
        }
    }

    @media(min-width:760px) {
        .l-footer {
            padding-block: 24px 16px
        }

        .l-footer .l-footer__category {
            column-gap: 80px;
            justify-content: center;
            max-inline-size: 1280px;
            padding-inline: 40px;
            margin-inline: auto
        }

        .l-footer .l-footer__category-link {
            font-size: 1.8em
        }

        .l-footer .l-footer__utility {
            padding-inline: 40px
        }

        .l-footer .l-footer__info {
            gap: 24px 40px;
            justify-content: center;
            max-inline-size: 1280px;
            margin-block-start: 40px;
            margin-inline: auto
        }

        .l-footer .l-footer__info-link:after {
            content: unset
        }

        .l-footer .l-footer__sns {
            row-gap: 16px;
            margin-block-start: 40px
        }

        .l-footer .l-footer__sns-title {
            line-height: 1.8
        }

        .l-footer .l-footer__sns-list {
            column-gap: 40px
        }

        .l-footer .l-footer__branding {
            margin-block-start: 40px
        }

        .l-footer .l-footer__logo {
            max-inline-size: 400px;
            margin-block-start: 32px
        }

        .l-footer .l-footer__copyright {
            margin-block-start: 32px;
            font-size: 1.2em
        }
    }

    .l-navigation-top {
        --local-background-color: var(--COLOR_PRIMARY_NAVY);
        --local-border-color: var(--COLOR_BASE_LIGHT);
        --local-button-size: 48px;
        position: fixed;
        inset-block-end: 20px;
        z-index: var(--Z_INDEX_OVERLAY);
        visibility: hidden;
        inline-size: 100%;
        block-size: var(--local-button-size);
        pointer-events: none;
        opacity: 0;
        transition: visibility var(--TRANSITION), opacity var(--TRANSITION)
    }

    .l-navigation-top.is-show {
        visibility: visible;
        opacity: 1
    }

    .l-navigation-top.is-scroll-end {
        position: absolute;
        inset-block-start: calc(var(--local-button-size) * -1)
    }

    .l-navigation-top.is-dlIndicate {
        inset-block-end: 110px
    }

    .l-navigation-top.is-dlIndicate.is-scroll-end {
        inset-block-start: calc(var(--local-button-size) * -1 - 122px)
    }

    .l-navigation-top .l-navigation-top__inner {
        position: relative;
        display: flex;
        justify-content: flex-end;
        padding-inline: 20px
    }

    .l-navigation-top .l-navigation-top__link {
        position: relative;
        inline-size: var(--local-button-size);
        block-size: var(--local-button-size);
        overflow: hidden;
        font-size: 1px;
        color: transparent;
        pointer-events: auto;
        background-color: var(--local-background-color);
        border: 1px solid var(--local-border-color);
        transition: background-color var(--TRANSITION), color var(--TRANSITION)
    }

    .l-navigation-top .l-navigation-top__link:before {
        position: absolute;
        inset: 0;
        display: block;
        inline-size: 17px;
        block-size: 17px;
        margin: auto;
        content: "";
        border-block-start: 1px solid var(--local-border-color);
        border-inline-end: 1px solid var(--local-border-color);
        transform: translateY(30%) rotate(-45deg);
        transition: border-block-start var(--TRANSITION), border-inline-end var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-navigation-top .l-navigation-top__link:hover,
        .l-navigation-top .l-navigation-top__link:focus {
            --local-background-color: var(--COLOR_BASE_LIGHT);
            --local-border-color: var(--COLOR_PRIMARY_NAVY)
        }
    }

    @media(min-width:760px) {
        .l-navigation-top.is-dlIndicate.is-scroll-end {
            inset-block-start: calc(var(--local-button-size) * -1 - 110px)
        }

        .l-navigation-top .l-navigation-top__inner {
            max-inline-size: 1360px;
            padding-inline: 40px;
            margin-inline: auto
        }
    }

    @media(scripting:none) {
        .l-navigation-top {
            visibility: visible;
            opacity: 1
        }
    }

    .l-svg {
        display: none
    }

    .l-breadcrumb {
        --local-button-size: 48px;
        display: none;
        grid-area: breadcrumb;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        gap: 20px;
        padding-block: 12px;
        background-color: var(--COLOR_BASE_LIGHT)
    }

    .l-breadcrumb--foot {
        display: grid;
        grid-area: breadcrumb-foot;
        max-inline-size: calc(100% - var(--local-button-size) - 20px)
    }

    .l-breadcrumb__list {
        display: flex;
        flex-wrap: wrap;
        grid-column: 2/3;
        gap: 8px
    }

    .l-breadcrumb__item {
        display: flex;
        gap: 8px;
        align-items: center
    }

    .l-breadcrumb__item:after {
        min-inline-size: 5px;
        min-block-size: 9px;
        content: "";
        background-image: url(/assets/images/common/icon-arrow.svg);
        background-repeat: no-repeat;
        background-size: contain
    }

    .l-breadcrumb__item:has([aria-current=page]):after {
        content: none
    }

    .l-breadcrumb__link {
        font-size: 1.2rem;
        color: var(--COLOR_DARK_GRAY);
        transition: color var(--TRANSITION)
    }

    .l-breadcrumb__link[aria-current=page] {
        color: var(--FONT_COLOR_BASE)
    }

    .l-breadcrumb__link[aria-current=page] :where(em) {
        font-weight: revert
    }

    @media(hover:hover)and (min-width:760px) {

        .l-breadcrumb__link:any-link:hover,
        .l-breadcrumb__link:any-link:focus {
            color: var(--FONT_COLOR_LINK);
            text-decoration: 1px underline var(--FONT_COLOR_LINK)
        }
    }

    @media(min-width:760px) {
        .l-breadcrumb {
            display: grid
        }

        .l-breadcrumb--foot {
            display: none
        }
    }

    .l-content {
        --local-content-padding: 40px;
        display: grid;
        grid-area: content;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        gap: 0 20px;
        container-type: inline-size
    }

    .l-content__outer {
        display: grid;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        grid-column: 1/-1;
        gap: 0 20px
    }

    .l-content__outer--blue {
        background-color: var(--COLOR_BACKGROUND_LIGHT_BLUE)
    }

    .l-content__outer+.l-content__outer {
        --local-content-padding: 64px
    }

    .l-content__inner {
        grid-column: 2/3;
        padding-block: var(--local-content-padding) 64px
    }

    @media(min-width:760px) {
        .l-content {
            --local-content-padding: 64px;
            gap: 0 40px
        }

        .l-content__outer {
            gap: 0 40px
        }

        .l-content__outer+.l-content__outer {
            --local-content-padding: 80px
        }

        .l-content__inner {
            padding-block: var(--local-content-padding) 80px
        }
    }

    .l-cms-section:not(:has(>:first-child[class])) {
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .l-content-layout {
        --local-content-width: 320px;
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        margin-block-start: 40px;
        container-name: content-layout-container;
        container-type: inline-size
    }

    .l-content-layout__content,
    .l-content-layout__navigation {
        inline-size: 100%
    }

    @container content-layout-container (min-width: 1020px) {
        .l-content-layout__content {
            flex: 2;
            min-inline-size: calc(var(--local-content-width) * 2)
        }

        .l-content-layout__navigation {
            flex: 1;
            min-inline-size: var(--local-content-width);
            max-inline-size: var(--local-content-width)
        }
    }

    .l-page-title {
        display: grid;
        grid-area: page-title;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        gap: 20px;
        overflow: clip
    }

    .l-page-title--background {
        position: relative;
        background: var(--COLOR_BACKGROUND_H1_GRADIENT)
    }

    .l-page-title--background:before {
        grid-row: 1/2;
        grid-column: 2/3;
        inline-size: 150px;
        block-size: 100%;
        margin-inline-start: auto;
        content: "";
        background-color: var(--COLOR_BACKGROUND_LIGHT_BLUE);
        opacity: .5;
        transform: translate(-30%) skew(-30deg)
    }

    .l-page-title--background :where(.l-page-title__inner) {
        padding-block-end: 40px
    }

    .l-page-title__inner {
        z-index: var(--Z_INDEX_UPPER_LAYER);
        grid-row: 1/2;
        grid-column: 2/3;
        padding-block-start: 64px
    }

    .l-page-title__heading {
        line-height: 1.5
    }

    .l-page-title__heading:after {
        display: block;
        inline-size: 100px;
        margin-block-start: 24px;
        content: "";
        border-block-start: 5px solid;
        border-image: var(--COLOR_BORDER_GRADIENT)
    }

    .l-page-title__title {
        font-size: 3.5rem
    }

    .l-page-title__sub-title {
        margin-block-start: 8px;
        font-size: 1.6rem
    }

    @media(min-width:760px) {
        .l-page-title {
            gap: 40px
        }

        .l-page-title--background:before {
            inline-size: 200px
        }

        .l-page-title--background :where(.l-page-title__inner) {
            padding-block-end: 80px
        }

        .l-page-title__inner {
            padding-block-start: 80px
        }

        .l-page-title__title {
            font-size: 5rem
        }

        .l-page-title__sub-title {
            font-size: 2rem
        }
    }

    .l-page-title-image {
        --local-angle: -30deg;
        --local-decoration-width: 150px;
        display: grid;
        grid-area: page-title;
        grid-template-columns: 1fr minmax(280px, 1280px) 1fr;
        gap: 20px;
        container-type: inline-size;
        overflow: clip;
        background: var(--COLOR_BACKGROUND_H1_GRADIENT)
    }

    .l-page-title-image__inner {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: 1/-1
    }

    .l-page-title-image__content {
        z-index: var(--Z_INDEX_UPPER_LAYER);
        padding-block: 40px
    }

    .l-page-title-image__title {
        font-size: 3.5rem;
        line-height: 1.5
    }

    .l-page-title-image__title:after {
        display: block;
        inline-size: 100px;
        margin-block-start: 24px;
        content: "";
        border-block-start: 5px solid;
        border-image: var(--COLOR_BORDER_GRADIENT)
    }

    .l-page-title-image__text {
        display: block;
        margin-block-start: 24px;
        font-size: 1.6rem
    }

    .l-page-title-image__image-item {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover
    }

    @media(max-width:819px) {
        .l-page-title-image__content {
            position: relative;
            grid-column: 2/3
        }

        .l-page-title-image__content:before {
            position: absolute;
            inset-block-start: 0;
            inset-inline-end: 0;
            z-index: var(--Z_INDEX_LOWER_LAYER);
            inline-size: var(--local-decoration-width);
            block-size: 100%;
            margin-inline-start: auto;
            content: "";
            background-color: var(--COLOR_BACKGROUND_LIGHT_BLUE);
            opacity: .5;
            transform: translate(-30%) skew(var(--local-angle))
        }

        .l-page-title-image__media {
            grid-row: 1;
            grid-column: 1/-1
        }
    }

    @media(min-width:820px) {
        .l-page-title-image {
            gap: 40px
        }

        .l-page-title-image__inner {
            grid-template-columns: 1fr var(--local-decoration-width) minmax(400px, calc(50cqi - var(--local-decoration-width)));
            grid-column: 2/-1
        }

        .l-page-title-image__content {
            grid-row: 1;
            grid-column: 1/3;
            padding-block: 64px
        }

        .l-page-title-image__title {
            font-size: 5rem
        }

        .l-page-title-image__media {
            position: relative;
            grid-row: 1;
            grid-column: 2/-1
        }

        .l-page-title-image__media:before {
            position: absolute;
            inset-inline-start: 0;
            inline-size: 100%;
            block-size: 100%;
            content: "";
            background-color: var(--COLOR_BACKGROUND_LIGHT_BLUE);
            opacity: .5;
            transform: skew(var(--local-angle));
            transform-origin: bottom
        }

        .l-page-title-image__image {
            position: relative;
            inset-inline-start: var(--local-decoration-width);
            inline-size: 100%;
            min-inline-size: 1100px;
            block-size: 100%;
            overflow: clip;
            transform: skew(var(--local-angle));
            transform-origin: bottom
        }

        .l-page-title-image__image-item {
            position: absolute;
            z-index: var(--Z_INDEX_UPPER_LAYER);
            object-position: left;
            transform: skew(calc(var(--local-angle) * -1));
            transform-origin: bottom
        }
    }

    .l-navigation {
        --local-link-color: var(--FONT_COLOR_BASE);
        --local-link-padding-base: 56px;
        --local-link-padding-step: 24px;
        --local-link-indent: var(--local-link-padding-base);
        --local-icon-height: 7px;
        --local-icon-width: 30px;
        --local-icon-color: var(--COLOR_PRIMARY);
        --local-icon-animation-position: -6px;
        --local-icon-start-position: 16px
    }

    .l-navigation__list {
        --local-background-color: var(--COLOR_BASE_LIGHT);
        border-block-end: 1px solid var(--COLOR_BORDER)
    }

    .l-navigation__list .l-navigation__list {
        --local-link-indent: calc(var(--local-link-padding-base) + var(--local-link-padding-step));
        --local-icon-start-position: 40px;
        border-block-end: none
    }

    .l-navigation__list .l-navigation__list .l-navigation__list {
        --local-link-indent: calc(var(--local-link-padding-base) + (var(--local-link-padding-step) * 2));
        --local-icon-start-position: 64px
    }

    .l-navigation__list .l-navigation__list:not(:has(.l-navigation__list)) {
        --local-background-color: var(--COLOR_BACKGROUND_BLUE)
    }

    .l-navigation__item {
        border-block-start: 1px solid var(--COLOR_BORDER)
    }

    .l-navigation__link {
        position: relative;
        display: block;
        padding-block: 16px;
        padding-inline: var(--local-link-indent) 16px;
        color: var(--local-link-color);
        background-color: var(--local-background-color);
        transition: color var(--TRANSITION)
    }

    .l-navigation__link--top {
        --local-link-color: var(--COLOR_BASE_LIGHT);
        --local-icon-color: var(--COLOR_BASE_LIGHT);
        --local-background-color: var(--COLOR_PRIMARY);
        font-weight: var(--FONT_WEIGHT_BOLD);
        transition: background-color var(--TRANSITION)
    }

    .l-navigation__link[aria-current=page] {
        --local-link-color: var(--COLOR_PRIMARY);
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .l-navigation__link:before {
        position: absolute;
        inset-block-start: calc((100% - var(--local-icon-height)) / 2);
        inset-inline-start: var(--local-icon-start-position);
        inline-size: var(--local-icon-width);
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-color: var(--local-icon-color);
        mask-image: url(/assets/images/common/icon-link-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: var(--local-icon-animation-position);
        mask-size: contain;
        transition: color var(--TRANSITION), mask-position var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-navigation__link:any-link:hover,
        .l-navigation__link:any-link:focus {
            --local-link-color: var(--FONT_COLOR_LINK);
            --local-icon-animation-position: 0
        }

        .l-navigation__link--top:any-link:hover,
        .l-navigation__link--top:any-link:focus {
            --local-link-color: var(--COLOR_BASE_LIGHT);
            --local-background-color: var(--COLOR_PRIMARY_NAVY)
        }

        .l-navigation__link[aria-current=page]:hover,
        .l-navigation__link[aria-current=page]:focus-visible {
            --local-link-color: var(--COLOR_PRIMARY_NAVY)
        }
    }

    .l-navigation-disclosure {
        --local-padding-base: 56px;
        --local-padding-step: 24px;
        --local-indent: var(--local-padding-base);
        --local-icon-size: 15px;
        --local-icon-start-position: 16px;
        --local-icon-rotate: 90deg;
        --local-content-height: 0;
        --local-content-visibility: hidden
    }

    .l-navigation-disclosure::-webkit-details-marker {
        display: none
    }

    .l-navigation-disclosure.is-open {
        --local-icon-rotate: 180deg;
        --local-content-height: fit-content;
        --local-content-visibility: visible
    }

    .l-navigation-disclosure .l-navigation-disclosure {
        --local-indent: calc(var(--local-padding-base) + var(--local-padding-step));
        --local-icon-start-position: 40px
    }

    .l-navigation-disclosure__title {
        --local-font-color: var(--FONT_COLOR_BASE);
        --local-icon-color: var(--COLOR_PRIMARY);
        --local-background-color: var(--COLOR_BASE_LIGHT);
        position: relative;
        padding-block: 16px;
        padding-inline: var(--local-indent) 16px;
        color: var(--local-font-color);
        background-color: var(--local-background-color);
        transition: background-color var(--TRANSITION), color var(--TRANSITION)
    }

    .l-navigation-disclosure__title:before,
    .l-navigation-disclosure__title:after {
        position: absolute;
        inset-block: 0;
        inset-inline-start: var(--local-icon-start-position);
        inline-size: var(--local-icon-size);
        block-size: 1px;
        margin-block: auto;
        content: "";
        background-color: var(--local-icon-color)
    }

    .l-navigation-disclosure__title:after {
        transform: rotate(var(--local-icon-rotate));
        transition: transform var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-navigation-disclosure__title:hover,
        .l-navigation-disclosure__title:focus-visible {
            --local-font-color: var(--COLOR_PRIMARY);
            --local-icon-color: var(--COLOR_PRIMARY)
        }
    }

    :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title,
    :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title {
        --local-font-color: var(--COLOR_PRIMARY);
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    @media(hover:hover)and (min-width:760px) {

        :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title:hover,
        :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title:focus-visible,
        :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title:hover,
        :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title:focus-visible {
            --local-font-color: var(--COLOR_PRIMARY_NAVY)
        }
    }

    :where(.l-navigation__list:not(:has(.l-navigation__link--top))) :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title,
    :where(.l-navigation__list:not(:has(.l-navigation__link--top))) :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title {
        --local-font-color: var(--COLOR_BASE_LIGHT);
        --local-icon-color: var(--COLOR_BASE_LIGHT);
        --local-background-color: var(--COLOR_PRIMARY)
    }

    @media(hover:hover)and (min-width:760px) {

        :where(.l-navigation__list:not(:has(.l-navigation__link--top))) :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title:hover,
        :where(.l-navigation__list:not(:has(.l-navigation__link--top))) :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title:focus-visible,
        :where(.l-navigation__list:not(:has(.l-navigation__link--top))) :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title:hover,
        :where(.l-navigation__list:not(:has(.l-navigation__link--top))) :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title:focus-visible {
            --local-background-color: var(--COLOR_PRIMARY_NAVY);
            --local-font-color: var(--COLOR_BASE_LIGHT);
            --local-icon-color: var(--COLOR_BASE_LIGHT)
        }
    }

    :where(.l-navigation-disclosure.l-navigation-disclosure) :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title,
    :where(.l-navigation-disclosure.l-navigation-disclosure) :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title {
        --local-font-color: var(--COLOR_PRIMARY);
        --local-icon-color: var(--COLOR_PRIMARY);
        --local-background-color: unset
    }

    @media(hover:hover)and (min-width:760px) {

        :where(.l-navigation-disclosure.l-navigation-disclosure) :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title:hover,
        :where(.l-navigation-disclosure.l-navigation-disclosure) :where(.l-navigation-disclosure:has(.l-navigation-disclosure__link[aria-current=page]))>.l-navigation-disclosure__title:focus-visible,
        :where(.l-navigation-disclosure.l-navigation-disclosure) :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title:hover,
        :where(.l-navigation-disclosure.l-navigation-disclosure) :where(.l-navigation-disclosure:has(.l-navigation__link[aria-current=page]))>.l-navigation-disclosure__title:focus-visible {
            --local-font-color: var(--COLOR_PRIMARY_NAVY);
            --local-icon-color: var(--COLOR_PRIMARY_NAVY);
            --local-background-color: unset
        }
    }

    .l-navigation-disclosure__container {
        block-size: var(--local-content-height);
        content-visibility: var(--local-content-visibility);
        overflow: hidden;
        transition: block-size var(--TRANSITION)
    }

    .l-navigation-disclosure__link {
        position: relative;
        display: block;
        padding-block: 16px;
        padding-inline: calc(var(--local-indent) + var(--local-padding-step)) 16px;
        color: var(--local-link-color);
        background-color: var(--COLOR_BASE_LIGHT);
        border-block-start: 1px solid var(--COLOR_BORDER);
        transition: color var(--TRANSITION)
    }

    .l-navigation-disclosure__link[aria-current=page] {
        --local-link-color: var(--COLOR_PRIMARY);
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .l-navigation-disclosure__link:before {
        position: absolute;
        inset-block-start: calc((100% - var(--local-icon-height)) / 2);
        inset-inline-start: calc(var(--local-icon-start-position) + var(--local-padding-step));
        inline-size: var(--local-icon-width);
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-color: var(--local-icon-color);
        mask-image: url(/assets/images/common/icon-link-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: var(--local-icon-animation-position);
        mask-size: contain;
        transition: color var(--TRANSITION), mask-position var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .l-navigation-disclosure__link:any-link:hover,
        .l-navigation-disclosure__link:any-link:focus {
            --local-link-color: var(--FONT_COLOR_LINK);
            --local-icon-animation-position: 0
        }

        .l-navigation-disclosure__link[aria-current=page]:hover,
        .l-navigation-disclosure__link[aria-current=page]:focus {
            --local-link-color: var(--COLOR_PRIMARY_NAVY)
        }
    }

    @media(scripting:none) {
        .l-navigation-disclosure[open] {
            --local-icon-rotate: 180deg;
            --local-content-height: fit-content;
            --local-content-visibility: visible
        }
    }
}

@layer modules {
    .m-form-search__input:focus {
        outline: Highlight solid 2px;
        outline: -webkit-focus-ring-color solid 2px
    }

    .m-panel-emphasis-layout__item>:first-child,
    .m-panel__aside>:first-child,
    .m-list-qa__answer-content>:first-child,
    .m-list-description__content>:first-child,
    .m-form>:first-child,
    .m-widget-tab-filter__container>:first-child,
    .m-widget-tabpanel>:first-child,
    .m-layout-media__content>:first-child,
    .m-layout-media__media>:first-child,
    .m-layout__item>:first-child,
    .m-box-accent-layout__item>:first-child,
    .m-box-accent__body>:first-child,
    .m-box__body>:first-child,
    .m-link-news__content>:first-child {
        margin-block-start: 0 !important
    }

    .m-panel-emphasis-layout__item>:last-child,
    .m-panel__aside>:last-child,
    .m-list-qa__answer-content>:last-child,
    .m-list-description__content>:last-child,
    .m-form>:last-child,
    .m-widget-tab-filter__container>:last-child,
    .m-widget-tabpanel>:last-child,
    .m-layout-media__content>:last-child,
    .m-layout-media__media>:last-child,
    .m-layout__item>:last-child,
    .m-box-accent-layout__item>:last-child,
    .m-box-accent__body>:last-child,
    .m-box__body>:last-child,
    .m-link-news__content>:last-child {
        margin-block-end: 0 !important
    }

    .m-table__scroll-guide-text,
    .m-widget-carousel__button-alt,
    .m-link-share__guide-text {
        position: absolute;
        inline-size: 1px;
        block-size: 1px;
        overflow: hidden;
        clip: rect(1px, 1px, 1px, 1px)
    }

    .m-icon {
        --local-icon-color: var(--COLOR_PRIMARY);
        position: relative;
        inset-block-start: -1px;
        display: inline-block;
        flex: 0 0 auto;
        block-size: 14px;
        margin-inline: 5px;
        vertical-align: middle;
        fill: var(--local-icon-color);
        transition: fill var(--TRANSITION)
    }

    .m-icon--external {
        inset-block-start: 0
    }

    .m-icon--currentColor {
        --local-icon-color: currentColor
    }

    .m-link {
        flex-direction: column;
        text-underline-offset: 2px;
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link:any-link:focus,
        .m-link:any-link:hover {
            color: var(--FONT_COLOR_LINK)
        }

        .m-link:any-link:focus :where(.m-link__text),
        .m-link:any-link:hover :where(.m-link__text) {
            text-decoration-color: transparent
        }
    }

    .m-link__text {
        display: inline-block;
        text-decoration: underline;
        text-decoration-color: var(--FONT_COLOR);
        transition: text-decoration-color var(--TRANSITION), color var(--TRANSITION)
    }

    .m-link-list {
        --local-grid-columns: auto;
        display: flex;
        flex-wrap: wrap
    }

    .m-link-list>* {
        flex: 0 0 auto;
        max-inline-size: 100%;
        block-size: 100%
    }

    .m-link-list[data-column-sp],
    .m-link-list[data-column-pc] {
        display: grid;
        grid-template-columns: repeat(var(--local-grid-columns), 1fr)
    }

    @media(max-width:759px) {
        .m-link-list {
            gap: 16px
        }

        .m-link-list[data-column-sp="2"] {
            --local-grid-columns: 2
        }

        .m-link-list[data-column-sp="3"] {
            --local-grid-columns: 3
        }

        .m-link-list[data-column-sp="4"] {
            --local-grid-columns: 4
        }
    }

    @media(min-width:760px) {
        .m-link-list {
            gap: 24px 40px
        }

        .m-link-list[data-column-pc="2"] {
            --local-grid-columns: 2
        }

        .m-link-list[data-column-pc="3"] {
            --local-grid-columns: 3
        }

        .m-link-list[data-column-pc="4"] {
            --local-grid-columns: 4
        }
    }

    .m-link-list {
        --local-link-padding: 32px;
        --local-icon-height: 7px;
        --local-icon-direction: 1 1;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-link-list :where(.m-link:not([download])) {
        position: relative;
        display: inline-flex;
        text-decoration: none
    }

    .m-link-list :where(.m-link:not([download])):any-link {
        padding-inline-start: var(--local-link-padding)
    }

    .m-link-list :where(.m-link:not([download])):any-link:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        scale: var(--local-icon-direction);
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link-list :where(.m-link:not([download])):any-link:hover,
        .m-link-list :where(.m-link:not([download])):any-link:focus {
            --local-icon-animation-position: 0
        }
    }

    .m-link-list :where(.m-link[download]) {
        position: relative;
        display: inline-flex;
        padding-inline-start: var(--local-link-padding);
        text-decoration: none
    }

    .m-link-list :where(.m-link[download]) .m-icon {
        position: absolute;
        inset-block-start: calc((1lh - 14px)/2);
        inset-inline-start: var(--local-icon-position)
    }

    .m-link-list :where(.m-link__text) {
        text-decoration: none
    }

    .m-link-list :where(.m-icon--pdf) {
        inset-block-start: 0
    }

    .m-link-list--back {
        --local-icon-direction: -1 1;
        --local-icon-position: -6px
    }

    .m-link-list .m-link-list {
        --local-grid-columns: auto;
        display: flex;
        flex-wrap: wrap
    }

    .m-link-list .m-link-list>* {
        flex: 0 0 auto;
        max-inline-size: 100%;
        block-size: 100%
    }

    .m-link-list .m-link-list[data-column-sp],
    .m-link-list .m-link-list[data-column-pc] {
        display: grid;
        grid-template-columns: repeat(var(--local-grid-columns), 1fr)
    }

    @media(max-width:759px) {
        .m-link-list .m-link-list {
            gap: 8px
        }

        .m-link-list .m-link-list[data-column-sp="2"] {
            --local-grid-columns: 2
        }

        .m-link-list .m-link-list[data-column-sp="3"] {
            --local-grid-columns: 3
        }

        .m-link-list .m-link-list[data-column-sp="4"] {
            --local-grid-columns: 4
        }
    }

    @media(min-width:760px) {
        .m-link-list .m-link-list {
            gap: 8px
        }

        .m-link-list .m-link-list[data-column-pc="2"] {
            --local-grid-columns: 2
        }

        .m-link-list .m-link-list[data-column-pc="3"] {
            --local-grid-columns: 3
        }

        .m-link-list .m-link-list[data-column-pc="4"] {
            --local-grid-columns: 4
        }
    }

    .m-link-list .m-link-list {
        flex-direction: column;
        margin-block-start: 8px;
        margin-inline-start: 24px
    }

    .m-link-list .m-link-list :where(.m-link) {
        font-size: 1.4rem
    }

    .m-link-list .m-link-list :where(.m-link):any-link {
        padding-inline-start: 18px
    }

    .m-link-list .m-link-list :where(.m-link):any-link:before {
        --local-icon-height: 10px;
        inset-inline-start: 4px;
        inline-size: 7px;
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    @media(min-width:760px) {
        .m-link-list {
            --local-link-padding: 40px
        }

        .m-link-list .m-link-list {
            margin-inline-start: 40px
        }
    }

    .m-link-news {
        margin-block-start: var(--MODULE_MARGIN_BASE);
        border-block-start: 1px solid var(--COLOR_BORDER)
    }

    :where(.m-widget-tab, .m-widget-tab-filter) .m-link-news {
        border-block-start: none
    }

    .m-link-news__item {
        padding-block: 16px;
        border-block-end: 1px solid var(--COLOR_BORDER)
    }

    .m-link-news__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 16px
    }

    .m-link-news__date {
        color: var(--COLOR_DARK_GRAY)
    }

    .m-link-news__content {
        margin-block-start: 8px
    }

    @media(max-width:759px) {
        .m-link-news__meta {
            flex-direction: column
        }
    }

    @media(min-width:760px) {
        .m-link-news__item {
            padding-block: 24px;
            padding-inline: 24px
        }
    }

    .m-link-share {
        display: flex;
        gap: 16px;
        align-items: center;
        margin-block-start: 40px
    }

    .m-link-share__list {
        display: flex;
        flex-wrap: wrap;
        gap: 32px
    }

    .m-link-share__image {
        display: block
    }

    @media(max-width:759px) {
        .m-link-share {
            flex-direction: column
        }

        .m-link-share__list {
            margin-inline-start: 8px
        }
    }

    @media(min-width:760px) {
        .m-link-share {
            margin-block-start: 64px
        }

        .m-link-share__text {
            position: relative;
            block-size: 100%;
            padding-inline-end: 8px
        }

        .m-link-share__text:after {
            --local-border-size: calc(100% - .5lh);
            position: absolute;
            inset-block-start: calc(var(--local-border-size) / 2);
            inset-inline-end: 0;
            inline-size: 1px;
            block-size: var(--local-border-size);
            content: "";
            background-color: var(--COLOR_BASE_DARK)
        }

        .m-link-share__list {
            gap: 24px
        }
    }

    .m-link-icon {
        margin-block-start: var(--MODULE_MARGIN_BASE);
        container-name: link-icon-container;
        container-type: inline-size
    }

    .m-link-icon__list {
        --local-link-min-width: 150px;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(var(--local-link-min-width), auto));
        row-gap: 16px
    }

    .m-link-icon__item {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        inline-size: 100%;
        padding-inline: 24px
    }

    .m-link-icon__item:first-child {
        padding-inline-start: 0
    }

    .m-link-icon__item:last-child {
        padding-inline-end: 0
    }

    .m-link-icon__item:not(:last-child):after {
        position: absolute;
        inset-inline-end: 0;
        inline-size: 1px;
        block-size: 32px;
        content: "";
        background-color: var(--COLOR_DARK_GRAY)
    }

    .m-link-icon__link {
        display: flex;
        flex-direction: row-reverse;
        gap: 8px 16px;
        align-items: center;
        justify-content: center;
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link-icon__link:any-link:hover,
        .m-link-icon__link:any-link:focus {
            color: var(--FONT_COLOR_LINK)
        }
    }

    @media(max-width:759px) {
        .m-link-icon__link {
            flex-direction: column-reverse
        }
    }

    @media(min-width:760px) {
        .m-link-icon__list {
            --local-link-min-width: 300px
        }
    }

    @container link-icon-container (max-width: 600px) {
        .m-link-icon__list {
            --local-link-min-width: 150px
        }
    }

    .m-link-anchor {
        display: grid;
        gap: 24px 16px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-link-anchor--media {
        margin-block-start: 40px
    }

    .m-link-anchor--tight {
        row-gap: 16px
    }

    .m-link-anchor--auto {
        display: flex;
        flex-wrap: wrap
    }

    .m-link-anchor__item {
        border-block-end: 1px solid var(--COLOR_PRIMARY)
    }

    :is(.m-link-anchor--media, .m-link-anchor--tight) .m-link-anchor__item {
        border-block-end: unset
    }

    .m-link-anchor__link {
        display: flex;
        flex-direction: column-reverse;
        row-gap: 4px;
        block-size: 100%;
        padding-block-end: 16px;
        transition: color var(--TRANSITION)
    }

    :is(.m-link-anchor--media, .m-link-anchor--tight) .m-link-anchor__link {
        padding-block-end: 0
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link-anchor__link:focus,
        .m-link-anchor__link:hover {
            color: var(--FONT_COLOR_LINK)
        }

        .m-link-anchor__link:focus .m-link-anchor__media:before,
        .m-link-anchor__link:hover .m-link-anchor__media:before {
            opacity: .3
        }
    }

    .m-link-anchor__text {
        display: flex;
        column-gap: 12px;
        align-items: center;
        block-size: 100%;
        padding-inline-start: 4px;
        line-height: 1.5
    }

    .m-link-anchor__text:before {
        flex-shrink: 0;
        inline-size: 15px;
        block-size: 15px;
        content: "";
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: contain;
        rotate: 90deg
    }

    :is(.m-link-anchor--media, .m-link-anchor--tight) .m-link-anchor__text {
        align-items: baseline
    }

    .m-link-anchor__media {
        position: relative
    }

    .m-link-anchor__media:before {
        position: absolute;
        inset: 0;
        inline-size: 100%;
        block-size: 100%;
        content: "";
        background-color: var(--COLOR_PRIMARY_NAVY);
        opacity: 0;
        transition: opacity var(--TRANSITION)
    }

    @media(max-width:759px) {
        .m-link-anchor:where(:not(.m-link-anchor--tight))[data-column-sp="2"] {
            grid-template-columns: repeat(2, 1fr)
        }
    }

    @media(min-width:760px) {
        .m-link-anchor {
            gap: 32px 20px
        }

        .m-link-anchor[data-column-pc] {
            grid-template-columns: repeat(var(--local-grid-columns), 1fr)
        }

        .m-link-anchor[data-column-pc="2"] {
            --local-grid-columns: 2
        }

        .m-link-anchor[data-column-pc="3"] {
            --local-grid-columns: 3
        }

        .m-link-anchor[data-column-pc="4"] {
            --local-grid-columns: 4
        }

        .m-link-anchor--tight {
            row-gap: 24px
        }

        .m-link-anchor__link {
            row-gap: 8px;
            font-size: 1.8rem
        }
    }

    .m-link-list-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-block-start: 12px
    }

    .m-link-list-row__item {
        position: relative;
        padding-inline-end: 10px;
        font-size: 1.4rem
    }

    .m-link-list-row__item:after {
        --local-border-size: calc(100% - .6em);
        position: absolute;
        inset-block-start: calc((100% - var(--local-border-size)) / 2);
        inset-inline-end: 0;
        inline-size: 1px;
        block-size: var(--local-border-size);
        content: "";
        background-color: var(--COLOR_BASE_DARK)
    }

    .m-link-list-row__link {
        transition: color var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link-list-row__link:focus,
        .m-link-list-row__link:hover {
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-link-category {
        --local-icon-height: 7px;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        display: grid;
        row-gap: 16px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-link-category :where(.m-link) {
        position: relative;
        display: flex;
        flex-direction: column-reverse;
        gap: 4px 16px;
        align-items: baseline;
        padding-inline-start: 36px
    }

    .m-link-category :where(.m-link):before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: 0;
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link-category :where(.m-link):any-link:hover,
        .m-link-category :where(.m-link):any-link:focus {
            --local-icon-animation-position: 0
        }
    }

    .m-link-category :where(.m-link__text) {
        margin-block: auto;
        text-decoration: none
    }

    @media(min-width:760px) {
        .m-link-category {
            row-gap: 24px;
            container-type: inline-size
        }

        .m-link-category :where(.m-link) {
            display: grid;
            grid-template-columns: 150px auto;
            padding-inline-start: 40px
        }

        .m-link-category :where(.m-link):not(:has(.m-badge)) {
            grid-template-columns: auto
        }

        .m-link-category :is(.m-badge) {
            inline-size: 100%;
            min-block-size: 2.88rem;
            line-height: 1.2
        }

        .m-link-category__item {
            inline-size: fit-content
        }
    }

    .m-link-top {
        margin-block-start: 24px;
        text-align: end
    }

    .m-link-top__link {
        display: inline-flex;
        column-gap: 8px;
        align-items: baseline;
        font-size: 1.4rem
    }

    @media(hover:hover)and (min-width:760px) {

        .m-link-top__link:any-link:focus,
        .m-link-top__link:any-link:hover {
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-link-top__link:before {
        flex-shrink: 0;
        inline-size: 5px;
        block-size: 9px;
        content: "";
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: contain;
        rotate: -90deg
    }

    @media(min-width:760px) {
        .m-link-top {
            margin-block-start: 40px
        }
    }

    .m-badge {
        display: flex;
        align-items: center;
        justify-content: center;
        inline-size: fit-content;
        min-inline-size: 80px;
        min-block-size: 21px;
        padding-block-end: 1px;
        padding-inline: 10px;
        font-size: 1.2rem;
        font-weight: var(--FONT_WEIGHT);
        line-height: 1.5;
        color: var(--FONT_COLOR_LINK);
        text-align: center;
        background-color: var(--COLOR_BASE_LIGHT);
        border: 1px solid currentColor
    }

    @media(min-width:760px) {
        .m-badge {
            min-inline-size: 100px;
            min-block-size: 24px;
            padding-inline: 16px;
            font-size: 1.4rem
        }
    }

    .m-badge-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px
    }

    .m-badge-list__item {
        display: flex;
        align-items: center;
        justify-content: center
    }

    @media(min-width:760px) {
        .m-badge-list {
            gap: 8px 16px
        }
    }

    .m-box {
        --local-box-background: var(--COLOR_BACKGROUND_BLUE);
        --local-box-border: transparent;
        --local-box-title-color: var(--COLOR_PRIMARY_NAVY);
        --local-box-title-size: 2rem;
        --local-module-margin-nest: var(--MODULE_MARGIN_NEST);
        display: flex;
        flex-direction: column;
        gap: 16px;
        justify-content: center;
        padding-block: 20px;
        padding-inline: 20px;
        margin-block-start: var(--MODULE_MARGIN_BASE);
        background-color: var(--local-box-background);
        border: 1px solid var(--local-box-border)
    }

    :where(.m-layout) .m-box {
        block-size: 100%
    }

    .m-box--border {
        --local-box-background: var(--COLOR_BASE_LIGHT);
        --local-box-border: var(--COLOR_PRIMARY);
        --local-box-title-color: var(--FONT_COLOR_BASE)
    }

    .m-box--emphasis {
        --local-box-background: var(--COLOR_BASE_LIGHT);
        --local-box-border: var(--FONT_COLOR_STRONG);
        --local-box-title-color: var(--FONT_COLOR_STRONG);
        --local-box-title-size: 2.4rem
    }

    .m-box__title {
        inline-size: fit-content;
        margin-inline: auto;
        font-size: var(--local-box-title-size);
        line-height: 1.5;
        color: var(--local-box-title-color)
    }

    .m-box__title--left {
        margin-inline: 0
    }

    .m-box__body>[class^=m-] {
        margin-block-start: var(--local-module-margin-nest)
    }

    @media(min-width:760px) {
        .m-box {
            --local-box-title-size: 2.4rem;
            gap: 24px;
            padding-block: 24px;
            padding-inline: 24px
        }

        .m-box--emphasis {
            --local-box-title-size: 2.8rem;
            padding-block: 40px;
            padding-inline: 40px
        }

        .m-box--compact-margin {
            --local-module-margin-nest: 16px
        }
    }

    .m-box-accent-layout {
        --local-content-width: 300px;
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        margin-block-start: 40px;
        container: box-layout-container/inline-size
    }

    .m-box-accent-layout__item {
        inline-size: 100%
    }

    @container box-layout-container (min-width: 960px) {
        .m-box-accent-layout__item {
            flex: 1;
            min-inline-size: var(--local-content-width)
        }

        .m-box-accent-layout__item[data-flex-pc="2"] {
            flex: 2;
            min-inline-size: calc(var(--local-content-width) * 2)
        }
    }

    .m-box-accent {
        --local-box-gutter: 16px;
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding-block: 32px;
        padding-inline: var(--local-box-gutter);
        margin-block-start: var(--MODULE_MARGIN_BASE);
        background-color: var(--COLOR_BASE_LIGHT);
        box-shadow: 0 -4px 24px rgb(from var(--COLOR_BASE_DARK) r g b/8%)
    }

    :where(.m-layout, .m-box-accent-layout) .m-box-accent {
        block-size: 100%
    }

    .m-box-accent:before {
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: var(--local-box-gutter);
        inline-size: 64px;
        block-size: 4px;
        content: "";
        background-color: var(--COLOR_PRIMARY)
    }

    .m-box-accent__title {
        font-size: 2.2rem;
        line-height: 1.5;
        color: var(--COLOR_PRIMARY_NAVY)
    }

    .m-box-accent__body>[class^=m-] {
        margin-block-start: 24px
    }

    @media(min-width:760px) {
        .m-box-accent {
            --local-box-gutter: 40px
        }

        .m-box-accent__title {
            font-size: 2.4rem
        }
    }

    .m-text {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-text__item {
        flex: 0 0 auto;
        font-size: 1.6rem
    }

    @media(min-width:760px) {
        .m-text {
            gap: 24px
        }
    }

    .m-text-small {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-block-start: 24px
    }

    .m-text-small__item {
        flex: 0 0 auto;
        font-size: 1.2rem
    }

    .m-text-lead {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-text-lead__item {
        flex: 0 0 auto;
        font-size: 2rem
    }

    @media(min-width:760px) {
        .m-text-lead {
            gap: 24px
        }
    }

    .m-media {
        --local-overlay-opacity: 0;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-media__wrap {
        display: grid;
        gap: 8px;
        inline-size: fit-content;
        max-inline-size: 960px;
        margin-inline: auto
    }

    .m-media--end .m-media__wrap {
        margin-inline-end: 0
    }

    .m-media__wrap:any-link {
        position: relative
    }

    .m-media__wrap:any-link:before {
        position: absolute;
        inset: 0;
        inline-size: 100%;
        block-size: 100%;
        content: "";
        background-color: var(--COLOR_PRIMARY_NAVY);
        opacity: var(--local-overlay-opacity);
        transition: opacity var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-media__wrap:any-link:hover,
        .m-media__wrap:any-link:focus {
            --local-overlay-opacity: .3
        }
    }

    .m-media__title,
    .m-media__caption {
        display: inline-flex;
        justify-content: center;
        min-inline-size: 100%;
        contain: inline-size;
        font-size: 1.2rem
    }

    .m-media__title :where(sup),
    .m-media__caption :where(sup) {
        inset-block-start: .2em
    }

    .m-media__title :where(sub),
    .m-media__caption :where(sub) {
        inset-block-end: -1em
    }

    .m-media__title {
        grid-area: auto/1/-1
    }

    .m-media__item {
        grid-area: 1/1
    }

    .m-media-map {
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-media-map__iframe {
        inline-size: 100%;
        block-size: 100%;
        aspect-ratio: 16/9
    }

    @media(min-width:760px) {
        .m-media-map {
            max-inline-size: 960px;
            margin-inline: auto
        }
    }

    .m-media-external {
        display: flex;
        flex-direction: column-reverse;
        gap: 8px;
        max-inline-size: 960px;
        margin-block-start: var(--MODULE_MARGIN_BASE);
        margin-inline: auto;
        vertical-align: top
    }

    .m-media-external__caption {
        display: inline-flex;
        min-inline-size: 100%;
        contain: inline-size;
        font-size: 1.6rem;
        line-height: 1.5
    }

    .m-media-external__caption :where(sup) {
        inset-block-start: .2em
    }

    .m-media-external__caption :where(sub) {
        inset-block-end: -1em
    }

    .m-media-external__link {
        --local-link-padding: 32px;
        --local-icon-height: 7px;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        position: relative;
        padding-inline-start: var(--local-link-padding);
        transition: color var(--TRANSITION)
    }

    .m-media-external__link:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-media-external__link:any-link:hover,
        .m-media-external__link:any-link:focus {
            --local-icon-animation-position: 0;
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-media-external__media {
        position: relative;
        inset-block-start: 0;
        inset-inline-start: 0;
        inline-size: 100%;
        block-size: 100%;
        aspect-ratio: 16/9;
        border: 0
    }

    .m-media-external--custom .m-media-external__media {
        block-size: var(--iframe-height, 100%);
        aspect-ratio: auto
    }

    @media(min-width:760px) {
        .m-media-external {
            --local-link-padding: 40px
        }

        .m-media-external__caption {
            font-size: 1.8rem
        }
    }

    .m-layout {
        --local-grid-columns: auto;
        display: flex;
        flex-wrap: wrap
    }

    .m-layout>* {
        flex: 0 0 auto;
        max-inline-size: 100%;
        block-size: 100%
    }

    .m-layout[data-column-sp],
    .m-layout[data-column-pc] {
        display: grid;
        grid-template-columns: repeat(var(--local-grid-columns), 1fr)
    }

    @media(max-width:759px) {
        .m-layout {
            gap: 24px 16px
        }

        .m-layout[data-column-sp="2"] {
            --local-grid-columns: 2
        }

        .m-layout[data-column-sp="3"] {
            --local-grid-columns: 3
        }

        .m-layout[data-column-sp="4"] {
            --local-grid-columns: 4
        }
    }

    @media(min-width:760px) {
        .m-layout {
            gap: 32px 20px
        }

        .m-layout[data-column-pc="2"] {
            --local-grid-columns: 2
        }

        .m-layout[data-column-pc="3"] {
            --local-grid-columns: 3
        }

        .m-layout[data-column-pc="4"] {
            --local-grid-columns: 4
        }
    }

    .m-layout {
        margin-block-start: 40px
    }

    .m-layout--spacious {
        margin-block-start: 64px
    }

    .m-layout__item {
        --local-grid-tracks: 1;
        min-inline-size: 0
    }

    .m-layout__item[data-grid-track-sp],
    .m-layout__item[data-grid-track-pc] {
        grid-column: span var(--local-grid-tracks)
    }

    @media(max-width:759px) {
        .m-layout__item[data-grid-track-sp="2"] {
            --local-grid-tracks: 2
        }

        .m-layout__item[data-grid-track-sp="3"] {
            --local-grid-tracks: 3
        }

        .m-layout__item[data-grid-track-sp="4"] {
            --local-grid-tracks: 4
        }
    }

    @media(min-width:760px) {
        .m-layout__item[data-grid-track-pc="2"] {
            --local-grid-tracks: 2
        }

        .m-layout__item[data-grid-track-pc="3"] {
            --local-grid-tracks: 3
        }

        .m-layout__item[data-grid-track-pc="4"] {
            --local-grid-tracks: 4
        }
    }

    @media(min-width:760px) {
        .m-layout--spacious {
            margin-block-start: 80px
        }
    }

    .m-layout-media {
        --local-layout-gap: 24px 16px;
        display: flex;
        gap: var(--local-layout-gap);
        margin-block-start: 40px
    }

    .m-layout-media__content {
        flex: 1;
        min-inline-size: calc(50% - var(--local-layout-gap) / 2)
    }

    .m-layout-media__content>[class^=m-] {
        margin-block-start: var(--MODULE_MARGIN_NEST)
    }

    @media(max-width:759px) {
        .m-layout-media--rowReverseSP {
            flex-direction: row-reverse
        }

        .m-layout-media--columnSP {
            flex-direction: column
        }

        .m-layout-media--columnReverseSP {
            flex-direction: column-reverse
        }
    }

    @media(min-width:760px) {
        .m-layout-media {
            --local-layout-gap: 20px
        }

        .m-layout-media--cols-2 :where(.m-layout-media__media) {
            min-inline-size: calc(50% - var(--local-layout-gap) / 2)
        }

        .m-layout-media--cols-2 :where(.m-media__wrap) {
            inline-size: auto
        }

        .m-layout-media--cols-2 :where(img) {
            inline-size: 100%
        }

        .m-layout-media--rowReversePC {
            flex-direction: row-reverse
        }

        .m-layout-media--columnPC {
            flex-direction: column
        }

        .m-layout-media--columnReversePC {
            flex-direction: column-reverse
        }
    }

    .m-button--previous:before,
    .m-button:after {
        flex-shrink: 0;
        inline-size: 30px;
        block-size: 7px;
        overflow-x: clip;
        content: "";
        mask-image: url(/assets/images/common/icon-link-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: var(--local-button-icon-position);
        mask-size: contain;
        transition: mask-position var(--TRANSITION)
    }

    .m-button {
        --local-button-color: var(--COLOR_PRIMARY);
        --local-button-icon-position: -6px;
        --local-button-icon-color: var(--COLOR_BASE_LIGHT);
        display: inline-flex;
        column-gap: 16px;
        align-items: center;
        justify-content: space-between;
        padding-block: 16px;
        padding-inline: 24px 16px;
        font-weight: var(--FONT_WEIGHT_BOLD);
        line-height: 1.5;
        color: var(--COLOR_BASE_LIGHT);
        background-color: var(--local-button-color);
        transition: background-color var(--TRANSITION)
    }

    :where(.m-layout[data-column-sp], .m-layout[data-column-pc]) .m-button {
        inline-size: 100%
    }

    .m-button:after {
        background-color: var(--local-button-icon-color)
    }

    .m-button[target=_blank]:after,
    .m-button[href$=".pdf"]:after,
    .m-button[download]:after {
        content: none
    }

    .m-button[target=_blank] :where(.m-icon),
    .m-button[href$=".pdf"] :where(.m-icon),
    .m-button[download] :where(.m-icon) {
        --local-icon-color: var(--local-button-icon-color);
        inset-block-start: 2px
    }

    .m-button--contact:before {
        inline-size: 27px;
        block-size: 18px;
        content: "";
        background-image: url(/assets/images/common/icon-mail.svg);
        background-repeat: no-repeat;
        background-size: contain
    }

    :where(.u-catalogue-download-conductor) .m-button {
        --local-border-color: transparent;
        flex: 0 0 auto;
        block-size: fit-content;
        border: 1px solid var(--local-border-color);
        transition: background-color var(--TRANSITION), border var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-button:hover,
        .m-button:focus {
            --local-button-color: var(--COLOR_PRIMARY_NAVY);
            --local-button-icon-position: 0
        }

        :where(.u-catalogue-download-conductor) .m-button:hover,
        :where(.u-catalogue-download-conductor) .m-button:focus {
            --local-border-color: currentColor
        }
    }

    .m-button--download:after {
        inline-size: 22px;
        block-size: 24px;
        mask-image: url(/assets/images/common/icon-catalog.svg);
        mask-position: left top
    }

    .m-button--previous {
        padding-inline-start: 16px;
        font-weight: 400;
        color: var(--COLOR_PRIMARY);
        background-color: var(--COLOR_BASE_LIGHT);
        border: 1px solid var(--COLOR_PRIMARY)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-button--previous:hover,
        .m-button--previous:focus {
            background-color: var(--COLOR_BACKGROUND_BLUE)
        }
    }

    .m-button--previous:after {
        display: none
    }

    .m-button--previous:before {
        background-color: var(--COLOR_PRIMARY);
        scale: -1 1
    }

    .m-widget-tab {
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-widget-tablist {
        display: flex;
        justify-content: flex-start;
        inline-size: 100%;
        margin-block-start: 24px;
        overflow-x: auto;
        border-block-end: 1px solid var(--COLOR_BORDER)
    }

    .m-widget-tablist__item {
        flex-shrink: 0
    }

    .m-widget-tablist__control {
        --local-tab-border-color: transparent;
        --local-tab-color: var(--FONT_COLOR_BASE);
        position: relative;
        display: block;
        padding-block: 10px 16px;
        padding-inline: 24px;
        font-size: 1.4rem;
        line-height: 1.5
    }

    .m-widget-tablist__control:after {
        position: absolute;
        inset-block-end: 0;
        inset-inline-start: 0;
        display: block;
        inline-size: 100%;
        block-size: 4px;
        content: "";
        background-color: var(--local-tab-border-color);
        transition: background-color var(--TRANSITION)
    }

    .m-widget-tablist__control[aria-selected=true] {
        --local-tab-border-color: var(--COLOR_PRIMARY);
        font-weight: var(--FONT_WEIGHT_BOLD);
        color: var(--COLOR_PRIMARY)
    }

    @media(min-width:760px) {
        .m-widget-tablist__control {
            padding-block: 12px 20px
        }
    }

    @media(hover:hover)and (min-width:760px) {

        .m-widget-tablist__control:hover,
        .m-widget-tablist__control:focus {
            --local-tab-border-color: var(--COLOR_PRIMARY)
        }
    }

    .m-widget-tabpanels {
        margin-block-start: 24px
    }

    .m-widget-tabpanels>:first-child>:first-child+*:is(.m-widget-tab),
    .m-widget-tabpanels>:first-child>:first-child {
        margin-block-start: 24px
    }

    .m-widget-tabpanel[aria-hidden=true] {
        display: none
    }

    .m-widget-tab--child .m-widget-tablist {
        flex-wrap: wrap;
        gap: 8px;
        border-block-end: none
    }

    .m-widget-tab--child .m-wideget-tablis__item {
        flex-shrink: initial
    }

    .m-widget-tab--child .m-widget-tablist__control {
        padding-block: 12px;
        padding-inline: 16px;
        color: var(--COLOR_PRIMARY);
        border: 1px solid var(--COLOR_PRIMARY);
        transition: background-color var(--TRANSITION), color var(--TRANSITION)
    }

    .m-widget-tab--child .m-widget-tablist__control:after {
        all: revert
    }

    .m-widget-tab--child .m-widget-tablist__control[aria-selected=true] {
        color: var(--COLOR_BASE_LIGHT);
        background-color: var(--COLOR_PRIMARY)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-widget-tab--child .m-widget-tablist__control:hover,
        .m-widget-tab--child .m-widget-tablist__control:focus {
            color: var(--COLOR_BASE_LIGHT);
            background-color: var(--COLOR_PRIMARY)
        }
    }

    @media(scripting:none) {
        .m-widget-tab .m-widget-tablist__control[aria-selected] {
            font-weight: 400;
            color: var(--FONT_COLOR_BASE)
        }

        .m-widget-tab .m-widget-tablist__control[aria-selected]:after {
            background-color: var(--COLOR_BASE_LIGHT)
        }
    }

    @media(scripting:none)and (hover:hover)and (min-width:760px) {

        .m-widget-tab .m-widget-tablist__control[aria-selected]:hover,
        .m-widget-tab .m-widget-tablist__control[aria-selected]:focus {
            font-weight: var(--FONT_WEIGHT_BOLD);
            color: var(--COLOR_PRIMARY)
        }

        .m-widget-tab .m-widget-tablist__control[aria-selected]:hover:after,
        .m-widget-tab .m-widget-tablist__control[aria-selected]:focus:after {
            background-color: var(--COLOR_PRIMARY)
        }
    }

    @media(scripting:none) {
        .m-widget-tab--child .m-widget-tablist__control[aria-selected] {
            font-weight: 400;
            background-color: var(--COLOR_BASE_LIGHT)
        }
    }

    @media(scripting:none)and (hover:hover)and (min-width:760px) {

        .m-widget-tab--child .m-widget-tablist__control[aria-selected]:hover,
        .m-widget-tab--child .m-widget-tablist__control[aria-selected]:focus {
            font-weight: var(--FONT_WEIGHT_BOLD);
            color: var(--COLOR_BASE_LIGHT);
            background-color: var(--COLOR_PRIMARY)
        }
    }

    @media(scripting:none) {
        .m-widget-tabpanel[aria-hidden] {
            display: block
        }
    }

    @media(min-width:760px) {
        .m-widget-tablist__control {
            padding-block: 12px 20px
        }

        .m-widget-tabpanels {
            margin-block-start: 40px
        }

        .m-widget-tabpanels>:first-child>:first-child+*:is(.m-widget-tab),
        .m-widget-tabpanels>:first-child>:first-child {
            margin-block-start: 40px
        }
    }

    .m-widget-tab-filter {
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-widget-tab-filter__controller {
        margin-inline: calc(50% - 50cqi);
        overflow-x: auto
    }

    .m-widget-tab-filter__tab-list {
        display: flex;
        justify-content: flex-start;
        inline-size: 100%;
        min-inline-size: max-content;
        border-block-end: 1px solid var(--COLOR_BORDER)
    }

    .m-widget-tab-filter__tab {
        --local-tab-border-color: transparent;
        --local-tab-color: var(--FONT_COLOR_BASE);
        position: relative;
        flex-shrink: 0;
        padding-block: 10px 16px;
        padding-inline: 24px;
        font-size: 1.4rem;
        line-height: 1.5;
        color: var(--local-tab-color)
    }

    .m-widget-tab-filter__tab:after {
        position: absolute;
        inset-block-end: 0;
        inset-inline-start: 0;
        display: block;
        inline-size: 100%;
        block-size: 4px;
        content: "";
        background-color: var(--local-tab-border-color);
        transition: background-color var(--TRANSITION)
    }

    .m-widget-tab-filter__tab[aria-pressed=true] {
        --local-tab-color: var(--COLOR_PRIMARY);
        --local-tab-border-color: var(--COLOR_PRIMARY);
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-widget-tab-filter__tab:hover,
        .m-widget-tab-filter__tab:focus {
            --local-tab-border-color: var(--COLOR_PRIMARY)
        }
    }

    .m-widget-tab-filter__container:not(:has(.m-link-news)) {
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-widget-tab-filter__item.is-hidden,
    .m-widget-tab-filter-error.is-hidden {
        display: none
    }

    @media(max-width:759px) {
        .m-widget-tab-filter__tab-list {
            margin-inline: 20px
        }
    }

    @media(min-width:760px) {
        .m-widget-tab-filter__controller {
            margin-inline: auto
        }

        .m-widget-tab-filter__tab {
            padding-block: 12px 20px
        }
    }

    @media(scripting:none) {
        .m-widget-tab-filter__controller {
            display: none
        }
    }

    .m-widget-carousel {
        margin-block-start: 40px;
        overflow-x: hidden
    }

    @media(scripting:none) {
        .m-widget-carousel {
            overflow: visible
        }
    }

    .m-widget-carousel__inner {
        padding-block-end: 2px
    }

    @media(scripting:none) {
        .m-widget-carousel__inner {
            overflow: visible
        }
    }

    @media(scripting:none) {
        .m-widget-carousel__wrapper {
            display: block
        }
    }

    .m-widget-carousel__slide {
        block-size: auto;
        min-block-size: 350px
    }

    @media(min-width:760px) {
        .m-widget-carousel__slide {
            min-block-size: 400px
        }
    }

    @media(scripting:none) {
        .m-widget-carousel__slide {
            flex-direction: column
        }
    }

    .m-widget-carousel__control {
        display: flex;
        gap: 10px 24px;
        align-items: center;
        justify-content: right;
        margin-block-start: 16px
    }

    @media(min-width:760px) {
        .m-widget-carousel__control {
            padding-inline: 0
        }
    }

    .m-widget-carousel__pagination {
        position: relative;
        inset-block-end: unset;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        inline-size: auto
    }

    .m-widget-carousel__navigation {
        display: flex;
        gap: 24px;
        justify-content: space-between;
        min-inline-size: 51px
    }

    @media(scripting:none) {
        .m-widget-carousel__navigation {
            display: none
        }
    }

    .m-widget-carousel__pagination-item {
        --local-color: var(--COLOR_DARK_GRAY);
        inline-size: 16px;
        block-size: 16px;
        overflow: hidden;
        color: transparent;
        background: radial-gradient(circle, var(--local-color) 0 3px, transparent 3px 100%);
        opacity: 1
    }

    .m-widget-carousel__pagination-item.swiper-pagination-bullet-active {
        --local-color: var(--COLOR_PRIMARY);
        position: relative;
        border: 1px solid var(--local-color)
    }

    .m-widget-carousel__button {
        position: relative;
        inline-size: 8px;
        block-size: 13px
    }

    .m-widget-carousel__button:before {
        flex-shrink: 0;
        inline-size: 100%;
        block-size: 100%;
        content: "";
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    .m-widget-carousel__button.swiper-button-prev:before {
        scale: -1 1
    }

    .m-widget-carousel__button.swiper-button-play-pause {
        inline-size: 10px
    }

    .m-widget-carousel__button.swiper-button-play-pause.is-playing {
        border-inline: 2px solid var(--COLOR_PRIMARY)
    }

    .m-widget-carousel__button.swiper-button-play-pause.is-paused {
        background-color: var(--COLOR_PRIMARY);
        clip-path: polygon(0 0, 0 100%, 100% 50%)
    }

    .m-widget-carousel--destroy .m-widget-carousel__inner {
        inline-size: 100%
    }

    .m-widget-carousel--destroy .m-widget-carousel__control {
        display: none
    }

    @media(min-width:760px) {
        .m-widget-carousel--destroy {
            overflow: visible
        }

        .m-widget-carousel--destroy .m-widget-carousel__wrapper {
            column-gap: 20px
        }

        .m-widget-carousel--destroy .m-widget-carousel__slide {
            flex: 1;
            max-inline-size: 33%
        }
    }

    .m-form-label {
        font-size: 1.4rem
    }

    .m-form-select {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 8px 24px;
        align-items: center;
        inline-size: 100%;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-form-select__item {
        position: relative
    }

    .m-form-select__item:after {
        position: absolute;
        inset-block: 0;
        inset-inline-end: 18px;
        inline-size: 9px;
        block-size: 16px;
        margin-block: auto;
        content: "";
        background-color: var(--COLOR_PRIMARY_NAVY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-position: center;
        mask-size: contain;
        transform: rotate(90deg)
    }

    .m-form-select__select {
        inline-size: 100%;
        padding-block: 10px 12px;
        padding-inline: 18px 48px;
        line-height: 1.5;
        white-space: normal;
        border: 1px solid var(--COLOR_PRIMARY_NAVY)
    }

    @media(max-width:759px) {
        .m-form-select {
            flex-direction: column;
            align-items: start
        }

        .m-form-select__item {
            inline-size: 100%
        }
    }

    .m-form-search {
        display: flex;
        inline-size: 100%;
        background-color: var(--COLOR_BASE_LIGHT);
        border: 1px solid var(--COLOR_PRIMARY_NAVY)
    }

    .m-form-search__input {
        inline-size: 100%;
        padding-block: 16px;
        padding-inline: 16px;
        border: none
    }

    .m-form-search__input:placeholder-shown {
        color: #9e9e9e
    }

    .m-form-search__submit {
        position: relative;
        block-size: fit-content;
        padding-block: 16px;
        padding-inline: 16px;
        margin-block: auto
    }

    .m-form-search__submit:before {
        position: absolute;
        inset-block: auto;
        inset-inline-start: 0;
        display: block;
        inline-size: 1px;
        block-size: 16px;
        content: "";
        background-color: var(--COLOR_PRIMARY_NAVY)
    }

    .m-form-search__submit-image {
        display: block;
        min-inline-size: 16px;
        aspect-ratio: 1/1
    }

    .m-form {
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-list {
        --local-list-gap: 8px;
        display: grid;
        row-gap: var(--local-list-gap);
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-list__item {
        position: relative;
        padding-inline-start: 16px
    }

    .m-list__item:before {
        --local-list-bullet-size: 6px;
        position: absolute;
        inset-block-start: calc((1lh - var(--local-list-bullet-size)) / 2);
        inset-inline-start: 0;
        display: block;
        inline-size: var(--local-list-bullet-size);
        block-size: var(--local-list-bullet-size);
        content: "";
        background-color: var(--COLOR_PRIMARY)
    }

    .m-list__item>[class^=m-] {
        margin-block-start: var(--MODULE_MARGIN_NEST)
    }

    .m-list__item>[class^=m-list],
    .m-list__item>.m-link-list {
        margin-block-start: var(--local-list-gap)
    }

    .m-list__item>.m-list__text {
        margin-block-start: 0
    }

    .m-list-number {
        --local-list-gap: 8px;
        display: grid;
        grid-template-columns: auto 1fr;
        row-gap: var(--local-list-gap);
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-list-number :where([class^=m-]:not([class^=m-list-number])) {
        grid-column-end: -1
    }

    :where(.m-list-number__item) .m-list-number {
        grid-column-end: -1;
        margin-inline-start: -10px
    }

    .m-list-number__item {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: 1/-1;
        column-gap: 10px
    }

    .m-list-number__item>[class^=m-] {
        margin-block-start: var(--MODULE_MARGIN_NEST)
    }

    .m-list-number__item>[class^=m-list],
    .m-list-number__item>.m-link-list {
        margin-block-start: var(--local-list-gap)
    }

    .m-list-number__item>:is(.m-list-number__mark, .m-list-number__text) {
        margin-block-start: 0
    }

    .m-list-note {
        --local-list-gap: 8px;
        display: grid;
        grid-template-columns: fit-content(30%) 1fr;
        gap: var(--local-list-gap);
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-list-note .m-list-note {
        grid-column-end: -1
    }

    .m-list-note__item {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: 1/-1
    }

    .m-list-note__item>[class^=m-]:not([class^=m-list-note__]) {
        margin-block-start: var(--MODULE_MARGIN_NEST)
    }

    .m-list-note__item>[class^=m-list]:not([class^=m-list-note__]),
    .m-list-note__item>.m-link-list {
        margin-block-start: var(--local-list-gap)
    }

    .m-list-note__mark {
        font-size: 1.4rem
    }

    .m-list-note__mark:before {
        content: "("
    }

    .m-list-note__mark:after {
        content: ")"
    }

    .m-list-note__text {
        font-size: 1.4rem
    }

    .m-list-description {
        --local-list-gap: 16px;
        display: grid;
        gap: var(--local-list-gap);
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-list-description__title {
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .m-list-description__content>[class^=m-] {
        margin-block-start: var(--MODULE_MARGIN_NEST)
    }

    .m-list-description__content>[class^=m-list],
    .m-list-description__content>.m-link-list {
        margin-block-start: var(--local-list-gap)
    }

    @media(min-width:760px) {
        .m-list-description--row {
            grid-template-columns: fit-content(50%) auto
        }

        .m-list-description--row :where(.m-list-description__item) {
            display: grid;
            grid-template-columns: subgrid;
            grid-column: 1/-1;
            column-gap: 24px
        }

        .m-list-description--row :where(.m-list-description__title) {
            grid-column-start: 1
        }

        .m-list-description--row :where(.m-list-description__content) {
            grid-column-end: -1
        }
    }

    .m-list-qa {
        --local-icon-size: 35px;
        margin-block-start: 40px;
        border-block-start: 1px solid var(--COLOR_BORDER)
    }

    .m-list-qa__item {
        padding-block: 24px;
        border-block-end: 1px solid var(--COLOR_BORDER)
    }

    .m-list-qa__question,
    .m-list-qa__answer {
        display: flex;
        column-gap: 8px
    }

    .m-list-qa__question-icon,
    .m-list-qa__answer-icon {
        flex: 0 0 auto;
        inline-size: var(--local-icon-size);
        block-size: var(--local-icon-size);
        font-size: 1.8rem;
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .m-list-qa__question-icon {
        color: var(--FONT_COLOR_LIGHT);
        text-align: center;
        background-color: var(--COLOR_PRIMARY)
    }

    .m-list-qa__question-title {
        margin-block-start: calc((var(--local-icon-size) - 1lh) / 2);
        font-size: 1.6rem;
        font-weight: var(--FONT_WEIGHT)
    }

    .m-list-qa__answer {
        margin-block-start: 16px
    }

    .m-list-qa__answer-icon {
        color: var(--COLOR_PRIMARY);
        text-align: center;
        background-color: var(--COLOR_BASE_LIGHT);
        border: 1px solid var(--COLOR_PRIMARY)
    }

    .m-list-qa__answer-content {
        margin-block-start: calc((var(--local-icon-size) - 1lh) / 2)
    }

    .m-list-qa__answer-content>[class^=m-] {
        margin-block-start: var(--MODULE_MARGIN_NEST)
    }

    @media(min-width:760px) {
        .m-list-qa {
            --local-icon-size: 40px
        }

        .m-list-qa__question,
        .m-list-qa__answer {
            column-gap: 16px
        }

        .m-list-qa__question-icon,
        .m-list-qa__answer-icon {
            padding-block-start: 2px
        }
    }

    .m-list-chronology {
        --local-text-gap: 50px;
        margin-block-start: 40px
    }

    .m-list-chronology__item {
        padding-block: 16px
    }

    .m-list-chronology__inner {
        inline-size: 100%
    }

    .m-list-chronology__inner>:first-child {
        margin-block-start: 0
    }

    .m-list-chronology__year,
    .m-list-chronology__month {
        font-size: 1.8rem;
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .m-list-chronology__group {
        display: flex;
        flex-direction: column;
        row-gap: 16px
    }

    .m-list-chronology__group-item {
        display: flex;
        flex-direction: column;
        gap: 4px 24px
    }

    .m-list-chronology__head {
        display: grid
    }

    .m-list-chronology__badge {
        inline-size: fit-content;
        min-inline-size: 80px;
        min-block-size: 21px;
        padding-inline: 10px;
        font-size: 1.2rem;
        line-height: 1.5;
        color: var(--FONT_COLOR_LINK);
        text-align: center;
        background-color: var(--COLOR_BASE_LIGHT);
        border: 1px solid currentColor
    }

    .m-list-chronology__body :first-child {
        margin-block-start: 0
    }

    .m-list-chronology__body>:where([class^=m-]) {
        margin-block-start: 8px
    }

    .m-list-chronology__text {
        margin-block-start: 0
    }

    @media(max-width:759px) {
        .m-list-chronology__item {
            border-block-end: 1px solid var(--COLOR_BORDER)
        }

        .m-list-chronology__item:first-child {
            border-block-start: 1px solid var(--COLOR_BORDER)
        }

        .m-list-chronology__group {
            margin-block-start: 8px
        }

        .m-list-chronology__inner:not(:has(.m-list-chronology__year)) .m-list-chronology__group {
            margin-block-start: 9px
        }

        .m-list-chronology__group+.m-list-chronology__head {
            margin-block-start: 16px
        }
    }

    @media(min-width:760px) {
        .m-list-chronology {
            --local-year-area: minmax(62px, auto);
            display: grid;
            grid-template-columns: var(--local-year-area, auto) var(--local-month-area, auto) var(--local-text-gap) fit-content(30%) 1fr
        }

        .m-list-chronology:has(.m-list-chronology__month) {
            --local-month-area: minmax(40px, auto)
        }

        .m-list-chronology__item {
            --local-item-padding: 20px;
            position: relative;
            display: grid;
            grid-template-columns: subgrid;
            grid-column: 1/-1;
            row-gap: 16px;
            padding-block: var(--local-item-padding)
        }

        .m-list-chronology__item:before {
            position: absolute;
            inset-block: var(--local-item-padding);
            inset-inline: 24px;
            display: block;
            grid-column: 3/4;
            inline-size: 1px;
            block-size: calc(100% - var(--local-item-padding) * 2);
            content: "";
            background-color: var(--COLOR_BORDER)
        }

        .m-list-chronology__inner {
            display: contents
        }

        .m-list-chronology__year {
            grid-column: 1/2
        }

        .m-list-chronology__group {
            display: grid;
            grid-template-columns: subgrid;
            grid-column: 4/-1
        }

        .m-list-chronology__group-item {
            display: grid;
            grid-template-columns: subgrid;
            grid-column: 1/-1
        }

        .m-list-chronology__head {
            grid-template-columns: subgrid;
            grid-column: span 2
        }

        .m-list-chronology__month {
            grid-column-end: -1;
            text-align: center
        }

        .m-list-chronology__badge {
            position: relative;
            inset-block-start: 3px;
            inline-size: 100%;
            min-inline-size: 100px;
            block-size: fit-content;
            min-block-size: 24px;
            padding-inline: 16px;
            font-size: 1.4rem
        }

        .m-list-chronology__body {
            display: flex;
            flex-direction: column;
            grid-column: 1/-1;
            justify-content: flex-start;
            text-align: start
        }

        .m-list-chronology__badge+.m-list-chronology__body {
            grid-column: 2
        }
    }

    .m-navigation-local {
        display: grid;
        gap: 40px 20px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-navigation-local__link {
        --local-icon-height: 7px;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        position: relative;
        display: block;
        padding-block-end: 8px;
        padding-inline-start: 36px;
        border-block-end: 1px solid var(--COLOR_BORDER);
        transition: color var(--TRANSITION)
    }

    .m-navigation-local__link:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-navigation-local__link:any-link:hover,
        .m-navigation-local__link:any-link:focus {
            --local-icon-animation-position: 0;
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-navigation-local__detail {
        --local-gap: 16px;
        display: flex;
        flex-direction: column;
        row-gap: var(--local-gap);
        margin-block-start: var(--local-gap)
    }

    .m-navigation-local__detail-link {
        display: flex;
        column-gap: 8px;
        align-items: baseline;
        padding-inline-start: 3px;
        font-size: 1.4rem;
        transition: color var(--TRANSITION)
    }

    .m-navigation-local__detail-link:before {
        flex-shrink: 0;
        inline-size: 7px;
        block-size: 10px;
        content: "";
        background-color: var(--COLOR_PRIMARY);
        mask-image: url(/assets/images/common/icon-arrow.svg);
        mask-repeat: no-repeat;
        mask-size: contain
    }

    @media(hover:hover)and (min-width:760px) {

        .m-navigation-local__detail-link:any-link:focus,
        .m-navigation-local__detail-link:any-link:hover {
            color: var(--FONT_COLOR_LINK)
        }
    }

    @media(min-width:760px) {
        .m-navigation-local {
            grid-template-columns: repeat(auto-fill, minmax(196px, auto))
        }

        .m-navigation-local__link {
            padding-inline-start: 40px
        }
    }

    .m-panel {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-panel__body {
        --local-icon-height: 7px;
        --local-icon-position: 0;
        --local-icon-animation-position: -6px;
        --local-column-gap: 20px;
        --local-title-color: inherit;
        --local-overlay-opacity: 0;
        display: flex;
        flex-direction: column-reverse;
        gap: 8px var(--local-column-gap)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-panel__body:any-link:hover,
        .m-panel__body:any-link:focus {
            --local-icon-animation-position: 0;
            --local-title-color: var(--FONT_COLOR_LINK);
            --local-overlay-opacity: .3
        }
    }

    .m-panel__title {
        position: relative;
        display: block;
        padding-inline-start: 36px;
        font-size: 1.6rem;
        font-weight: var(--FONT_WEIGHT_BOLD);
        line-height: 1.5;
        color: var(--local-title-color);
        transition: color var(--TRANSITION)
    }

    .m-panel__title:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2 - 1px);
        inset-inline-start: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    .m-panel__title--large {
        font-size: 1.8rem
    }

    .m-panel__date {
        display: block;
        margin-block-start: 8px;
        font-size: 1.4rem;
        color: var(--COLOR_DARK_GRAY);
        text-align: end
    }

    .m-panel__text {
        margin-block-start: 8px
    }

    .m-panel__media {
        position: relative
    }

    .m-panel__media:before {
        position: absolute;
        inset: 0;
        inline-size: 100%;
        block-size: 100%;
        content: "";
        background-color: var(--COLOR_PRIMARY_NAVY);
        opacity: var(--local-overlay-opacity);
        transition: opacity var(--TRANSITION)
    }

    .m-panel__media-item {
        inline-size: 100%
    }

    @media(max-width:759px) {
        .m-panel__text {
            font-size: 1.4rem
        }
    }

    @media(min-width:760px) {
        .m-panel--rowReversePC .m-panel__body {
            flex-direction: row-reverse
        }

        .m-panel--rowReversePC .m-panel__content {
            display: flex;
            flex: 1;
            flex-direction: column;
            justify-content: center;
            min-inline-size: calc((100% - var(--local-column-gap)) / 2)
        }

        .m-panel__title {
            padding-inline-start: 40px;
            font-size: 1.8rem
        }

        .m-panel__title--large {
            font-size: 2rem
        }

        .m-panel__text {
            font-size: 1.6rem
        }
    }

    .m-panel-simple {
        --local-icon-height: 7px;
        --local-icon-position: 6px;
        --local-icon-animation-position: -6px;
        position: relative;
        display: flex;
        flex-direction: row-reverse;
        block-size: 100%;
        background-color: #f0f0f0;
        transition: background-color var(--TRANSITION)
    }

    .m-panel-simple:before {
        position: absolute;
        inset-block-end: 16px;
        inset-inline-end: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    .m-panel-simple--columnReverse {
        flex-direction: column-reverse;
        min-block-size: 300px
    }

    @media(hover:hover)and (min-width:760px) {

        .m-panel-simple:any-link:hover,
        .m-panel-simple:any-link:focus {
            --local-icon-animation-position: 0;
            background-color: var(--COLOR_BACKGROUND_BLUE)
        }
    }

    .m-panel-simple__content {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
        padding: 32px 16px
    }

    .m-panel-simple--columnReverse .m-panel-simple__content {
        justify-content: flex-start;
        block-size: 188px;
        padding: 16px 24px 32px
    }

    .m-panel-simple__date {
        display: inline-block;
        margin-block-end: 5px;
        font-size: 1.2rem;
        line-height: 1;
        color: var(--COLOR_DARK_GRAY)
    }

    .m-panel-simple__title {
        margin-block-end: 16px;
        font-weight: var(--FONT_WEIGHT_BOLD);
        line-height: 1.5
    }

    .m-panel-simple__text {
        font-size: 1.4rem;
        line-height: 1.5
    }

    .m-panel-simple__media {
        --local-media-size: 125px;
        inline-size: var(--local-media-size);
        background-color: var(--COLOR_BASE_LIGHT);
        border: 1px solid #ccc
    }

    .m-panel-simple--columnReverse .m-panel-simple__media {
        --local-media-size: 176px;
        inline-size: 100%;
        block-size: var(--local-media-size)
    }

    .m-panel-simple--media-wide .m-panel-simple__media {
        --local-media-size: 162px
    }

    .m-panel-simple__media-item {
        inline-size: 100%;
        block-size: 100%;
        object-fit: contain
    }

    @media(min-width:760px) {
        .m-panel-simple--columnReverse {
            min-block-size: 350px
        }

        .m-panel-simple__date {
            font-size: 1.4rem
        }

        .m-panel-simple__text {
            font-size: 1.6rem
        }

        .m-panel-simple__title {
            font-size: 1.8rem
        }

        .m-panel-simple__media {
            --local-media-size: 131px
        }

        .m-panel-simple--columnReverse .m-panel-simple__media {
            --local-media-size: 217px
        }

        .m-panel-simple--media-wide .m-panel-simple__media {
            --local-media-size: 250px
        }
    }

    .m-panel-simple-layout {
        display: grid;
        gap: 24px 16px;
        margin-block-start: 40px
    }

    .m-panel-simple-layout>.m-panel-simple {
        margin-block-start: 0
    }

    .m-panel-simple-layout--spacious {
        margin-block-start: 64px
    }

    @media(min-width:760px) {
        .m-panel-simple-layout {
            grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
            gap: 24px 20px;
            align-items: flex-start
        }

        .m-panel-simple-layout--spacious {
            margin-block-start: 80px
        }
    }

    .m-panel-emphasis {
        --local-box-margin-inline: 20px;
        display: flex;
        flex-direction: column-reverse;
        margin-block-start: 40px
    }

    .m-panel-emphasis__content {
        --local-icon-height: 7px;
        --local-icon-position: 18px;
        --local-icon-animation-position: -6px;
        position: relative;
        display: flex;
        flex-direction: column;
        row-gap: 16px;
        align-items: center;
        inline-size: 100%;
        max-inline-size: calc(100% - var(--local-box-margin-inline) * 2);
        padding: 24px 16px 40px;
        margin-block-start: -20px;
        margin-inline: auto;
        background-color: var(--COLOR_BASE_LIGHT);
        box-shadow: 0 -4px 24px rgb(from var(--COLOR_BASE_DARK) r g b/12%);
        transition: box-shadow var(--TRANSITION)
    }

    .m-panel-emphasis__content:before {
        position: absolute;
        inset-block-end: 24px;
        inset-inline-end: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-panel-emphasis__content:any-link:hover,
        .m-panel-emphasis__content:any-link:focus {
            --local-icon-animation-position: 0;
            box-shadow: none
        }

        .m-panel-emphasis__content:any-link:hover .m-panel-emphasis__text,
        .m-panel-emphasis__content:any-link:focus .m-panel-emphasis__text {
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-panel-emphasis__title {
        font-size: 2.4rem;
        line-height: 1.5;
        color: var(--COLOR_PRIMARY_NAVY);
        text-align: center
    }

    .m-panel-emphasis__text {
        transition: color var(--TRANSITION)
    }

    .m-panel-emphasis__media {
        block-size: 186px
    }

    .m-panel-emphasis__media-item {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover
    }

    @media(min-width:760px) {
        .m-panel-emphasis {
            --local-box-margin-inline: 64px
        }

        .m-panel-emphasis__content {
            --local-icon-position: 24px;
            row-gap: 24px;
            padding: 40px;
            margin-block-start: -64px
        }

        .m-panel-emphasis__media {
            block-size: 354px
        }
    }

    .m-panel-emphasis-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 40px 16px;
        margin-block-start: 40px
    }

    @media(min-width:960px) {
        .m-panel-emphasis-layout {
            grid-template-columns: repeat(2, 1fr);
            gap: 40px 20px
        }
    }

    .m-panel-profile {
        display: flex;
        flex-flow: row-reverse;
        column-gap: 16px;
        justify-content: left;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-panel-profile-title__ruby {
        display: block;
        font-size: 1rem
    }

    .m-panel-profile-title__text {
        display: block;
        font-size: 2.4rem;
        font-weight: var(--FONT_WEIGHT_BOLD)
    }

    .m-panel-profile__text {
        font-size: 1.4rem
    }

    .m-panel-profile-title+.m-panel-profile__text {
        margin-block-start: 4px
    }

    .m-panel-profile__content {
        flex: 1
    }

    .m-panel-profile__media {
        flex-shrink: 0;
        inline-size: 100px
    }

    @media(min-width:760px) {
        .m-panel-profile {
            column-gap: 40px;
            align-items: center
        }

        .m-panel-profile-title__ruby {
            font-size: 1.2rem
        }

        .m-panel-profile-title__text {
            font-size: 2.8rem
        }

        .m-panel-profile__text {
            font-size: 1.6rem
        }

        .m-panel-profile__media {
            inline-size: 150px
        }
    }

    .m-panel-purpose {
        --local-box-margin-inline: 20px;
        display: flex;
        flex-direction: column-reverse;
        margin-block-start: var(--MODULE_MARGIN_BASE)
    }

    .m-panel-purpose__content {
        --local-icon-height: 7px;
        --local-icon-position: 18px;
        --local-icon-animation-position: -6px;
        position: relative;
        display: flex;
        flex-direction: column;
        row-gap: 16px;
        align-items: center;
        inline-size: 100%;
        max-inline-size: calc(100% - var(--local-box-margin-inline) * 2);
        padding: 24px 16px 40px;
        margin-block-start: -20px;
        margin-inline: auto;
        background-color: var(--COLOR_BASE_LIGHT);
        box-shadow: 0 -4px 24px rgb(from var(--COLOR_BASE_DARK) r g b/12%);
        transition: box-shadow var(--TRANSITION)
    }

    .m-panel-purpose__content:before {
        position: absolute;
        inset-block-end: 24px;
        inset-inline-end: var(--local-icon-position);
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-panel-purpose__content:any-link:hover,
        .m-panel-purpose__content:any-link:focus {
            --local-icon-animation-position: 0;
            box-shadow: none
        }

        .m-panel-purpose__content:any-link:hover .m-panel-purpose__text,
        .m-panel-purpose__content:any-link:focus .m-panel-purpose__text {
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-panel-purpose__title {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 2.4rem;
        line-height: 1.5;
        color: var(--COLOR_PRIMARY_NAVY)
    }

    .m-panel-purpose__text {
        transition: color var(--TRANSITION)
    }

    .m-panel-purpose__media {
        block-size: 186px
    }

    .m-panel-purpose__media-item {
        inline-size: 100%;
        block-size: 100%;
        object-fit: cover
    }

    @media(min-width:760px) {
        .m-panel-purpose {
            position: relative;
            padding-block-end: 25px
        }

        .m-panel-purpose__content {
            position: absolute;
            inset-block-end: 0;
            inset-inline-end: 0;
            row-gap: 24px;
            max-inline-size: calc(50% - 10px);
            padding: 40px 64px
        }

        .m-panel-purpose__title {
            flex-direction: row;
            flex-wrap: wrap;
            column-gap: 6px
        }

        .m-panel-purpose__media {
            inline-size: 84%;
            block-size: 320px
        }
    }

    .m-heading-level4 {
        margin-block-start: var(--MODULE_MARGIN_BASE);
        font-size: 2rem;
        line-height: 1.5;
        color: var(--FONT_COLOR_BASE)
    }

    .m-heading-level4+* {
        margin-block-start: 16px
    }

    @media(min-width:760px) {
        .m-heading-level4 {
            font-size: 2.4rem
        }

        .m-heading-level4+* {
            margin-block-start: 24px
        }
    }

    .m-heading-level3 {
        padding-inline-start: 16px;
        margin-block-start: 40px;
        font-size: 2.4rem;
        line-height: 1.5;
        color: var(--FONT_COLOR_BASE);
        border-inline-start: 5px solid var(--COLOR_PRIMARY)
    }

    .m-heading-level3+* {
        margin-block-start: 24px
    }

    .m-heading-level3__title,
    .m-heading-level3__subtitle {
        display: block
    }

    .m-heading-level3__subtitle+.m-heading-level3__title {
        margin-block-start: 4px
    }

    .m-heading-level3__subtitle {
        font-size: 1.4rem;
        color: var(--FONT_COLOR_BASE)
    }

    @media(min-width:760px) {
        .m-heading-level3 {
            margin-block-start: 64px;
            font-size: 2.8rem
        }

        .m-heading-level3+* {
            margin-block-start: 32px
        }

        .m-heading-level3__subtitle {
            font-size: 1.6rem
        }
    }

    .m-heading-level2 {
        margin-block-start: 64px;
        font-size: 2.8rem;
        line-height: 1.5;
        color: var(--COLOR_PRIMARY_NAVY)
    }

    .m-heading-level2+* {
        margin-block-start: 32px
    }

    .m-heading-level2__link {
        --local-icon-height: 7px;
        --local-icon-animation-position: -6px;
        position: relative;
        display: inline-flex;
        padding-inline-start: 36px;
        text-decoration: none;
        transition: color var(--TRANSITION)
    }

    .m-heading-level2__link:before {
        position: absolute;
        inset-block-start: calc((1lh - var(--local-icon-height)) / 2);
        inset-inline-start: 0;
        inline-size: 30px;
        block-size: var(--local-icon-height);
        overflow-x: clip;
        content: "";
        background-image: url(/assets/images/common/icon-link-arrow.svg);
        background-repeat: no-repeat;
        background-position-x: var(--local-icon-animation-position);
        background-size: contain;
        transition: background-position-x var(--TRANSITION)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-heading-level2__link:any-link:hover,
        .m-heading-level2__link:any-link:focus {
            --local-icon-animation-position: 0;
            color: var(--FONT_COLOR_LINK)
        }
    }

    .m-heading-level2__title,
    .m-heading-level2__subtitle {
        display: block
    }

    .m-heading-level2__subtitle+.m-heading-level2__title {
        margin-block-start: 8px
    }

    .m-heading-level2__subtitle {
        font-size: 1.8rem;
        color: var(--FONT_COLOR_BASE)
    }

    @media(min-width:760px) {
        .m-heading-level2 {
            margin-block-start: 80px;
            font-size: 3.5rem
        }

        .m-heading-level2+* {
            margin-block-start: 40px
        }

        .m-heading-level2__link {
            padding-inline-start: 40px
        }

        .m-heading-level2__subtitle {
            font-size: 2rem
        }
    }

    .m-table {
        margin-block-start: 40px
    }

    .m-table__legend {
        padding-block-end: 8px;
        font-size: 1.4rem
    }

    .m-table__table {
        inline-size: 100%;
        table-layout: fixed;
        background-color: var(--COLOR_BASE_LIGHT);
        border-block-start: 1px solid var(--COLOR_BORDER_DARK);
        border-inline-start: 1px solid var(--COLOR_BORDER_DARK)
    }

    .m-table__cell {
        padding: 16px;
        text-align: start;
        border-block-end: 1px solid var(--COLOR_BORDER_DARK);
        border-inline-end: 1px solid var(--COLOR_BORDER_DARK)
    }

    .m-table__cell>[class^=m-] {
        row-gap: 16px;
        margin-block-start: 16px
    }

    .m-table__cell>:first-child {
        margin-block-start: 0
    }

    .m-table__cell>:last-child {
        margin-block-end: 0
    }

    .m-table__cell--head {
        color: var(--COLOR_BASE_LIGHT);
        text-align: start;
        background-color: var(--COLOR_PRIMARY_NAVY)
    }

    .m-table__cell--head>[class^=m-]:not(.m-link) {
        margin-block-start: 16px;
        font-weight: var(--FONT_WEIGHT)
    }

    .m-table__cell--head [class^=m-link]:before {
        filter: brightness(0) invert(1)
    }

    @media(hover:hover)and (min-width:760px) {

        .m-table__cell--head [class^=m-link]:any-link:focus,
        .m-table__cell--head [class^=m-link]:any-link:hover {
            color: var(--COLOR_BASE_LIGHT)
        }
    }

    .m-table__cell--emphasis:not(.m-table__head) {
        background-color: var(--COLOR_BACKGROUND_BLUE)
    }

    @media(max-width:759px) {
        .m-table--columnSP :where(.m-table__table, .m-table__head, .m-table__body, .m-table__row, .m-table__cell) {
            display: block;
            inline-size: 100%
        }

        .m-table--scroll {
            position: relative;
            overflow: auto
        }

        .m-table--scroll:before {
            position: absolute;
            inset: 0;
            z-index: var(--Z_INDEX_UPPER_LAYER);
            display: none;
            inline-size: 230px;
            block-size: 53px;
            margin: auto;
            content: "";
            background-image: url(/assets/images/common/icon-scroll.webp);
            background-repeat: no-repeat;
            background-size: contain;
            opacity: 0;
            transition: opacity var(--TRANSITION), display var(--TRANSITION) allow-discrete
        }

        html[lang^=en] .m-table--scroll:before {
            background-image: url(/assets/images/common/icon-scroll-en.webp)
        }

        html[lang^=cn] .m-table--scroll:before {
            background-image: url(/assets/images/common/icon-scroll-cn.webp)
        }

        .m-table--scroll .m-table__scroll-guide-text {
            display: block
        }

        .m-table--scroll .m-table__table {
            inline-size: 1280px;
            margin-inline: auto
        }

        .m-table--scroll.js-scroll-guide:before {
            display: block;
            opacity: 1
        }
    }

    @media(max-width:759px)and (scripting:none) {
        .m-table--scroll.js-scroll-guide:before {
            display: none
        }
    }

    @media(max-width:759px) {
        .m-table--scroll.is-hide:before {
            inset-block-start: 250px;
            inset-block-end: auto
        }
    }
}

@layer inquiry {

    .m-badge--must,
    .m-exform .ss_user_notnull {
        padding: 0 .8rem !important;
        color: var(--FONT_COLOR_LIGHT) !important;
        text-align: center !important;
        background-color: var(--FONT_COLOR_STRONG) !important
    }

    .smpForm {
        padding: 0 !important
    }

    .smpForm .ss_btnArea input {
        inline-size: unset !important;
        block-size: unset !important;
        padding: unset !important;
        padding-block: 16px !important;
        padding-inline: 24px !important;
        margin-block-start: unset !important;
        font-size: unset !important;
        text-decoration: unset !important;
        border: unset !important;
        border-radius: unset !important
    }

    .smpForm .ss_required_field input:focus {
        box-shadow: unset !important
    }

    .smpForm .ss_field:hover,
    .smpForm .ss_enquete_field:hover,
    .smpForm .ss_field:nth-child(odd) {
        background-color: var(--COLOR_BASE_LIGHT) !important
    }

    .m-exform {
        margin-block-start: var(--MODULE_MARGIN_BASE) !important
    }

    .m-exform .ss_enquete_field,
    .m-exform .ss_field {
        display: block !important;
        inline-size: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid var(--COLOR_BORDER_DARK) !important
    }

    .m-exform .ss_enquete_field:not(:first-child),
    .m-exform .ss_enquete_field:is(.ss_enquete_field):first-child,
    .m-exform .ss_field:not(:first-child),
    .m-exform .ss_field:is(.ss_enquete_field):first-child {
        border-block-start: none !important
    }

    .m-exform .ss_enquete_title,
    .m-exform .ss_enquete_grid,
    .m-exform .ss_grid,
    .m-exform .ss_form_title {
        box-sizing: border-box !important;
        padding: var(--MODULE_MARGIN_NEST) !important
    }

    .m-exform .ss_enquete_title,
    .m-exform .ss_form_title {
        color: var(--COLOR_BASE_LIGHT) !important;
        text-align: start !important;
        background-color: var(--COLOR_PRIMARY_NAVY) !important
    }

    .m-exform .ss_input {
        min-inline-size: 0 !important;
        max-inline-size: 100% !important
    }

    .m-exform .ss_input:has(select) {
        position: relative !important
    }

    .m-exform .ss_input:has(input[type=checkbox]:nth-of-type(2)) {
        font-weight: var(--FONT_WEIGHT) !important
    }

    .m-exform .ss_input input {
        inline-size: 100% !important;
        padding-block: 12px !important;
        padding-inline: 16px !important;
        line-height: 1.5 !important;
        white-space: var(--FONT_WEIGHT) !important;
        border: 1px solid var(--COLOR_PRIMARY_NAVY) !important
    }

    .m-exform .ss_input input[type=checkbox] {
        inline-size: auto !important;
        margin-block-start: 1.2rem !important;
        margin-block-end: 1.2rem !important;
        margin-inline-start: 1rem !important;
        margin-inline-end: .5rem !important;
        vertical-align: middle !important
    }

    .m-exform .ss_input input[type=checkbox]:first-of-type {
        margin-inline-start: 0 !important
    }

    .m-exform .ss_input input[type=checkbox]+input[type=text] {
        max-inline-size: 25% !important;
        padding-block: 0 !important;
        margin-inline-start: 1rem !important
    }

    .m-exform .ss_input input[type=tel]:is([name*=zip]) {
        inline-size: auto !important
    }

    .m-exform .ss_input textarea {
        inline-size: 100% !important;
        border: 1px solid var(--COLOR_PRIMARY_NAVY) !important
    }

    .m-exform .ss_input select {
        padding-block: 10px 12px !important;
        padding-inline: 16px !important;
        line-height: 1.5 !important;
        white-space: var(--FONT_WEIGHT) !important;
        appearance: auto !important;
        border: 1px solid var(--COLOR_PRIMARY_NAVY) !important
    }

    .m-exform .ss_grid {
        position: relative !important;
        display: flex !important;
        column-gap: 1.6rem !important
    }

    .m-exform .ss_grid:has(.ss_input+.ss_input) {
        margin-block-end: var(--MODULE_MARGIN_NEST) !important
    }

    .m-exform .ss_grid:has(.ss_leftComment+input[type=tel]) {
        column-gap: 0 !important
    }

    .m-exform .ss_grid:has(.ss_input+.ss_input .ss_rightComment) .ss_input {
        padding-block-end: 1rem !important
    }

    .m-exform .ss_grid:has(.ss_input+.ss_input .ss_rightComment) :where(.ss_rightComment) {
        position: absolute !important;
        inset-block-end: 0 !important;
        inset-inline-start: 1.6rem !important
    }

    .m-exform .ss_required_field {
        font-weight: var(--FONT_WEIGHT_BOLD) !important
    }

    .m-exform .ss_bottomComment {
        font-size: 1.4rem !important;
        font-weight: var(--FONT_WEIGHT) !important
    }

    .m-exform .ss_leftComment:has(+input[type=tel]) {
        padding-inline: 1.6rem !important
    }

    .m-exform .ss_rightComment {
        display: block !important;
        font-size: 1.4rem !important;
        font-weight: var(--FONT_WEIGHT) !important
    }

    .m-exform .ss_user_notnull {
        margin-inline: .8rem !important
    }

    .m-exform .ss_warning_label,
    .m-exform .ss_error_msg {
        font-weight: var(--FONT_WEIGHT_BOLD) !important;
        color: var(--FONT_COLOR_STRONG) !important
    }

    .m-exform .ss_btnArea {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 32px 20px !important;
        justify-content: center !important;
        margin-block-start: var(--MODULE_MARGIN_BASE) !important;
        --local-grid-columns: auto !important
    }

    .m-exform .ss_btnArea :where(input[name=smpSubmit]) {
        --local-button-color: var(--COLOR_PRIMARY) !important;
        --local-button-icon-position: -6px !important;
        --local-button-icon-color: var(--COLOR_BASE_LIGHT) !important;
        display: block !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding-block: 16px !important;
        padding-inline: 24px !important;
        font-weight: var(--FONT_WEIGHT_BOLD) !important;
        line-height: 1.5 !important;
        color: var(--COLOR_BASE_LIGHT) !important;
        background-color: var(--local-button-color) !important;
        transition: background-color var(--TRANSITION) !important
    }

    @media(hover:hover)and (min-width:760px) {

        .m-exform .ss_btnArea :where(input[name=smpSubmit]):hover,
        .m-exform .ss_btnArea :where(input[name=smpSubmit]):focus {
            --local-button-color: var(--COLOR_PRIMARY_NAVY) !important;
            --local-button-icon-position: 0 !important
        }
    }

    @media(min-width:760px) {

        .m-exform .ss_enquete_field,
        .m-exform .ss_field {
            display: grid !important;
            grid-template-columns: 30% 70% !important
        }

        .m-exform .ss_enquete_title,
        .m-exform .ss_enquete_grid,
        .m-exform .ss_grid,
        .m-exform .ss_form_title {
            padding: 16px 24px !important
        }

        .m-exform .ss_enquete_title,
        .m-exform .ss_form_title {
            min-inline-size: 30% !important
        }

        .m-exform .ss_grid {
            min-inline-size: 70% !important
        }

        .m-exform .ss_grid:has(.ss_input+.ss_input .ss_rightComment) :where(.ss_rightComment) {
            inset-inline-start: 2.4rem !important
        }
    }
}

@layer utility {
    .text-left {
        text-align: left
    }

    @media(min-width:760px) {
        .md\:text-left {
            text-align: left
        }
    }

    .text-center {
        text-align: center
    }

    @media(min-width:760px) {
        .md\:text-center {
            text-align: center
        }
    }

    .text-right {
        text-align: right
    }

    @media(min-width:760px) {
        .md\:text-right {
            text-align: right
        }
    }

    .justify-start {
        justify-content: flex-start
    }

    @media(min-width:760px) {
        .md\:justify-start {
            justify-content: flex-start
        }
    }

    .justify-end {
        justify-content: flex-end
    }

    @media(min-width:760px) {
        .md\:justify-end {
            justify-content: flex-end
        }
    }

    .justify-center {
        justify-content: center
    }

    @media(min-width:760px) {
        .md\:justify-center {
            justify-content: center
        }
    }

    .display-block {
        display: block
    }

    @media(min-width:760px) {
        .md\:display-block {
            display: block
        }
    }

    .display-inline {
        display: inline
    }

    @media(min-width:760px) {
        .md\:display-inline {
            display: inline
        }
    }

    .display-flex {
        display: flex
    }

    @media(min-width:760px) {
        .md\:display-flex {
            display: flex
        }
    }

    .display-inline-flex {
        display: inline-flex
    }

    @media(min-width:760px) {
        .md\:display-inline-flex {
            display: inline-flex
        }
    }

    .display-grid {
        display: grid
    }

    @media(min-width:760px) {
        .md\:display-grid {
            display: grid
        }
    }

    .display-hidden {
        display: none
    }

    @media(min-width:760px) {
        .md\:display-hidden {
            display: none
        }
    }

    .w-1\/2 {
        inline-size: 50%
    }

    @media(min-width:760px) {
        .md\:w-1\/2 {
            inline-size: 50%
        }
    }

    .w-1\/3 {
        inline-size: 33.333333%
    }

    @media(min-width:760px) {
        .md\:w-1\/3 {
            inline-size: 33.333333%
        }
    }

    .w-2\/3 {
        inline-size: 66.666667%
    }

    @media(min-width:760px) {
        .md\:w-2\/3 {
            inline-size: 66.666667%
        }
    }

    .w-1\/4 {
        inline-size: 25%
    }

    @media(min-width:760px) {
        .md\:w-1\/4 {
            inline-size: 25%
        }
    }

    .w-1\/5 {
        inline-size: 20%
    }

    @media(min-width:760px) {
        .md\:w-1\/5 {
            inline-size: 20%
        }
    }

    .w-1\/6 {
        inline-size: 16.666667%
    }

    @media(min-width:760px) {
        .md\:w-1\/6 {
            inline-size: 16.666667%
        }
    }

    .w-3\/4 {
        inline-size: 75%
    }

    @media(min-width:760px) {
        .md\:w-3\/4 {
            inline-size: 75%
        }
    }

    .w-5\/6 {
        inline-size: 83.333333%
    }

    @media(min-width:760px) {
        .md\:w-5\/6 {
            inline-size: 83.333333%
        }
    }

    .w-auto {
        inline-size: auto
    }

    @media(min-width:760px) {
        .md\:w-auto {
            inline-size: auto
        }
    }

    .w-full {
        inline-size: 100%
    }

    @media(min-width:760px) {
        .md\:w-full {
            inline-size: 100%
        }
    }

    .text-10 {
        font-size: 1rem
    }

    .text-12 {
        font-size: 1.2rem
    }

    .text-14 {
        font-size: 1.4rem
    }

    .text-16 {
        font-size: 1.6rem
    }

    .text-18 {
        font-size: 1.8rem
    }

    .text-20 {
        font-size: 2rem
    }
}