:root {
    font-size: 10px;

    --font-size-3xs: 0.8rem;
    --font-size-2xs: 1rem;
    --font-size-xs: 1.2rem;
    --font-size-sm: 1.4rem;
    --font-size-md: 1.6rem;
    --font-size-lg: 1.8rem;
    --font-size-xl: 2rem;

    --font-size-h3: clamp(2.4rem, 2.08333333333vw, 3rem);
    --font-size-h3-line-height: 1;
    --font-size-h2: clamp(2.8rem, 2.7777777778vw, 4rem);
    --font-size-h2-line-height: 1;
    --font-size-h1: clamp(3.2rem, 4.4444444444vw, 6.4rem);
    --font-size-h1-line-height: 0.85;
    --font-size-h0: clamp(3.2rem, 4.4444444444vw, 6.4rem);
    --font-size-h0-line-height: 0.85;

    --line-height-xs: 1;
    --line-height-sm: 1.25;
    --line-height-md: 1.5;

    --icon-size: 2.8rem;

    --font-base: "helvetica-neue-lt-pro", sans-serif;
    --font-base-style: normal;
    --font-base-weight: 300;
    --font-base-weight-normal: 400;
    --font-base-weight-medium: 500;
    --font-base-weight-bold: 700;
    --font-base-size: var(--font-size-xl);
    --font-base-size-sm: var(--font-size-md);
    --font-base-line-height: var(--line-height-md);
    --font-base-letter-spacing: normal;

    --font-display: "Montserrat", sans-serif;
    --font-display-style: normal;
    --font-display-weight: 900;
    --font-display-size: var(--font-size-h1);
    --font-display-line-height: var(--font-size-h1-line-height);
    --font-display-letter-spacing: normal;

    --font-accent: "Amiri", serif;
    --font-accent-style: normal;
    --font-accent-weight: 400;
    --font-accent-size: var(--font-size-h3);
    --font-accent-line-height: var(--line-height-sm);
    --font-accent-letter-spacing: normal;

    --color-black: 0, 0, 0;
    --color-black-filter: brightness(0);
    --color-white: 255, 255, 255;
    --color-white-filter: brightness(0) invert(1);
    --color-grey: 109, 109, 109;
    --color-grey-filter: brightness(0) invert(43%) sepia(0%) saturate(0%) hue-rotate(165deg) brightness(97%) contrast(88%);
    --color-neutral-dark: 13, 13, 13;
    --color-neutral-dark-filter: brightness(0) invert(0%) sepia(2%) saturate(146%) hue-rotate(232deg) brightness(106%) contrast(90%);

    --color-background: var(--color-black);
    --color-background-filter: var(--color-black-filter);
    --color-base: var(--color-white);
    --color-base-filter: var(--color-white-filter);

    --color-link: var(--color-white);
    --color-border: var(--color-grey);

    --spacing-2xl: 6rem;
    --spacing-xl: 4rem;
    --spacing-lg: 3rem;
    --spacing-md: 2.4rem;
    --spacing-sm: 2rem;
    --spacing-xs: 1.6rem;
    --spacing-2xs: 1.2rem;
    --spacing-3xs: 0.6rem;
    --spacing-4xs: 0.4rem;

    --spacing-container: var(--spacing-xs);
    --spacing-section: var(--spacing-2xl);
    --spacing-column: var(--spacing-lg);
    --spacing-row: var(--spacing-xl);
    --spacing-group: var(--spacing-md);
    --spacing-content: var(--spacing-md);
    --spacing-content-sm: var(--spacing-xs);
    --spacing-content-xs: var(--spacing-2xs);

    --logo-height: 4rem;
    --header-navi-height: 8rem;
    --header-height: var(--header-navi-height);

    --border-width: 1px;
    --border-style: solid;
    --border-radius: 0px;
    --border-color: #6d6d6d;
    --border: var(--border-width) var(--border-style) var(--border-color);

    --input-height: 4.4rem;
    --input-spacing-y: 0.3em;
    --input-spacing-x: 0px;
    --input-color-background: transparent;
    --input-color-border: rgba(var(--color-base), 1);
    --input-color-text: rgba(var(--color-base), 1);
    --input-border: var(--border-width) var(--border-style) var(--input-color-border);
    --input-border-radius: 0px;

    --button-height: 4.8rem;
    --button-spacing-y: 0.3em;
    --button-spacing-x: var(--spacing-md);
    --button-color-background: rgba(var(--color-base), 0);
    --button-color-border: rgba(var(--color-base), 0.2);
    --button-color-text: rgba(var(--color-base), 1);
    --button-color-background--hover: rgba(var(--color-base), 1);
    --button-color-border--hover: rgba(var(--color-base), 1);
    --button-color-text--hover: rgba(var(--color-background), 1);

    --button-border-radius: 0px;

    --link-underline: 0 1px 0 0 currentColor;
    --text-decoration-thickness: 0.7px;
    --text-underline-offset: 14%;
    --text-decoration-color: rgba(var(--color-border), 1);

    --opacity: 0.5;
    --opacity-light: 0.2;
    --opacity-overlay: 0.6;

    --duration: 0.3s;
    --duration-slow: 0.6s;
    --duration-slower: 0.9s;
    --duration-fast: 300ms;
    --easing: ease;
    --easing-strong: cubic-bezier(0.85, 0, 0.15, 1);

    --padding-top-header: var(--header-height);
    --padding-bottom-header: var(--header-height);
}

/* Fix Style */
.filter-base {
    -webkit-filter: var(--color-base-filter) !important;
    filter: var(--color-base-filter) !important;
}

.align-left {
    text-align: left !important;
}
.align-right {
    text-align: right !important;
}
.align-center {
    text-align: center !important;
}

.text-uppercase {
    text-transform: uppercase !important;
}
.text-capitalize {
    text-transform: capitalize !important;
}
.text-nowrap {
    white-space: nowrap !important;
}

.overflow-hidden {
    overflow: hidden !important;
}
.overflow-visible {
    overflow: visible !important;
}
.overflow-clip {
    overflow: clip !important;
}

.z-index-0 {
    position: relative;
    z-index: 0 !important;
}
.z-index-1 {
    position: relative;
    z-index: 1 !important;
}

.display-inline-block {
    display: inline-block !important;
}
.display-none {
    display: none !important;
}

.padding-0 {
    padding: 0 !important;
}
.padding-top-0 {
    padding-top: 0 !important;
}
.padding-bottom-0 {
    padding-bottom: 0 !important;
}
.padding-y-header {
    padding-top: var(--padding-top-header) !important;
    padding-bottom: var(--padding-bottom-header) !important;
}
.padding-top-header {
    padding-top: var(--padding-top-header) !important;
}
.padding-bottom-header {
    padding-bottom: var(--padding-bottom-header) !important;
}

.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.pointer-events-none {
    pointer-events: none !important;
}
.pointer-events-auto {
    pointer-events: auto !important;
}

.no-select {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

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

/* Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}
::-webkit-scrollbar {
    width: 0px;
    overflow: hidden;
}
::-moz-selection {
    background: rgba(var(--color-base), 1);
    color: rgba(var(--color-background), 1);
}
::selection {
    background: rgba(var(--color-base), 1);
    color: rgba(var(--color-background), 1);
}

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    margin: 0;
    padding: 0;
    position: relative;
    color: rgba(var(--color-base), 1);
    background-color: rgba(var(--color-background), 1);
    -webkit-animation: pageAnimation var(--duration) var(--easing-strong) 1 forwards;
    animation: pageAnimation var(--duration) var(--easing-strong) 1 forwards;
}
@-webkit-keyframes pageAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes pageAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

article,
aside,
figcaption,
figure,
picture,
footer,
header,
hgroup,
main,
nav,
section {
    margin: 0;
    display: block;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-family: inherit;
    font-style: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    word-break: break-word;
}
p {
    margin: 0;
}
small {
    font-size: 87.5%;
}
address {
    font-style: normal;
}
ul,
ol {
    list-style: none;
}
ul,
ol,
li {
    margin: 0;
    padding: 0;
}
a {
    color: inherit;
}
a,
a:hover,
a:focus {
    outline: 0;
    text-decoration: none;
    box-shadow: none;
}
a[href^="tel"] {
    white-space: nowrap;
}
a[href^="mailto"] {
    word-break: break-word;
}
a,
button,
[role="button"] {
    cursor: pointer;
}
button,
input,
textarea,
select {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: 0;
    background: none;
    padding: 0;
    margin: 0;
    min-width: unset;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: normal;
    text-transform: inherit;
    text-align: inherit;
    letter-spacing: inherit;
    text-indent: inherit;
    color: inherit;
}
fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}
img {
    border: 0;
    outline: 0;
    height: auto;
    width: auto;
    max-width: 100%;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    padding: 0;
    font-weight: inherit;
}
hr {
    margin: 0;
    border: 0;
    display: block;
    width: 100%;
    height: var(--border-width);
    background-color: var(--border-color);
}
iframe {
    border: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
[tabindex="-1"]:focus {
    outline: 0 !important;
}
:focus-visible {
    outline: 0 !important;
}
script {
    margin: 0 !important;
}

/* Text */
body {
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-base {
    font-family: var(--font-base) !important;
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
}
.font-display {
    font-family: var(--font-display) !important;
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
}

.font-weight-light {
    font-weight: var(--font-base-weight) !important;
}
.font-weight-normal {
    font-weight: var(--font-base-weight-normal) !important;
}
.font-weight-bold {
    font-weight: var(--font-base-weight-bold) !important;
}

.font-size-3xs {
    font-size: var(--font-size-3xs) !important;
}
.font-size-2xs {
    font-size: var(--font-size-2xs) !important;
}
.font-size-xs {
    font-size: var(--font-size-xs) !important;
}
.font-size-sm {
    font-size: var(--font-size-sm) !important;
}
.font-size-md {
    font-size: var(--font-size-md) !important;
}
.font-size-lg {
    font-size: var(--font-size-lg) !important;
}
.font-size-xl {
    font-size: var(--font-size-xl) !important;
}
.font-size-h2 {
    font-size: var(--font-size-md) !important;
}
.font-size-h1 {
    font-size: var(--font-size-xl) !important;
}
.font-size-h3 {
    font-size: var(--font-size-h3) !important;
    line-height: var(--font-size-h3-line-height) !important;
}
.font-size-h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--font-size-h2-line-height) !important;
}
.font-size-h1 {
    font-size: var(--font-size-h1) !important;
    line-height: var(--font-size-h1-line-height) !important;
}
.font-size-h0 {
    font-size: var(--font-size-h0) !important;
    line-height: var(--font-size-h0-line-height) !important;
}

.text-display {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size);
    line-height: var(--font-display-line-height);
    letter-spacing: var(--font-display-letter-spacing);
    text-transform: none;
    text-wrap: balance;
    /* text-box-trim: trim-both;
    text-box-edge: cap alphabetic; */
}

/* Transition */
a,
button,
[role="button"],
img,
video,
input,
textarea,
select {
    transition: var(--duration) var(--easing);
}

/*CTA====================*/
:is(a, button):hover {
    color: rgba(var(--color-link), 1);
}

.js-link-hover.link-hover a:hover {
    color: currentColor;
}
.js-link-hover.link-hover a:not(:hover) {
    opacity: var(--opacity);
}

.link-overlay {
    font-size: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    background: none !important;
    opacity: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
    pointer-events: auto !important;
}

.link-underline *:is(a, button, u):not(.button, .wp-block-button__link),
.link-underline-hover *:is(a, button):not(.button, .wp-block-button__link):hover {
    text-decoration: underline;
    text-decoration-thickness: var(--text-decoration-thickness);
    text-underline-offset: var(--text-underline-offset);
}

.link-explore {
    font-family: var(--font-base);
    font-weight: var(--font-base-weight-bold);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: none;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    text-decoration: none;
    white-space: nowrap;
    outline: none;
    display: inline-flex;
    align-items: center;
    grid-gap: 0 var(--spacing-3xs);
    color: currentColor;
    position: relative;
    cursor: pointer;
    transition: var(--duration) var(--easing);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.link-explore:not(.link-effect):hover {
    color: rgba(var(--color-link), 1);
}

.link-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: var(--spacing-xs) var(--spacing-column);
}
.link-container.align-center,
.align-center .link-container {
    justify-content: center;
}

*:is(.button, .wp-element-button, .wp-block-button__link) {
    text-decoration: none;
    box-shadow: none;
    background: none;
    margin: 0;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-3xs);
    vertical-align: top;
    white-space: normal;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 16rem;
    max-width: 100%;
    height: var(--button-height);
    min-height: 0;
    max-height: none;
    padding: var(--button-spacing-y) var(--button-spacing-x);
    color: var(--button-color-text);
    background-color: var(--button-color-background);
    border: var(--border-width) var(--border-style) var(--button-color-border);
    border-radius: var(--button-border-radius);
    opacity: 1;
    overflow: hidden;
    font-family: var(--font-base);
    font-weight: var(--font-base-weight-medium);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: none;
    text-align: center;
    transition: var(--duration) var(--easing);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
*:is(.button, .wp-element-button, .wp-block-button__link):is(:hover, .active) {
    color: var(--button-color-text--hover);
    background-color: var(--button-color-background--hover);
    border-color: var(--button-color-border--hover);
    opacity: 1;
}
*:is(.button, .wp-element-button, .wp-block-button__link).w-auto {
    min-width: 0;
}
*:is(.button, .wp-element-button, .wp-block-button__link).w-full {
    width: 100%;
}
*:is(.button, .wp-element-button, .wp-block-button__link).space-between {
    justify-content: space-between;
}
*:is(.button, .wp-element-button, .wp-block-button__link):is(:disabled, .disabled) {
    opacity: var(--opacity);
    pointer-events: none;
}

.button:is(.button-next, .button-down) {
    --button-color-border: rgba(var(--color-base), 1);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size-sm);
}
.button:is(.button-next, .button-down)::after {
    font-family: "iconfont";
    font-size: var(--font-size-xs);
}
.button.button-next::after {
    content: "\e90a";
}
.button.button-down::after {
    content: "\e90c";
}

.button.button-view {
    font-weight: var(--font-base-weight-medium);
    font-size: var(--font-base-size);
}
.button.button-view::before {
    font-family: "iconfont";
    content: "\e933";
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: var(--spacing-content-sm) var(--spacing-content);
}
.buttons.align-center,
.align-center .buttons {
    justify-content: center;
}

/* General */
.container {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}

*:is(.ic, .ic-text) {
    display: inline-block;
    vertical-align: top;
}
.ic img {
    display: inline-block;
    vertical-align: top;
    width: auto;
    min-width: 1em;
    height: 1em;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.ic::before {
    display: block;
}
.ic[class*="ic-arrow-"] {
    font-size: 3.2rem;
    display: inline-flex;
    align-items: center;
    height: 0.6rem;
}
.ic-youtube {
    padding-left: 0.13em !important;
    padding-right: 0.13em !important;
}
.ic-youtube::before {
    transform: scale(1.3);
}

.ic-wrapper {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    grid-gap: var(--spacing-content-xs);
}
.ic-wrapper > * {
    display: block;
}
.ic-wrapper > .ic {
    font-size: var(--icon-size);
}
.ic-wrapper > img {
    width: var(--icon-size);
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

.brand {
    text-decoration: none !important;
    box-shadow: none !important;
    background: none !important;
    opacity: 1 !important;
    display: inline-block;
    vertical-align: top;
    line-height: 1;
}
.brand .logo {
    display: inline-block;
    vertical-align: top;
    width: auto;
    height: var(--logo-height);
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    transition-property: width, height;
}

*:is(.object, .object-fit) {
    text-decoration: none;
    box-shadow: none;
    background: none;
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}
*:is(.object, .object-fit) > *:is(img, video, iframe) {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: auto;
}
.object-fit > *:is(img, video, iframe) {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.object-fit > *:is(img) {
    width: 101%;
    height: 101%;
}
.object-fit.contain > *:is(img, video, iframe) {
    -o-object-fit: contain;
    object-fit: contain;
}
.object-fit::before {
    content: "";
    display: block;
    width: 100%;
}
.object-svg {
    display: block;
    overflow: hidden;
    position: relative;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.object-svg > svg {
    outline: 0;
    border: 0;
    display: block;
    height: auto;
    width: 100%;
    max-width: 100%;
}
.object-overlay {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.object-caption > *:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.object-caption:not(:first-child) {
    margin-top: var(--spacing-content);
}
.object-caption:not(:last-child) {
    margin-bottom: var(--spacing-content);
}

.ratio-1-1 {
    aspect-ratio: 1/1;
}
.ratio-2-3 {
    aspect-ratio: 2/3;
}
.ratio-3-2 {
    aspect-ratio: 3/2;
}
.ratio-9-16 {
    aspect-ratio: 9/16;
}
.ratio-16-9 {
    aspect-ratio: 16/9;
}
[class*="ratio-"] .object-fit {
    height: 100%;
}

.social {
    display: inline-flex;
    align-items: center;
    grid-gap: var(--spacing-content-sm) var(--spacing-column);
}
.social.gap-sm {
    grid-gap: var(--spacing-content);
}
.social a {
    --color-link: var(--color-sage);
    display: block;
    text-decoration: none;
    background: none;
    box-shadow: none;
}
.social .ic {
    font-size: var(--icon-size);
    vertical-align: top;
}
.social img {
    display: block;
    width: 1em;
    height: 1em;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

:is(.menu, .tools, .policy, .info) {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content-sm) var(--spacing-content);
}
:is(.menu, .tools, .policy, .info).align-center,
.align-center :is(.menu, .tools, .policy, .info) {
    justify-content: center;
}

.info > .ic-text {
    text-align: left;
}

.map-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.map-container::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 680/350;
}
.map-container iframe {
    outline: 0;
    border: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.map-container .design {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}
.map-container .design,
.map-container .design img {
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

/* Content */
.entry-content {
    --wp--preset--font-size--normal: var(--font-base-size);
    --wp--preset--font-size--small: var(--font-base-size-sm);
    --wp--preset--font-size--medium: var(--font-size-md);
    --wp--preset--font-size--large: var(--font-size-lg);
    --wp--preset--font-size--x-large: var(--font-size-xl);
    --wp--preset--font-size--xx-large: var(--font-size-xl);
    --wp--preset--font-size--huge: var(--font-size-xl);
    --wp--style--global--content-size: 100%;
    --wp--style--global--wide-size: 100%;
    --wp--style--block-gap: var(--spacing-column);
    --wp--style--unstable-gallery-gap: var(--spacing-column);
    --wp--custom--gap--baseline: var(--spacing-content);
    --wp--custom--gap--block: var(--spacing-section);
}
.entry-content .is-layout-flex {
    display: flex;
    flex-wrap: wrap;
}
.entry-content .is-layout-grid {
    display: grid;
    gap: calc(2 * var(--wp--custom--gap--baseline));
}

.entry-content :is(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}
.entry-content :is(h1, h2) {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    color: rgba(var(--color-base), 1);
}
.entry-content :is(h3, h4, h5, h6) {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
}
.entry-content p {
    margin: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.entry-content .has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(.has-normal-font-size, .has-regular-font-size) {
    font-size: var(--wp--preset--font-size--normal) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h3, .has-medium-font-size) {
    font-size: var(--wp--preset--font-size--medium) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(.has-large-font-size, .has-larger-font-size) {
    font-size: var(--wp--preset--font-size--large) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h2, .has-x-large-font-size) {
    font-size: var(--wp--preset--font-size--x-large) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(h1, .has-xx-large-font-size) {
    font-size: var(--wp--preset--font-size--xx-large) !important;
    line-height: var(--font-base-line-height);
}
.entry-content :is(.has-huge-font-size) {
    font-size: var(--wp--preset--font-size--huge) !important;
    line-height: var(--font-base-line-height);
}

.entry-content :is(ul, ol) {
    margin: 0;
    padding: 0;
    list-style: none;
}
.entry-content :is(ul, ol) li:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.entry-content :is(ul, ul.wp-block-list) {
    list-style-type: disc;
    padding-left: 1.1em;
}
.entry-content :is(ol, ol.wp-block-list) {
    list-style-type: decimal;
    list-style-position: inside;
}

.entry-content :is(ul, ol):is([class*="wp-block-"]):not(.wp-block-list) {
    list-style: none;
    margin: 0;
    padding: 0;
}
.entry-content :is(ul, ol):is([class*="wp-block-"]):not(.wp-block-list) li {
    margin: 0;
    padding: 0;
}

.entry-content :is([class*="wp-block-"], figcaption) {
    margin: 0;
}

.entry-content :is(.wp-block-image, .wp-block-video) {
    width: 100%;
}
.entry-content :is(.wp-block-image, .wp-block-video) :is(img, video) {
    display: block;
    height: auto;
    max-height: none;
    max-width: 100%;
    margin: 0 auto;
}
.entry-content :is(.wp-block-image, .wp-block-video).size-medium :is(img, video) {
    width: auto;
    max-height: max(42rem, 29.1666666667vw);
}
.entry-content :is(.wp-block-image, .wp-block-video).size-large :is(img, video) {
    width: 100%;
}
.entry-content :is(.wp-block-image, .wp-block-video).size-large.alignwide :is(img, video) {
    width: auto;
    max-height: max(65rem, 45.1388888889vw);
}

.entry-content .wp-block-embed .wp-block-embed__wrapper {
    position: relative;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper::before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 56.25%;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper > * {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
}

.entry-content [class*="wp-block"] figcaption {
    font-style: normal;
    font-size: var(--font-base-size-sm);
    line-height: var(--font-base-line-height);
    color: inherit;
}

.entry-content .wp-block-buttons > .wp-block-button {
    margin: 0;
    vertical-align: top;
}

.entry-content .wp-block-separator {
    border: 0;
    color: currentColor;
    -webkit-animation: none !important;
    animation: none !important;
}

.entry-content > * {
    margin-top: 0;
    margin-bottom: 0;
}
.entry-content > *:not(:first-child),
.entry-content :is(.wp-block-group, .wp-block-column, .wp-block-quote) > *:not(:first-child) {
    margin-top: var(--spacing-content);
}
.entry-content [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column) + *:not(:first-child),
.entry-content * + [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column):not(:first-child) {
    margin-top: calc(var(--spacing-group));
}
.entry-content > [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column, .wp-block-button, .wp-block-buttons) + *:not(:first-child),
.entry-content > * + [class*="wp-block-"]:not(.wp-block-heading, .wp-block-list, .wp-block-column, .wp-block-button, .wp-block-buttons):not(:first-child) {
    margin-top: var(--spacing-section);
}

.entry-content [class*="wp-block-"] figcaption:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}
.entry-content :is(ul, ol, .wp-block-list) > *:not(:first-child),
.entry-content :is(p, address) + :not([class*="wp-block-"]):is(ul, ol, .wp-block-list):not(:first-child) {
    margin-top: 0;
}
.entry-content ul[class*="wp-block-"]:not(.wp-block-list) > *:not(:first-child) {
    margin-top: 0;
}
.entry-content :is(.wp-block-buttons, .wp-block-media-text) > *:not(:first-child) {
    margin-top: 0 !important;
}

.entry-content .wp-block-columns {
    grid-gap: var(--spacing-group) var(--spacing-column);
}
.entry-content .wp-block-columns > * {
    margin: 0;
}

.entry-content .wp-block-gallery {
    gap: 0;
    grid-gap: var(--wp--style--unstable-gallery-gap);
}
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow: 0;
}

.entry-content [class*="wp-block"].aligncenter {
    margin-left: auto;
    margin-right: auto;
}

.entry-content .alignwide {
    width: calc(100vw - (var(--spacing-container) * 2)) !important;
    max-width: calc(100vw - (var(--spacing-container) * 2)) !important;
    margin-left: calc(50% - (100vw - (var(--spacing-container) * 2)) / 2) !important;
    margin-right: calc(50% - (100vw - (var(--spacing-container) * 2)) / 2) !important;
}

.entry-content .wp-block-group.has-global-padding {
    padding-right: 0;
    padding-left: 0;
}

.entry-header > *:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}

.entry-share {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: first baseline;
    grid-gap: var(--spacing-content-xs) var(--spacing-column);
}
.entry-share .title {
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-display-size);
    line-height: var(--font-display-line-height);
    letter-spacing: var(--font-display-letter-spacing);
}
.entry-share .social .ic {
    font-size: var(--font-size-xl);
}
.entry-share.align-center,
.align-center .entry-share {
    justify-content: center;
}

.entry-info > *:not(:first-child) {
    margin-top: var(--spacing-content-xs);
}

/* Form */
input:not([type="checkbox"], [type="radio"]),
textarea,
select {
    display: block;
    width: 100%;
    height: var(--input-height);
    padding: var(--input-spacing-y) var(--input-spacing-x);
    border: 0;
    border-bottom: var(--input-border);
    border-color: var(--input-color-border);
    border-radius: var(--input-border-radius);
    background: var(--input-color-background);
    color: var(--input-color-text);
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight-normal);
    font-size: var(--font-base-size);
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
}
textarea {
    --height: calc(var(--input-height) * 5);
    --input-spacing-y: 0.5em;
    resize: none;
    display: block;
    overflow: auto;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: var(--height);
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 0;
}

input::-webkit-contacts-auto-fill-button {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
    -webkit-transition: 5000s ease 0s;
    transition: 5000s ease 0s;
}

input:-internal-autofill-selected,
textarea:-internal-autofill-selected,
select:-internal-autofill-selected {
    color: inherit;
}

input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input:disabled,
textarea:disabled,
select:disabled,
button:disabled {
    cursor: default !important;
    opacity: var(--opacity-light) !important;
}
button:disabled {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

:-ms-input-placeholder {
    font-family: var(--font-base) !important;
    font-weight: var(--font-base-weight) !important;
    font-size: var(--font-base-size) !important;
    font-style: normal !important;
    text-transform: none !important;
    color: rgba(var(--color-base), 1) !important;
    opacity: var(--opacity) !important;
}
::-webkit-input-placeholder {
    font-family: var(--font-base) !important;
    font-weight: var(--font-base-weight) !important;
    font-size: var(--font-base-size) !important;
    font-style: normal !important;
    text-transform: none !important;
    color: rgba(var(--color-base), 1) !important;
    opacity: var(--opacity) !important;
}
::-moz-placeholder {
    font-family: var(--font-base) !important;
    font-weight: var(--font-base-weight) !important;
    font-size: var(--font-base-size) !important;
    font-style: normal !important;
    text-transform: none !important;
    color: rgba(var(--color-base), 1) !important;
    opacity: var(--opacity) !important;
}
::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}
::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

/* Form : Select */
.select {
    position: relative;
}
.select select {
    line-height: normal;
    padding-right: var(--input-height);
    text-overflow: "";
    cursor: pointer;
}
.select::after {
    font-family: "iconfont";
    content: "\e90c";
    font-size: var(--font-size-xs);
    font-weight: normal;
    line-height: 1;
    color: var(--input-color-border);
    vertical-align: top;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-right: var(--input-spacing-x);
    width: auto;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}
.select2-parent::after {
    display: none !important;
}
.select2-hidden-accessible {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}
.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 98;
    background-color: #fff;
    filter: alpha(opacity=0);
}
.select2-rendered__match {
    text-decoration: underline;
}
.select2-container.select2-container--default {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
}
.select2-container.select2-container--default .select2-dropdown {
    box-sizing: border-box;
    display: block;
    width: 100%;
    position: absolute;
    z-index: 1051;
    left: -100000px;
    font-weight: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: rgba(var(--color-black), 1) !important;
    background: rgba(var(--color-white), 1) !important;
    border: var(--input-border) !important;
    border-color: var(--input-color-border) !important;
    border-radius: var(--input-border-radius) !important;
    overflow: hidden !important;
    transition: none;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown {
    left: 0;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown--above {
    margin: 0;
}
.select2-container.select2-container--default.select2-container--open .select2-dropdown--below {
    margin: -1px 0 0;
}
.select2-container.select2-container--default .select2-results {
    display: block;
}
.select2-container.select2-container--default .select2-results__options {
    list-style: none;
    margin: 0;
    padding: var(--spacing-xs);
    font-family: var(--font-base);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-align: left;
}
.select2-container.select2-container--default .select2-results > .select2-results__options {
    max-height: 50vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.select2-container.select2-container--default .select2-results__option {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.select2-container.select2-container--default .select2-results__option:not(:last-child) {
    margin-bottom: var(--spacing-content-sm);
}
.select2-container.select2-container--default .select2-results__option[aria-selected] {
    cursor: pointer;
}
.select2-container.select2-container--default .select2-results__option:not([id]) {
    margin: 0;
    display: none;
}
.select2-container.select2-container--default .select2-search--dropdown {
    display: block;
    padding: var(--input-spacing-y) var(--input-spacing-x);
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field {
    box-sizing: border-box;
    width: 100%;
    padding: var(--input-spacing-y) var(--input-spacing-x);
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
.select2-container.select2-container--default .select2-search--dropdown.select2-search--hide {
    display: none;
}
.select2-container.select2-container--default .select2-selection--single {
    outline: 0;
    padding: 0;
    display: block;
    width: 100%;
    height: var(--input-height);
    color: var(--input-color-text);
    background: var(--input-color-background);
    border: 0 !important;
    border-bottom: var(--input-border) !important;
    border-color: var(--input-color-border) !important;
    border-radius: var(--input-border-radius) !important;
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: normal;
    text-align: left;
    transition: none;
    overflow: hidden;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered {
    display: block;
    padding: var(--input-spacing-y) var(--input-spacing-x);
    padding-right: var(--input-height);
    height: 100%;
    line-height: calc(var(--input-height) - var(--input-spacing-y) * 2 - 2px);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: inherit;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered[title] {
    background-color: transparent;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear {
    position: relative;
    cursor: pointer;
    float: right;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__placeholder {
    font-weight: var(--font-weight-body);
    color: rgba(var(--color-base), 0.3);
    opacity: 1;
}
.select2-container.select2-container--default .select2-selection--single *:is(.select2-selection__arrow, .select2-selection__clear) {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1;
    font-size: 0;
    color: var(--input-color-border);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-right: var(--input-spacing-x);
    width: auto;
    height: 100%;
    cursor: pointer;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: 0 !important;
    margin: 0;
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: auto;
    height: auto;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b::before,
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear::before {
    font-family: "iconfont";
    font-size: var(--font-size-xs);
    font-weight: normal;
    line-height: 1;
    display: block;
    width: auto;
    height: auto;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b::before {
    content: "\e90c";
    transition: var(--duration) var(--easing);
}
.select2-container.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b::before {
    transform: rotate(0deg);
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear::before {
    content: "\e900";
}
.select2-container.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: transparent;
    cursor: default;
    opacity: var(--opacity-light);
}
.select2-container.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none;
}
.select2-container.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none;
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--border-color);
}
.select2-container.select2-container--default .select2-search--inline {
    float: left;
}
.select2-container.select2-container--default .select2-search--inline .select2-search__field {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    box-sizing: border-box;
    box-shadow: none;
    background: none;
    border: none;
    padding: 0;
    outline: 0;
    font-size: 100%;
    margin-top: var(--spacing-3xs);
}
.select2-container.select2-container--default .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}
.select2-container.select2-container--default .select2-results__option {
    text-decoration: none !important;
    background: none !important;
    color: inherit !important;
}
.select2-container.select2-container--default .select2-results__option span {
    display: inline;
    font-weight: inherit;
    transition: var(--duration) var(--easing);
}
.select2-container.select2-container--default .select2-results__option[role="group"] {
    padding: 0;
}
.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] span {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.select2-container.select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) {
    text-decoration: none !important;
    background: none !important;
    color: inherit !important;
    font-weight: var(--font-base-weight-bold) !important;
}
.select2-container.select2-container--default .select2-results__option:is([aria-selected="true"], [data-selected="true"]) span {
    box-shadow: none;
}
.select2-container.select2-container--default .select2-results__option[aria-disabled="true"] {
    background: none !important;
    text-decoration: none !important;
    color: inherit !important;
    opacity: var(--opacity-light) !important;
    pointer-events: none !important;
}
.select2-container.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 0;
}

/* Form : Checkbox & Radio */
.choice {
    position: relative;
    display: flex;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    min-width: var(--font-base-size);
    min-height: var(--font-base-size);
    font-family: var(--font-base);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: none;
    color: rgba(var(--color-base), 1);
}
.align-center .choice {
    margin-left: auto;
    margin-right: auto;
}
.choice input:is([type="checkbox"], [type="radio"]) {
    position: absolute;
    z-index: -1000;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    background: none;
}
.choice input:is([type="checkbox"], [type="radio"]) + span {
    position: relative;
    display: inline-block;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding-left: calc(var(--font-base-size) + var(--spacing-3xs));
    text-align: left;
    line-height: normal;
    height: auto;
    cursor: pointer;
}
.choice input:is([type="checkbox"], [type="radio"]) + span a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.choice input:is([type="checkbox"], [type="radio"]) + span::before,
.choice input:is([type="checkbox"], [type="radio"]) + span::after {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--font-base-size);
    height: var(--font-base-size);
    border-radius: 0px;
    color: currentColor;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0.1em;
}
.choice input:is([type="checkbox"], [type="radio"]) + span::before {
    border: var(--input-border);
    border-color: currentColor;
}
.choice input:is([type="checkbox"], [type="radio"]) + span::after {
    background: currentColor;
    opacity: 0;
    transition: opacity 0.1s;
}
.choice input:is([type="checkbox"], [type="radio"]):checked + span::after {
    opacity: 1;
}
.choice input[type="radio"] + span::before,
.choice input[type="radio"] + span::after {
    border-radius: 50%;
}

.choices {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content) var(--spacing-column);
}

.fieldset {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-group);
}

.fields {
    --field-spacing-x: var(--spacing-column);
    --field-spacing-y: var(--spacing-group);
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--field-spacing-y) var(--field-spacing-x);
}

.field {
    position: relative;
    width: 100%;
}
.field.focusin {
    z-index: 2;
}

.ctas {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-content-sm) var(--spacing-content);
}
.ctas.align-center,
.align-center .ctas {
    justify-content: center;
}

.input {
    position: relative;
    text-align: left;
}
.label {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    position: relative;
    display: block;
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
    letter-spacing: var(--font-base-letter-spacing);
    color: rgba(var(--color-base), 1);
    opacity: 1;
    transition: var(--duration) var(--easing);
}
.label:not(.anim):not(:last-child) {
    margin-bottom: var(--spacing-content-xs);
}
.label.anim {
    height: auto;
    width: auto;
    max-width: calc(100% - var(--input-spacing-x) * 2);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    position: absolute;
    z-index: 1;
    left: 0;
    top: calc(var(--input-height) / 2);
    transform: translateY(-50%);
    pointer-events: none;
}
.label.anim:not(.fixed) {
    transition-property: opacity, visibility;
}
.input.filled .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}
.input:has(*:-internal-autofill-selected) .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}
.input.filled .label.anim.fixed {
    top: 0;
    transform: translateY(-75%);
}
.input:has(*:-internal-autofill-selected) .label.anim.fixed {
    top: 0;
    transform: translateY(-75%);
}
.input-ctas {
    position: relative;
    display: flex;
    grid-gap: var(--spacing-3xs);
    border-bottom: var(--input-border);
}
.input-ctas > input {
    flex: 1;
    border-bottom: 0;
}
.input-ctas > .ctas {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-3xs);
    width: auto;
    height: var(--input-height);
}
.input-ctas > .ctas .ic:not([class*="ic-arrow-"]) {
    font-size: var(--font-size-sm);
}

.form-table :is(th, td) {
    padding: 0;
    text-align: left;
    vertical-align: baseline;
}

/* Form : Upload File */
.file-upload-wrapper {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    grid-gap: 0 var(--spacing-2xs);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.file-upload-wrapper .file-upload-input,
.file-upload-wrapper .file-upload-remark {
    font-family: var(--font-base);
    font-style: var(--font-base-style);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: normal;
    letter-spacing: var(--font-base-letter-spacing);
    text-transform: uppercase;
    color: rgba(var(--color-base), 1);
}
.file-upload-wrapper .file-upload-input {
    grid-row: 1;
    grid-column: 2;
    border: 0;
    padding: 0;
    width: 100%;
    height: auto;
    font-weight: var(--font-base-weight-bold);
}
.file-upload-wrapper .file-upload-input:-ms-input-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-base-weight) !important;
    font-size: inherit !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    color: inherit !important;
    opacity: 1 !important;
}
.file-upload-wrapper .file-upload-input::-webkit-input-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-base-weight) !important;
    font-size: inherit !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    color: inherit !important;
    opacity: 1 !important;
}
.file-upload-wrapper .file-upload-input::-moz-placeholder {
    font-family: inherit !important;
    font-weight: var(--font-base-weight) !important;
    font-size: inherit !important;
    font-style: italic !important;
    text-transform: uppercase !important;
    color: inherit !important;
    opacity: 1 !important;
}
.file-upload-wrapper .file-upload-remark {
    grid-row: 2;
    grid-column: 2;
}
.file-upload-wrapper .file-upload-action {
    grid-row: 1 / span 2;
    grid-column: 1;
    cursor: pointer;
    height: auto;
    width: auto;
    min-width: 0;
}
.custom-file-upload {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
.custom-file-upload-hidden {
    display: none;
    visibility: hidden;
    position: absolute;
    left: -9999px;
}

/* Plugin : Slider */
.swiper {
    width: 100%;
}
.swiper-wrapper {
    will-change: transform;
}

*[class*="swiper-button-"] {
    z-index: 10;
    outline: none;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    color: currentColor;
    background: none;
    border-radius: 0;
    overflow: visible;
    line-height: 1;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    grid-gap: 0;
    font-family: inherit;
    font-weight: inherit;
    font-size: 0;
    line-height: 1;
    letter-spacing: normal;
    text-transform: uppercase;
    pointer-events: auto;
}
*[class*="swiper-button-"].color-white,
.color-white *[class*="swiper-button-"] {
    color: inherit;
}
.swiper-button-prev {
    left: 0;
}
.swiper-button-next {
    right: 0;
}
.swiper-button-prev.x-container {
    left: var(--spacing-sm);
}
.swiper-button-next.x-container {
    right: var(--spacing-sm);
}
*[class*="swiper-button-"]::after {
    /* font-family: "iconfont";
    font-size: var(--icon-size);
    font-weight: normal;
    -webkit-filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25)); */
    content: "";
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: inherit;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    transition: none;

    width: 16px;
    height: 41px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="41" viewBox="0 0 16 41" fill="none"><path d="M15.0391 1.57227L3.52246 20.2861L15.0391 39L12.4844 40.5723L0 20.2861L12.4844 0L15.0391 1.57227Z" fill="white"/></svg>');
}
.swiper-button-next::after {
    transform: rotate(180deg);
}

.swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: auto !important;
}
.swiper-button-lock {
    display: none !important;
}

.swiper-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: var(--spacing-sm);
}
.swiper-buttons > *[class*="swiper-button-"] {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

.swiper-pagination:not(.swiper-pagination-custom) {
    --bullet-size: 0.6rem;
    line-height: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    grid-gap: var(--spacing-3xs);
    pointer-events: none;
}
.swiper-pagination.align-center {
    justify-content: center;
}
.swiper-pagination-bullet {
    outline: none !important;
    margin: 0 !important;
    opacity: var(--opacity-light) !important;
    font-size: 0;
    display: block;
    width: var(--bullet-size);
    height: var(--bullet-size);
    background: currentColor;
    border: 0;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    transition: var(--duration) var(--easing);
    pointer-events: auto;
}
.swiper-pagination-bullet:only-child {
    display: none !important;
}
.swiper-pagination-bullet-active {
    opacity: 1 !important;
}
.swiper-horizontal > .swiper-pagination-bullets {
    bottom: calc((var(--spacing-group) - var(--bullet-size)) / 2);
}
.swiper-pagination.static {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    transition: none !important;
    line-height: inherit;
}
.swiper-pagination.static:not(:first-child) > .swiper-pagination-bullet:first-child {
    margin-top: var(--spacing-group) !important;
}

.swiper-pagination-custom {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    transition: none !important;
}
.swiper-pagination.numbered {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    grid-gap: var(--spacing-content-sm);
    counter-reset: numbered;
}
.swiper-pagination.numbered .swiper-pagination-bullet {
    counter-increment: numbered;
    display: inline;
    width: auto;
    height: auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
    color: inherit;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-base-size);
    line-height: var(--font-base-line-height);
}
.swiper-pagination.numbered .swiper-pagination-bullet::before {
    content: counter(numbered);
}
.swiper-pagination.numbered .swiper-pagination-bullet-active {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.swiper-fade .swiper-slide {
    opacity: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
.swiper-fade .swiper-slide-active {
    opacity: 1 !important;
    z-index: 1 !important;
    pointer-events: auto !important;
}

.swiper.default .swiper-slide {
    width: 100% !important;
    height: auto !important;
}

.swiper.fix *[class*="swiper-button-"] {
    top: calc(var(--swiper-button-y, 0));
    transform: translateY(-50%);
}

/* Plugin : Popup */
.fancybox__hide {
    display: none;
}
.fancybox__container {
    --fancybox-color: rgba(var(--color-base), 1);
    --fancybox-hover-color: rgba(var(--color-base), 1);
    --fancybox-bg: rgba(var(--color-black), 1);
    --fancybox-opacity: 1;
    --fancybox-content-color: rgba(var(--color-base), 1);
    --fancybox-content-bg: rgba(var(--color-background), 1);
    --fancybox-zIndex: 101;
    height: 100lvh !important;
}
.fancybox__container .fancybox__slide {
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.fancybox__container .fancybox__content {
    padding: 0 !important;
    width: 100vw !important;
    height: 100lvh !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: var(--fancybox-bg) !important;
}
.fancybox__container .fancybox__content :is(iframe, video) {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    max-height: 100% !important;
}
.fancybox__container .f-button {
    opacity: 1 !important;
    width: auto;
    height: auto;
    background: none;
    font-family: var(--font-base);
    font-weight: var(--font-base-weight);
    font-size: var(--font-base-size);
    line-height: 1;
}
.fancybox__container .f-button:hover:not([disabled]) {
    color: currentColor;
    background: none;
}
.fancybox__container .f-button:is([data-fancybox-close], [data-carousel-prev], [data-carousel-next]) svg {
    display: none;
}
.fancybox__container .f-button:is([data-fancybox-close], [data-carousel-prev], [data-carousel-next])::before {
    display: block;
    font-family: "iconfont";
    font-size: var(--icon-size);
    color: rgba(var(--color-base), 1);
    position: static;
    margin: unset;
    top: unset;
    bottom: unset;
    left: unset;
    right: unset;
    -webkit-filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25));
}
.fancybox__container .f-button[data-fancybox-close]::before {
    content: "\e94a";
}
.fancybox__container .f-button[data-carousel-prev]::before {
    content: "\e909";
    transform: translateX(-0.2em);
}
.fancybox__container .f-button[data-carousel-next]::before {
    content: "\e90a";
    transform: translateX(0.2em);
}
.fancybox__container .f-button.is-close-btn {
    top: 0 !important;
    right: 0 !important;
    padding: var(--spacing-sm) !important;
}
.fancybox__container .fancybox__toolbar {
    padding: var(--spacing-container);
}
.fancybox__container .fancybox__nav {
    --f-button-width: auto;
    --f-button-height: auto;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: currentColor;
    --f-button-hover-color: currentColor;
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
    --f-button-shadow: none;
    --f-button-transition: var(--duration) var(--easing);
    --f-button-transform: none;
    --f-button-svg-width: auto;
    --f-button-svg-height: auto;
    --f-button-svg-stroke-width: 0;
    --f-button-svg-fill: none;
    --f-button-svg-filter: unset;
    --f-button-svg-disabled-opacity: 0.5;
    --f-button-next-pos: var(--spacing-container);
    --f-button-prev-pos: var(--spacing-container);
    opacity: var(--fancybox-opacity, 1);
}
.fancybox__container .fancybox__nav .f-button:is([data-carousel-prev], [data-carousel-next]) {
    transform: translateY(-50%);
    padding: var(--spacing-container);
}
.fancybox__container .fancybox__nav .f-button[data-carousel-prev] {
    left: 0;
}
.fancybox__container .fancybox__nav .f-button[data-carousel-next] {
    right: 0;
}

html:not(.fancybox-ready) [data-fancybox] {
    pointer-events: none !important;
    cursor: progress;
}

#popup-trigger {
    font-size: 0;
    line-height: 0;
    position: fixed;
    z-index: -99999;
    top: 100%;
}

/* Function : Dropdown */
.dropdown-style {
    --button-spacing-x: var(--spacing-md);
    position: relative;
    z-index: 3;
    font-size: var(--font-base-size-sm);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.dropdown-style .dropdown-button {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: var(--button-height);
    padding: var(--button-spacing-y) var(--button-spacing-x);
    background-color: transparent;
    border: 1px solid currentColor;
    color: currentColor;
}
.dropdown-style > .dropdown-ctrl {
    position: relative;
    display: flex;
    align-items: center;
    grid-gap: var(--spacing-3xs);
}
.dropdown-style > .dropdown-ctrl .ic {
    font-size: var(--font-size-2xs);
}
.dropdown-style > .dropdown-panel {
    --color-base: var(--color-black);
    --color-background: var(--color-white);
    --button-color-background: rgba(var(--color-base), 0);
    --button-color-border: rgba(var(--color-base), 1);
    --button-color-text: rgba(var(--color-base), 1);
    --border-color: rgba(245, 245, 245, 1);
    position: absolute;
    z-index: 10;
    top: calc(100% + var(--spacing-3xs));
    left: 0;
    right: auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    max-width: calc(100vw - var(--spacing-container) * 2);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: var(--duration-fast) var(--easing);
}
.dropdown-style[data-panel-x="right"] > .dropdown-panel {
    left: auto;
    right: 0;
}
.dropdown-style.active > .dropdown-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.dropdown-style > .dropdown-panel a {
    pointer-events: none;
}
.dropdown-style.active > .dropdown-panel a {
    pointer-events: auto;
}
.dropdown-style .dropdown-panel-wrap {
    position: relative;
    display: block;
    width: 100%;
    min-width: 100%;
    background-color: rgba(var(--color-background), 1);
    color: rgba(var(--color-base), 1);
}
.dropdown-style .dropdown-panel-scroll {
    max-height: 50dvh;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.dropdown-style .dropdown-panel-inner ul {
    display: flex;
    flex-direction: column;
}
.dropdown-style .dropdown-panel-inner ul > li {
    width: 100%;
}
.dropdown-style .dropdown-panel-inner ul > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
    min-height: var(--button-height);
    padding: var(--button-spacing-y) var(--button-spacing-x);
    border: var(--border-width) var(--border-style) var(--border-color);
}
.dropdown-style .dropdown-panel-inner ul > li > a:hover {
    color: currentColor;
    border-bottom-color: currentColor;
    font-weight: var(--font-base-weight-bold);
}

/* Hamburger */
.hamburger {
    position: relative;
    display: block;
    width: 3rem;
    height: 3rem;
}
.hamburger .bars,
.hamburger .bars::before,
.hamburger .bars::after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transition: var(--duration) var(--easing-strong);
}
.hamburger .bars {
    display: block;
    font-size: 0;
    line-height: 0;
    top: 50%;
    transform: translateY(-50%);
    transition-property: background-color, transform;
}
.hamburger .bars::before,
.hamburger .bars::after {
    display: block;
    content: "";
}
.hamburger .bars::before {
    top: -0.9rem;
    transition-property: background-color, top;
    transition-delay: 0s, 0.1s;
}
.hamburger .bars::after {
    bottom: -0.9rem;
    transition-property: background-color, bottom, transform;
    transition-delay: 0s, 0.1s, 0s;
}
.active > .hamburger .bars {
    transform: translateY(-50%) rotate(45deg);
    transition-delay: 0s, 0.1s;
}
.active > .hamburger .bars::before {
    top: 0;
}
.active > .hamburger .bars::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition-delay: 0s, 0s, 0.1s;
}

/* Page */
#page {
    position: relative;
    min-height: 100svh;
    display: grid;
    grid-template-rows: 1fr auto;
    grid-template-columns: 100%;
    overflow: clip;
}
#page.scroll-snap {
    display: block;
    height: 100svh;
    -webkit-overflow-scrolling: touch;
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory;
    overflow: auto;
}
#page.scroll-snap [scroll-snap-align-start] {
    scroll-snap-align: start;
}
#page.scroll-snap #footer {
    scroll-snap-align: end;
}

/* Header */
#header {
    width: 100%;
    height: var(--header-height);
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#header-height {
    width: 100%;
    height: var(--header-height);
    opacity: 0;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    pointer-events: none;
}

.header-navi {
    position: relative;
    width: 100%;
    height: var(--header-navi-height);
    padding: 0 var(--spacing-container);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-gap: var(--spacing-container);
    align-items: center;
    background: linear-gradient(0deg, rgba(var(--color-background), 0) 12%, rgba(var(--color-background), 0.6) 82%);
    color: rgba(var(--color-base), 1);
}
.header-navi > * {
    pointer-events: auto;
}
.header-navi .ic {
    font-size: var(--icon-size);
}

.header-brand {
    grid-row: 1;
    grid-column: 2;
    justify-self: center;
}

.header-tools.left {
    grid-row: 1;
    grid-column: 1;
    justify-self: flex-start;
}
.header-tools.right {
    grid-row: 1;
    grid-column: 3;
    justify-self: flex-end;
}
.header-tools .tools {
    --text-decoration-thickness: 1px;
    --text-underline-offset: 24%;
    font-family: var(--font-accent);
    font-style: var(--font-accent-style);
    font-weight: var(--font-accent-weight);
    font-size: var(--font-accent-size);
    line-height: var(--font-accent-line-height);
}
.header-tools .tools > li > a > .ic-text {
    text-decoration: underline;
    text-decoration-thickness: var(--text-decoration-thickness);
    text-underline-offset: var(--text-underline-offset);
    -webkit-text-decoration-color: var(--text-decoration-color);
    text-decoration-color: var(--text-decoration-color);
}

.header-panel-ctrl {
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    grid-gap: var(--spacing-content-xs);
}

.header-panel {
    margin: 0;
    padding: 0;
    width: 100vw;
    height: auto;
    overflow: hidden;
    position: fixed;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: auto;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(calc((var(--header-height) / 2) * -1));
    transition: var(--duration) var(--easing);
    background-color: rgba(var(--color-background), 1);
    color: rgba(var(--color-base), 1);
}
html.header-panel-active .header-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0%);
    pointer-events: auto;
}
.header-panel .menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    grid-gap: var(--spacing-content-xs);
    font-family: var(--font-display);
    font-style: var(--font-display-style);
    font-weight: var(--font-display-weight);
    font-size: var(--font-size-h2);
    line-height: var(--font-size-h2-line-height);
    letter-spacing: var(--font-display-letter-spacing);
    text-transform: none;
}

.header-panel-container {
    width: 100%;
    height: auto;
    overflow: hidden;
}
.header-panel-body {
    width: 100%;
    overflow: hidden;
    -webkit-mask-box-image: -webkit-linear-gradient(-90deg, transparent var(--header-height), white calc(var(--header-height) + var(--spacing-group)));
}
.header-panel-scroll {
    width: auto;
    height: auto;
    max-height: 100dvh;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-mask-box-image: -webkit-linear-gradient(90deg, transparent 0%, white var(--spacing-group));
}
.header-panel-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: var(--spacing-content-sm);
    padding: var(--spacing-row) var(--spacing-container);
    padding-top: calc(var(--header-height) + var(--spacing-group));
}

html.on-resize .header-panel,
html.on-resize .header-panel * {
    transition: none !important;
}

/* Footer */
#footer {
    --logo-height: 3rem;
    width: 100%;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.footer-navi {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    grid-gap: var(--spacing-group);
    padding: var(--spacing-row) var(--spacing-container);
    background: rgba(var(--color-neutral-dark), 1);
    color: rgba(var(--color-base), 1);
    font-size: var(--font-base-size-sm);
}

.footer-information,
.footer-legal {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.footer-information {
    grid-row-gap: var(--spacing-content-sm);
}
.footer-legal {
    grid-row-gap: var(--spacing-content-xs);
}
.footer-legal .policy {
    justify-content: center;
}
.footer-legal .social {
    line-height: 1;
}

/* Main */
#main {
    position: relative;
    z-index: 1;
    width: 100%;
}

section {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.sc-link {
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    font-size: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 0 !important;
    left: 0 !important;
}

.sc-inner {
    position: relative;
    z-index: 0;
    width: 100%;
    padding-top: var(--spacing-section);
    padding-bottom: var(--spacing-section);
}
.sc-inner.padding-resize {
    padding-top: var(--spacing-group);
    padding-bottom: var(--spacing-group);
}
.sc-inner.padding-top-resize {
    padding-bottom: var(--spacing-group);
}
.sc-inner.padding-bottom-resize {
    padding-bottom: var(--spacing-group);
}
.sc-inner.padding-top-header {
    padding-top: calc(var(--header-height) + var(--spacing-group)) !important;
}
.sc-inner .margin-top-section:not(:first-child),
.sc-inner .margin-bottom-section + *:not(:first-child) {
    margin-top: var(--spacing-section) !important;
}

:is(.sc-container, .sc-break) + :is(.sc-container, .sc-break) {
    margin-top: var(--spacing-section);
}
:is(.sc-container, .sc-main) > *:not(:first-child) {
    margin-top: var(--spacing-row);
}
:is(.sc-headline:not(.sc-headline--alignment), .sc-content, .sc-explore, .sc-group, .sc-column) > *:not(:first-child) {
    margin-top: var(--spacing-group);
}

.sc-headline {
    position: relative;
}
.sc-headline.sc-headline--alignment {
    display: flex;
    grid-gap: 0 var(--spacing-container);
    align-items: center;
}
.sc-headline.sc-headline--alignment > :is(.sc-explore, .sc-filter) {
    margin-left: auto;
}

.sc-logo .logo {
    width: min(44.3055555556vw, 63.8rem);
    height: auto;
}

.sc-grid-row {
    --h-sq: 100vw;
    --h-lg: 66.6666666667vw;
    position: relative;
    width: 100%;
    min-height: var(--h, 0);
    display: flex;
    flex-direction: column;
    transition: min-height var(--duration) var(--easing);
}
.sc-grid-row.h-vh {
    --h: 100vh;
}
.sc-grid-row.h-lvh {
    --h: 100lvh;
}
.sc-grid-row.h-svh {
    --h: 100svh;
}
.sc-grid-row.h-dvh {
    --h: 100dvh;
}
.sc-grid-row.h-lg {
    --h: var(--h-lg);
}
.sc-grid-row > .sc-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 3;
}
.sc-grid-row > .sc-inner > .sc-container {
    flex: 1;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 1fr auto 1fr;
    grid-gap: var(--spacing-group) 0;
}
.sc-grid-row > .sc-inner > .sc-container > * {
    position: relative;
}
.sc-grid-row > .sc-inner > .sc-container > *:not(:first-child) {
    margin-top: 0;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="top"] {
    grid-row: 1;
    align-self: flex-start;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="middle"] {
    grid-row: 2;
    align-self: center;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="bottom"] {
    grid-row: 3;
    align-self: flex-end;
}
.sc-grid-row > .sc-inner > .sc-container > *[data-row="bottom"] .animated {
    -webkit-animation-delay: 0s !important;
    animation-delay: 0s !important;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="1"] {
    grid-template-rows: 1fr;
    grid-gap: 0;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="1"] > * {
    grid-row: unset;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="2"] {
    grid-template-rows: 1fr auto;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-total="2"] > * {
    grid-row: unset;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-align="center"] {
    grid-template-rows: unset;
    align-items: center;
}
.sc-grid-row > .sc-inner > .sc-container[data-row-align="center"] > * {
    grid-row: unset;
    align-self: unset;
}

.sc-billboard {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.sc-billboard > .sc-billboard-details {
    width: 100%;
    position: relative;
    z-index: 2;
    pointer-events: none;
}
.sc-billboard > .sc-billboard-details *:is(a, button, form, iframe) {
    pointer-events: auto;
}
.sc-billboard > .sc-billboard-cover {
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.sc-billboard > .sc-billboard-cover,
.sc-billboard > .sc-billboard-cover .object-fit,
.sc-billboard > .sc-billboard-cover .object-fit::before,
.sc-billboard > .sc-billboard-cover *:is(.swiper, .swiper-wrapper, .swiper-slide) {
    height: 100%;
}
.sc-billboard > .sc-billboard-cover::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
}
.sc-billboard.fade > .sc-billboard-cover::after {
    background-color: rgba(var(--color-background), 0.2);
}
.sc-billboard.fade-top > .sc-billboard-cover::after {
    background: linear-gradient(180deg, rgba(var(--color-background), 0.2) 0%, rgba(var(--color-background), 0) 40%);
}
.sc-billboard.fade-bottom > .sc-billboard-cover::after {
    background: linear-gradient(180deg, rgba(var(--color-background), 0) 60%, rgba(var(--color-background), 0.2) 100%);
}
.sc-billboard.fade-top-bottom > .sc-billboard-cover::after {
    background: linear-gradient(180deg, rgba(var(--color-background), 0.2) 0%, rgba(var(--color-background), 0) 40%, rgba(var(--color-background), 0) 60%, rgba(var(--color-background), 0.2) 100%);
}

.sc-media {
    position: relative;
}
.sc-media .object-fit::before {
    aspect-ratio: 16/9;
}
.sc-media .object-fit > *:is(img, video, iframe) {
    -o-object-fit: contain;
    object-fit: contain;
}
.sc-media .object-overlay {
    padding: var(--spacing-section) var(--spacing-container);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    background: linear-gradient(180deg, rgba(var(--color-background), 0) 60%, rgba(var(--color-background), 0.2) 100%);
    pointer-events: none;
}
.sc-media .object-overlay :is(a, button) {
    pointer-events: auto;
}

.sc-hero {
    position: relative;
}
.sc-hero > .sc-navi {
    padding: var(--spacing-group) var(--spacing-container);
    padding-top: calc(var(--header-height) + var(--spacing-group));
}

.sc-columns {
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-row) var(--spacing-column);
}
.sc-columns > .sc-column {
    width: 100%;
}
.sc-columns.gap-sm {
    grid-row-gap: var(--spacing-group);
}

.sc-layout {
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-group) var(--spacing-container);
}

/* Component */
.card {
    width: 100%;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content);
    text-align: left;
    white-space: normal;
    color: rgba(var(--color-base), 1);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.card .ellipsis {
    max-width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}
.card :is(.details, .cover) {
    width: 100%;
    position: relative;
    z-index: 3;
    pointer-events: none;
}
.card :is(a, button):not(.link-overlay) {
    position: relative;
    z-index: 3;
    pointer-events: auto;
}
.card .cover .object-fit::before {
    aspect-ratio: 2/3;
}
.card .cover :is(.object, .object-fit) > * {
    transition: var(--duration-slow) var(--easing);
}
.card .cover .object-fit > *:not(:first-child),
.card .link-overlay:hover ~ .cover .object-fit > *:not(:only-child) {
    opacity: 0;
}
.card .link-overlay:hover ~ .cover .object-fit > *:not(:only-child) + * {
    opacity: 1;
}
.card .cover .object-overlay {
    width: 100%;
    height: 100%;
    padding: var(--spacing-container);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: rgba(var(--color-background), var(--opacity-light));
}
.card .details {
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-content-xs);
}
.card .details .entry-title {
    font-weight: var(--font-base-weight-bold);
    text-wrap: balance;
}
.card-container {
    --spacing-x: 0px;
    --spacing-y: 0px;
    --column: 1;
    position: relative;
}
.card-container[data-layout="grid"] {
    display: grid;
    grid-gap: var(--spacing-y) var(--spacing-x);
    grid-template-columns: repeat(var(--column), calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column)));
    grid-auto-flow: dense;
}
.card-container[data-layout="flex"] {
    --card-width: calc((100% - (var(--spacing-x) * (var(--column) - 1))) / var(--column));
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--spacing-y) var(--spacing-x);
    justify-content: center;
}
.card-container[data-layout="flex"] > .card {
    width: var(--card-width);
}
.card-container[data-layout="slider"] .card-slider {
    position: relative;
    margin-left: calc((var(--spacing-x) * -1) / 2);
    margin-right: calc((var(--spacing-x) * -1) / 2);
}
.card-container[data-layout="slider"] .swiper-slide {
    width: calc(100% / var(--column)) !important;
    padding-left: calc(var(--spacing-x) / 2);
    padding-right: calc(var(--spacing-x) / 2);
}
.card-container[data-layout="slider"] .swiper-pagination {
    padding-left: calc(var(--spacing-x) / 2);
    padding-right: calc(var(--spacing-x) / 2);
}

[data-card="team"] {
    --column: 2;
}
[data-card="team"] .card .object-fit::before {
    aspect-ratio: 360/540;
}
[data-card="team"] .card .link-overlay:hover ~ .cover .object-fit > * {
    opacity: 0.7;
}

.team {
    --details-width: 100%;
    --cover-width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-group) var(--spacing-column);
}
.team-details {
    width: var(--details-width);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    grid-gap: var(--spacing-group);
}
.team-cover {
    width: var(--cover-width);
    position: relative;
}
.team-cover .object-fit::before {
    aspect-ratio: 360/540;
}

.client {
    position: relative;
    display: block;
    background: #231f20;
    padding: var(--spacing-3xs);
}
.client img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.client-container {
    --gap-x: var(--spacing-3xs);
    --gap-y: var(--spacing-3xs);
    --column: 3;
    display: grid;
    grid-template-columns: repeat(var(--column), 1fr);
    grid-gap: var(--gap-y) var(--gap-x);
}

.service {
    --details-width: 100%;
    --cover-width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: var(--spacing-group) var(--spacing-column);
}
.service-details {
    width: var(--details-width);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    grid-gap: var(--spacing-group);
}
.service-cover {
    width: var(--cover-width);
    position: relative;
}
.service-cover .object-fit::before {
    aspect-ratio: 16/9;
}
.service-cover .swiper-button-prev {
    left: var(--spacing-xs);
}
.service-cover .swiper-button-next {
    right: var(--spacing-xs);
}
.service-container > .service:not(:first-child) {
    margin-top: var(--spacing-section);
}

.strength {
    --icon-width: 5.6rem;
    position: relative;
    width: 100%;
    display: flex;
    grid-gap: var(--spacing-content-xs);
}
.strength > .icon {
    width: var(--icon-width);
    min-width: var(--icon-width);
    max-width: var(--icon-width);
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
}
.strength > .icon img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.strength > .details {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.strength > .details .entry-title {
    font-weight: var(--font-base-weight-normal);
    text-wrap: balance;
}
.strength > .details .entry-content {
    color: rgba(var(--color-grey), 1);
    text-wrap: balance;
}

[data-section="newsletter"]:not(:first-child) {
    border-top: var(--border);
    border-color: rgba(35, 31, 32, 1);
}
[data-section="newsletter"]:not(:last-child) {
    border-bottom: var(--border);
    border-color: rgba(35, 31, 32, 1);
}

/* Error404 */
#page.error-page {
    grid-template-rows: 1fr;
}
#page.error-page #main {
    padding: 0;
}

/* Animation */
.animate {
    -webkit-animation-duration: var(--duration-slower);
    animation-duration: var(--duration-slower);
    -webkit-animation-timing-function: var(--easing);
    animation-timing-function: var(--easing);
}
.animate.animated {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}
.animate.fadeIn {
    -webkit-animation-timing-function: var(--easing-strong);
    animation-timing-function: var(--easing-strong);
}

/* @media queries (min-width) */
@media (min-width: 600px) {
    .visible-mobile-sm {
        display: none !important;
    }
    .visible-mobile-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    /* Form */
    .form-table :is(th, td) {
        vertical-align: baseline;
    }
    .form-table :is(th, td):not(:last-child) {
        padding-right: var(--spacing-content);
    }
    .form-table tr > th:first-child {
        width: 1%;
    }
    .form-table tr:not(:last-child) > :is(th, td) {
        padding-bottom: var(--spacing-content-sm);
    }

    /* Component */
    .client-container {
        --column: 5;
    }
}

@media (min-width: 768px) {
    .visible-mobile {
        display: none !important;
    }
    .visible-mobile:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }
}

@media (min-width: 992px) {
    :root {
        --font-size-h0: clamp(3.2rem, 9.4444444444vw, 13.6rem);

        --container-md: max(89rem, 61.8055555556vw);
        --container-lg: max(117.2rem, 81.3888888889vw);
    }

    .visible-device-sm {
        display: none !important;
    }
    .visible-device-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    /* General */
    .container.w-md {
        max-width: calc(var(--container-md) + (var(--spacing-container) * 2));
    }
    .container.w-lg {
        max-width: calc(var(--container-lg) + (var(--spacing-container) * 2));
    }
    .container.f-left {
        margin-left: 0;
        margin-right: auto;
    }
    .container.f-right {
        margin-left: auto;
        margin-right: 0;
    }

    /* Header */
    .header-navi [visible-breakpoint] {
        display: none !important;
    }

    /* Main */
    .sc-media .object-fit::before {
        aspect-ratio: unset;
        height: 100svh;
    }

    .sc-hero > .sc-navi {
        position: absolute;
        z-index: 3;
        top: 0;
        left: 0;
        pointer-events: none;
    }
    .sc-hero > .sc-navi :is(a, button) {
        pointer-events: auto;
    }

    .sc-columns {
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
    }
    .sc-columns.row-reverse {
        flex-direction: row-reverse;
    }
    .sc-columns > .sc-column {
        width: calc(50% - (var(--spacing-column) / 2));
    }

    .sc-layout {
        --container-md: 59.02777777778vw;
        flex-direction: row;
    }
    .sc-layout > [sticky] {
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        position: -webkit-sticky;
        position: sticky;
        top: calc(var(--header-height) + var(--spacing-group));
    }
    .sc-layout > .sc-sidebar {
        width: 36.5187713311%;
    }
    .sc-layout > .sc-main {
        flex: 1;
    }

    [data-section="hero"] .sc-logo ~ .sc-headline .sc-heading {
        font-size: var(--font-size-h2) !important;
        line-height: var(--font-size-h2-line-height) !important;
    }
    [data-section="hero"] .sc-logo ~ .sc-explore:not(:first-child) {
        margin-top: var(--spacing-section);
    }

    /* Component */
    [data-card="work"] {
        --column: 3;
    }

    [data-card="team"] {
        --column: 4;
    }

    .team {
        --details-width: 48.5395189003%;
        --cover-width: 39.5189003436%;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
    }

    .service {
        --details-width: max(25.2941176471%, 344px);
        --cover-width: calc(100% - var(--details-width) - var(--spacing-column));
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .service-container > .service:not(:first-child) {
        margin-top: calc(var(--spacing-section) * 2);
    }

    .strength {
        width: calc(100% / 3);
        padding: 0 var(--spacing-2xs);
        border-left: var(--border);
    }
    .strength-wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        grid-gap: var(--spacing-content) 0;
        margin-left: calc((var(--spacing-2xs) + var(--border-width)) * -1);
        margin-right: calc((var(--spacing-2xs)) * -1);
    }
    .strength-container {
        position: relative;
        padding: var(--spacing-content) 0;
        border-top: var(--border);
        border-bottom: var(--border);
        overflow: hidden;
    }

    [data-section="single-team"] .sc-navi {
        width: auto;
        max-width: calc(100% - var(--spacing-container) * 2);
        padding: 0 var(--spacing-container);
        position: absolute;
        z-index: 2;
        top: calc(var(--header-height) + var(--spacing-group));
        left: 0;
        pointer-events: none;
    }
    [data-section="single-team"] .sc-navi :is(a, button) {
        pointer-events: auto;
    }
    [data-section="single-team"] .sc-navi:first-child + * {
        margin-top: 0;
    }
    [data-section="single-team"] .team-details {
        padding-top: var(--spacing-section);
        padding-bottom: var(--spacing-section);
    }

    [data-section="newsletter"] .sc-headline.sc-headline--alignment #mc_embed_signup {
        max-width: 58.2rem;
        width: 40.4166666667vw;
    }
}

@media (min-width: 1200px) {
    .visible-device {
        display: none !important;
    }
    .visible-device:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    /* Component */
    .client-container {
        --column: 9;
    }
}

/* @media queries (max-width) */
@media (max-width: 1199px) {
    .hidden-device {
        display: none !important;
    }
    .hidden-device:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-device {
        overflow: hidden !important;
    }
    .overflow-visible-device {
        overflow: visible !important;
    }
}

@media (max-width: 991px) {
    :root {
        --logo-height: 2.8rem;
        --header-navi-height: 6.8rem;
    }

    .hidden-device-sm {
        display: none !important;
    }
    .hidden-device-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-device-sm {
        overflow: hidden !important;
    }
    .overflow-visible-device-sm {
        overflow: visible !important;
    }

    .alignfull-device-sm {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .align-center-device-sm {
        text-align: center !important;
    }

    /* Page */
    #page.scroll-snap.destroy-device-sm {
        display: grid;
        height: auto;
        -webkit-overflow-scrolling: unset;
        -ms-scroll-snap-type: unset;
        scroll-snap-type: unset;
        overflow: visible;
    }
    #page.scroll-snap.destroy-device-sm :is([scroll-snap-align-start], #footer) {
        scroll-snap-align: unset;
    }

    /* General */
    .map-container::before {
        aspect-ratio: 358/350;
    }

    /* Header */
    .header-navi [hidden-breakpoint] {
        display: none !important;
    }

    /* Footer */
    .footer-navi [hidden-breakpoint] {
        display: none !important;
    }

    /* Main */
    .sc-inner.next-sc-inner {
        padding-bottom: 0;
    }

    .sc-media + .sc-back {
        order: -1;
    }

    .sc-grid-row {
        --h-lg: 133.3333333333vw;
    }
    .sc-grid-row.re-h-sq {
        --h: var(--h-sq);
    }
    .sc-grid-row.re-h-16-9 {
        --h: 56.25vw;
    }
    .sc-grid-row.re-h-16-9 .sc-inner {
        padding-top: var(--spacing-container);
        padding-bottom: var(--spacing-container);
    }

    /* Component */
    .strength {
        height: auto !important;
        min-height: none !important;
    }
    .strength:not(:first-child) {
        margin-top: var(--spacing-content);
        padding-top: var(--spacing-content);
        border-top: var(--border);
    }

    .team-cover .object-fit::before {
        aspect-ratio: 16/9;
    }
    .team-cover .object-fit > * {
        -o-object-fit: contain;
        object-fit: contain;
    }

    [data-section="newsletter"] .sc-headline.sc-headline--alignment {
        flex-direction: column;
        align-items: stretch;
        grid-row-gap: var(--spacing-content-xs);
    }
    [data-section="newsletter"] .sc-headline.sc-headline--alignment > * {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    [data-section="director"] .sc-billboard > .sc-billboard-cover {
        position: relative;
        aspect-ratio: 16/9;
    }
    [data-section="director"] .sc-billboard > .sc-billboard-details {
        padding-top: var(--spacing-group);
        padding-bottom: var(--spacing-group);
    }
}

@media (max-width: 781px) {
    /* Gutenberg */
    .entry-content .wp-block-columns > .wp-block-column:empty {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hidden-mobile {
        display: none !important;
    }
    .hidden-mobile:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-mobile {
        overflow: hidden !important;
    }
    .overflow-visible-mobile {
        overflow: visible !important;
    }

    .alignfull-mobile {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

@media (max-width: 599px) {
    .hidden-mobile-sm {
        display: none !important;
    }
    .hidden-mobile-sm:first-child + *:not(:first-child) {
        margin-top: 0 !important;
    }

    .overflow-hidden-mobile-sm {
        overflow: hidden !important;
    }
    .overflow-visible-mobile-sm {
        overflow: visible !important;
    }

    .alignfull-mobile-sm {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    /* Form */
    .form-table,
    .form-table :is(thead, tbody, tfoot, tr, th, td) {
        display: block;
        width: 100%;
    }
    .form-table :is(thead, tbody, tfoot) {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        grid-row-gap: var(--spacing-content-sm);
    }
    .form-table [empty] {
        display: none;
    }
}

@media (max-width: 414px) {
    :root {
        font-size: min(2.4154589372vw, 10px);
    }
}
