@charset "UTF-8";

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
:before,
:after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid
}

html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

p,
address,
figure {
    margin: 0
}

h1,
h2,
h3 {
    margin: 0;
    font-weight: inherit;
    font-size: inherit
}

ul {
    margin: 0;
    padding: 0;
    list-style: none
}

address {
    font-style: inherit
}

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

svg,
img,
object {
    vertical-align: bottom
}

button,
input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: 0 0;
    color: inherit;
    font: inherit;
    text-align: inherit;
    text-transform: inherit;
    vertical-align: middle
}

button,
[type=button] {
    cursor: pointer
}

button:disabled,
[type=button]:disabled {
    cursor: default
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=number] {
    -moz-appearance: textfield
}

[contenteditable]:focus {
    outline: auto
}

caption {
    text-align: left
}

td,
th {
    padding: 0;
    vertical-align: top
}

th {
    font-weight: 700;
    text-align: left
}

:root {
    --color-base: #303234;
    --color-base-rgb: 48, 50, 52;
    --color-bg: #fff;
    --color-bg-rgb: 255, 255, 255;
    --color-bg-gray-light: #f1f6f8;
    --color-bg-gray-light-rgb: 241, 246, 248;
    --color-bg-gray-exlight: #f9f9f9;
    --color-bg-gray-exlight-rgb: 249, 249, 249;
    --color-primary: #0a2e5d;
    --color-primary-rgb: 14, 122, 224;
    --color-secondary: #066ee8;
    --color-secondary-rgb: 6, 110, 232;
    --color-danger: #ea1515;
    --color-danger-rgb: 234, 21, 21;
    --color-gray: #9ca7b7;
    --color-gray-rgb: 156, 167, 183;
    --color-gray-dark: #818b9a;
    --color-gray-dark-rgb: 129, 139, 154;
    --color-gray-dark02: #9ca7b7;
    --color-gray-dark02-rgb: 156, 167, 183;
    --color-gray-light: #eee;
    --color-gray-light-rgb: 238, 238, 238;
    --color-cv-bg: #020202;
    --color-cv-bg-rgb: 2, 2, 2;
    --color-footer-bg: #1E1E1E;
    --color-footer-bg-rgb: 21, 21, 22;
    --color-border: #e4e4f2;
    --color-border-rgb: 228, 228, 242;
    --color-input-active: #0a2e5d;
    --color-input-active-rgb: 14, 122, 224;
    --color-input-focus: #3a84ef;
    --color-input-focus-rgb: 58, 132, 239;
    --color-submit-bg: #0a2e5d;
    --color-submit-bg-rgb: 14, 122, 224;
    --color-submit-bg-hover: #0c4dc5;
    --color-submit-bg-hover-rgb: 12, 77, 197;
    --color-1: 50, 127, 217;
    --color-2: 230, 203, 64;
    --color-3: 221, 96, 163;
    --color-4: 151, 222, 79;
    --color-5: 230, 104, 104;
    --color-6: 61, 195, 170;
    --color-7: 212, 104, 239;
    --color-8: 40, 217, 228;
    --easeInSine: cubic-bezier(.47, 0, .745, .715);
    --easeOutSine: cubic-bezier(.39, .575, .565, 1);
    --easeInOutSine: cubic-bezier(.445, .05, .55, .95);
    --easeInQuad: cubic-bezier(.55, .085, .68, .53);
    --easeOutQuad: cubic-bezier(.25, .46, .45, .94);
    --easeInOutQuad: cubic-bezier(.455, .03, .515, .955);
    --easeInCubic: cubic-bezier(.55, .055, .675, .19);
    --easeOutCubic: cubic-bezier(.215, .61, .355, 1);
    --easeInOutCubic: cubic-bezier(.645, .045, .355, 1);
    --easeInQuart: cubic-bezier(.895, .03, .685, .22);
    --easeOutQuart: cubic-bezier(.165, .84, .44, 1);
    --easeInOutQuart: cubic-bezier(.77, 0, .175, 1);
    --easeInQuint: cubic-bezier(.755, .05, .855, .06);
    --easeOutQuint: cubic-bezier(.23, 1, .32, 1);
    --easeInOutQuint: cubic-bezier(.86, 0, .07, 1);
    --easeInExpo: cubic-bezier(.95, .05, .795, .035);
    --easeOutExpo: cubic-bezier(.19, 1, .22, 1);
    --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
    --easeInCirc: cubic-bezier(.6, .04, .98, .335);
    --easeOutCirc: cubic-bezier(.075, .82, .165, 1);
    --easeInOutCirc: cubic-bezier(.785, .135, .15, .86);
    --easeInBack: cubic-bezier(.6, -.28, .735, .045);
    --easeOutBack: cubic-bezier(.175, .885, .32, 1.275);
    --easeInOutBack: cubic-bezier(.68, -.55, .265, 1.55);
    --color: var(--color-base);
    --background-color: var(--color-bg);
    --font-family: yakuhanjp, "BMWTypeNext Pro", "Noto Sans JP", -apple-system, blinkmacsystemfont, "Helvetica Neue", hiragino sans, "\30d2\30e9\30ae\30ce\89d2\30b4  ProN W3", hiragino kaku gothic pron, "Yu Gothic", yugothic, verdana, meiryo, "M+ 1p", sans-serif;
    --font-bold: 600;
    --font-regular: 500;
    --font-normal: 500;
    --icon-font-family: "Material Symbols Outlined";
    --header-height-top: 100px;
    --header-height-lg: 75px;
    --header-height-md: 65px;
    --header-height-sm: 55px;
    --input-height: 45px;
    --input-border-color: var(--color-gray-light);
    --input-submit-disabled-bg: #aaa;
    --border-radius: clamp(16px, 2vw, 24px);
    --border-radius-md: clamp(14px, 1.8vw, 18px);
    --border-radius-sm: clamp(8px, 1.5vw, 12px);
    --link-color: var(--color-primary);
    --link-hover-color: var(--color-secondary);
    --breadcrumb-item-active-color: var(--color-gray);
    --pagination-justify-content: center;
    --pagination-padding-top: 6px;
    --pagination-padding-bottom: 6px;
    --pagination-padding-x: 12px;
    --pagination-min-width: 40px;
    --pagination-border-color: var(--color-border);
    --pagination-border-radius: 30px;
    --pagination-link-color: var(--color-base);
    --pagination-link-hover-color: #fff;
    --pagination-arrow-size: .9375rem;
    --pagination-arrow-prev: "arrow_back";
    --pagination-arrow-next: "arrow_forward"
}


.blog__cat__link:focus,
.blog__cat__link:active {
    color: var(--color-secondary);
    text-decoration: none
}


.blog__cat__link:focus:after,
.blog__cat__link:active:after {
    color: var(--color-primary)
}


.blog__tag__link:focus,
.blog__tag__link:active {
    color: var(--color-secondary);
    text-decoration: none
}


.blog__share__button:focus,
.blog__share__button:active {
    text-decoration: none
}


.blog__share__button:focus svg,
.blog__share__button:active svg {
    fill: var(--color-primary)
}


.blog__pagenavi__card__link:focus,
.blog__pagenavi__card__link:active {
    color: var(--color-gray)
}


.blog__pagenavi__card__link:focus .blog__pagenavi__card__figure img,
.blog__pagenavi__card__link:active .blog__pagenavi__card__figure img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06)
}

.c-breadcrumb .c-breadcrumb-item[aria-current] {
    color: var(--breadcrumb-item-active-color, #65689f)
}


.c-pagination .c-pagination__item a:focus,
.c-pagination .c-pagination__item a:active {
    border-color: var(--pagination-link-hover-border-color, var(--link-hover-color));
    background-color: var(--pagination-link-hover-bg-color, var(--link-hover-color));
    color: var(--pagination-link-hover-color, var(--background-color))
}

.c-pagination .c-pagination__item .current {
    border-color: var(--pagination-current-border-color, var(--link-color));
    background-color: var(--pagination-current-bg-color, var(--link-color));
    color: var(--pagination-current-color, #fff)
}

.skip-to-content {
    -webkit-transform: translateX(-50%);
    display: inline-block;
    z-index: 1000;
    position: fixed;
    top: 1rem;
    left: 50%;
    padding: .3rem .6rem;
    transform: translate(-50%);
    border-radius: 4px;
    background-color: var(--color-bg);
    font-weight: var(--font-bold)
}

.skip-to-content:focus {
    border-color: rgba(var(--color-input-focus-rgb, 36, 44, 229), .4);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button__link:active {
    text-decoration: none
}


.wp-block-button__link.has-background:focus,
.wp-block-button__link.has-background:active {
    color: #fff
}

.container {
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px
}

.container-overflow-right {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    padding-left: 20px
}

.container-overflow-left {
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    padding-right: 20px
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.grid {
    grid-column-gap: var(--cols-gap, 15px);
    grid-row-gap: var(--rows-gap, 15px);
    display: grid;
    grid-template-rows: repeat(var(--grid-rows, 1), minmax(0, 1fr));
    grid-template-columns: repeat(var(--grid-columns, 12), minmax(0, 1fr));
    width: 100%
}

.grid>* {
    grid-column: auto/span 12
}

.gap-0 {
    grid-column-gap: 0;
    grid-row-gap: 0
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    clip: rect(0, 0, 0, 0) !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    white-space: nowrap !important
}

body:not(.wp-admin) [type=checkbox]:not(.-unstyled):focus,
body:not(.wp-admin) [type=radio]:not(.-unstyled):focus {
    border-color: rgba(var(--color-input-focus-rgb, 36, 44, 229), .4);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled) {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: var(--input-height, 45px);
    padding: var(--input-padding-y, .3rem) var(--input-padding-x, .7rem);
    border: var(--input-border-width, 1px) solid var(--input-border-color, #dee2e6);
    border-radius: var(--input-border-radius, 6px);
    background-clip: padding-box;
    background-color: var(--input-bg, #fff);
    color: var(--input-color, #333);
    font-size: 16px;
    line-height: 1.5;
    font-family: var(--input-font-family, system-ui, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Helvetica Neue", hiragino sans, "\30d2\30e9\30ae\30ce\89d2\30b4  ProN W3", hiragino kaku gothic pron, "Yu Gothic", yugothic, verdana, meiryo, "M+ 1p", sans-serif);
    transition-duration: .3s;
    transition-property: border-color, box-shadow;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)[type=file] {
    align-items: baseline;
    min-height: 38px;
    max-height: 38px;
    padding: var(--input-padding-x, .5rem) var(--input-padding-x, .7rem);
    overflow: hidden;
    line-height: 1.3;
    text-align: start;
    text-overflow: ellipsis;
    white-space: pre
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)[type=file]:not(:disabled):not([readonly]) {
    cursor: pointer
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled):focus,
body:not(.wp-admin) select:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled):focus,
body:not(.wp-admin) textarea:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled):focus {
    border-color: rgba(var(--color-input-focus-rgb, 36, 44, 229), .4);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::-webkit-date-and-time-value {
    min-width: 85px;
    margin: 0
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::-webkit-datetime-edit {
    display: block;
    padding: 0
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::-webkit-input-placeholder {
    color: var(--input-placeholder-color, #999);
    opacity: 1
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::-moz-placeholder {
    color: var(--input-placeholder-color, #999);
    opacity: 1
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled):-ms-input-placeholder {
    color: var(--input-placeholder-color, #999);
    opacity: 1
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::placeholder {
    color: var(--input-placeholder-color, #999);
    opacity: 1
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled):disabled {
    border-color: var(--input-disabled-border-color, var(--input-border-color));
    background-color: var(--input-disabled-bg, #eaeaea);
    color: var(--input-disabled-color, #aaa)
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::-webkit-file-upload-button {
    -webkit-margin-end: var(--input-padding-x, .7rem);
    height: 40px;
    margin: -11px -.7rem;
    margin-inline-end: var(--input-padding-x, .7rem);
    padding: 0 var(--input-padding-x, .7rem);
    border-width: 0;
    border-style: solid;
    border-radius: 0;
    border-inline-end-width: 1px;
    border-color: inherit;
    background-color: var(--file-selector-button-color, #dee2e6);
    color: var(--input-color);
    font-size: .975rem;
    line-height: 1;
    pointer-events: none
}

body:not(.wp-admin) input:not([type=checkbox], [type=range], [type=radio], [type=hidden], [type=submit], [type=button], [type=reset], .-unstyled)::file-selector-button {
    -webkit-margin-end: var(--input-padding-x, .7rem);
    height: 40px;
    margin: -11px -.7rem;
    margin-inline-end: var(--input-padding-x, .7rem);
    padding: 0 var(--input-padding-x, .7rem);
    border-width: 0;
    border-style: solid;
    border-radius: 0;
    border-inline-end-width: 1px;
    border-color: inherit;
    background-color: var(--file-selector-button-color, #dee2e6);
    color: var(--input-color);
    font-size: .975rem;
    line-height: 1;
    pointer-events: none
}

body:not(.wp-admin) [type=range]:not(.-unstyled)::-moz-focus-outer {
    border: 0
}

body:not(.wp-admin) [type=range]:not(.-unstyled)::-webkit-slider-thumb:active {
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

body:not(.wp-admin) [type=range]:not(.-unstyled):focus {
    outline: 0
}

body:not(.wp-admin) [type=range]:not(.-unstyled):focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

body:not(.wp-admin) [type=range]:not(.-unstyled):focus::-moz-range-thumb {
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

body:not(.wp-admin) [type=range]:not(.-unstyled)::-moz-range-thumb:active {
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

.form__wrapper {
    width: 680px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto
}


.form .hs-submit input[type=submit]:focus,
.form .hs-submit input[type=submit]:active {
    border: 1px solid var(--input-submit-hover-border, var(--color-submit-bg-hover));
    background-color: var(--input-submit-hover-bg, var(--color-submit-bg-hover));
    color: var(--input-submit-hover-color, #fff)
}

.form .hs-submit input[type=submit]:focus {
    border-color: rgba(var(--color-input-focus-rgb, 36, 44, 229), .4);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}


.form__return-top:focus,
.form__return-top:active {
    border: 1px solid var(--input-submit-hover-border, var(--color-submit-bg-hover));
    background-color: var(--input-submit-hover-bg, var(--color-submit-bg-hover));
    color: var(--input-submit-hover-color, #fff)
}

.form__return-top:focus {
    border-color: rgba(var(--color-input-focus-rgb, 36, 44, 229), .4);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}


.c3-xgrid-focus {
    shape-rendering: crispedges
}

line.c3-xgrid-focus {
    stroke-dasharray: 2px;
    stroke: var(--color-border)
}

html.lenis {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    -ms-scroll-chaining: none;
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

.modal-gallery {
    display: none
}

.modal-gallery .modal__container {
    -webkit-overflow-scrolling: touch;
    z-index: 1001;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    scrollbar-width: none
}

.modal-gallery .modal__container::-webkit-scrollbar {
    display: none
}

.modal-gallery__bg {
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100lvh;
    background-color: var(--background-color)
}

.modal-gallery__wrapper {
    z-index: 2;
    min-height: 100%;
    padding: 0 30px
}

.modal-gallery__image {
    position: relative;
    margin: 0;
    overflow: hidden
}

.modal-gallery__image__cover {
    overflow: hidden
}

.modal-gallery__image__figure__img {
    -o-object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.modal-gallery__content {
    padding: 20px 0 0;
    font-size: clamp(.875rem, .8421rem + .1316vw, 1rem);
    line-height: 2
}

.modal-gallery__cat {
    margin-bottom: .6rem;
    font-weight: 400;
    font-size: .9375rem
}

.modal-gallery__close {
    z-index: 1002;
    position: fixed;
    top: 30px;
    right: 30px;
    width: 34px;
    height: 34px
}

.modal-gallery__close svg {
    width: 100%
}

.modal-gallery__close svg path {
    stroke: var(--color-gray-dark02)
}

.modal-gallery .modal-button-prev {
    -webkit-transform: translateY(-50%);
    display: flex;
    z-index: 1002;
    position: fixed;
    top: 50%;
    left: 20px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transform: translateY(-50%)
}

.modal-gallery .modal-button-prev svg {
    height: 100%
}

.modal-gallery .modal-button-prev svg path {
    stroke: var(--color-gray-dark02)
}

.modal-gallery .modal-button-next {
    -webkit-transform: translateY(-50%);
    display: flex;
    z-index: 1002;
    position: fixed;
    top: 50%;
    right: 20px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transform: translateY(-50%)
}

.modal-gallery .modal-button-next svg {
    height: 100%
}

.modal-gallery .modal-button-next svg path {
    stroke: var(--color-gray-dark02)
}

@-webkit-keyframes modalGalleryIn {
    0% {
        -webkit-transform: scale(.99);
        transform: scale(.99);
        opacity: 0
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
}

@keyframes modalGalleryIn {
    0% {
        -webkit-transform: scale(.99);
        transform: scale(.99);
        opacity: 0
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
}

@-webkit-keyframes modalGalleryOut {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    to {
        -webkit-transform: scale(.9);
        transform: scale(.9);
        opacity: 0
    }
}

@keyframes modalGalleryOut {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    to {
        -webkit-transform: scale(.9);
        transform: scale(.9);
        opacity: 0
    }
}

@-webkit-keyframes modalFadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes modalFadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes modalFadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes modalFadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.modal-gallery.is-open {
    display: block
}

.modal-gallery[aria-hidden=false] .modal-gallery__bg {
    -webkit-animation: modalGalleryIn 1s cubic-bezier(.19, 1, .22, 1);
    animation: modalGalleryIn 1s cubic-bezier(.19, 1, .22, 1)
}

.modal-gallery[aria-hidden=false] .modal-gallery__wrapper,
.modal-gallery[aria-hidden=false] .modal-gallery__close {
    -webkit-animation: modalFadeIn .7s cubic-bezier(.645, .045, .355, 1);
    animation: modalFadeIn .7s cubic-bezier(.645, .045, .355, 1)
}

.modal-gallery[aria-hidden=true] .modal-gallery__bg {
    -webkit-animation: modalGalleryOut 1s .1s cubic-bezier(.165, .84, .44, 1);
    animation: modalGalleryOut 1s .1s cubic-bezier(.165, .84, .44, 1)
}

.modal-gallery[aria-hidden=true] .modal-gallery__wrapper {
    -webkit-animation: modalFadeOut 1.2s .1s cubic-bezier(.165, .84, .44, 1);
    animation: modalFadeOut 1.2s .1s cubic-bezier(.165, .84, .44, 1)
}

.modal-gallery[aria-hidden=true] .modal-gallery__close,
.modal-gallery[aria-hidden=true] .modal-button {
    -webkit-animation: modalFadeOut .3s .1s cubic-bezier(.215, .61, .355, 1);
    animation: modalFadeOut .3s .1s cubic-bezier(.215, .61, .355, 1)
}

.modal-gallery .modal-gallery__bg {
    will-change: transform, opacity
}

/*! 
 * OverlayScrollbars
 * Version: 2.2.1
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */
.os-size-observer,
.os-size-observer-listener {
    box-sizing: border-box;
    visibility: hidden;
    overflow: hidden;
    direction: inherit;
    pointer-events: none
}

.os-size-observer,
.os-size-observer-listener,
.os-size-observer-listener-item,
.os-size-observer-listener-item-final {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    position: absolute;
    top: 0;
    left: 0;
    writing-mode: horizontal-tb
}

.os-size-observer {
    -webkit-transform: scale(.1);
    box-sizing: inherit;
    contain: strict;
    display: flex;
    z-index: -1;
    inset: 0;
    flex-direction: row;
    flex-wrap: nowrap;
    margin: -133px;
    padding: inherit;
    transform: scale(.1);
    border: inherit
}

.os-size-observer:before {
    box-sizing: inherit;
    flex: none;
    width: 10px;
    height: 10px;
    padding: 10px;
    content: ""
}

.os-size-observer-appear {
    -webkit-animation: os-size-observer-appear-animation 1ms forwards;
    animation: os-size-observer-appear-animation 1ms forwards
}

.os-size-observer-listener {
    -webkit-transform: scale(10);
    box-sizing: border-box;
    position: relative;
    flex: auto;
    margin: -133px;
    padding: inherit;
    transform: scale(10);
    border: inherit
}

.os-size-observer-listener.ltr {
    margin-right: -266px;
    margin-left: 0
}

.os-size-observer-listener.rtl {
    margin-right: 0;
    margin-left: -266px
}

.os-size-observer-listener:empty:before {
    width: 100%;
    height: 100%;
    content: ""
}

.os-size-observer-listener:empty:before,
.os-size-observer-listener>.os-size-observer-listener-item {
    box-sizing: content-box;
    display: block;
    position: relative;
    flex: auto;
    padding: inherit;
    border: inherit
}

.os-size-observer-listener-scroll {
    box-sizing: border-box;
    display: flex
}

.os-size-observer-listener-item {
    right: 0;
    bottom: 0;
    flex: none;
    overflow: hidden;
    direction: ltr
}

.os-size-observer-listener-item-final {
    transition: none
}

@-webkit-keyframes os-size-observer-appear-animation {
    0% {
        cursor: auto
    }

    to {
        cursor: none
    }
}

@keyframes os-size-observer-appear-animation {
    0% {
        cursor: auto
    }

    to {
        cursor: none
    }
}

.os-trinsic-observer {
    box-sizing: border-box;
    contain: strict;
    z-index: -1;
    position: relative;
    top: calc(100% + 1px);
    flex: none;
    max-width: 0;
    height: 0;
    max-height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: none
}

.os-trinsic-observer:not(:empty) {
    top: -1px;
    height: calc(100% + 1px)
}

.os-trinsic-observer:not(:empty)>.os-size-observer {
    width: 1000%;
    min-width: 1px;
    height: 1000%;
    min-height: 1px
}

.os-environment {
    --os-custom-prop: -1;
    visibility: hidden;
    z-index: var(--os-custom-prop);
    position: fixed;
    width: 200px;
    height: 200px;
    overflow: scroll;
    opacity: 0
}

.os-environment div {
    width: 200%;
    height: 200%;
    margin: 10px 0
}

.os-environment.os-environment-flexbox-glue {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: auto;
    min-width: 200px;
    height: auto;
    min-height: 200px
}

.os-environment.os-environment-flexbox-glue div {
    flex: auto;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    margin: 0
}

.os-environment.os-environment-flexbox-glue-max {
    max-height: 200px
}

.os-environment.os-environment-flexbox-glue-max div {
    overflow: visible
}

.os-environment.os-environment-flexbox-glue-max div:before {
    display: block;
    width: 999px;
    height: 999px;
    content: ""
}

.os-environment {
    -ms-overflow-style: scrollbar !important
}


.os-scrollbar-hidden.os-environment {
    scrollbar-width: none !important
}


.os-scrollbar-hidden.os-environment::-webkit-scrollbar,
.os-scrollbar-hidden.os-environment::-webkit-scrollbar-corner {
    -webkit-appearance: none !important;
    display: none !important;
    appearance: none !important;
    width: 0 !important;
    height: 0 !important
}


html.os-scrollbar-hidden,
html.os-scrollbar-hidden>body {
    box-sizing: border-box;
    width: 100%;
    margin: 0
}

[data-overlayscrollbars-overflow-x=hidden] {
    overflow-x: hidden
}

[data-overlayscrollbars-overflow-x=scroll] {
    overflow-x: scroll
}

[data-overlayscrollbars-overflow-x=hidden] {
    overflow-y: hidden
}

[data-overlayscrollbars-overflow-y=scroll] {
    overflow-y: scroll
}

.os-scrollbar {
    contain: size layout;
    contain: size layout style;
    visibility: hidden;
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s, visibility .15s, top .15s, right .15s, bottom .15s, left .15s
}

body>.os-scrollbar {
    z-index: 99999;
    position: fixed
}

.os-scrollbar-transitionless {
    transition: none
}

.os-scrollbar-track {
    position: relative;
    padding: 0 !important;
    border: none !important;
    direction: ltr !important
}

.os-scrollbar-handle {
    position: absolute
}

.os-scrollbar-track,
.os-scrollbar-handle {
    width: 100%;
    height: 100%;
    pointer-events: none
}

.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,
.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle {
    pointer-events: auto;
    touch-action: none
}

.os-scrollbar-horizontal {
    bottom: 0;
    left: 0
}

.os-scrollbar-vertical {
    top: 0;
    right: 0
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
    right: 0
}

.os-scrollbar-rtl.os-scrollbar-vertical {
    right: auto;
    left: 0
}

.os-scrollbar-visible,
.os-scrollbar-interaction.os-scrollbar-visible {
    visibility: visible;
    opacity: 1
}

.os-scrollbar-auto-hidden {
    visibility: hidden;
    opacity: 0
}

.os-scrollbar-unusable,
.os-scrollbar-unusable *,
.os-scrollbar-wheel,
.os-scrollbar-wheel * {
    pointer-events: none !important
}

.os-scrollbar-unusable .os-scrollbar-handle {
    opacity: 0 !important
}

.os-scrollbar-horizontal .os-scrollbar-handle {
    bottom: 0
}

.os-scrollbar-vertical .os-scrollbar-handle {
    right: 0
}

.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
    right: auto;
    left: 0
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,
.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
    right: 0;
    left: 0
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,
.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
    top: 0;
    bottom: 0
}

.os-scrollbar {
    --os-size: 0;
    --os-padding-perpendicular: 0;
    --os-padding-axis: 0;
    --os-track-border-radius: 0;
    --os-track-bg: none;
    --os-track-bg-hover: none;
    --os-track-bg-active: none;
    --os-track-border: none;
    --os-track-border-hover: none;
    --os-track-border-active: none;
    --os-handle-border-radius: 0;
    --os-handle-bg: none;
    --os-handle-bg-hover: none;
    --os-handle-bg-active: none;
    --os-handle-border: none;
    --os-handle-border-hover: none;
    --os-handle-border-active: none;
    --os-handle-min-size: 33px;
    --os-handle-max-size: none;
    --os-handle-perpendicular-size: 100%;
    --os-handle-perpendicular-size-hover: 100%;
    --os-handle-perpendicular-size-active: 100%;
    --os-handle-interactive-area-offset: 0
}

.os-scrollbar .os-scrollbar-track {
    border: var(--os-track-border);
    border-radius: var(--os-track-border-radius);
    background: var(--os-track-bg);
    transition: opacity .15s, background-color .15s, border-color .15s
}

.os-scrollbar .os-scrollbar-track:hover {
    border: var(--os-track-border-hover);
    background: var(--os-track-bg-hover)
}

.os-scrollbar .os-scrollbar-track:active {
    border: var(--os-track-border-active);
    background: var(--os-track-bg-active)
}

.os-scrollbar .os-scrollbar-handle {
    border: var(--os-handle-border);
    border-radius: var(--os-handle-border-radius);
    background: var(--os-handle-bg)
}

.os-scrollbar .os-scrollbar-handle:before {
    display: block;
    position: absolute;
    inset: 0;
    content: ""
}

.os-scrollbar .os-scrollbar-handle:hover {
    border: var(--os-handle-border-hover);
    background: var(--os-handle-bg-hover)
}

.os-scrollbar .os-scrollbar-handle:active {
    border: var(--os-handle-border-active);
    background: var(--os-handle-bg-active)
}

.os-scrollbar-horizontal {
    right: var(--os-size);
    height: var(--os-size);
    padding: var(--os-padding-perpendicular) var(--os-padding-axis)
}

.os-scrollbar-horizontal.os-scrollbar-rtl {
    right: 0;
    left: var(--os-size)
}

.os-scrollbar-horizontal .os-scrollbar-handle {
    min-width: var(--os-handle-min-size);
    max-width: var(--os-handle-max-size);
    height: var(--os-handle-perpendicular-size);
    transition: opacity .15s, background-color .15s, border-color .15s, height .15s
}

.os-scrollbar-horizontal .os-scrollbar-handle:before {
    top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1);
    bottom: calc(var(--os-padding-perpendicular)*-1)
}

.os-scrollbar-horizontal:hover .os-scrollbar-handle {
    height: var(--os-handle-perpendicular-size-hover)
}

.os-scrollbar-horizontal:active .os-scrollbar-handle {
    height: var(--os-handle-perpendicular-size-active)
}

.os-scrollbar-vertical {
    bottom: var(--os-size);
    width: var(--os-size);
    padding: var(--os-padding-axis) var(--os-padding-perpendicular)
}

.os-scrollbar-vertical .os-scrollbar-handle {
    width: var(--os-handle-perpendicular-size);
    min-height: var(--os-handle-min-size);
    max-height: var(--os-handle-max-size);
    transition: opacity .15s, background-color .15s, border-color .15s, width .15s
}

.os-scrollbar-vertical .os-scrollbar-handle:before {
    right: calc(var(--os-padding-perpendicular)*-1);
    left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1)
}

.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
    right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1);
    left: calc(var(--os-padding-perpendicular)*-1)
}

.os-scrollbar-vertical:hover .os-scrollbar-handle {
    width: var(--os-handle-perpendicular-size-hover)
}

.os-scrollbar-vertical:active .os-scrollbar-handle {
    width: var(--os-handle-perpendicular-size-active)
}

[data-overlayscrollbars~=updating]>.os-scrollbar,
.os-theme-none.os-scrollbar {
    display: none !important
}

.os-theme-dark,
.os-theme-light {
    --os-size: 10px;
    --os-padding-perpendicular: 2px;
    --os-padding-axis: 2px;
    --os-track-border-radius: 10px;
    --os-handle-interactive-area-offset: 4px;
    --os-handle-border-radius: 10px;
    box-sizing: border-box
}

.os-theme-dark {
    --os-handle-bg: rgba(0, 0, 0, .44);
    --os-handle-bg-hover: rgba(0, 0, 0, .55);
    --os-handle-bg-active: rgba(0, 0, 0, .66)
}

.os-theme-light {
    --os-handle-bg: rgba(255, 255, 255, .44);
    --os-handle-bg-hover: rgba(255, 255, 255, .55);
    --os-handle-bg-active: rgba(255, 255, 255, .66)
}

.os-no-css-vars.os-theme-dark.os-scrollbar .os-scrollbar-handle,
.os-no-css-vars.os-theme-light.os-scrollbar .os-scrollbar-handle,
.os-no-css-vars.os-theme-dark.os-scrollbar .os-scrollbar-track,
.os-no-css-vars.os-theme-light.os-scrollbar .os-scrollbar-track {
    border-radius: 10px
}

.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal,
.os-no-css-vars.os-theme-light.os-scrollbar-horizontal {
    right: 10px;
    height: 10px;
    padding: 2px
}

.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal.os-scrollbar-rtl,
.os-no-css-vars.os-theme-light.os-scrollbar-horizontal.os-scrollbar-rtl {
    right: 0;
    left: 10px
}

.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal .os-scrollbar-handle,
.os-no-css-vars.os-theme-light.os-scrollbar-horizontal .os-scrollbar-handle {
    min-width: 33px;
    max-width: none
}

.os-no-css-vars.os-theme-dark.os-scrollbar-horizontal .os-scrollbar-handle:before,
.os-no-css-vars.os-theme-light.os-scrollbar-horizontal .os-scrollbar-handle:before {
    top: -6px;
    bottom: -2px
}

.os-no-css-vars.os-theme-dark.os-scrollbar-vertical,
.os-no-css-vars.os-theme-light.os-scrollbar-vertical {
    bottom: 10px;
    width: 10px;
    padding: 2px
}

.os-no-css-vars.os-theme-dark.os-scrollbar-vertical .os-scrollbar-handle,
.os-no-css-vars.os-theme-light.os-scrollbar-vertical .os-scrollbar-handle {
    min-height: 33px;
    max-height: none
}

.os-no-css-vars.os-theme-dark.os-scrollbar-vertical .os-scrollbar-handle:before,
.os-no-css-vars.os-theme-light.os-scrollbar-vertical .os-scrollbar-handle:before {
    right: -2px;
    left: -6px
}

.os-no-css-vars.os-theme-dark.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before,
.os-no-css-vars.os-theme-light.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
    right: -6px;
    left: -2px
}

.os-no-css-vars.os-theme-dark .os-scrollbar-handle {
    background: rgba(0, 0, 0, .44)
}

.os-no-css-vars.os-theme-dark:hover .os-scrollbar-handle {
    background: rgba(0, 0, 0, .55)
}

.os-no-css-vars.os-theme-dark:active .os-scrollbar-handle {
    background: rgba(0, 0, 0, .66)
}

.os-no-css-vars.os-theme-light .os-scrollbar-handle {
    background: rgba(255, 255, 255, .44)
}

.os-no-css-vars.os-theme-light:hover .os-scrollbar-handle {
    background: rgba(255, 255, 255, .55)
}

.os-no-css-vars.os-theme-light:active .os-scrollbar-handle {
    background: rgba(255, 255, 255, .66)
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    -webkit-backface-visibility: hidden;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    backface-visibility: hidden
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    margin: 0;
    line-height: 1;
    list-style-type: none;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    visibility: hidden;
    position: relative
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    -webkit-backface-visibility: hidden;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
    margin: 0;
    backface-visibility: hidden;
    list-style-type: none !important
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    -webkit-animation: splide-loading 1s linear infinite;
    contain: strict;
    display: inline-block;
    position: absolute;
    inset: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 2px solid #999;
    border-radius: 50%;
    border-left-color: transparent;
    animation: splide-loading 1s linear infinite
}

.splide__sr {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    z-index: 0;
    position: relative;
    overflow: hidden
}

@-webkit-keyframes splide-loading {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes splide-loading {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    z-index: 0;
    margin: 0 !important;
    opacity: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    z-index: 1;
    opacity: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__arrow {
    -webkit-transform: translateY(-50%);
    display: flex;
    z-index: 1;
    position: absolute;
    top: 50%;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    opacity: .7
}

.splide__arrow svg {
    fill: #000;
    width: 1.2em;
    height: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: .5em;
    left: 0;
    padding: 0 1em
}

.splide__pagination__page {
    display: inline-block;
    position: relative;
    width: 8px;
    height: 8px;
    margin: 3px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    opacity: .7;
    transition: -webkit-transform .2s linear;
    transition: transform .2s linear;
    transition: transform .2s linear, -webkit-transform .2s linear
}

.splide__pagination__page.is-active {
    -webkit-transform: scale(1.4);
    z-index: 1;
    transform: scale(1.4);
    background: #fff
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    height: 3px;
    background: #ccc
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__slide:focus {
    outline: 0
}

@supports (outline-offset:-3px) {
    .splide__slide:focus-visible {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@supports (outline-offset:-3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid transparent;
    cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    right: 1em;
    left: auto
}

.splide__arrows--rtl .splide__arrow--prev svg {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    right: auto;
    left: 1em
}

.splide__arrows--rtl .splide__arrow--next svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    -webkit-transform: translate(-50%);
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    top: auto;
    bottom: 1em
}

.splide__arrows--ttb .splide__arrow--next svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    display: flex;
    inset: 0 .5em 0 auto;
    flex-direction: column;
    padding: 1em 0
}

body:not(.wp-admin) {
    -webkit-backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    backface-visibility: hidden;
    background-color: var(--background-color);
    color: var(--color);
    font-weight: var(--font-normal, 400);
    font-size: 1rem;
    line-height: 1.6;
    font-family: var(--font-family);
    font-synthesis: none;
    direction: ltr;
    transition-duration: .5s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

h1,
h2,
h3 {
    font-weight: var(--font-bold, 600)
}

h1 {
    font-size: var(--h1-size, clamp(26px, 5vw, 32px))
}

h2 {
    font-size: var(--h2-size, clamp(24px, 4vw, 26px))
}

h3 {
    font-size: var(--h3-size, clamp(20px, 3.5vw, 24px))
}

img,
svg {
    max-width: 100%;
    height: auto
}

button {
    color: var(--color)
}

a {
    color: var(--link-color)
}

a:hover,
a:active,
a:focus {
    color: var(--link-hover-color)
}

#page {
    width: 100%
}

html.is-dark {
    --input-color: #fff;
    --input-bg: #3e4c59;
    --input-border-color: #3e4c59;
    --file-selector-button-color: #5b646b;
    --select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --input-placeholder-color: #aaa;
    --input-disabled-color: #999;
    --input-disabled-bg: #444;
    --input-disabled-border-color: #999;
    --link-color: var(--color-primary);
    --link-hover-color: var(--color-secondary);
    --color-base: #fff;
    --color-base-rgb: 255, 255, 255;
    --color-bg: #1d1f23;
    --color-bg-rgb: 29, 31, 35;
    --color-bg-gray-light: #34373d;
    --color-bg-gray-light-rgb: 52, 55, 61;
    --color-bg-gray-exlight: #2f3138;
    --color-bg-gray-exlight-rgb: 47, 49, 56;
    --color-primary: #1784ea;
    --color-primary-rgb: 23, 132, 234;
    --color-secondary: #0774f0;
    --color-secondary-rgb: 7, 116, 240;
    --color-danger: #ea1515;
    --color-danger-rgb: 234, 21, 21;
    --color-gray-dark: #d2d9e4;
    --color-gray-dark-rgb: 210, 217, 228;
    --color-gray: #bfc8d5;
    --color-gray-rgb: 191, 200, 213;
    --color-gray-dark02: #eee;
    --color-gray-dark02-rgb: 238, 238, 238;
    --color-gray-light: #eee;
    --color-gray-light-rgb: 238, 238, 238;
    --color-border: #47474c;
    --color-border-rgb: 71, 71, 76;
    --color-cv-bg: #000;
    --color-cv-bg-rgb: 0, 0, 0;
    --color-footer-bg: #010101;
    --color-footer-bg-rgb: 1, 1, 1;
    --color-input-active: #1784ea;
    --color-input-active-rgb: 23, 132, 234;
    --color-input-focus: #0774f0;
    --color-input-focus-rgb: 7, 116, 240;
    --color-submit-bg: #1784ea;
    --color-submit-bg-rgb: 23, 132, 234;
    --color-submit-bg-hover: #0774f0;
    --color-submit-bg-hover-rgb: 7, 116, 240;
    color-scheme: dark
}


.tdu:link:focus,
.tdu:link:active {
    text-decoration: none
}

[data-scroll-trigger=text] [data-str-animation] {
    -webkit-transform: translateY(100%);
    min-width: .24em;
    transform: translateY(100%)
}

[data-scroll-trigger=top] {
    -webkit-transform: translateY(2%);
    transform: translateY(2%);
    opacity: 0;
    transition-duration: 1s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1);
    will-change: transition
}

[data-scroll-trigger=top].\:visible {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

[data-scroll-trigger=fade] {
    opacity: 0;
    transition-duration: 1s;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1);
    will-change: transition
}

[data-scroll-trigger=fade].\:visible {
    opacity: 1
}

[data-scroll-trigger=blur].\:visible {
    -webkit-filter: blur(0) brightness(1);
    filter: blur(0) brightness(1);
    opacity: 1
}

.c-button {
    display: inline-block;
    position: relative;
    padding: 1rem 1.7rem;
    border-radius: 30px
}

.c-button>span {
    z-index: 2;
    position: relative
}

.c-button:focus-visible {
    border-color: rgba(var(--color-input-focus-rgb, 36, 44, 229), .4);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(var(--color-input-focus-rgb, 36, 44, 229), .3)
}

.c-button--outline {
    border: 1px solid rgba(var(--color-base-rgb), .5);
    color: var(--color-base);
    transition-duration: .5s;
    transition-property: border-color, color;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.c-button--outline:hover,
.c-button--outline:focus,
.c-button--outline:active {
    border-color: var(--color-primary);
    color: #fff
}

.c-button--outline:hover:before,
.c-button--outline:focus:before,
.c-button--outline:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.c-button--outline:hover .c-button__arrow,
.c-button--outline:focus .c-button__arrow,
.c-button--outline:active .c-button__arrow {
    fill: #fff
}

.c-button--outline:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: 28px;
    background-color: #f23838;
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.c-button--outline.c-button--inverse {
    border-color: #fff;
    color: #fff
}

.c-button--outline.c-button--inverse:hover,
.c-button--outline.c-button--inverse:focus,
.c-button--outline.c-button--inverse:active {
    border-color: var(--color-primary)
}

.\:is-dark .c-button--outline {
    border: 1px solid #fff;
    color: #fff
}

.\:is-dark .c-button--outline:hover,
.\:is-dark .c-button--outline:focus,
.\:is-dark .c-button--outline:active {
    border-color: var(--color-base)
}

.c-button--fill {
    border: none;
    background-color: var(--color-primary);
    color: #fff;
    transition-duration: .5s;
    transition-property: border-color, color;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.c-button--fill.--base {
    background-color: var(--color-base)
}

.c-button--fill:hover,
.c-button--fill:focus,
.c-button--fill:active {
    border-color: var(--color-secondary);
    color: #fff
}

.c-button--fill:hover:before,
.c-button--fill:focus:before,
.c-button--fill:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.c-button--fill:hover .c-button__arrow,
.c-button--fill:focus .c-button__arrow,
.c-button--fill:active .c-button__arrow {
    fill: #fff
}

.c-button--fill:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: 28px;
    background-color: var(--color-secondary);
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.c-button--fill.c-button--inverse {
    border-color: var(--color-bg);
    background-color: var(--color-bg);
    color: var(--color-base)
}

.c-button--fill.c-button--inverse:before {
    background-color: var(--color-base);
    color: var(--color-bg)
}

.c-button--fill.c-button--inverse .c-button__arrow {
    fill: var(--color-base)
}

.c-button--fill.c-button--inverse:hover,
.c-button--fill.c-button--inverse:focus,
.c-button--fill.c-button--inverse:active {
    border-color: var(--color-base);
    color: var(--color-bg)
}

.c-button--fill.c-button--inverse:hover .c-button__arrow,
.c-button--fill.c-button--inverse:focus .c-button__arrow,
.c-button--fill.c-button--inverse:active .c-button__arrow {
    fill: var(--color-bg)
}

.c-button__arrow {
    fill: var(--color-base);
    -webkit-transform: translateY(-50%);
    z-index: 2;
    position: absolute;
    top: 50%;
    right: 1.2rem;
    transform: translateY(-50%);
    transition-duration: .3s;
    transition-property: fill;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.\:is-dark .c-button__arrow {
    fill: #fff
}

.c-button--arrow {
    padding-right: 3.5rem
}

.c-card--interview .c-card__content:hover .c-card__image {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.c-card--interview .c-card__figure {
    z-index: 0;
    position: relative;
    order: 1;
    aspect-ratio: 400/520;
    overflow: hidden;
    border-radius: var(--border-radius-sm)
}

.c-card--interview .c-card__image {
    -o-object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.c-card--interview .c-card__body {
    -webkit-transform: translateZ(1px);
    -webkit-backface-visibility: hidden;
    display: flex;
    z-index: 5;
    position: relative;
    top: -69px;
    flex-direction: column-reverse;
    order: 2;
    width: calc(100% - 40px);
    margin-right: -1px;
    margin-bottom: -29px;
    margin-left: auto;
    padding: 1rem 1.5rem;
    transform: translateZ(1px);
    border-radius: var(--border-radius-sm) 0 0 0;
    backface-visibility: hidden;
    background-color: var(--color-bg);
    color: var(--color-bg);
    transition-duration: .5s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.c-card--interview .c-card__body:before {
    -webkit-clip-path: path("M1.54386 21.614C12.6283 21.614 21.614 12.6283 21.614 1.54386C21.614 1.02439 21.5943 0.509538 21.5555 0H22V22H0V21.5555C0.509538 21.5943 1.02439 21.614 1.54386 21.614Z");
    position: absolute;
    top: 49px;
    left: -21px;
    width: 22px;
    height: 22px;
    background-color: var(--color-bg);
    content: "";
    clip-path: path("M1.54386 21.614C12.6283 21.614 21.614 12.6283 21.614 1.54386C21.614 1.02439 21.5943 0.509538 21.5555 0H22V22H0V21.5555C0.509538 21.5943 1.02439 21.614 1.54386 21.614Z");
    transition-duration: .5s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.c-card--interview .c-card__body:after {
    -webkit-clip-path: path("M1.54386 21.614C12.6283 21.614 21.614 12.6283 21.614 1.54386C21.614 1.02439 21.5943 0.509538 21.5555 0H22V22H0V21.5555C0.509538 21.5943 1.02439 21.614 1.54386 21.614Z");
    position: absolute;
    top: -21px;
    right: -1px;
    width: 22px;
    height: 22px;
    background-color: var(--color-bg);
    content: "";
    clip-path: path("M1.54386 21.614C12.6283 21.614 21.614 12.6283 21.614 1.54386C21.614 1.02439 21.5943 0.509538 21.5555 0H22V22H0V21.5555C0.509538 21.5943 1.02439 21.614 1.54386 21.614Z");
    transition-duration: .5s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.c-card--interview .c-card__title {
    margin-top: 0;
    color: var(--color-base)
}

.c-card--interview .c-card__name {
    color: var(--color-base);
    font-size: clamp(15px, 5vw, 18px)
}

.c-card--interview .c-card__position {
    margin-top: 10px;
    color: var(--color-gray);
    font-size: 12px;
    line-height: 1.2
}

.c-card__content {
    display: flex;
    position: relative;
    flex-direction: column
}

.c-card__title {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    order: 2;
    -webkit-line-clamp: 2;
    margin-top: 1.1rem;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.5
}

.c-card__figure {
    order: 1;
    margin-bottom: 0
}

.c-card__picture {
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.c-card__picture.\:is-life {
    -webkit-transform: scale(1.02);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: scale(1.02);
    opacity: 0;
    transition-duration: .8s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.is-dark .c-card__picture.\:is-life {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.c-card__picture.\:is-work {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition-duration: .8s;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

.is-dark .c-card__picture.\:is-work {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0
}

.c-card__image {
    -o-object-fit: cover;
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    object-fit: cover;
    transition-duration: .7s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}


.c-card__cat__link:focus,
.c-card__cat__link:active {
    color: var(--color-primary)
}


.c-card__tag__link:focus,
.c-card__tag__link:active {
    color: var(--color-primary)
}

.hamburger {
    --hamburger-border: rgba(var(--color-base-rgb), .5);
    --hamburger-color: var(--color-base);
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 40px;
    overflow: hidden;
    border: 1px solid var(--hamburger-border);
    border-radius: 30px;
    color: var(--hamburger-color)
}

.hamburger__container {
    -webkit-transform: translateY(0);
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    transform: translateY(0);
    font-size: .8125rem;
    line-height: 100%;
    text-transform: uppercase;
    white-space: nowrap;
    transition-duration: .6s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.hamburger__container>span {
    height: 40px;
    line-height: 40px
}

.hamburger[aria-expanded=true] .hamburger__container {
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px)
}


.c-news-list__link:focus,
.c-news-list__link:active {
    color: var(--color-base)
}


.c-news-list__link:focus:before,
.c-news-list__link:active:before {
    -webkit-transform-origin: bottom center;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    transform-origin: bottom center
}

.c-side.\:on-primary .c-side__item a.\:active {
    color: #fff;
    font-weight: 700
}

.c-side.\:on-primary .c-side__item a.\:active .c-side__item__dot {
    fill: #fff
}

.c-side.\:on-primary .c-side__item a.\:active .c-side__item__circle {
    stroke: #fff;
    stroke-dashoffset: 0
}


.c-side__item a:focus,
.c-side__item a:active {
    font-weight: 700;
    text-decoration: none
}

.c-side__item a.\:active {
    color: var(--color-primary);
    font-weight: 700
}

.c-side__item a.\:active .c-side__item__dot {
    fill: var(--color-primary)
}

.c-side__item a.\:active .c-side__item__circle {
    stroke-dashoffset: 0
}

.theme-switcher__active {
    z-index: 1;
    position: absolute;
    top: 6px;
    left: 6px;
    width: 4em;
    height: calc(100% - 12px);
    border-radius: 20px;
    background-color: var(--color-bg);
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.is-dark .theme-switcher {
    background-color: #000000e6
}

.is-dark .theme-switcher [data-theme-switcher-active] {
    -webkit-transform: translateX(4.2em);
    width: 3.2em;
    transform: translate(4.2em)
}

.c-title--reverse {
    display: flex;
    flex-direction: column-reverse
}

.c-title--lg .c-title__en {
    font-size: clamp(36px, 14vw, 90px);
    line-height: 1.1
}

.c-title__en {
    font-weight: var(--font-normal);
    font-size: clamp(18px, 7vw, 65px);
    line-height: 1.4
}

.c-title__ja {
    color: var(--color-gray-dark);
    font-weight: var(--font-normal);
    font-size: .875rem;
    line-height: 1.4
}

.l-aside__entry {
    width: 100%;
    overflow-x: hidden;
    background-color: #E5E5EA;
    color: #fff;
    transition-duration: .5s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.l-aside__entry__links {
    display: flex;
    position: relative;
    padding: clamp(20px, 3vw, 40px) clamp(25px, 3vw, 40px);
    padding-right: 30px;
    overflow: hidden;
    gap: 30px;
    border-radius: 12px;
    background-color: #2a2c31;
    color: #fff
}

.l-aside__entry__links__wrapper {
    padding: clamp(60px, 5vw, 80px) 0
}

.l-aside__entry__links:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: 12px;
    background-color: #1a1b1e;
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

.l-aside__entry__links:hover,
.l-aside__entry__links:focus,
.l-aside__entry__links:active {
    color: #fff
}

.l-aside__entry__links:hover:before,
.l-aside__entry__links:focus:before,
.l-aside__entry__links:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.l-aside__entry__links:hover .l-aside__entry__links__arrow__before,
.l-aside__entry__links:focus .l-aside__entry__links__arrow__before,
.l-aside__entry__links:active .l-aside__entry__links__arrow__before {
    -webkit-transform: translateX(100%);
    transform: translate(100%);
    opacity: 0
}

.l-aside__entry__links:hover .l-aside__entry__links__arrow__after,
.l-aside__entry__links:focus .l-aside__entry__links__arrow__after,
.l-aside__entry__links:active .l-aside__entry__links__arrow__after {
    -webkit-transform: translateX(0%);
    transform: translate(0);
    opacity: 1
}

.l-aside__entry__links.\:entry {
    background-color: var(--color-primary)
}

.l-aside__entry__links.\:entry:before {
    background-color: var(--color-secondary)
}

.l-aside__entry__links.\:entry .l-aside__entry__links__heading {
    font-weight: 500;
    font-size: clamp(18px, 5vw, 22px);
    text-transform: uppercase
}

.l-aside__entry__links__content {
    z-index: 2;
    position: relative;
    flex: 0 0 calc(100% - 50px)
}

.l-aside__entry__links__heading {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 1.25rem
}

.l-aside__entry__links__heading svg {
    fill: #fff
}

.l-aside__entry__links__body {
    margin-top: .6rem;
    font-size: 12px;
    line-height: 1.5
}

.l-aside__entry__links__arrow {
    display: flex;
    z-index: 2;
    position: relative;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 100%
}

.l-aside__entry__links__arrow__before {
    position: absolute;
    width: 100%;
    transition-duration: .2s;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.l-aside__entry__links__arrow__after {
    -webkit-transform: translateX(-100%);
    position: absolute;
    width: 100%;
    transform: translate(-100%);
    opacity: 0;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.l-aside__entry__loop {
    display: flex;
    padding-top: clamp(40px, 10vw, 120px);
    padding-bottom: clamp(100px, 15vw, 180px);
    color: #fff;
    font-size: clamp(100px, 10vw, 200px);
    white-space: nowrap
}

.l-aside__entry__loop:hover,
.l-aside__entry__loop:focus,
.l-aside__entry__loop:active {
    color: #fff
}

.l-aside__entry__loop__ln {
    -webkit-animation: loop 15s linear .2s infinite;
    display: flex;
    padding-left: clamp(50px, 8vw, 80px);
    gap: clamp(50px, 8vw, 80px);
    animation: loop 15s linear .2s infinite;
    will-change: transform
}

@-webkit-keyframes loop {
    to {
        -webkit-transform: translateX(-100%);
        transform: translate(-100%)
    }
}

@keyframes loop {
    to {
        -webkit-transform: translateX(-100%);
        transform: translate(-100%)
    }
}

.l-drawer {
    -webkit-backdrop-filter: blur(10px);
    display: none;
    z-index: 10000;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    backdrop-filter: blur(10px);
    will-change: opacity
}

.l-drawer__bg {
    -webkit-transform: translateZ(0);
    z-index: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #00000080
}

.l-drawer__header {
    display: flex;
    z-index: 10;
    position: fixed;
    top: -1px;
    right: 3px;
    align-items: center;
    justify-content: flex-end;
    height: 75px;
    padding: 0 1rem 0 1.5rem
}

.l-drawer__hamburger {
    display: flex;
    justify-content: flex-end
}

.l-drawer__hamburger .hamburger {
    --hamburger-border: rgba(255, 255, 255, .5);
    --hamburger-color: rgba(255, 255, 255, .8)
}

.l-drawer__wrapper {
    -webkit-overflow-scrolling: touch;
    position: relative;
    height: 100%;
    overflow-y: scroll
}

.l-drawer__wrapper::-webkit-scrollbar {
    display: none
}

.l-drawer .modal__container {
    z-index: 4;
    position: relative;
    width: 700px;
    max-width: 100%;
    height: 100%;
    margin-left: auto;
    padding: 8px;
    transition-delay: .3s;
    transition-duration: .5s;
    transition-property: opacity, padding, -webkit-transform;
    transition-property: transform, opacity, padding;
    transition-property: transform, opacity, padding, -webkit-transform;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.l-drawer .modal__container:before {
    -webkit-transform-origin: right top;
    position: absolute;
    top: 8px;
    left: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    transform-origin: right top;
    border-radius: 30px;
    background-color: #000c;
    content: "";
    opacity: 0
}

.l-drawer__container {
    display: flex;
    min-height: 100%
}

.l-drawer__content {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    padding: 20px 30px 40px
}

.l-drawer__nav__wrapper {
    padding-right: 8px;
    padding-left: 8px
}

.l-drawer__nav__ul {
    margin-top: clamp(36px, 6vw, 4rem)
}

.l-drawer__nav__list {
    margin-top: .8rem
}

.l-drawer__nav__link {
    display: inline-flex;
    color: #d9d9d9;
    font-weight: var(--font-bold);
    font-size: 18px
}

.l-drawer__nav__link:hover,
.l-drawer__nav__link:focus,
.l-drawer__nav__link:active {
    color: #d9d9d9
}


.l-drawer__nav__child__link:focus,
.l-drawer__nav__child__link:active {
    color: #d9d9d9
}

.l-drawer__cv {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 60px;
    gap: 10px
}

.l-drawer__cv__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 60px;
    padding-right: 30px;
    padding-left: 15px;
    gap: 20px;
    border-radius: 8px;
    background-color: #2f3136;
    color: #fff;
    white-space: nowrap
}

.l-drawer__cv__button:hover,
.l-drawer__cv__button:focus,
.l-drawer__cv__button:active {
    color: #fff
}

.l-drawer__cv__button:hover:before,
.l-drawer__cv__button:focus:before,
.l-drawer__cv__button:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.l-drawer__cv__button.\:entry {
    background-color: var(--color-primary);
    font-size: 1.1rem;
    text-transform: uppercase
}

.l-drawer__cv__button.\:entry:before {
    background-color: var(--color-secondary)
}

.l-drawer__cv__button svg {
    z-index: 2;
    position: relative
}

.l-drawer__cv__button:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: 8px;
    background-color: var(--color-footer-bg);
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.l-drawer.is-open {
    display: block;
    z-index: 10000
}

.l-drawer[aria-hidden=false] .l-drawer__bg {
    -webkit-animation: fadeIn 1s var(--easeOutExpo) 0s forwards;
    animation: fadeIn 1s var(--easeOutExpo) 0s forwards
}

.l-drawer[aria-hidden=false] .modal__container:before {
    -webkit-animation: scaleIn .8s var(--easeInOutExpo) 0s forwards;
    animation: scaleIn .8s var(--easeInOutExpo) 0s forwards
}

.l-drawer[aria-hidden=false] .l-drawer__content {
    -webkit-animation: fadeIn .8s var(--easeOutCubic) .4s forwards;
    animation: fadeIn .8s var(--easeOutCubic) .4s forwards
}

.l-drawer[aria-hidden=true] .l-drawer__bg {
    -webkit-animation: fadeOut .6s var(--easeInOutCubic) 0s forwards;
    animation: fadeOut .6s var(--easeInOutCubic) 0s forwards
}

.l-drawer[aria-hidden=true] .l-drawer__content {
    -webkit-animation: fadeOut .8s var(--easeOutCubic) .6s forwards;
    animation: fadeOut .8s var(--easeOutCubic) .6s forwards
}

.l-drawer[aria-hidden=true] .modal__container:before {
    -webkit-animation: scaleOut .5s var(--easeOutCubic) 0s forwards;
    animation: scaleOut .5s var(--easeOutCubic) 0s forwards
}

.l-drawer[aria-hidden=false] .l-drawer__content,
.l-drawer[aria-hidden=true] .l-drawer__bg,
.l-drawer[aria-hidden=true] .l-drawer__content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform, opacity
}

@-webkit-keyframes scaleIn {
    0% {
        -webkit-transform: scale(.8);
        transform: scale(.8);
        opacity: 0
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
}

@keyframes scaleIn {
    0% {
        -webkit-transform: scale(.8);
        transform: scale(.8);
        opacity: 0
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }
}

@-webkit-keyframes scaleOut {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    to {
        -webkit-transform: scale(.8);
        transform: scale(.8);
        opacity: 0
    }
}

@keyframes scaleOut {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    to {
        -webkit-transform: scale(.8);
        transform: scale(.8);
        opacity: 0
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.l-floating {
    z-index: 999;
    position: fixed;
    right: 15px;
    bottom: 15px
}

.l-floating__inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px
}

.l-floating__button {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 56px;
    padding-right: 30px;
    padding-left: 15px;
    gap: 20px;
    border: 1px solid #f23838;
    border-radius: 8px;
    background-color: #f23838;
    color: #fff;
    white-space: nowrap;
    transition-duration: .5s;
    transition-property: background-color, border-color, color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.is-dark .l-floating__button {
    color: #fff
}

.l-floating__button:hover:before,
.l-floating__button:focus:before,
.l-floating__button:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.l-floating__button.\:requirement {
    padding-right: 5px
}

.l-floating__button.\:entry {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    color: #fff;
    font-size: 1.1rem;
    text-transform: uppercase
}

.l-floating__button.\:entry:before {
    border-color: #1059e5;
    background-color: #1059e5
}

.l-floating__button svg {
    fill: currentcolor;
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: visible;
    display: inline-block;
    z-index: 2;
    position: relative;
    transform: translateZ(0);
    backface-visibility: visible
}

.l-floating__button:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: 8px;
    background-color: var(--color-bg-gray-light);
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.l-footer__wrapper {
    background-color: var(--color-footer-bg);
    color: #fff;
    transition-duration: .5s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.l-footer__content {
    padding: clamp(60px, 8vw, 80px) 0
}

.l-footer__right {
    margin-top: 2rem;
    text-align: right
}

.l-footer__right .l-footer__right__button {
    background-color: #303234
}

.l-footer__nav__list {
    margin-top: .6rem
}

.l-footer__nav__link {
    display: inline-flex;
    color: #d9d9d9;
    font-weight: var(--font-bold);
    font-size: clamp(15px, 4vw, 16px)
}

.l-footer__nav__link:hover,
.l-footer__nav__link:focus,
.l-footer__nav__link:active {
    color: #d9d9d9
}


.l-footer__nav__child__link:focus,
.l-footer__nav__child__link:active {
    color: #d9d9d9
}

.l-footer__bottom {
    padding: clamp(60px, 8vw, 100px) 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #a8aaae
}

.l-footer__bottom__content {
    display: flex;
    align-items: center;
    gap: 3vw
}

.l-footer__bottom__company {
    font-weight: 400;
    font-size: 14px
}

.l-footer__bottom__address {
    font-weight: 400;
    font-size: 13px
}

.l-footer__bottom__tel {
    color: #a8aaae;
    font-weight: 400;
    font-size: 14px
}

.l-footer__bottom__tel:hover,
.l-footer__bottom__tel:focus,
.l-footer__bottom__tel:active {
    color: #a8aaae
}

.l-footer__copyright {
    margin-left: auto;
    color: var(--color-gray);
    font-weight: 400;
    font-size: .75rem;
    text-align: right
}

.l-header {
    --header-color: var(--color-base);
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
}

.l-header__wrapper {
    display: grid;
    grid-template-columns: 350px 1fr 165px 80px;
    align-items: center;
    height: var(--header-height-lg);
    padding: 0 1.2rem 0 1.5rem;
    border-bottom: 1px solid transparent;
    transition-duration: .3s;
    transition-property: border-bottom-color, background-color;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

.\:is-dark .l-header__wrapper {
    --header-color: #fff;
    color: var(--header-color)
}

.\:is-dark .l-header__wrapper:before {
    background: 0 0
}

.\:is-dark .l-header__wrapper .l-header__hamburger .hamburger {
    --hamburger-border: rgba(255, 255, 255, .5);
    --hamburger-color: var(--header-color)
}

.l-header__wrapper:before {
    -webkit-transform: translateY(-1px);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 1px);
    transform: translateY(-1px);
    content: "";
    transition-duration: .3s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

.l-header__logo {
    z-index: 2;
    position: relative;
    font-size: 1px;
    line-height: 1
}

.l-header__logo__link {
    display: inline-flex;
    align-items: center;
    gap: 20px
}

.l-header__logo svg {
    width: 10rem;
    padding: 0.3rem;
}

.l-header__gnav {
    z-index: 2;
    position: relative;
    padding-right: 10px
}

.l-header__gnav__ul {
    display: flex;
    justify-content: flex-end
}

.l-header__gnav__list {
    margin-left: 1.3rem
}

.l-header__gnav__link {
    color: var(--header-color);
    font-weight: var(--font-bold);
    font-size: .975rem
}

.l-header__gnav__link:hover,
.l-header__gnav__link:focus,
.l-header__gnav__link:active {
    color: var(--header-color)
}

.l-header__hamburger {
    display: flex;
    z-index: 2;
    position: relative;
    justify-content: flex-end;
    width: auto !important;
    min-width: 0 !important;
    margin-right: -2.5rem !important;
}

.l-header .gradient-blur {
    -webkit-transform: rotate(180deg);
    z-index: 0;
    position: absolute;
    top: -1px;
    width: 100%;
    height: 130%;
    transform: rotate(180deg);
    pointer-events: none
}

.l-header .gradient-blur>div,
.l-header .gradient-blur:before,
.l-header .gradient-blur:after {
    position: absolute;
    height: 100%;
    inset: 0
}

.l-header .gradient-blur:before {
    -webkit-backdrop-filter: blur(.5px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 12.5%, #000 25%, rgba(0, 0, 0, 0) 37.5%);
    z-index: 1;
    backdrop-filter: blur(.5px);
    content: "";
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 12.5%, #000 25%, rgba(0, 0, 0, 0) 37.5%)
}

.l-header .gradient-blur>div:nth-of-type(1) {
    -webkit-backdrop-filter: blur(3px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 12.5%, #000 25%, #000 37.5%, rgba(0, 0, 0, 0) 50%);
    z-index: 2;
    backdrop-filter: blur(3px);
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 12.5%, #000 25%, #000 37.5%, rgba(0, 0, 0, 0) 50%)
}

.l-header .gradient-blur>div:nth-of-type(2) {
    -webkit-backdrop-filter: blur(8px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 25%, #000 37.5%, #000 50%, rgba(0, 0, 0, 0) 62.5%);
    z-index: 3;
    backdrop-filter: blur(8px);
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 25%, #000 37.5%, #000 50%, rgba(0, 0, 0, 0) 62.5%)
}

.l-header .gradient-blur>div:nth-of-type(3) {
    -webkit-backdrop-filter: blur(12px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 37.5%, #000 50%, #000 62.5%, rgba(0, 0, 0, 0) 75%);
    z-index: 4;
    backdrop-filter: blur(12px);
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 37.5%, #000 50%, #000 62.5%, rgba(0, 0, 0, 0) 75%)
}

.l-header .gradient-blur>div:nth-of-type(4) {
    -webkit-backdrop-filter: blur(15px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #000 62.5%, #000 75%, rgba(0, 0, 0, 0) 87.5%);
    z-index: 5;
    backdrop-filter: blur(15px);
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #000 62.5%, #000 75%, rgba(0, 0, 0, 0) 87.5%)
}

.l-header .gradient-blur>div:nth-of-type(5) {
    -webkit-backdrop-filter: blur(32px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 62.5%, #000 75%, #000 87.5%, rgba(0, 0, 0, 0) 100%);
    z-index: 6;
    backdrop-filter: blur(32px);
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 62.5%, #000 75%, #000 87.5%, rgba(0, 0, 0, 0) 100%)
}

.l-header .gradient-blur>div:nth-of-type(6) {
    -webkit-backdrop-filter: blur(64px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 75%, #000 87.5%, #000 100%);
    z-index: 7;
    backdrop-filter: blur(64px);
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 75%, #000 87.5%, #000 100%)
}

.l-header .gradient-blur:after {
    -webkit-backdrop-filter: blur(100px);
    -webkit-mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 87.5%, #000 100%);
    z-index: 8;
    backdrop-filter: blur(100px);
    content: "";
    mask: linear-gradient(to bottom, rgba(0, 0, 0, 0) 87.5%, #000 100%)
}

html.is-dark .l-header.\:not-top .l-header__wrapper:before {
    background-color: rgba(var(--color-bg-rgb), .3)
}

.section-interview__wrapper {
    padding: clamp(20px, 5vw, 60px) 0 clamp(20px, 5vw, 40px)
}

.section-interview__header {
    padding-bottom: clamp(40px, 5vw, 60px)
}

.section-interview__header__content {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.section-interview .splide__arrows {
    display: inline-flex;
    position: relative;
    top: -30px;
    margin-bottom: -30px;
    gap: 4px
}

.section-interview .splide__arrows:hover:before {
    opacity: 0
}

.section-interview .splide__arrows:before {
    position: absolute;
    top: 30%;
    left: 50%;
    width: 1px;
    height: 35%;
    background-color: rgba(var(--color-gray-rgb), .5);
    content: "";
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-interview .splide__arrows .splide__arrow {
    -webkit-transform: translate(0, 0);
    display: flex;
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 68px;
    transform: translate(0);
    border-radius: var(--border-radius-sm);
    background-color: transparent;
    opacity: 1;
    transition-duration: .3s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-interview .splide__arrows .splide__arrow:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: var(--border-radius-sm);
    background-color: var(--color-bg-gray-light);
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-interview .splide__arrows .splide__arrow svg {
    fill: var(--color-gray);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-duration: .3s;
    transition-property: fill;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-interview .splide__arrows .splide__arrow:hover:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.section-interview .splide__arrows .splide__arrow:hover svg {
    fill: var(--color-base)
}

.section-talk .splide__arrows {
    display: inline-flex;
    position: relative;
    top: -30px;
    margin-bottom: -30px;
    gap: 4px
}

.section-talk .splide__arrows:hover:before {
    opacity: 0
}

.section-talk .splide__arrows:before {
    position: absolute;
    top: 30%;
    left: 50%;
    width: 1px;
    height: 35%;
    background-color: rgba(var(--color-gray-rgb), .5);
    content: "";
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-talk .splide__arrows .splide__arrow {
    -webkit-transform: translate(0, 0);
    display: flex;
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 68px;
    transform: translate(0);
    border-radius: var(--border-radius-sm);
    background-color: transparent;
    opacity: 1;
    transition-duration: .3s;
    transition-property: background-color;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-talk .splide__arrows .splide__arrow:before {
    -webkit-transform: scale(.9);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(.9);
    border-radius: var(--border-radius-sm);
    background-color: var(--color-bg-gray-light);
    content: "";
    opacity: 0;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-talk .splide__arrows .splide__arrow svg {
    fill: var(--color-gray);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition-duration: .3s;
    transition-property: fill;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.section-talk .splide__arrows .splide__arrow:hover:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.section-talk .splide__arrows .splide__arrow:hover svg {
    fill: var(--color-base)
}


.sidebar__title__link:focus,
.sidebar__title__link:active {
    color: var(--color-secondary)
}


.sidebar__link:focus,
.sidebar__link:active {
    color: var(--color-gray)
}


.sidebar__child__link:focus,
.sidebar__child__link:active {
    color: var(--color-secondary)
}

.about {
    padding-bottom: clamp(60px, 8vw, 80px)
}

.is-dark .about__we-value__figure--life {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.is-dark .about__we-value__figure--work {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0
}

.qa__details[open] .qa__summary:before {
    color: var(--color-primary)
}

.qa__details[open]:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.qa__details[open]:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}


.qa__details:not([open]) .qa__summary:focus,
.qa__details:not([open]) .qa__summary:active {
    background-color: var(--color-bg-gray-exlight)
}

.is-dark .requirement__header__button {
    color: #fff
}


.requirement__header__button:focus:before,
.requirement__header__button:active:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.top-about__wrapper {
    padding: clamp(40px, 8vw, 120px) 0 0
}

.top-about__content {
    padding: clamp(24px, 4vw, 70px)
}

.top-about__heading {
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1.4;
    letter-spacing: .05em;
    white-space: nowrap
}

.top-about__body__wrapper {
    position: relative;
    margin-top: 1rem
}

.top-about__body__wrapper.\:life,
.is-dark .top-about__body__wrapper.\:work {
    display: none
}

.is-dark .top-about__body__wrapper.\:life {
    display: block
}

.top-about__body {
    font-size: .9375rem;
    line-height: 2.2
}

.top-about__more {
    margin-top: 2rem
}

.top-about__card__image {
    position: relative;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-radius)
}

.top-about__card__image .c-card__image {
    transition-duration: 0s
}

.top-about__card__image--life {
    -webkit-transform: scale(1.02);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: scale(1.02);
    border-radius: var(--border-radius);
    opacity: 0;
    transition-duration: .8s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.is-dark .top-about__card__image--life {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.top-about__card__image--work {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-radius);
    transition-duration: .8s;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

.is-dark .top-about__card__image--work {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0
}

.work-life__label {
    display: inline-flex;
    flex-direction: column;
    width: 94px;
    height: 30px;
    margin-bottom: 5px;
    margin-left: 2px;
    padding: 5px 8px;
    overflow: hidden;
    gap: 5px;
    border: 1px solid var(--color-primary);
    border-radius: 20px;
    color: var(--color-primary);
    font-size: .875rem;
    line-height: 20px;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    transition-duration: .6s;
    transition-property: width;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.is-dark .work-life__label {
    width: 78px
}

.work-life__label>span {
    transition-duration: .6s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.is-dark .work-life__label>span {
    -webkit-transform: translateY(calc(-100% - 5px));
    transform: translateY(calc(-100% - 5px))
}

.top-banners__wrapper {
    padding: clamp(30px, 5vw, 80px) 0
}

.top-banners__link {
    display: block;
    position: relative;
    color: #fff
}

.top-banners__link:hover,
.top-banners__link:focus,
.top-banners__link:active {
    color: #fff
}

.top-banners__link:hover .top-banners__image,
.top-banners__link:focus .top-banners__image,
.top-banners__link:active .top-banners__image {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.top-banners__content {
    z-index: 3;
    position: absolute;
    bottom: clamp(30px, 5vw, 2.3rem);
    left: clamp(25px, 3vw, 2.3rem)
}

.top-banners__heading {
    display: flex;
    flex-direction: column-reverse
}

.top-banners__heading__ja {
    margin-top: .4rem;
    font-size: .875rem;
    line-height: 1
}

.top-banners__heading__en {
    font-weight: 500;
    font-size: clamp(30px, 3.5vw, 50px);
    line-height: 1.3
}

.top-banners__figure {
    display: flex;
    position: relative;
    aspect-ratio: 1/1.25;
    overflow: hidden;
    border-radius: var(--border-radius-md)
}

.top-banners__figure:before {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0006;
    content: ""
}

.top-banners__image {
    -o-object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition-duration: .5s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

.top-hero {
    position: relative;
    left: clamp(10px, 1.5vw, 30px);
    width: calc(100% - clamp(20px, 3vw, 60px));
    padding-top: clamp(140px, 18vw, 250px)
}

.top-hero__kv__wrapper {
    position: relative;
    height: 100%;
    height: 100svh;
    min-height: 50vw;
    overflow: hidden;
    border-radius: var(--border-radius)
}

.top-hero__kv {
    position: relative;
    height: 100%;
    height: 100svh;
    min-height: 800px;
    overflow: hidden;
    border-radius: var(--border-radius)
}

.top-hero__slider {
    overflow: hidden
}

.top-hero__slider:before {
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .15);
    content: ""
}

.top-hero__slider__item {
    -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%)
}

.top-hero__slider__item:first-child {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.top-hero__slider__image {
    -o-object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.top-hero__content {
    z-index: 10;
    position: absolute;
    top: clamp(75px, 10vw, 132px);
    width: 100%;
    opacity: 0
}

.top-hero__inner {
    position: relative;
    width: 100%;
    height: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: clamp(26px, 5vw, 100px);
    padding-left: clamp(26px, 5vw, 100px)
}

.top-hero__catch__ln {
    overflow: hidden;
    line-height: 1
}

.top-hero__catch__en {
    white-space: nowrap
}

.top-hero__catch__en__ln {
    font-weight: 500;
    font-size: clamp(35px, 7.8vw, 120px);
    line-height: 1;
    text-transform: uppercase
}

.top-hero__catch__en__ln2 {
    font-weight: 500;
    font-size: clamp(54px, 11vw, 180px);
    line-height: 1;
    text-transform: uppercase
}

.top-hero__catch__ja {
    margin-top: 20px;
    padding-left: .3em;
    color: #fff;
    font-size: clamp(23px, 3vw, 38px);
    letter-spacing: .08em;
    white-space: nowrap
}

.top-hero__catch__ja .top-hero__catch__ln:nth-child(2) {
    margin-top: 10px
}

.top-hero__button {
    margin-top: 30px;
    padding-left: .8vw;
    opacity: 0
}

.top-hero__scroll {
    z-index: 10;
    position: absolute;
    top: 8%;
    right: 4%
}

.top-hero__scroll__inner {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0
}

.top-hero__scroll__arrow {
    -webkit-transform: translate(-50%, -50%);
    -webkit-animation: scroll-arrow 3s var(--easeInOutExpo) .1s infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: scroll-arrow 3s var(--easeInOutExpo) .1s infinite
}

@-webkit-keyframes scroll-arrow {
    0% {
        -webkit-transform: translate(-50%, -70%);
        transform: translate(-50%, -70%);
        opacity: 0
    }

    25% {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        opacity: 1
    }

    to {
        -webkit-transform: translate(-50%, -20%);
        transform: translate(-50%, -20%);
        opacity: 0
    }
}

@keyframes scroll-arrow {
    0% {
        -webkit-transform: translate(-50%, -70%);
        transform: translate(-50%, -70%);
        opacity: 0
    }

    25% {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        opacity: 1
    }

    to {
        -webkit-transform: translate(-50%, -20%);
        transform: translate(-50%, -20%);
        opacity: 0
    }
}

.top-hero__scroll__circle {
    -webkit-animation: rotate 15s linear .1s infinite;
    animation: rotate 15s linear .1s infinite
}

@-webkit-keyframes rotate {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.top-interview__wrapper {
    padding: clamp(40px, 5vw, 60px) 0 0
}

.top-interview .interview__slider .splide__slide:nth-child(odd) {
    padding-top: clamp(30px, 8vw, 60px)
}

.top-officers {
    counter-reset: count
}

.top-officers__wrapper {
    padding-bottom: clamp(60px, 8vw, 80px)
}

.top-officers__container {
    -webkit-transform-origin: center top;
    height: 180vh;
    padding-top: clamp(30px, 5vw, 60px);
    transform-origin: center top
}

.top-officers__container .top-officers__card {
    counter-increment: count
}

.top-officers__container .top-officers__card:after {
    -webkit-transform: translateY(.055em);
    position: absolute;
    right: 5%;
    bottom: 81vw;
    left: auto;
    transform: translateY(.055em);
    content: "0" counter(count);
    font-weight: 400;
    font-size: clamp(70px, 18vw, 100px);
    line-height: 100%
}

.top-officers__card {
    position: relative;
    min-height: 620px;
    padding: 8px;
    overflow: hidden;
    border-radius: var(--border-radius)
}

.top-officers__card:hover .c-card__image,
.top-officers__card:focus .c-card__image,
.top-officers__card:active .c-card__image {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.top-officers__card__heading {
    position: relative;
    top: -10px
}

.top-officers__card__content {
    padding: clamp(18px, 3vw, 50px)
}

.top-officers__card__lead {
    margin-top: 10px;
    font-size: clamp(20px, 2.1vw, 34px);
    line-height: 1.6
}

.top-officers__card__position {
    margin-top: clamp(18px, 2vw, 26px);
    font-weight: 500;
    font-size: clamp(16px, 1.5vw, 20px)
}

.top-officers__card__image {
    position: relative;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-radius)
}

.top-officers__card__image--life {
    -webkit-transform: scale(1.02);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: scale(1.02);
    border-radius: var(--border-radius);
    opacity: 0;
    transition-duration: .8s;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

.is-dark .top-officers__card__image--life {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.top-officers__card__image--work {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--border-radius);
    transition-duration: .8s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

.is-dark .top-officers__card__image--work {
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

.top-officers__card.\:ceo {
    background-color: #0F9DD9;
    color: var(--color-base)
}

.top-officers__card.\:cmo {
    background-color: #0A2E5D;
    color: var(--color-bg)
}

.top-officers__card.\:officer {
    background-color: #F23838;
    color: var(--color-base)
}

.top-talk .splide__slide .c-card {
    -webkit-transform-origin: left center;
    transform-origin: left center
}

.top-talk .splide__slide .c-card__body {
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
    opacity: 0
}

.top-talk .splide__slide.is-active .c-card__body {
    -webkit-transform: translateY(0%) translateZ(1px);
    transform: translateY(0) translateZ(1px);
    opacity: 1
}

.top-workstyle__wrapper {
    padding: clamp(60px, 8vw, 80px) 0
}

.top-workstyle__content {
    padding: clamp(24px, 4vw, 70px)
}

.top-workstyle__heading {
    font-size: clamp(34px, 3vw, 40px);
    line-height: 1.5;
    white-space: nowrap
}

.top-workstyle__body__wrapper {
    position: relative;
    margin-top: 1rem
}

.top-workstyle__body__wrapper.\:life,
.is-dark .top-workstyle__body__wrapper.\:work {
    display: none
}

.is-dark .top-workstyle__body__wrapper.\:life {
    display: block
}

.top-workstyle__body {
    font-size: .9375rem;
    line-height: 2.2
}

.top-workstyle__more {
    margin-top: 2rem
}

.is-dark .top-workstyle__card__image--life {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.is-dark .top-workstyle__card__image--work {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0
}

.is-dark .work-style .data__map {
    --color-map: #2d3944
}

.is-dark .work-style .culture__figure--life {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.is-dark .work-style .culture__figure--work {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0
}

@media screen and (min-width:414px) {

    .top-officers__container .top-officers__card:after {
        bottom: 83vw
    }
}

@media screen and (min-width:576px) {

    .container {
        padding-right: 24px;
        padding-left: 24px
    }

    .container-overflow-right {
        padding-left: 24px
    }

    .container-overflow-left {
        padding-right: 24px
    }

    .sm\:cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .sm\:cols-2>* {
        grid-column: auto
    }

    .sm\:hide {
        display: none
    }

    .l-floating__button.\:requirement {
        display: none
    }

    .l-footer__nav__ul {
        margin-top: 2rem
    }

    .top-officers__card {
        min-height: auto;
        padding: clamp(24px, 4vw, 70px)
    }
}

@media screen and (min-width:768px) {

    .md\:cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:cols-2>* {
        grid-column: auto
    }

    .md\:gap-x-30 {
        grid-column-gap: 30px
    }

    .l-drawer__content {
        padding-right: 20px;
        padding-bottom: 20px;
        padding-left: 20px
    }

    .l-drawer__nav__wrapper {
        padding-right: 40px;
        padding-left: 40px
    }

    .top-hero__catch__en__ln .top-hero__catch__ln:nth-child(2) {
        color: #fff
    }

    .top-hero__catch__en__ln2 {
        color: #fff
    }

    .top-hero__catch__ja .top-hero__catch__ln:nth-child(2) {
        margin-top: 20px
    }

    .top-officers__container .top-officers__card:after {
        right: auto;
        bottom: clamp(-24px, -4vw, -70px);
        left: 2%;
        font-size: clamp(100px, 20vw, 200px);
        line-height: 100%
    }

    .top-officers__card {
        aspect-ratio: 16/9
    }

    .top-officers__card__heading {
        position: absolute;
        top: 20px;
        left: 24px;
        font-size: 2.5rem;
    }

    .top-officers__card__content {
        padding: clamp(24px, 5vw, 50px) 20px
    }
}

@media screen and (min-width:1024px) {

    .container {
        padding-right: 40px;
        padding-left: 40px
    }

    .container-overflow-right {
        padding-left: 40px
    }

    .container-overflow-left {
        padding-right: 40px
    }

    .lg\:cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .lg\:cols-2>* {
        grid-column: auto
    }

    .lg\:cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .lg\:cols-3>* {
        grid-column: auto
    }

    .lg\:order-last {
        order: 9999
    }

    .lg\:gap-x-30 {
        grid-column-gap: 30px
    }

    .modal-gallery__image {
        height: calc(100% - 100px);
        margin: 60px 0 60px 60px
    }

    .modal-gallery__content {
        align-self: flex-end;
        padding: 20px 30px 60px
    }

    .l-aside__entry__links {
        min-height: 180px
    }

    .l-footer__right,
    .l-footer__nav__ul {
        margin-top: 4rem
    }

    .l-footer__bottom__tel {
        pointer-events: none
    }

    .top-banners {
        margin-bottom: -2.5vw
    }

    .top-banners__wrapper {
        padding-top: 7.5vw
    }

    .top-banners__card:nth-child(1) {
        margin-top: -7.5vw
    }

    .top-banners__card:nth-child(3) {
        margin-top: 7.5vw
    }
}

@media screen and (min-width:1280px) {
    .container {
        width: 100%
    }

    .container {
        padding-right: 50px;
        padding-left: 50px
    }

    .container-overflow-right {
        width: min(100% + (100vw - 100%)/2, 100%)
    }

    .container-overflow-right {
        padding-left: 50px
    }

    .container-overflow-left {
        width: min(100% + (100vw - 100%)/2, 100%)
    }

    .container-overflow-left {
        padding-right: 50px
    }

    .xl\:col-3 {
        grid-column: auto/span 3
    }

    .xl\:col-9 {
        grid-column: auto/span 9
    }

    .modal-gallery__image {
        margin: 40px 60px
    }

    .modal-gallery__content {
        padding: 20px 60px 60px 0
    }

    .top-officers__card {
        height: 85vh;
        min-height: 600px
    }
}

@media screen and (min-width:1540px) {
    .container {
        width: 1800px
    }

    .container {
        padding-right: 60px;
        padding-left: 60px
    }

    .container-overflow-right {
        width: min(1800px + (100vw - 1800px)/2, 100%)
    }

    .container-overflow-right {
        padding-left: 60px
    }

    .container-overflow-left {
        width: min(1800px + (100vw - 1800px)/2, 100%)
    }

    .container-overflow-left {
        padding-right: 60px
    }

    .top-hero__kv {
        min-height: 50vw
    }
}

@media screen and (max-width:1539.98px) {

    .top-hero__scroll {
        top: 30%;
        right: 40px
    }
}

@media screen and (max-width:1279.98px) {

    .hamburger {
        width: 70px
    }

    .l-drawer__header {
        right: 0
    }

    .l-drawer__header {
        top: 0
    }

    .l-drawer .modal__container {
        width: 700px;
        max-width: 100%
    }

    .l-header__wrapper {
        grid-template-columns: 1fr 140px 70px;
        padding-right: 1rem
    }

    .l-header__logo svg {
        width: 130px
    }

    .l-header__gnav {
        display: none
    }

    .top-hero__scroll {
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }
}

@media screen and (max-width:1023.98px) {

    .modal-gallery .modal__container {
        min-height: 100%
    }

    .modal-gallery__wrapper {
        height: auto;
        min-height: auto;
        padding: 70px 65px 40px
    }

    .modal-gallery__image__figure__img {
        position: static;
        max-height: 100vh
    }

    .modal-gallery .modal-button-prev {
        left: 5px
    }

    .modal-gallery .modal-button-next {
        right: 5px
    }

    .hamburger {
        height: 35px
    }

    .hamburger__container>span {
        height: 35px;
        line-height: 35px
    }

    .hamburger[aria-expanded=true] .hamburger__container {
        -webkit-transform: translateY(-35px);
        transform: translateY(-35px)
    }

    .theme-switcher__active {
        top: 4px;
        left: 4px;
        height: calc(100% - 8px)
    }

    .l-drawer__hamburger {
        top: 0;
        right: 5px
    }

    .l-drawer .modal__container {
        padding: 4px
    }

    .l-drawer .modal__container:before {
        top: 4px;
        left: 4px;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        border-radius: 18px
    }

    .l-drawer__nav__list {
        margin-top: .6rem
    }

    .l-footer__content,
    .l-footer__bottom {
        padding-right: 10px;
        padding-left: 10px
    }

    .l-footer__bottom__content {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px
    }

    .l-footer__copyright {
        width: 100%;
        margin-top: 60px;
        margin-left: 0;
        text-align: center
    }

    .l-header__wrapper {
        grid-template-columns: 1fr 120px 70px;
        padding-right: 1rem
    }

    .top-about__card__image {
        aspect-ratio: 16/10;
        width: 100%;
        height: auto
    }

    .top-banners__figure {
        aspect-ratio: 1/1.2
    }

    .top-hero__kv__wrapper,
    .top-hero__kv,
    .top-hero__slider {
        aspect-ratio: 4/3;
        height: auto;
        min-height: auto
    }
}

@media screen and (max-width:767.98px) {

    .modal-gallery__wrapper {
        height: auto;
        padding: 70px 24px 30px
    }

    .modal-gallery__close {
        top: 25px;
        right: 25px;
        width: 25px;
        height: 25px
    }

    .modal-gallery .modal-button-prev {
        top: 35px;
        left: 20px;
        width: 28px;
        height: 28px
    }

    .modal-gallery .modal-button-next {
        top: 35px;
        right: auto;
        left: 60px;
        width: 28px;
        height: 28px
    }

    .l-drawer__header {
        height: 60px
    }

    .l-drawer .modal__container {
        width: 100%
    }

    .l-header__wrapper {
        grid-template-columns: 1fr 120px 70px;
        height: 60px
    }

    .l-header__logo svg {
        width: 130px
    }

    .section-interview__header__content {
        flex-direction: column;
        align-items: flex-start
    }

    .section-interview__header__more {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        margin-top: 20px
    }

    .top-about__card__image {
        aspect-ratio: 16/11
    }

    .top-banners__heading__ja {
        font-size: .75rem
    }

    .top-hero {
        padding-top: 350px
    }

    .top-hero__kv__wrapper,
    .top-hero__kv,
    .top-hero__slider {
        aspect-ratio: 1/1
    }

    .top-hero__content {
        top: 0
    }

    .top-hero__catch__en {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        height: 350px;
        padding-bottom: 20px
    }

    .top-hero__catch__ja {
        margin-top: 24px;
        padding-left: 8px
    }

    .top-hero__button {
        display: none;
        margin-top: 15px;
        padding-left: 5px
    }

    .top-hero__scroll {
        -webkit-transform: scale(.7);
        top: auto;
        right: 0;
        bottom: 10px;
        transform: scale(.7)
    }

    .top-officers__card__image {
        aspect-ratio: 4/3.8;
        width: 100%;
        height: auto
    }
}

@media screen and (max-width:575.98px) {

    .modal-gallery__close {
        top: 20px;
        right: 20px
    }

    .c-button {
        padding-top: .8rem;
        padding-bottom: .8rem
    }

    .hamburger {
        width: 55px;
        height: 30px
    }

    .hamburger__container {
        font-size: 12px;
        line-height: 100%
    }

    .hamburger__container>span {
        -webkit-transform: translateY(-1px);
        height: 30px;
        transform: translateY(-1px);
        line-height: 30px
    }

    .hamburger[aria-expanded=true] .hamburger__container {
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }

    .is-dark .theme-switcher [data-theme-switcher-active] {
        -webkit-transform: translateX(3.9em);
        width: 3em;
        transform: translate(3.9em)
    }

    .l-drawer__header {
        padding-right: .8rem;
        padding-left: 1.2rem
    }

    .l-drawer__hamburger {
        right: 0
    }

    .l-drawer__nav__link {
        font-size: 19px
    }

    .l-drawer__cv {
        justify-content: center;
        gap: 8px
    }

    .l-drawer__cv__button {
        width: 48%
    }

    .l-floating {
        display: flex;
        right: 0;
        justify-content: center;
        width: 100%
    }

    .l-floating__inner {
        -webkit-backdrop-filter: blur(6px);
        bottom: 10px;
        justify-content: center;
        width: 85%;
        max-width: 360px;
        padding: 6px;
        gap: 0;
        border-radius: 30px;
        backdrop-filter: blur(6px);
        background-color: #1E1E1E;
        box-shadow: 0 0 5px 1px #0000000d
    }

    .is-dark .l-floating__inner {
        border-color: #141414e6;
        background-color: #141414e6
    }

    .l-floating__button {
        width: 33.3%;
        height: 38px;
        padding-right: 10px;
        padding-left: 10px;
        gap: 10px;
        border: none;
        border-radius: 20px;
        background-color: transparent;
        color: var(--color-gray-dark);
        font-size: 13px
    }

    .l-floating__button svg {
        width: 18px
    }

    .l-floating__button:before {
        content: none
    }

    .l-floating__button.\:entry {
        font-size: 14px
    }

    .l-floating__button.\:entry svg {
        width: 12px
    }

    .l-floating__button.\:contact {
        padding-right: 15px
    }

    .l-footer__nav__ul {
        margin-top: 0
    }

    .l-footer__nav__list {
        margin-top: 1rem
    }

    .l-header__wrapper {
        grid-template-columns: 1fr 80px 66px;
        padding-right: .8rem;
        padding-left: 1.2rem
    }

    .section-interview .splide__arrows .splide__arrow,
    .section-talk .splide__arrows .splide__arrow {
        width: 52px;
        height: 50px
    }

    .top-about__content {
        padding-right: 0;
        padding-left: 0
    }

    .top-about__body {
        font-size: .875rem
    }

    .top-banners__figure {
        aspect-ratio: 1/1.1
    }

    .top-hero {
        padding-top: 260px
    }

    .top-hero__inner {
        padding-right: 16px;
        padding-left: 16px
    }

    .top-hero__catch__en {
        height: 260px
    }

    .top-hero__scroll {
        -webkit-transform: scale(.6);
        right: -20px;
        bottom: -15px;
        transform: scale(.6)
    }

    .top-workstyle__content {
        padding-right: 0;
        padding-left: 0
    }

    .top-workstyle__body {
        font-size: .875rem
    }
}

@media screen and (max-width:413.98px) {

    .-xs\:hide {
        display: none
    }

    .l-footer__wrapper {
        margin-top: -1px;
        padding-bottom: 60px
    }

    .top-banners__heading__en {
        font-size: 2.25rem
    }
}

@media screen and (-ms-high-contrast:none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
        border-color: #0bf
    }
}

@media print {
    body {
        -webkit-print-color-adjust: exact;
        zoom: .8;
        width: 1191px
    }
}



/*中古車一覧関連*/
/* --- Apple風 ミニマムデザイン & 最終調整 CSS V7.1 --- */

/* 全体設定 */
.car-detail-page {
    line-height: 1.6;
    color: #1d1d1f;
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* タイトル */
.car-title {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 25px;
    border-bottom: 1px solid #d2d2d7;
    padding-bottom: 10px;
}

/* 車名の後ろのメーカー名（小さく） */
.car-title .car-title-maker {
    font-size: 0.6em;
    margin-left: 0.5em;
    color: #6e6e73;
    font-weight: 500;
}

/* ヘッダー英字タイトル内のメーカー名 */
.lower__header--post__title-en__maker {
    font-size: 0.5em;
    margin-left: 0.5em;
    color: #6e6e73;
}

/* メインフレックスコンテナ */
.car-main-flex-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}

.car-image-column {
    flex: 2;
    min-width: 300px;
}

.car-info-column {
    flex: 1;
    min-width: 300px;
}

/* ギャラリー修復用スタイル */
.main-car-image {
    width: 100%;
    height: auto;
    border: 1px solid #ddd;
    object-fit: cover;
}

.car-gallery-thumbs {
    padding-top: 10px;
    display: flex;
    overflow-x: auto;
}

.car-thumb {
    border: 1px solid #ccc;
    object-fit: cover;
}

/* --- 価格エリア（最終バランス調整） --- */
.price-box-wrapper {
    border: none;
    margin-bottom: 40px;
}

/* 価格全体を上下中央揃えにするためのラッパー */
.price-top-row {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f5f5f7;
    padding-bottom: 20px;
}

/* 支払総額エリア */
.price-total-box {
    padding: 0;
    flex: 1;
    border-right: 1px solid #f5f5f7;
    padding-right: 20px;
}

/* 車両本体価格エリア */
.price-body-box {
    padding: 0;
    flex: 1;
    padding-left: 20px;
}

.price-label {
    display: block;
    font-size: 13px;
    color: #6e6e73;
    margin-bottom: 5px;
    font-weight: 500;
}

/* 値と単位の縦揃え */
.price-value-wrap {
    display: flex;
    align-items: flex-end;
    line-height: 1;
    margin-bottom: 5px;
}

/* 支払総額の整数部分 */
.price-value-main-large {
    font-size: 3.0em;
    font-weight: 800;
    color: #1d1d1f;
}

.price-value-decimal {
    font-size: 1.5em;
    font-weight: 800;
    color: #1d1d1f;
    margin-right: 5px;
    padding-bottom: 0.166em;
    line-height: 1.0;
}

.price-unit {
    font-size: 1.0em;
    color: #6e6e73;
    font-weight: 500;
    margin-left: 3px;
    padding-bottom: 2px;
}

/* 車両本体価格の値 */
.price-value-sub {
    font-size: 1.8em;
    font-weight: 700;
    color: #1d1d1f;
}

.price-value-decimal-sub {
    font-size: 1.2em;
    font-weight: 700;
    color: #1d1d1f;
    margin-right: 5px;
    padding-bottom: 0.15em;
    line-height: 1.0;
}

.price-unit-sub {
    font-size: 1.0em;
    color: #6e6e73;
    font-weight: 500;
    margin-left: 3px;
    padding-bottom: 2px;
}

.price-sub-info {
    font-size: 13px;
    color: #86868b;
    margin-top: 10px;
    display: block;
}

/* --- 問い合わせボタン --- */
.contact-box {
    margin-top: 40px;
    padding: 0;
    text-align: center;
}

.contact-box-phone {
    padding: 20px 15px;
    background: #123458;
    color: white;
    border-radius: 10px;
    margin-bottom: 15px;
}

.contact-button {
    background: #f5f5f7;
    border-radius: 8px;
    margin-bottom: 10px;
    padding: 12px;
    border: none;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #123458;
}

.contact-line-btn {
    background: #00c300;
    color: white;
}

.contact-email-btn {
    background: #f5f5f7;
    color: #6e6e73;
}

/* アイコン */

/* --- 基本情報 --- */
.basic-status-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 15px;
    border: none;
}

.status-item {
    width: 100%;
    padding: 15px 0;
    border-bottom: 1px solid #f5f5f7;
}

.status-label {
    font-size: 14px;
    color: #6e6e73;
    font-weight: 500;
}

.status-value {
    font-weight: 600;
    color: #1d1d1f;
    margin-top: 3px;
    font-size: 15px;
    margin-left: 1rem;
}

/* ★保証（5番目）とミッション（6番目）を縦並びにする */
.basic-status-grid .status-item:nth-child(5),
.basic-status-grid .status-item:nth-child(6) {
    grid-column: 1 / -1;
}

.section-title {
    border-bottom: 1px solid #d2d2d7;
    padding-bottom: 8px;
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 40px;
}

.specs-table th,
.specs-table td {
    border: none;
    border-bottom: 1px solid #f5f5f7;
    padding: 15px 0;
}

.specs-table th {
    font-weight: 500;
    color: #6e6e73;
    width: 30%;
}

.equipment-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    border: 1px solid #f5f5f7;
    margin-bottom: 30px;
    border-radius: 6px;
}

.equipment-item-minimal-grid {
    padding: 15px;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    border-right: 1px solid #f5f5f7;
    border-bottom: 1px solid #f5f5f7;
    background: #1234581a;
}

.equipment-item-minimal-grid:nth-child(3n) {
    border-right: none;
}

/* ライトボックス */
#lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    display: none;
    text-align: center;
}

#lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
}

/* SP */
@media (max-width: 768px) {
    .car-main-flex-wrapper {
        flex-direction: column;
        gap: 20px;
    }

    .car-image-column,
    .car-info-column {
        width: 100%;
        min-width: 100%;
    }

    .equipment-list {
        grid-template-columns: 1fr;
    }

    .equipment-item-minimal-grid {
        border-right: none;
    }
}

td.spec-value {
    color: black;
}

h3.equipment-group-title {
    font-size: 1.2rem;
    margin-top: 2rem;
    margin-bottom: 1.2rem;
}
/*
 * Re:Auto display stability fixes.
 * Loaded after the legacy bundled stylesheet.
 */

@font-face {
    font-family: "Chillax";
    src: url("../fonts/chillax-400.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Chillax";
    src: url("../fonts/chillax-500.woff2") format("woff2");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}

:root {
    --font-family: "Chillax", -apple-system, BlinkMacSystemFont, "Helvetica Neue",
        "Yu Gothic", YuGothic, Meiryo, sans-serif;
    --icon-font-family: sans-serif;
    --pagination-arrow-first: "«";
    --pagination-arrow-prev: "‹";
    --pagination-arrow-next: "›";
    --pagination-arrow-last: "»";
}

html {
    background-color: var(--color-bg, #fff);
    scrollbar-gutter: stable;
}

body {
    background-color: var(--color-bg, #fff);
    overflow-x: clip;
}

.l-floating__button .l-floating__icon path,
.l-floating__button .l-floating__icon rect {
    fill: none;
}

.l-floating__button .l-floating__icon--car circle {
    fill: currentColor;
}

/*
 * Barba remains available for its initial component setup, but navigation is
 * intentionally native. These rules prevent stale transition styles from
 * hiding content if an older page is restored from the back-forward cache.
 */
body[data-barba-prevent="all"] [data-barba="container"] {
    filter: none !important;
    opacity: 1 !important;
}

.section-interview .c-card--interview .c-card__figure {
    aspect-ratio: 4 / 3 !important;
}

/*
 * Splide hides its root until JavaScript mounts. Keep the stock cards visible
 * as a non-interactive fallback if the main module is delayed or unavailable.
 */
.interview__slider.splide:not(.is-initialized) {
    visibility: visible;
    overflow: hidden;
}

.interview__slider.splide:not(.is-initialized) .splide__list {
    display: flex;
    gap: 30px;
    transform: none !important;
}

.interview__slider.splide:not(.is-initialized) .splide__slide {
    flex: 0 0 280px;
    width: 280px;
}

@media (min-width: 575px) {
    .interview__slider.splide:not(.is-initialized) .splide__slide {
        flex-basis: 330px;
        width: 330px;
    }
}

@media (min-width: 1280px) {
    .interview__slider.splide:not(.is-initialized) .splide__slide {
        flex-basis: 360px;
        width: 360px;
    }
}

@media (max-width: 574px) {
    .top-workstyle__heading {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Published-stock maker filter. */


.stock-maker-filter__button:focus-visible,
.stock-maker-filter__button.is-active {
    border-color: #123458;
    background: #123458;
    color: #fff;
    text-decoration: none;
}

.stock-maker-filter__button:focus-visible {
    outline: 3px solid #327fd9;
    outline-offset: 3px;
}


.stock-maker-filter__button:focus-visible .stock-maker-filter__count,
.stock-maker-filter__button.is-active .stock-maker-filter__count {
    background: rgba(255, 255, 255, 0.2);
}

/* Stock detail copy and bottom navigation. */


.stock-single-nav a:focus-visible {
    border-color: #123458;
    background: #f1f5f9;
    color: #123458;
    text-decoration: none;
}


.stock-single-nav__link--list:focus-visible {
    background: #0a2746;
    color: #fff;
}

.stock-single-nav a:focus-visible {
    outline: 3px solid #327fd9;
    outline-offset: 3px;
}

/*
 * Keep the mobile CLOSE control on the same horizontal anchor as MENU.
 * The legacy header reserves a final grid column after MENU; the drawer uses a
 * separate fixed control, so its right offset must include that reserved space.
 */
@media screen and (max-width: 767.98px) {
    .l-drawer__header {
        right: 30px;
    }

    .l-drawer__nav + .l-drawer__nav .l-drawer__nav__ul {
        margin-top: 0;
    }
}

@media screen and (max-width: 575.98px) {
    .l-drawer__header {
        right: 26px;
    }

    .l-floating__button svg {
        flex: 0 0 18px;
    }

    .l-floating__button.\:entry svg {
        width: 18px;
        height: 18px;
    }
}

/*
 * Visual fallback for the deferred main-module prototype.
 *
 * This file is intentionally not referenced by the production theme.
 */

/*
 * The legacy stylesheet hides these elements until the GSAP intro runs.
 * They must remain readable before the deferred module is requested.
 */
.reauto-main-deferred [data-top-hero-content],
.reauto-main-deferred [data-top-hero-button],
.reauto-main-deferred [data-top-hero-scroll],
.reauto-main-failed [data-top-hero-content],
.reauto-main-failed [data-top-hero-button],
.reauto-main-failed [data-top-hero-scroll] {
    opacity: 1 !important;
}

.reauto-main-deferred [data-intro],
.reauto-main-failed [data-intro] {
    display: none !important;
}

.reauto-main-deferred [data-header],
.reauto-main-deferred [data-floating],
.reauto-main-deferred .top-hero__kv__wrapper,
.reauto-main-failed [data-header],
.reauto-main-failed [data-floating],
.reauto-main-failed .top-hero__kv__wrapper {
    opacity: 1 !important;
    transform: none !important;
}

.reauto-main-deferred [data-top-hero-scroll],
.reauto-main-failed [data-top-hero-scroll] {
    transform: none !important;
}

/*
 * Do not leave below-fold copy invisible when ScrollTrigger has not loaded.
 * The loader removes this override only after the app-ready boundary.
 */
.reauto-main-deferred [data-scroll-trigger],
.reauto-main-failed [data-scroll-trigger] {
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/*
 * Existing reauto-stability.css already supplies the unmounted Splide layout.
 * This small affordance prevents repeated activation while a critical control
 * is waiting for the legacy module.
 */
[aria-busy="true"][data-hamburger],
[aria-busy="true"][data-accordion-summary],
[aria-busy="true"][data-tab-item],
[aria-busy="true"][data-gallery-trigger] {
    cursor: progress;
}
