*,
:before,
:after {
    box-sizing: border-box;
    background-repeat: no-repeat;
}
:before,
:after {
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
    vertical-align: inherit;
}
:where(:root) {
    cursor: default;
    overflow-wrap: break-word;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    line-height: 1.5;
}
:where(body) {
    margin: 0;
}
:where(h1) {
    margin: 0.67em 0;
    font-size: 2em;
}
:where(dl, ol, ul) :where(dl, ol, ul) {
    margin: 0;
}
:where(hr) {
    color: inherit;
    height: 0;
}
:where(nav) :where(ol, ul) {
    padding: 0;
    list-style-type: none;
}
:where(nav li):before {
    content: "​";
    float: left;
}
:where(pre) {
    font-family: monospace;
    font-size: 1em;
    overflow: auto;
}
:where(abbr[title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}
:where(b, strong) {
    font-weight: bolder;
}
:where(code, kbd, samp) {
    font-family: monospace;
    font-size: 1em;
}
:where(small) {
    font-size: 80%;
}
:where(audio, canvas, iframe, img, svg, video) {
    vertical-align: middle;
}
:where(iframe) {
    border-style: none;
}
:where(svg:not([fill])) {
    fill: currentColor;
}
:where(table) {
    border-collapse: collapse;
    text-indent: 0;
    border-color: currentColor;
}
:where(button, input, select) {
    margin: 0;
}
:where(button, [type="button" i], [type="reset" i], [type="submit" i]) {
    -webkit-appearance: button;
}
:where(fieldset) {
    border: 1px solid #a0a0a0;
}
:where(progress) {
    vertical-align: baseline;
}
:where(textarea) {
    resize: vertical;
    margin: 0;
}
:where([type="search" i]) {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
::-webkit-inner-spin-button {
    height: auto;
}
::-webkit-outer-spin-button {
    height: auto;
}
::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
}
::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
:where(dialog) {
    color: #000;
    background-color: #fff;
    border: solid;
    width: fit-content;
    height: fit-content;
    margin: auto;
    padding: 1em;
    position: absolute;
    left: 0;
    right: 0;
}
:where(dialog:not([open])) {
    display: none;
}
:where(details > summary:first-of-type) {
    display: list-item;
}
:where([aria-busy="true" i]) {
    cursor: progress;
}
:where([aria-disabled="true" i], [disabled]) {
    cursor: not-allowed;
}
:where([aria-hidden="false" i][hidden]) {
    display: initial;
}
:where([aria-hidden="false" i][hidden]:not(:focus)) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    border: 0;
    margin: 0;
    padding: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
body {
    line-height: 1;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
:root {
    --app-grid-col: 24;
    --app-grid-row: 4;
    --app-grid-col-gap: 15px;
    --app-grid-row-gap: 15px;
    --app-grid-h-margin: 15px;
    --app-grid-v-margin: 15px;
    --app-var-vw: 1440;
    --app-var-vh: 790;
    --app-var-vw-min: 1024;
    --app-var-vw-max: 1920;
    --app-var-vw-min-unit: 1024px;
    --app-var-vw-max-unit: 1920px;
    --app-color-white: #fff;
    --app-color-white-a0: #fff0;
    --app-color-white-a20: #fff3;
    --app-color-white-a90: #ffffffe6;
    --app-color-black: #000;
    --app-color-black-a0: #0000;
    --app-color-black-a05: #0000000d;
    --app-color-black-a20: #0003;
    --app-color-black-a40: #0006;
    --app-color-gray-light: #f2f2f2;
    --app-color-gray-dark: #222;
    --app-color-gray-50: #a0a0a0;
    --app-color-red-60: #e83817;
    --app-color-red-70: #b8290b;
    --app-color-link: #000;
    --app-color-placeholder: silver;
    --app-font-size-p-xs: clamp(0.6875rem, 1 / var(--app-var-vw) * 100 * 11vw, 0.6875rem);
    --app-font-size-p-s: clamp(0.75rem, 1 / var(--app-var-vw) * 100 * 12vw, 0.75rem);
    --app-font-size-p-m: clamp(0.875rem, 1 / var(--app-var-vw) * 100 * 14vw, 0.875rem);
    --app-font-size-p-l: clamp(1rem, 1 / var(--app-var-vw) * 100 * 16vw, 1.125rem);
    --app-font-size-p-xl: clamp(1.125rem, 1 / var(--app-var-vw) * 100 * 18vw, 1.25rem);
    --app-font-size-p-2xl: clamp(1.5rem, 1 / var(--app-var-vw) * 100 * 24vw, 1.625rem);
    --app-font-size-h-xs: clamp(0.875rem, 1 / var(--app-var-vw) * 100 * 14vw, 0.875rem);
    --app-font-size-h-s: clamp(1rem, 1 / var(--app-var-vw) * 100 * 16vw, 1rem);
    --app-font-size-h-m: clamp(1.125rem, 1 / var(--app-var-vw) * 100 * 18vw, 1.125rem);
    --app-font-size-h-l: clamp(1.3125rem, 1 / var(--app-var-vw) * 100 * 21vw, 1.3125rem);
    --app-font-size-h-xl: clamp(1.625rem, 1 / var(--app-var-vw) * 100 * 26vw, 624.938rem);
    --app-font-size-h-2xl: clamp(2.25rem, 1 / var(--app-var-vw) * 100 * 36vw, 624.938rem);
    --app-font-size-h-3xl: clamp(3.125rem, 1 / var(--app-var-vw) * 100 * 50vw, 624.938rem);
    --app-font-size-h-4xl: clamp(5rem, 1 / var(--app-var-vw) * 100 * 80vw, 624.938rem);
    --app-font-size-h-5xl: clamp(6.875rem, 1 / var(--app-var-vw) * 100 * 110vw, 624.938rem);
    --app-font-size-h-6xl: clamp(7.5rem, 1 / var(--app-var-vw) * 100 * 120vw, 624.938rem);
    --app-font-size-h-7xl: clamp(11.875rem, 1 / var(--app-var-vw) * 100 * 190vw, 624.938rem);
    --app-font-family-en: "univers-next-pro", Meiryo, -apple-system, BlinkMacSystemFont, sans-serif;
    --app-font-family-ja: "univers-next-pro", YakuHanJPs, "source-han-sans-japanese", "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", "BIZ UDPGothic", Meiryo, -apple-system, BlinkMacSystemFont, sans-serif;
    --app-line-height-xs: 1;
    --app-line-height-s: 1.2;
    --app-line-height-m: 1.4;
    --app-line-height-l: 1.6;
    --app-line-height-xl: 1.8;
    --app-spacing-xs: 0.625rem;
    --app-spacing-s: 1.25rem;
    --app-spacing-m: 1.875rem;
    --app-spacing-l: 2.5rem;
    --app-spacing-xl: 3.75rem;
    --app-spacing-2xl: 5rem;
    --app-spacing-3xl: 6.25rem;
    --app-radius-s: 5px;
    --app-radius-m: 10px;
    --app-radius-l: 15px;
    --app-header-height: 70px;
    --app-header-height-scrolled: 45px;
    --app-rect-size-s: 5px;
    --app-rect-size-m: 10px;
    --app-rect-size-l: 15px;
    --app-social-icon-size: 38px;
}
html {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
}
html.touch {
    scroll-behavior: auto;
}
html.windows.firefox {
    scrollbar-width: none;
}
html.windows.edge,
html.windows.ie {
    -ms-overflow-style: none;
}
body {
    background: var(--app-color-white);
    width: 100%;
    height: 100%;
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    font-feature-settings: normal;
    font-variant-east-asian: proportional-width;
    line-height: var(--app-line-height-xs);
    letter-spacing: 0;
    overscroll-behavior-y: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: #0000;
    -webkit-text-size-adjust: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
body.--is-loading {
    overflow: hidden;
}
[lang="en"] body {
    font-family: var(--app-font-family-en);
}
[lang="ja"] body {
    font-family: var(--app-font-family-ja);
}
.touch body {
    overflow-y: scroll;
}
a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none;
}
a:not([class]):link,
a:not([class]):visited,
a:not([class]):hover,
a:not([class]):active {
    color: var(--app-color-link);
}
.windows.edge html::-webkit-scrollbar {
    background: 0 0;
    width: 0;
}
.windows.ie html::-webkit-scrollbar {
    background: 0 0;
    width: 0;
}
.windows.edge html::-webkit-scrollbar:horizontal {
    height: 0;
}
.windows.ie html::-webkit-scrollbar:horizontal {
    height: 0;
}
.windows.edge html::-webkit-scrollbar-button {
    background: 0 0;
    width: 0;
    height: 0;
}
.windows.ie html::-webkit-scrollbar-button {
    background: 0 0;
    width: 0;
    height: 0;
}
.windows.edge html::-webkit-scrollbar-piece {
    background: 0 0;
}
.windows.ie html::-webkit-scrollbar-piece {
    background: 0 0;
}
.windows.edge html::-webkit-scrollbar-thumb {
    background: 0 0;
}
.windows.ie html::-webkit-scrollbar-thumb {
    background: 0 0;
}
.windows.edge html::-webkit-scrollbar-corner {
    background: 0 0;
}
.windows.ie html::-webkit-scrollbar-corner {
    background: 0 0;
}
::selection {
    color: var(--app-color-white);
    background: var(--app-color-black);
}
::selection {
    color: var(--app-color-white);
    background: var(--app-color-black);
}
:placeholder-shown {
    color: var(--app-color-placeholder);
}
::-webkit-input-placeholder {
    color: var(--app-color-placeholder);
}
:-moz-placeholder-shown {
    color: var(--app-color-placeholder);
}
::-moz-placeholder {
    color: var(--app-color-placeholder);
}
:-ms-placeholder-shown {
    color: var(--app-color-placeholder);
}
@media (prefers-reduced-motion: reduce) {
    *,
    :before,
    :after {
        transition: none !important;
        animation: none !important;
    }
}
#app {
    width: 100%;
    height: 100%;
    position: relative;
    overflow-y: clip;
}
.l-all {
    min-height: 100svh;
    overflow: hidden auto;
}
.--is-loading .l-all {
    overflow-y: hidden;
}
.mac.desktop .l-wrapper,
.windows.desktop .l-wrapper {
    scrollbar-color: transparent transparent;
    scrollbar-width: none;
}
.l-wrapper {
    overscroll-behavior-x: none;
    will-change: scroll-position;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden scroll;
}
.l-container {
    width: 100%;
    max-width: 100%;
    height: auto;
    position: relative;
}
.l-view {
    width: 100%;
    max-width: 100%;
    position: relative;
}
.l-page {
    max-width: 100%;
    position: relative;
}
@media only screen and (width<=66em) {
    :root {
        --app-grid-col: 4;
        --app-grid-row: 4;
        --app-grid-col-gap: 15px;
        --app-grid-row-gap: 15px;
        --app-grid-h-margin: 15px;
        --app-grid-v-margin: 15px;
    }
}
@media only screen and (width<=55em) {
    :root {
        --app-grid-col: 4;
        --app-grid-row: 4;
        --app-grid-col-gap: 15px;
        --app-grid-row-gap: 15px;
        --app-grid-h-margin: 15px;
        --app-grid-v-margin: 15px;
        --app-var-vw: 375;
        --app-var-vh: 812;
        --app-var-vw-min: 375;
        --app-var-vw-max: 834;
        --app-var-vw-min-unit: 375px;
        --app-var-vw-max-unit: 834px;
        --app-header-height: 50px;
        --app-header-height-scrolled: 45px;
        --app-rect-size-l: 10px;
        --app-social-icon-size: 32px;
    }
}
.g-header {
    width: 100%;
    height: var(--app-header-height);
    z-index: 20;
    pointer-events: none;
    background: 0 0;
    transition:
        height 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        translate 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
}
.--is-loading .g-header {
    translate: 0 calc(-1 * var(--app-header-height));
}
.--is-scrolled .g-header {
    height: var(--app-header-height-scrolled);
}
.--is-transition .g-header {
    opacity: 0;
    visibility: hidden;
}
.g-header:before {
    content: "";
    background: var(--app-color-white);
    pointer-events: none;
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.g-header__inner {
    width: 100%;
    height: 100%;
    padding: 0 var(--app-grid-h-margin);
    z-index: 3;
    position: relative;
}
.g-header__body {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}
.g-header__logo {
    pointer-events: auto;
}
.g-header__logo-link {
    clip-path: inset(0);
    color: var(--app-color-primary);
    margin: -1px -2px;
    padding: 1px 2px;
    display: block;
    overflow: hidden;
}
.g-header .c-svg-logo {
    width: 91.2208px;
    height: 22px;
    display: block;
    overflow: visible;
}
.g-header__lang {
    color: var(--app-color-primary);
    pointer-events: auto;
    position: absolute;
    top: 50%;
    left: 111.221px;
    translate: 0 -50%;
}
.g-header .g-header-logo__path-1,
.g-header .g-header-logo__path-2 {
    transition:
        scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1) 0.25s,
        translate 0.35s cubic-bezier(0.104, 0.204, 0.492, 1) 0.25s;
}
.g-header .g-header-logo__path-3,
.g-header .c-svg-logo__i,
.g-header .c-svg-logo__c,
.g-header .c-svg-logo__o,
.g-header .c-svg-logo__s {
    transition: translate 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.g-header .g-header-logo__path-3 {
    transition-delay: 0.2s;
}
.g-header .c-svg-logo__i {
    transition-delay: 0.15s;
}
.g-header .c-svg-logo__c {
    transition-delay: 0.1s;
}
.g-header .c-svg-logo__o {
    transition-delay: 50ms;
}
.g-header .c-svg-logo__s {
    transition-delay: 0s;
}
[data-page-name="home"] .g-header .g-header-logo__path-1 {
    translate: 0 12px;
    scale: 2.73723;
}
[data-page-name="home"] .g-header .g-header-logo__path-2 {
    translate: 0 -278px;
    scale: 2.73723;
}
[data-page-name="home"] .g-header .g-header-logo__path-3,
[data-page-name="home"] .g-header .c-svg-logo__i,
[data-page-name="home"] .g-header .c-svg-logo__c,
[data-page-name="home"] .g-header .c-svg-logo__o,
[data-page-name="home"] .g-header .c-svg-logo__s {
    translate: 0 120%;
}
[data-page-name="home"].--is-scrolled .g-header .g-header-logo__path-1,
[data-page-name="home"].--is-scrolled .g-header .g-header-logo__path-2 {
    transition:
        scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        translate 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    translate: 0;
    scale: 1;
}
[data-page-name="home"].--is-scrolled .g-header .g-header-logo__path-3,
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__i,
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__c,
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__o,
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__s {
    translate: 0;
}
[data-page-name="home"].--is-scrolled .g-header .g-header-logo__path-3 {
    transition-delay: 0s;
}
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__i {
    transition-delay: 50ms;
}
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__c {
    transition-delay: 0.1s;
}
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__o {
    transition-delay: 0.15s;
}
[data-page-name="home"].--is-scrolled .g-header .c-svg-logo__s {
    transition-delay: 0.2s;
}
.g-header__nav {
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50%;
}
.g-header__nav-items {
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    column-gap: 3em;
    height: 100%;
    display: flex;
}
.g-header__nav-item {
    height: 100%;
    font-family: var(--app-font-family-en);
    font-size: var(--app-font-size-p-s);
    text-transform: uppercase;
    align-items: center;
    font-weight: 500;
    display: flex;
}
.g-header__nav-item.--has-dropdown {
    pointer-events: auto;
}
.g-header__nav-link {
    color: var(--app-color-primary);
    pointer-events: auto;
    margin: -0.25em;
    padding: 0.25em;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: inline-block;
    position: relative;
}
.g-header__nav-link:before {
    content: "";
    background: var(--app-color-black);
    transform-origin: 50% 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    transition: scale 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
    left: 0;
    scale: 1 0;
}
.no-touch .g-header__nav-link:hover {
    color: var(--app-color-white);
}
.no-touch .g-header__nav-link:hover:before {
    transform-origin: 50% 100%;
    transition: scale 0.25s cubic-bezier(0.472, 0.04, 0.526, 1);
    scale: 1;
}
.g-header.--is-dropdown-active .g-header__nav-item:not(.--has-dropdown) .g-header__nav-link {
    opacity: 0.5;
}
.g-header__dropdown-mask {
    background: var(--app-color-black-a40);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 0;
    width: 100%;
    height: 100svh;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: fixed;
    top: 0;
    left: 0;
}
.--is-transition .g-header__dropdown-mask {
    opacity: 0;
    visibility: hidden;
}
.--is-dropdown-active .g-header__dropdown-mask {
    opacity: 1;
    visibility: visible;
}
.g-header__dropdown {
    top: var(--app-header-height);
    width: 100%;
    color: var(--app-color-primary);
    visibility: hidden;
    pointer-events: none;
    clip-path: inset(0 0 100%);
    z-index: 2;
    transition:
        clip-path 0.35s cubic-bezier(0.306, 0.968, 0.632, 1),
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    left: 0;
}
.--is-scrolled .g-header__dropdown {
    top: var(--app-header-height-scrolled);
}
.--is-transition .g-header__dropdown {
    opacity: 0;
    visibility: hidden;
}
.g-header.--is-dropdown-active .g-header__dropdown {
    visibility: visible;
    pointer-events: auto;
    clip-path: inset(0);
    transition:
        clip-path 0.5s cubic-bezier(0.642, 0, 0.328, 1),
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.g-header__dropdown-bg {
    background: var(--app-color-white);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    z-index: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.g-header__dropdown-inner {
    width: 100%;
    height: 100%;
    padding: 0 var(--app-grid-h-margin);
    z-index: 1;
    position: relative;
}
.g-header__dropdown-thumb {
    top: 0;
    left: var(--app-grid-h-margin);
    width: calc(var(--app-spacing-3xl) + var(--app-spacing-xs));
    aspect-ratio: 3/4;
    position: absolute;
    overflow: hidden;
}
.g-header__dropdown-thumb-img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.g-header__dropdown-nav {
    column-gap: var(--app-spacing-xl);
    width: 100%;
    height: 100%;
    padding-top: var(--app-spacing-xl);
    padding-bottom: var(--app-spacing-l);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    display: flex;
    position: relative;
}
.g-header__dropdown-group {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: 12em;
    display: flex;
}
.g-header__dropdown-group.--sub {
    row-gap: 0.75em;
    min-width: 4.5em;
}
.g-header__dropdown-head,
.g-header__dropdown-link {
    color: currentColor;
    font-family: var(--app-font-family-en);
    font-size: var(--app-font-size-h-s);
    font-weight: 500;
    line-height: var(--app-line-height-s);
}
.g-header__dropdown-head {
    display: inline-block;
}
.g-header__dropdown-items {
    margin-top: 1em;
}
.g-header__dropdown-item {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.75em;
    display: flex;
}
.g-header__dropdown-item:before {
    content: "";
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    background: currentColor;
    display: block;
}
.g-header__dropdown-item:not(:last-child) {
    margin-bottom: 0.75em;
}
.g-header__dropdown-link {
    display: inline-block;
}
@media only screen and (width<=66em) {
    .g-header__dropdown,
    .g-header__dropdown-mask {
        display: none;
    }
    .g-header__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        grid-template-columns: repeat(12, 1fr);
        display: grid;
    }
    .g-header__nav-items {
        column-gap: 1.5em;
    }
    .g-header__nav {
        grid-column: 4 / span 6;
    }
    .g-header__nav-link {
        margin: -0.5em;
        padding: 0.5em;
    }
}
@media only screen and (width<=55em) {
    .g-header .c-svg-logo {
        width: 55px;
        height: auto;
    }
    .g-header__lang {
        left: 71px;
    }
    .g-header__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        grid-template-columns: repeat(4, 1fr);
        display: grid;
    }
    .g-header__nav {
        grid-column: 3 / span 2;
        display: none;
    }
}
.g-menu {
    width: 100%;
    height: 0;
    color: var(--app-color-white);
    z-index: 50;
    pointer-events: none;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: fixed;
    top: 0;
    left: 0;
}
.--is-transition .g-menu {
    opacity: 0;
    visibility: hidden;
}
.g-menu__btn {
    width: var(--app-header-height);
    height: var(--app-header-height);
    color: var(--app-color-black);
    cursor: pointer;
    z-index: 3;
    pointer-events: auto;
    background: 0 0;
    border: none;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 0;
    transition:
        color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        height 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        translate 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
}
.--is-loading .g-menu__btn {
    translate: 0 calc(-1 * var(--app-header-height));
}
.--is-scrolled .g-menu__btn {
    height: var(--app-header-height-scrolled);
}
.--is-menu-active .g-menu__btn {
    color: var(--app-color-white);
}
.g-menu__btn-line {
    background: currentColor;
    width: 30px;
    height: 3px;
    transition:
        translate 0.25s cubic-bezier(0.306, 0.968, 0.632, 1),
        rotate 0.25s cubic-bezier(0.306, 0.968, 0.632, 1);
    position: absolute;
}
.g-menu__btn-line.--1 {
    translate: 0 -4px;
}
.g-menu__btn-line.--2 {
    translate: 0 4px;
}
.--is-menu-active .g-menu__btn-line.--1 {
    translate: 0;
    rotate: 25deg;
}
.--is-menu-active .g-menu__btn-line.--2 {
    translate: 0;
    rotate: -25deg;
}
.g-menu__mask {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 1;
    -webkit-backdrop-filter: blur();
    background: 0 0;
    width: 100%;
    height: 100svh;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        -webkit-backdrop-filter 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        backdrop-filter 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: fixed;
    inset: 0;
}
.--is-menu-active .g-menu__mask {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-backdrop-filter: blur(6px);
}
.g-menu__panel {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 11 + (11 - 1) * var(--app-grid-col-gap) + var(--app-grid-col-gap)
    );
    background: var(--app-color-gray-dark);
    border-radius: var(--app-radius-l) 0 0 var(--app-radius-l);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 2;
    will-change: translate;
    height: 100svh;
    transition:
        translate 0.5s cubic-bezier(0.306, 0.968, 0.632, 1),
        opacity 0s linear 0.5s,
        visibility 0s linear 0.5s;
    position: fixed;
    top: 0;
    right: 0;
    overflow: hidden;
    translate: 100%;
}
.--is-menu-active .g-menu__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: translate 0.7s cubic-bezier(0.642, 0, 0.328, 1);
    translate: 0;
}
.g-menu__scroll {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden auto;
}
.g-menu__inner {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    min-height: 100%;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: relative;
}
.--is-menu-active .g-menu__inner {
    opacity: 1;
    visibility: visible;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1) 0.25s,
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1) 0.25s;
}
.g-menu__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    width: 100%;
    min-height: 100svh;
    padding: var(--app-spacing-2xl) var(--app-grid-col-gap) var(--app-spacing-2xl)
        calc(
            var(--app-grid-col-gap) +
                calc(
                    ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                        var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
                )
        );
    grid-template-columns: repeat(10, 1fr);
    display: grid;
    position: relative;
}
.g-menu__primary {
    column-gap: var(--app-grid-col-gap);
    grid-column: 1 / span 9;
    grid-template-columns: repeat(9, 1fr);
    align-content: flex-start;
    row-gap: 0;
    display: grid;
}
.g-menu__main-nav {
    grid-column: 1 / span 4;
}
.g-menu__main-items {
    position: relative;
}
.g-menu__main-item:not(:last-child) {
    margin-bottom: 1em;
}
.g-menu__main-link {
    color: currentColor;
    height: 1.15em;
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-xs);
    clip-path: inset(0);
    padding-bottom: 0.15em;
    display: inline-block;
    position: relative;
    overflow: hidden;
}
.g-menu__main-link:before,
.g-menu__main-link:after {
    bottom: 0 !important;
}
.g-menu__main-link-front {
    transform-origin: 0;
    transition: translate 0.25s cubic-bezier(0.104, 0.204, 0.492, 1) 0.1s;
    display: block;
}
.g-menu__main-link-back {
    transform-origin: 0;
    transition: translate 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    translate: 0 0.2em;
}
.no-touch .g-menu__main-link:hover .g-menu__main-link-front {
    transition: translate 0.25s cubic-bezier(0.472, 0.04, 0.526, 1);
    translate: 0 -115%;
}
.no-touch .g-menu__main-link:hover .g-menu__main-link-back {
    transition: translate 0.25s cubic-bezier(0.472, 0.04, 0.526, 1) 0.1s;
    translate: 0 -100%;
}
.g-menu__products {
    grid-column: 5 / span 5;
}
.g-menu__products-ttl {
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-xs);
    margin-bottom: 1.5em;
}
.g-menu__product-items {
    margin-bottom: 2em;
    position: relative;
}
.g-menu__product-item {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.75em;
    display: flex;
}
.g-menu__product-item:before {
    content: "";
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    background: currentColor;
    display: block;
}
.g-menu__product-item:not(:last-child) {
    margin-bottom: 1em;
}
.g-menu__product-link,
.g-menu__sub-link,
.g-menu__legal-link,
.g-menu__social-link {
    color: currentColor;
    font-size: var(--app-font-size-h-s);
    font-weight: 500;
    line-height: var(--app-line-height-s);
}
.g-menu__sub-item:not(:last-child) {
    margin-bottom: 1em;
}
.g-menu__secondary {
    column-gap: var(--app-grid-col-gap);
    grid-column: 1 / span 9;
    grid-template-columns: repeat(9, 1fr);
    align-self: start;
    row-gap: 0;
    margin-top: 3em;
    display: grid;
}
.g-menu__meta {
    grid-column: 1 / span 4;
}
.g-menu__legal-items {
    margin-bottom: 3em;
}
.g-menu__legal-item:not(:last-child) {
    margin-bottom: 1em;
}
.g-menu__lang {
    color: currentColor;
}
.g-menu__lang .c-lang-switch {
    font-size: var(--app-font-size-p-m);
}
.g-menu__actions {
    grid-column: 5 / span 5;
    align-self: start;
}
.g-menu__btn-link {
    width: max-content;
    max-width: 100%;
}
.g-menu__btn-link:not(:last-child) {
    margin-bottom: 1em;
}
.g-menu__bottom {
    grid-column: 1 / span 9;
    align-self: end;
}
.g-menu__social-items {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 1.5em;
    display: flex;
}
.g-menu__rect-wrap {
    width: var(--app-header-height);
    height: var(--app-header-height);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
}
.g-menu__rect {
    width: var(--app-rect-size-l);
    height: var(--app-rect-size-l);
    background: currentColor;
}
@media only screen and (width<=66em) {
    .g-menu__panel {
        width: 100%;
        min-width: 0;
        height: calc(100svh - var(--app-grid-v-margin));
        border-radius: 0 0 var(--app-radius-m) var(--app-radius-m);
        max-height: none;
        left: 0;
        right: auto;
        overflow: hidden;
        translate: 0 -100%;
    }
    .g-menu__inner {
        height: auto;
        min-height: 100%;
        position: relative;
    }
    .g-menu__body {
        min-height: 100%;
        padding: calc(var(--app-header-height) + var(--app-spacing-xs))
            calc(var(--app-grid-h-margin) + var(--app-grid-col-gap)) var(--app-spacing-l);
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
        display: flex;
    }
    .g-menu__primary {
        column-gap: var(--app-grid-col-gap);
        margin-bottom: var(--app-spacing-l);
        grid-template-columns: repeat(2, 1fr);
        align-content: flex-start;
        row-gap: 0;
        display: grid;
    }
    .g-menu__main-nav,
    .g-menu__products {
        grid-column: auto/span 1;
    }
    .g-menu__main-item:not(:last-child) {
        margin-bottom: 0.55em;
    }
    .g-menu__main-link,
    .g-menu__products-ttl {
        font-size: min(var(--app-font-size-h-xl), 1.625rem);
    }
    .g-menu__products-ttl {
        margin-bottom: 1.25em;
    }
    .g-menu__product-items {
        margin-bottom: 2em;
    }
    .g-menu__product-item {
        align-items: flex-start;
    }
    .g-menu__product-item:before {
        margin-top: 0.45em;
    }
    .g-menu__product-item:not(:last-child) {
        margin-bottom: 1em;
    }
    .g-menu__product-link,
    .g-menu__sub-link,
    .g-menu__legal-link,
    .g-menu__social-link {
        font-size: var(--app-font-size-p-m);
    }
    .g-menu__sub-item:not(:last-child) {
        margin-bottom: 1em;
    }
    .g-menu__secondary {
        flex-direction: column-reverse;
        margin-top: 0;
        display: flex;
    }
    .g-menu__actions {
        gap: 1em var(--app-grid-col-gap);
        margin-bottom: var(--app-spacing-m);
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        display: flex;
    }
    .g-menu__btn-link {
        width: max-content;
        max-width: 100%;
    }
    .g-menu__btn-link:not(:last-child) {
        margin-bottom: 0;
    }
    .g-menu__meta {
        display: block;
    }
    .g-menu__legal-items {
        margin-bottom: var(--app-spacing-m);
    }
    .g-menu__legal-item:not(:last-child) {
        margin-bottom: 1em;
    }
    .g-menu__lang {
        margin-bottom: var(--app-spacing-l);
    }
    .g-menu__bottom {
        padding-top: var(--app-spacing-l);
        margin-top: auto;
    }
    .g-menu__social-items {
        column-gap: 1.5em;
    }
    .g-menu__rect-wrap {
        bottom: calc(-1 * var(--app-header-height));
        width: var(--app-header-height);
        height: var(--app-header-height);
        position: absolute;
    }
    .g-menu__rect {
        width: var(--app-rect-size-m);
        height: var(--app-rect-size-m);
    }
}
@media only screen and (width<=40em) {
    .g-menu__btn-line {
        width: 22px;
        height: 2px;
    }
    .g-menu__btn-line.--1 {
        translate: 0 -3px;
    }
    .g-menu__btn-line.--2 {
        translate: 0 3px;
    }
    .g-menu__primary {
        column-gap: var(--app-grid-col-gap);
    }
    .g-menu__main-link,
    .g-menu__products-ttl {
        font-size: min(var(--app-font-size-p-2xl), 1.625rem);
    }
}
@media only screen and (width<=20em) {
    .g-menu__primary {
        display: block;
    }
    .g-menu__main-nav {
        margin-bottom: var(--app-spacing-l);
    }
}
.g-footer {
    z-index: 0;
    width: 100%;
    position: relative;
}
.g-footer__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
}
.g-footer__body {
    padding: var(--app-spacing-m) 0 var(--app-spacing-xl);
}
.g-footer__cards {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    grid-template-columns: repeat(24, minmax(0, 1fr));
    justify-items: start;
    display: grid;
}
.g-footer__card {
    width: 100%;
    min-width: 0;
    padding: var(--app-spacing-2xl)
        calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
        );
    color: var(--app-color-white);
    background: var(--app-color-gray-dark);
    border-radius: var(--app-radius-s);
    grid-column: auto/span 12;
    position: relative;
}
.g-footer__card-rect {
    width: var(--app-rect-size-m);
    height: var(--app-rect-size-m);
    background: var(--app-color-white);
    display: block;
}
.g-footer__card-link:not(:last-child) {
    margin-bottom: 1em;
}
.g-footer__card-ttl {
    font-size: var(--app-font-size-h-xl);
    margin: 1em 0;
    font-weight: 700;
}
.g-footer__card-txt {
    font-size: var(--app-font-size-p-m);
    line-height: var(--app-line-height-m);
}
.g-footer__card-links {
    margin-top: var(--app-spacing-l);
}
.g-footer__products {
    column-gap: var(--app-grid-col-gap);
    margin-top: var(--app-spacing-l);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
}
.g-footer__product-link {
    padding-left: 1em;
    position: relative;
}
.g-footer__product-link:not(:last-child) {
    margin-bottom: 1em;
}
.g-footer__product-link:before {
    content: "";
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    background: currentColor;
    display: block;
    position: absolute;
    top: 0.35em;
    left: 0;
}
.g-footer__product-label {
    margin-bottom: 1.5em;
    font-weight: 700;
}
.g-footer__content {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    color: var(--app-color-white);
    margin-top: var(--app-spacing-2xl);
    margin-bottom: var(--app-spacing-2xl);
    grid-template-columns: repeat(24, 1fr);
    justify-items: start;
    display: grid;
    position: relative;
}
.g-footer__content-logo-block {
    grid-area: 1/1 / auto/span 4;
    width: 100%;
    display: block;
}
.g-footer__content-logo {
    margin-bottom: 1em;
}
.g-footer__content-logo-link {
    color: var(--app-color-white);
    display: block;
}
.g-footer .c-svg-logo {
    width: 91.2208px;
    height: 22px;
    display: block;
}
.g-footer__content-nav-item {
    font-size: var(--app-font-size-p-m);
}
.g-footer__content-nav-item.--product {
    padding-left: 1em;
    position: relative;
}
.g-footer__content-nav-item.--product:before {
    content: "";
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    background: var(--app-color-white);
    position: absolute;
    top: 0;
    left: 0;
}
.g-footer__content-nav-link {
    color: var(--app-color-white);
    font-weight: 500;
}
.g-footer__content-nav {
    flex-wrap: nowrap;
    grid-area: 1/13 / auto/span 12;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    display: flex;
}
.g-footer__content-nav-items {
    position: relative;
}
.g-footer__content-nav-item:not(:last-child) {
    margin-bottom: 1em;
}
.g-footer__content-nav-btns {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 4 + (4 - 1) * var(--app-grid-col-gap)
    );
    position: relative;
}
.g-footer__content-nav-btn {
    width: 100%;
    position: relative;
}
.g-footer__content-nav-btn:not(:last-child) {
    margin-bottom: 1em;
}
.g-footer .c-btn {
    width: 100%;
}
.g-footer__content-nav-links {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2.5em;
    display: flex;
}
.g-footer__bottom {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    grid-template-columns: repeat(24, 1fr);
    justify-items: start;
    display: grid;
}
.g-footer__social-items {
    flex-wrap: nowrap;
    grid-area: 1/13 / auto/span 12;
    justify-content: flex-start;
    align-items: center;
    column-gap: 1em;
    display: flex;
}
.g-footer__social-item {
    position: relative;
}
.g-footer__social-link {
    color: var(--app-color-white);
    font-size: var(--app-font-size-h-xs);
}
.g-footer__copyright {
    color: var(--app-color-white);
    font-size: var(--app-font-size-h-xs);
    grid-area: 1/1 / auto/span 4;
}
.g-footer__mask {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
@media only screen and (width<=80em) {
    .g-footer__content-nav-items.--last {
        width: 100%;
    }
}
@media only screen and (width<=66em) {
    .g-footer__card {
        padding: var(--app-spacing-xl) var(--app-spacing-m);
    }
    .g-footer__content-nav-btns {
        width: calc((100% - var(--app-grid-col-gap)) / 2);
    }
}
@media only screen and (width<=55em) {
    .g-footer__body {
        padding: var(--app-spacing-l) 0 var(--app-spacing-m);
        display: block;
    }
    .g-footer__cards {
        display: block;
    }
    .g-footer__card {
        width: 100%;
        padding: var(--app-spacing-l) var(--app-spacing-s);
    }
    .g-footer__card:not(:last-child) {
        margin-bottom: var(--app-spacing-xs);
    }
    .g-footer__card-ttl {
        font-size: var(--app-font-size-h-l);
    }
    .g-footer__card-txt {
        font-size: var(--app-font-size-p-s);
        line-height: var(--app-line-height-l);
    }
    .g-footer__products {
        display: block;
    }
    .g-footer__product:not(:last-child) {
        margin-bottom: var(--app-spacing-m);
    }
    .g-footer__content {
        row-gap: var(--app-spacing-l);
        margin-top: var(--app-spacing-l);
        margin-bottom: var(--app-spacing-m);
        flex-direction: column-reverse;
        display: flex;
    }
    .g-footer__content-logo-block {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
        );
    }
    .g-footer__content-nav {
        width: 100%;
        display: block;
    }
    .g-footer__content-nav-links {
        gap: var(--app-spacing-m) var(--app-grid-col-gap);
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    .g-footer__content-nav-items.--last {
        width: auto;
    }
    .g-footer__content-nav-item {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-m);
    }
    .g-footer__content-nav-item:not(:last-child) {
        margin-bottom: 0.85em;
    }
    .g-footer__content-nav-btns {
        column-gap: var(--app-grid-col-gap);
        width: 100%;
        margin-top: var(--app-spacing-l);
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        display: flex;
    }
    .g-footer__content-nav-btn {
        width: calc((100% - var(--app-grid-col-gap)) / 2);
    }
    .g-footer__content-nav-btn:not(:last-child) {
        margin-bottom: 0;
    }
    .g-footer__ttl {
        grid-column: 1 / span 2;
    }
    .g-footer__bottom {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-spacing-s);
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }
    .g-footer .c-lang-switch {
        font-size: var(--app-font-size-p-m);
    }
    .g-footer__social-items {
        grid-column: 2 / span 1;
        display: block;
    }
    .g-footer__social-item:not(:last-child) {
        margin-bottom: 0.85em;
    }
    .g-footer__social-link {
        font-size: var(--app-font-size-p-m);
    }
    .g-footer__copyright {
        font-size: var(--app-font-size-p-m);
        grid-column: 1 / span 1;
        align-self: end;
    }
}
.g-loading {
    z-index: 999;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
}
.g-loading___view {
    width: 100%;
    height: 100%;
    position: relative;
}
.g-loading__inner {
    background: var(--app-color-white);
    width: 100%;
    height: 100%;
    position: relative;
}
.g-loading__body {
    z-index: 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}
.g-mask {
    cursor: wait;
    z-index: 9999;
    pointer-events: auto;
    width: 100%;
    height: 100svh;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
}
.g-mask.--is-disabled {
    pointer-events: none;
    display: none;
}
.g-transition-mask {
    background: var(--app-color-black);
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    pointer-events: none;
    will-change: clip-path, opacity;
    width: 100%;
    height: 100svh;
    position: fixed;
    top: 0;
    left: 0;
}
.g-popup {
    width: 100%;
    height: 100svh;
    color: var(--app-color-white);
    background: var(--app-color-black-a40);
    z-index: 60;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        -webkit-backdrop-filter 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        backdrop-filter 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: fixed;
    inset: 0;
}
.--is-popup-active .g-popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.g-popup__mask {
    top: 0;
    left: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    inset: 0;
}
.g-popup__inner {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: relative;
}
.g-popup__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    width: 100%;
    height: 100%;
    padding: var(--app-grid-v-margin) var(--app-grid-h-margin);
    grid-template-columns: repeat(24, 1fr);
    align-content: center;
    display: grid;
    position: relative;
    overflow-y: auto;
}
.g-popup__content {
    pointer-events: auto;
    grid-column: 6 / span 14;
    position: relative;
}
.g-popup__player {
    aspect-ratio: 16/9;
    background: var(--app-color-black);
    width: 100%;
    position: relative;
    overflow: hidden;
}
.g-popup__youtube,
.g-popup__player iframe {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.g-popup__caption {
    font-size: var(--app-font-size-h-xs);
    font-weight: 700;
    line-height: var(--app-line-height-s);
    margin-top: 1em;
}
.g-popup__close {
    --popup-close-size: 40px;
    --popup-close-line: 28px;
    top: calc(-1 * var(--popup-close-size) / 3);
    right: calc(-1 * var(--popup-close-size) - var(--app-grid-col-gap));
    width: var(--popup-close-size);
    height: var(--popup-close-size);
    color: currentColor;
    cursor: pointer;
    pointer-events: auto;
    background: 0 0;
    border: none;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 0;
    display: flex;
    position: absolute;
}
.g-popup__close-line {
    width: var(--popup-close-line);
    background: currentColor;
    height: 2px;
    position: absolute;
}
.g-popup__close-line.--1 {
    rotate: 25deg;
}
.g-popup__close-line.--2 {
    rotate: -25deg;
}
@media only screen and (width<=55em) {
    .g-popup__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        padding: var(--app-grid-v-margin) var(--app-grid-h-margin);
        grid-template-columns: repeat(4, 1fr);
        align-content: center;
        display: grid;
    }
    .g-popup__content {
        grid-column: 1 / span 4;
    }
    .g-popup__close {
        --popup-close-size: 32px;
        --popup-close-line: 22px;
        top: calc(-1 * var(--popup-close-size));
        left: 0;
        right: auto;
    }
}
.u-line-from {
    position: relative;
}
.u-line-from:before,
.u-line-from:after {
    content: "";
    pointer-events: none;
    background: currentColor;
    width: 100%;
    height: 1px;
    transition: scale 0.35s cubic-bezier(0.472, 0.04, 0.526, 1);
    position: absolute;
    bottom: -3px;
    left: 0;
}
.u-line-from:before {
    transform-origin: 0%;
    scale: 1;
}
.u-line-from:after,
.no-touch .u-line-from:hover:before {
    transform-origin: 100%;
    scale: 0 1;
}
.no-touch .u-line-from:hover:after {
    transform-origin: 0%;
    transition-delay: 0.1s;
    scale: 1;
}
.u-line-from.--back:before {
    transform-origin: 100%;
    scale: 1;
}
.u-line-from.--back:after,
.no-touch .u-line-from.--back:hover:before {
    transform-origin: 0%;
    scale: 0 1;
}
.no-touch .u-line-from.--back:hover:after {
    transform-origin: 100%;
    transition-delay: 0.1s;
    scale: 1;
}
.u-line-to {
    position: relative;
}
.u-line-to:before {
    content: "";
    pointer-events: none;
    transform-origin: 100%;
    background: currentColor;
    width: 100%;
    height: 1px;
    transition: scale 0.35s cubic-bezier(0.472, 0.04, 0.526, 1);
    position: absolute;
    bottom: -3px;
    left: 0;
    scale: 0 1;
}
.no-touch .u-line-to:hover:before {
    transform-origin: 0%;
    scale: 1;
}
.no-touch .c-link:hover .c-icon-next__path.--2,
.no-touch .c-btn:hover .c-icon-next__path.--2,
.no-touch .c-apply-btn:hover .c-icon-next__path.--2,
.no-touch .c-jobs-btn:hover .c-icon-next__path.--2,
.no-touch .m-headlines__link:hover .c-icon-next__path.--2 {
    animation: 0.5s cubic-bezier(0.472, 0.04, 0.526, 1) forwards path-next;
}
.no-touch .c-link:hover .c-icon-next__path.--1,
.no-touch .c-btn:hover .c-icon-next__path.--1,
.no-touch .c-apply-btn:hover .c-icon-next__path.--1,
.no-touch .c-jobs-btn:hover .c-icon-next__path.--1,
.no-touch .m-headlines__link:hover .c-icon-next__path.--1 {
    animation: 0.5s cubic-bezier(0.472, 0.04, 0.526, 1) 0.1s forwards path-next;
}
.no-touch .c-link:hover .c-icon-prev__path.--2,
.no-touch .c-btn:hover .c-icon-prev__path.--2 {
    animation: 0.5s cubic-bezier(0.472, 0.04, 0.526, 1) 0.1s forwards path-prev;
}
.no-touch .c-link:hover .c-icon-prev__path.--1,
.no-touch .c-btn:hover .c-icon-prev__path.--1 {
    animation: 0.5s cubic-bezier(0.472, 0.04, 0.526, 1) forwards path-prev;
}
@keyframes path-next {
    0% {
        transform: translate(0);
    }
    50% {
        transform: translate(14px);
    }
    50.1% {
        transform: translate(-14px);
    }
    to {
        transform: translate(0);
    }
}
@keyframes path-prev {
    0% {
        transform: translate(0);
    }
    50% {
        transform: translate(-14px);
    }
    50.1% {
        transform: translate(14px);
    }
    to {
        transform: translate(0);
    }
}
.u-spacing {
    --desktop: 1;
    --mobile: 1;
    width: 100%;
    height: calc(var(--app-spacing-xs) * var(--desktop));
    pointer-events: none;
    display: block;
    position: relative;
}
.u-spacing.--fill:before,
.u-spacing.--fill:after {
    content: "";
    background: var(--app-color-white);
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
}
.u-spacing.--fill:before {
    top: -1px;
}
.u-spacing.--fill:after {
    bottom: -1px;
}
@media only screen and (width<=66em) {
    .u-spacing {
        height: calc(var(--app-spacing-xs) * var(--mobile));
    }
}
.u-lazy {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.u-lazy img:not(.u-lazy-preload) {
    object-fit: cover;
    object-position: 50% 50%;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    transition:
        opacity 0.5s cubic-bezier(0.104, 0.204, 0.492, 1) 0.15s,
        visibility 0.5s cubic-bezier(0.104, 0.204, 0.492, 1) 0.15s;
    display: block;
    position: relative;
}
.u-lazy img:not(.u-lazy-preload).--is-loaded {
    opacity: 1;
    visibility: visible;
}
.u-lazy .u-lazy-preload {
    object-fit: cover;
    object-position: 50% 50%;
    z-index: 0;
    width: 100%;
    height: 100%;
    image-rendering: crisp-edges;
    transition:
        opacity 0.15s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.15s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.--is-loaded .u-lazy .u-lazy-preload {
    opacity: 1;
    visibility: visible;
}
.u-hr {
    background: var(--app-color-white);
    z-index: 1;
    width: 100%;
    position: relative;
}
.u-hr__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.--max .u-hr__inner {
    padding: 0;
}
.u-hr__body {
    background: var(--app-color-gray-50);
    z-index: 1;
    width: 100%;
    height: 1px;
    position: relative;
}
.u-fit {
    width: 100%;
    height: 100%;
    position: relative;
}
.u-fit-abs {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.u-fit-fixed {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
}
.u-fit-bg {
    background-position: 50%;
    background-size: cover;
}
.u-fit-obj {
    object-fit: cover;
    object-position: 50% 50%;
}
.u-none {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}
.m-section {
    background: var(--app-color-white);
    width: 100%;
}
.m-section__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.m-section__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    opacity: 0;
    visibility: hidden;
    grid-template-columns: repeat(24, 1fr);
    width: 100%;
    height: 100%;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: grid;
    position: relative;
}
.--is-splash .m-section__body {
    opacity: 1;
    visibility: visible;
}
.m-section__label {
    grid-column: 1 / span 6;
}
.m-section__label .c-section-label {
    top: calc(var(--app-header-height-scrolled) + var(--app-grid-v-margin));
    position: sticky;
}
.m-section__content {
    grid-column: 8 / span 17;
}
.m-section__description {
    width: 100%;
    font-size: var(--app-font-size-p-2xl);
    line-height: var(--app-line-height-l);
}
.m-section__description.--bold {
    font-weight: 700;
}
[lang="en"] .m-section__description {
    line-height: var(--app-line-height-m);
}
.m-section__ttl {
    font-size: var(--app-font-size-h-3xl);
    font-weight: 700;
}
.m-section__subttl {
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
}
.m-section__txt {
    width: 100%;
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
}
.m-section__lists {
    position: relative;
}
.m-section__list {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
    padding-left: 0.75em;
    position: relative;
}
.m-section__list:before {
    content: "";
    background: var(--app-color-black);
    width: 5px;
    height: 5px;
    position: absolute;
    top: 0.6em;
    left: 0;
}
.--round .m-section__list:before {
    border-radius: 50%;
}
.m-section__list:not(:last-child) {
    margin-bottom: 0.25em;
}
.m-section__links {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em 2em;
    display: flex;
}
.m-section__links.--wrap {
    flex-wrap: wrap;
}
.m-section__link {
    display: block;
}
.--wrap .m-section__link {
    width: 100%;
}
.m-section__thumb {
    aspect-ratio: 180/246;
    width: 180px;
}
.m-section__fit-img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    display: block;
}
.m-section__clients {
    gap: var(--app-grid-col-gap);
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    display: flex;
}
.m-section__client {
    width: 100%;
    display: block;
}
@media only screen and (width<=55em) {
    .m-section__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        grid-template-columns: repeat(4, 1fr);
        display: grid;
    }
    .m-section__label,
    .m-section__content {
        grid-column: auto/span 4;
    }
    .m-section__label {
        margin-bottom: var(--app-spacing-m);
    }
    .m-section__label .c-section-label {
        position: relative;
        top: auto;
    }
    .m-section__description {
        font-size: var(--app-font-size-p-l);
        line-height: var(--app-line-height-xl);
    }
    .m-section__ttl {
        font-size: var(--app-font-size-h-2xl);
        line-height: var(--app-line-height-m);
    }
    .m-section__subttl {
        font-size: var(--app-font-size-h-m);
        line-height: var(--app-line-height-m);
    }
    .m-section__txt,
    .m-section__list {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-xl);
    }
    .m-section__links {
        align-items: flex-start;
        column-gap: 1.5em;
    }
    .m-section__thumb {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
        );
        margin: 0 auto;
    }
    .m-section__clients {
        width: 100%;
    }
    .m-section__client {
        width: calc((100% - var(--app-grid-col-gap)) / 2);
    }
}
.m-large-content {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.m-large-content__inner {
    width: 100%;
    height: 100svh;
    padding: 0 var(--app-grid-col-gap);
    position: relative;
}
.--variable .m-large-content__inner {
    height: auto;
}
.--video .m-large-content__inner {
    aspect-ratio: 16/9;
    height: auto;
}
.m-large-content__inner:before,
.m-large-content__inner:after {
    content: "";
    width: var(--app-grid-h-margin);
    background: var(--app-color-white);
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
}
.m-large-content__inner:before {
    left: 0;
}
.m-large-content__inner:after {
    right: 0;
}
.m-large-content__body {
    width: 100%;
    height: 100%;
    position: relative;
}
.--transparent .m-large-content__body:before,
.m-large-content__body.--transparent:before {
    content: "";
    background: var(--app-color-black);
    pointer-events: none;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    transition:
        opacity 0.15s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.15s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
    left: 0;
}
.--is-transition .--transparent .m-large-content__body:before,
.--is-transition .m-large-content__body.--transparent:before {
    opacity: 1;
    visibility: visible;
    transition:
        opacity 0.1s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-large-content__play-trigger {
    width: 100%;
    height: 100%;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    background: 0 0;
    border: none;
    padding: 0;
    display: block;
    position: relative;
    overflow: hidden;
}
.m-large-content__play-trigger .u-lazy {
    width: 100%;
    height: 100%;
    position: relative;
}
.m-large-content__img,
.m-large-content__video {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.m-large-content__play {
    z-index: 2;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}
.m-large-content__zoom {
    color: var(--app-color-white);
    background: var(--app-color-gray-dark);
    z-index: 1;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
}
@media only screen and (width<=55em) {
    .m-large-content__inner {
        height: 40svh;
        padding: 0 var(--app-grid-h-margin);
    }
    .--vertical .m-large-content__inner {
        height: 60svh;
    }
    .m-large-content__zoom {
        width: 44px;
        height: 44px;
    }
}
.m-ricos-parallax {
    overflow: hidden;
}
.m-ricos-parallax__target {
    --ricos-parallax-range: 200px;
    height: calc(100% + var(--ricos-parallax-range));
    margin-top: calc(var(--ricos-parallax-range) * -0.5);
    translate: 0 var(--ricos-parallax-y, 0px);
    will-change: translate;
}
@media only screen and (width<=55em) {
    .m-ricos-parallax__target {
        --ricos-parallax-range: 100px;
    }
}
.m-posts {
    width: 100%;
    position: relative;
}
.m-posts__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.m-posts__body {
    position: relative;
}
.m-posts__items {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-spacing-l);
    margin-bottom: var(--app-grid-h-margin);
    grid-template-columns: repeat(17, 1fr);
    grid-auto-rows: minmax(100px, auto);
    display: grid;
}
.m-posts__item {
    width: auto;
    position: relative;
    overflow: hidden;
}
.m-posts__item:nth-child(3n + 1) {
    grid-column: 1 / span 5;
}
.m-posts__item:nth-child(3n + 2) {
    grid-column: 7 / span 5;
}
.m-posts__item:nth-child(3n + 3) {
    grid-column: 13 / span 5;
}
.m-posts__img-wrap {
    background: var(--app-color-black-a10);
    aspect-ratio: 16/9;
    z-index: 0;
    position: relative;
    overflow: hidden;
}
.m-posts__img-wrap:after {
    content: "";
    border: 1px solid var(--app-color-black-a05);
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.m-posts__img {
    object-fit: cover;
    object-position: 50% 50%;
    opacity: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.m-posts__img.--is-loaded {
    opacity: 1;
    transition: opacity 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-posts .u-lazy-preload {
    object-fit: cover;
    object-position: 50% 50%;
    z-index: 0;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.m-posts__ttl {
    font-size: var(--app-font-size-h-m);
    line-height: var(--app-line-height-m);
    margin: 1em 0;
}
.m-posts__link {
    color: var(--app-color-black);
    transition: color 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: relative;
}
.no-touch .m-posts__link:hover {
    color: var(--app-color-red-70);
}
.m-posts__category-items {
    z-index: 2;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 1em 0;
    display: flex;
    position: relative;
}
.m-posts__category-item:not(:last-child) {
    margin-right: 0.5em;
}
.m-posts__category-link {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    display: inline-block;
}
.m-posts__tag-items {
    z-index: 2;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 1em 0;
    display: flex;
    position: relative;
}
.m-posts__tag-item:not(:last-child) {
    margin-right: 0.5em;
}
.m-posts__tag-link {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    display: inline-block;
}
@media only screen and (width<=55em) {
    .m-posts__items {
        margin-bottom: var(--app-grid-h-margin);
        display: block;
    }
    .m-posts__item {
        width: 100%;
    }
    .m-posts__item:not(:last-child) {
        margin-bottom: var(--app-spacing-m);
    }
    .m-posts__img-wrap {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
        );
    }
    .m-posts__ttl {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-m);
        margin: 0.75em 0 0;
    }
    .m-posts__category-link,
    .m-posts__tag-link {
        font-size: var(--app-font-size-p-s);
    }
}
.m-headlines,
.m-headlines__inner {
    width: 100%;
    position: relative;
}
.m-headlines__body,
.m-headlines__items {
    position: relative;
}
.m-headlines__item {
    width: 100%;
    position: relative;
}
.m-headlines__item:before {
    content: "";
    background: var(--app-color-black-a40);
    width: 100%;
    height: 1px;
    display: block;
}
.m-headlines__articles {
    display: block;
}
.m-headlines__articles.--updates {
    gap: var(--app-grid-col-gap);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1em 0;
    transition: color 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
    position: relative;
}
.m-headlines__link {
    gap: var(--app-grid-col-gap);
    color: var(--app-color-black);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1em 0;
    transition: color 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
}
.no-touch .m-headlines__link:hover {
    color: var(--app-color-red-70);
}
.m-headlines__link .c-icon-next path {
    color: var(--app-color-black);
}
.m-headlines__articles.--updates .m-headlines__link {
    z-index: 0;
    padding: 0;
    position: absolute;
    inset: 0;
}
.m-headlines__date {
    flex: 0 0 calc((100% - 16 * var(--app-grid-col-gap)) / 17 * 3 + 2 * var(--app-grid-col-gap));
    min-width: 0;
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    display: block;
}
.m-headlines__articles.--updates .m-headlines__date {
    z-index: 1;
    pointer-events: none;
    padding: 0;
    position: relative;
}
.m-headlines__articles.--updates .m-headlines__categories {
    flex: 0 0 calc((100% - 16 * var(--app-grid-col-gap)) / 17 * 3 + 2 * var(--app-grid-col-gap));
    z-index: 2;
    pointer-events: none;
    min-width: 0;
    padding: 0;
    display: block;
    position: relative;
}
.m-headlines__category {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    color: var(--app-color-black);
    text-underline-offset: 0.2em;
    pointer-events: auto;
    text-decoration: underline;
    transition: color 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: inline-block;
}
.m-headlines__category-separator {
    pointer-events: none;
}
.m-headlines__ttl {
    width: 100%;
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
}
.--is-empty .m-headlines__ttl {
    padding: 2em 0;
}
.m-headlines__articles.--updates .m-headlines__ttl {
    z-index: 1;
    pointer-events: none;
    position: relative;
}
.m-headlines__icon {
    align-self: flex-start;
    width: 11px;
    height: 11px;
    display: block;
    position: relative;
    top: 4px;
}
.m-headlines__articles.--updates .m-headlines__icon {
    z-index: 1;
    color: var(--app-color-black);
    pointer-events: none;
    position: relative;
}
.no-touch .m-headlines__articles.--updates:hover,
.no-touch .m-headlines__articles.--updates:hover .m-headlines__category {
    color: var(--app-color-red-70);
}
.no-touch .m-headlines__articles.--updates:hover .c-icon-next__path.--2 {
    animation: 0.5s cubic-bezier(0.472, 0.04, 0.526, 1) forwards path-next;
}
.no-touch .m-headlines__articles.--updates:hover .c-icon-next__path.--1 {
    animation: 0.5s cubic-bezier(0.472, 0.04, 0.526, 1) 0.1s forwards path-next;
}
@media only screen and (width<=66em) {
    .m-headlines__ttl {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }
    .m-headlines__icon {
        flex: 0 0 11px;
    }
}
@media only screen and (width<=55em) {
    .m-headlines__link {
        gap: 0.65em var(--app-grid-col-gap);
        grid-template-columns: 1fr auto;
        padding: 1.35em 0;
        display: grid;
        position: relative;
    }
    .m-headlines__date {
        min-width: 0;
        font-size: var(--app-font-size-p-xs);
        grid-area: 1/1 / auto/span 2;
    }
    .m-headlines__ttl {
        font-size: var(--app-font-size-p-s);
        line-height: var(--app-line-height-m);
        white-space: wrap;
        grid-area: 2/1 / auto/span 1;
    }
    .m-headlines__icon {
        grid-area: 2/2 / auto/span 1;
        align-self: flex-start;
        top: 0.15em;
    }
    .m-headlines__articles.--updates {
        gap: 0.65em var(--app-grid-col-gap);
        grid-template-columns: max-content max-content minmax(0, 1fr) auto;
        padding: 1.35em 0;
        display: grid;
        position: relative;
    }
    .m-headlines__articles.--updates .m-headlines__link {
        padding: 0;
        inset: 0;
    }
    .m-headlines__articles.--updates .m-headlines__date {
        grid-area: 1/1 / auto/span 1;
        padding: 0;
    }
    .m-headlines__articles.--updates .m-headlines__categories {
        grid-area: 1/2 / auto/span 1;
        padding: 0;
    }
    .m-headlines__articles.--updates .m-headlines__category {
        font-size: var(--app-font-size-p-xs);
        line-height: var(--app-line-height-m);
        white-space: nowrap;
    }
    .m-headlines__articles.--updates .m-headlines__ttl {
        grid-area: 2/1 / auto/span 3;
    }
    .m-headlines__articles.--updates .m-headlines__icon {
        grid-area: 2/4 / auto/span 1;
    }
}
.m-pagination {
    background: var(--app-color-white);
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
    position: relative;
}
.m-pagination__nav {
    width: 100%;
    padding: var(--app-spacing-2xl) 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    display: inline-flex;
    position: relative;
}
.m-pagination__pages {
    display: none;
}
.m-pagination__current {
    color: var(--app-color-gray-dark);
    font-size: var(--app-font-size-p-m);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 2rem;
    display: inline-flex;
    position: relative;
}
.m-pagination__first,
.m-pagination__last,
.m-pagination__page {
    width: 1.5rem;
    height: 2rem;
    font-size: var(--app-font-size-p-m);
    color: var(--app-color-black);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    display: inline-flex;
}
.m-pagination__prev,
.m-pagination__next {
    font-size: var(--app-font-size-p-m);
    color: var(--app-color-black);
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-size: 0 1px;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    column-gap: 0.5em;
    padding-bottom: 3px;
    transition: background-size 0.35s cubic-bezier(0.472, 0.04, 0.526, 1);
    display: inline-flex;
    position: absolute;
}
.no-touch .m-pagination__prev:hover,
.no-touch .m-pagination__next:hover {
    background-size: 100% 1px;
}
.m-pagination__prev {
    background-position: 0 100%;
    left: 0;
}
.no-touch .m-pagination__prev:hover {
    background-position: 100% 100%;
}
.m-pagination__prev:before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 0L2.40413e-07 5.5L6 11L6 0Z'/%3E%3Cpath d='M9.00047 3.38348L13.2305 3.38348V7.61652H9.00047V3.38348Z'/%3E%3C/svg%3E");
    width: 14px;
    height: 11px;
    display: block;
}
.m-pagination__next {
    background-position: 100% 100%;
    right: 0;
}
.no-touch .m-pagination__next:hover {
    background-position: 0 100%;
}
.m-pagination__next:after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.23 3.38354L0 3.38354L0 7.61659H4.23V3.38354Z'/%3E%3Cpath d='M7.23047 0L13.2305 5.5L7.23047 11L7.23047 0Z'/%3E%3C/svg%3E");
    width: 14px;
    height: 11px;
    display: block;
}
.m-pagination__extend,
.m-pagination__back {
    font-size: var(--app-font-size-p-m);
    color: var(--app-color-black);
}
@media only screen and (width<=55em) {
    .m-pagination__nav {
        padding: var(--app-spacing-l) 0 var(--app-spacing-2xl);
    }
    .m-pagination__current,
    .m-pagination__first,
    .m-pagination__last,
    .m-pagination__page,
    .m-pagination__prev,
    .m-pagination__next,
    .m-pagination__extend,
    .m-pagination__back {
        font-size: var(--app-font-size-p-s);
    }
    .m-pagination__prev,
    .m-pagination__next {
        column-gap: 0.4em;
    }
}
.m-rect-area {
    padding: 3.5em 0;
    position: relative;
}
.m-rect-area__txt {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
}
.m-rect-area .c-rect {
    position: absolute;
}
.m-rect-area .c-rect.--1 {
    top: 0;
    left: 0;
}
.m-rect-area .c-rect.--2 {
    top: 0;
    right: 0;
}
.m-rect-area .c-rect.--3 {
    bottom: 0;
    left: 0;
}
.m-rect-area .c-rect.--4 {
    bottom: 0;
    right: 0;
}
@media only screen and (width<=55em) {
    .m-rect-area {
        padding: 3em 0;
    }
    .m-rect-area__txt {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-xl);
    }
}
.m-faq,
.m-faq__items {
    width: 100%;
    position: relative;
}
.m-faq__item {
    pointer-events: auto;
    border-top: 1px solid var(--app-color-black-a40);
}
.m-faq__q {
    cursor: pointer;
    position: relative;
}
.m-faq__q-txt {
    font-size: var(--app-font-size-h-l);
    font-weight: 500;
    line-height: var(--app-line-height-l);
    pointer-events: none;
    padding: 2.5em 0 2.5em 1.5em;
    position: relative;
}
.m-faq__q-txt:before {
    content: "Q.";
    position: absolute;
    left: 0;
}
.m-faq__q-icon {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    display: flex;
    position: absolute;
    top: 50%;
    right: 0;
}
.m-faq__q-icon:before,
.m-faq__q-icon:after {
    content: "";
    background: var(--app-color-black);
    width: 100%;
    height: 2px;
    margin-top: -1px;
    display: block;
    position: absolute;
    top: 50%;
}
.m-faq__q-icon:after {
    transition: rotate 0.35s cubic-bezier(0.472, 0.04, 0.526, 1);
    rotate: 90deg;
}
[data-toggle="on"] .m-faq__q-icon:after {
    rotate: 0deg;
}
.m-faq__a-txt {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
    padding-right: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap) + var(--app-grid-col-gap)
    );
    padding-bottom: 2em;
    position: relative;
}
.m-faq [data-toggle="off"] [data-toggle-container] {
    height: 0;
    transition: height 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-faq [data-toggle="on"] [data-toggle-container] {
    height: var(--h);
    will-change: height;
    transition: height 0.5s cubic-bezier(0.642, 0, 0.328, 1);
}
.m-faq [data-toggle-wrapper] {
    overflow: hidden;
}
.m-faq [data-toggle="off"] [data-toggle-body] {
    opacity: 0;
    transition: opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-faq [data-toggle="on"] [data-toggle-body] {
    opacity: 1;
    transition: opacity 0.5s cubic-bezier(0.642, 0, 0.328, 1);
}
@media only screen and (width<=66em) {
    .m-faq__a-txt {
        padding-right: 0;
    }
}
@media only screen and (width<=55em) {
    .m-faq__q-txt {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
        padding: 1.55em 2em;
    }
    .m-faq__q-txt:before {
        font-size: inherit;
        line-height: inherit;
        top: auto;
    }
    .m-faq__q-icon {
        width: 14px;
        height: 14px;
        margin-top: -7px;
    }
    .m-faq__a-txt {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-xl);
        padding-right: 0;
    }
}
.c-svg-logo {
    width: 100%;
    display: block;
}
.c-svg-logo__path {
    fill: currentColor;
}
.c-rect {
    display: block;
}
.c-rect.--s {
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    min-width: var(--app-rect-size-s);
    min-height: var(--app-rect-size-s);
}
.c-rect.--m {
    width: var(--app-rect-size-m);
    height: var(--app-rect-size-m);
    min-width: var(--app-rect-size-m);
    min-height: var(--app-rect-size-m);
}
.c-rect.--l {
    width: var(--app-rect-size-l);
    height: var(--app-rect-size-l);
    min-width: var(--app-rect-size-l);
    min-height: var(--app-rect-size-l);
}
.c-rect {
    background: currentColor;
}
.c-lang-switch {
    color: currentColor;
    font-family: var(--app-font-family-en);
    font-size: var(--app-font-size-p-s);
    font-weight: 500;
    line-height: var(--app-line-height-xs);
    display: inline-block;
}
.c-lang-switch__items,
.c-lang-switch__item {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    display: inline-flex;
}
.c-lang-switch__item:not(:last-child):after {
    content: "/";
    margin: 0 0.45em;
    display: inline-block;
}
.c-lang-switch__item.--is-disabled .c-lang-switch__link {
    cursor: default;
    pointer-events: none;
}
.c-lang-switch__item.--is-unknown .c-lang-switch__link {
    opacity: 0.5;
}
.c-lang-switch__link {
    color: currentColor;
    text-decoration: none;
    transition: opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: inline-block;
}
.c-lang-switch__link[aria-current="page"] {
    cursor: default;
    pointer-events: none;
}
.c-section-label {
    z-index: 1;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 0.75em;
    display: flex;
    position: sticky;
    top: 0;
}
.c-section-label__txt {
    font-size: var(--app-font-size-h-l);
    margin-top: -0.15em;
    font-weight: 500;
    display: block;
}
.c-section-label__txt [data-split-type="chars"] {
    opacity: 0;
}
.c-section-label__pulldown {
    display: block;
    position: relative;
}
.c-section-label__pulldown-button {
    color: var(--app-color-black);
    font-size: var(--app-font-size-h-l);
    cursor: pointer;
    background: 0 0;
    border: none;
    outline: none;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.25em;
    margin-top: -0.15em;
    padding: 0;
    font-weight: 500;
    display: flex;
}
.c-section-label__pulldown-icon {
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: currentColor;
    width: 11px;
    height: 6px;
    transition: transform 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: relative;
    top: 2px;
}
.--is-active .c-section-label__pulldown-icon {
    transform: rotateX(180deg);
}
.c-section-label__pulldown-items {
    background: var(--app-color-gray-dark);
    border-radius: var(--app-radius-s);
    opacity: 0;
    visibility: hidden;
    width: auto;
    min-width: 245px;
    padding: 0.25em;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        translate 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: absolute;
    top: 2em;
    left: 0;
    translate: 0 0.5em;
}
.--is-active .c-section-label__pulldown-items {
    opacity: 1;
    visibility: visible;
    translate: 0;
}
.c-section-label__pulldown-item {
    width: 100%;
}
.c-section-label__pulldown-link {
    width: 100%;
    color: var(--app-color-white);
    font-size: var(--app-font-size-p-m);
    cursor: pointer;
    border-radius: 2.5px;
    padding: 0.5em 1em;
    font-weight: 500;
    transition: background 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
}
.no-touch .c-section-label__pulldown-link:hover {
    background: var(--app-color-red-70);
}
@media only screen and (width<=55em) {
    .c-section-label {
        position: relative;
        top: auto;
    }
    .c-section-label .c-rect.--l {
        position: relative;
        top: 0.2em;
    }
    .c-section-label__txt,
    .c-section-label__pulldown-button {
        font-size: var(--app-font-size-h-l);
    }
    .c-section-label__pulldown-items {
        min-width: 180px;
        top: calc(100% + 0.75em);
    }
    .c-section-label__pulldown-link {
        font-size: var(--app-font-size-p-s);
    }
}
.c-label {
    font-weight: 700;
}
.c-label[data-fz-desktop="xs"] {
    font-size: var(--app-font-size-h-xs);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="xs"] {
        font-size: var(--app-font-size-h-xs) !important;
    }
}
.c-label[data-fz-desktop="s"] {
    font-size: var(--app-font-size-h-s);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="s"] {
        font-size: var(--app-font-size-h-s) !important;
    }
}
.c-label[data-fz-desktop="m"] {
    font-size: var(--app-font-size-h-m);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="m"] {
        font-size: var(--app-font-size-h-m) !important;
    }
}
.c-label[data-fz-desktop="l"] {
    font-size: var(--app-font-size-h-l);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="l"] {
        font-size: var(--app-font-size-h-l) !important;
    }
}
.c-label[data-fz-desktop="xl"] {
    font-size: var(--app-font-size-h-xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="xl"] {
        font-size: var(--app-font-size-h-xl) !important;
    }
}
.c-label[data-fz-desktop="2xl"] {
    font-size: var(--app-font-size-h-2xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="2xl"] {
        font-size: var(--app-font-size-h-2xl) !important;
    }
}
.c-label[data-fz-desktop="3xl"] {
    font-size: var(--app-font-size-h-3xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="3xl"] {
        font-size: var(--app-font-size-h-3xl) !important;
    }
}
.c-label[data-fz-desktop="4xl"] {
    font-size: var(--app-font-size-h-4xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="4xl"] {
        font-size: var(--app-font-size-h-4xl) !important;
    }
}
.c-label[data-fz-desktop="5xl"] {
    font-size: var(--app-font-size-h-5xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="5xl"] {
        font-size: var(--app-font-size-h-5xl) !important;
    }
}
.c-label[data-fz-desktop="6xl"] {
    font-size: var(--app-font-size-h-6xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="6xl"] {
        font-size: var(--app-font-size-h-6xl) !important;
    }
}
.c-label[data-fz-desktop="7xl"] {
    font-size: var(--app-font-size-h-7xl);
}
@media only screen and (width<=66em) {
    .c-label[data-fz-mobile="7xl"] {
        font-size: var(--app-font-size-h-7xl) !important;
    }
}
.c-label[data-fw-desktop="400"] {
    font-weight: 400;
}
@media only screen and (width<=66em) {
    .c-label[data-fw-mobile="400"] {
        font-weight: 400 !important;
    }
}
.c-label[data-fw-desktop="500"] {
    font-weight: 500;
}
@media only screen and (width<=66em) {
    .c-label[data-fw-mobile="500"] {
        font-weight: 500 !important;
    }
}
.c-label[data-fw-desktop="600"] {
    font-weight: 600;
}
@media only screen and (width<=66em) {
    .c-label[data-fw-mobile="600"] {
        font-weight: 600 !important;
    }
}
.c-label[data-fw-desktop="700"] {
    font-weight: 700;
}
@media only screen and (width<=66em) {
    .c-label[data-fw-mobile="700"] {
        font-weight: 700 !important;
    }
}
.c-zoom-btn {
    color: var(--app-color-white);
    background: var(--app-color-gray-dark);
    z-index: 1;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
}
@media only screen and (width<=55em) {
    .c-zoom-btn {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }
}
.c-zoom-btn__icon {
    width: 26px;
    height: 27px;
    display: block;
}
.c-link {
    color: currentColor;
    font-size: var(--app-font-size-h-xs);
    z-index: 1;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.75em;
    font-weight: 500;
    display: inline-flex;
    position: relative;
}
.c-link.--back {
    flex-direction: row-reverse;
}
.c-link__txt {
    display: inline-block;
}
.c-link__icon {
    width: 11px;
    height: 11px;
    display: block;
    position: relative;
}
.c-btn {
    color: var(--app-color-white);
    font-family: var(--app-font-family-ja);
    background: var(--app-color-gray-dark);
    border-radius: var(--app-radius-s);
    clip-path: rect(0 100% 100% 0 round var(--app-radius-s));
    z-index: 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    height: auto;
    min-height: 47px;
    padding: 1.032em 1em;
    font-weight: 500;
    display: inline-flex;
    position: relative;
    overflow: hidden;
}
.c-btn:before,
.c-btn:after {
    content: "";
    background: var(--app-color-red-70);
    z-index: -1;
    transform-origin: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    scale: 0 1;
}
.c-btn:before {
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.c-btn:after {
    background: var(--app-color-red-60);
    z-index: -2;
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.no-touch .c-btn:hover:before,
.no-touch .c-btn:hover:after {
    transform-origin: 0%;
    scale: 1;
}
.no-touch .c-btn:hover:before {
    transition: scale 0.4s cubic-bezier(0.642, 0, 0.328, 1) 0.1s;
}
.no-touch .c-btn:hover:after {
    transition: scale 0.5s cubic-bezier(0.472, 0.04, 0.526, 1);
}
.c-btn.--black {
    background: var(--app-color-black);
}
.c-btn__txt {
    font-size: var(--app-font-size-h-xs);
    font-weight: 500;
}
.c-btn__icon {
    width: 11px;
    height: 11px;
    display: block;
}
.c-apply-btn {
    color: var(--app-color-white);
    font-family: var(--app-font-family-ja);
    clip-path: rect(0 100% 100% 0 round var(--app-radius-s));
    border-radius: var(--app-radius-s);
    z-index: 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    min-width: 290px;
    height: auto;
    min-height: 47px;
    padding: 1.032em 1em;
    font-weight: 500;
    display: inline-flex;
    position: relative;
}
.c-apply-btn:before,
.c-apply-btn:after {
    content: "";
    background: var(--app-color-red-70);
    z-index: -1;
    transform-origin: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    scale: 0 1;
}
.c-apply-btn:before {
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.c-apply-btn:after {
    background: var(--app-color-red-60);
    z-index: -2;
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.no-touch .c-apply-btn:hover:before,
.no-touch .c-apply-btn:hover:after {
    transform-origin: 0%;
    scale: 1;
}
.no-touch .c-apply-btn:hover:before {
    transition: scale 0.4s cubic-bezier(0.642, 0, 0.328, 1) 0.1s;
}
.no-touch .c-apply-btn:hover:after {
    transition: scale 0.5s cubic-bezier(0.472, 0.04, 0.526, 1);
}
.c-apply-btn.--black {
    background: var(--app-color-black);
}
.c-apply-btn.--red {
    background: var(--app-color-red-70);
}
.c-apply-btn.--red:before {
    background: var(--app-color-black);
}
.c-apply-btn.--red:after {
    background: var(--app-color-red-60);
}
.c-apply-btn__txt {
    font-size: var(--app-font-size-h-xs);
    font-weight: 500;
}
.c-apply-btn__icon {
    width: 11px;
    height: 11px;
    display: block;
}
@media only screen and (width<=55em) {
    .c-apply-btn {
        width: 100%;
        min-width: 0;
    }
}
.c-jobs-btn {
    color: var(--app-color-black);
    background: var(--app-color-gray-light);
    clip-path: rect(0 100% 100% 0 round var(--app-radius-s));
    border-radius: var(--app-radius-s);
    z-index: 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    column-gap: 1em;
    padding: 1.063em 1em;
    display: flex;
    position: relative;
}
.c-jobs-btn__txt {
    font-size: var(--app-font-size-h-l);
    font-weight: 500;
}
.c-jobs-btn__icon {
    width: 11px;
    height: 11px;
    display: block;
}
.c-jobs-btn:before,
.c-jobs-btn:after {
    content: "";
    background: var(--app-color-black-a05);
    z-index: -1;
    transform-origin: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    scale: 0 1;
}
.c-jobs-btn:before {
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.c-jobs-btn:after {
    background: var(--app-color-black-a05);
    z-index: -2;
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.no-touch .c-jobs-btn:hover:before,
.no-touch .c-jobs-btn:hover:after {
    transform-origin: 0%;
    scale: 1;
}
.no-touch .c-jobs-btn:hover:before {
    transition: scale 0.4s cubic-bezier(0.642, 0, 0.328, 1) 0.1s;
}
.no-touch .c-jobs-btn:hover:after {
    transition: scale 0.5s cubic-bezier(0.472, 0.04, 0.526, 1);
}
@media only screen and (width<=55em) {
    .c-jobs-btn__txt {
        font-size: var(--app-font-size-h-s);
        font-weight: 500;
    }
}
.c-play-btn {
    color: var(--app-color-white);
    font-family: var(--app-font-family-ja);
    font-weight: 500;
    line-height: var(--app-line-height-xs);
    background: var(--app-color-gray-dark);
    clip-path: rect(0 100% 100% 0 round var(--app-radius-s));
    border-radius: var(--app-radius-s);
    z-index: 0;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    min-height: 47px;
    padding: 1.032em 1em;
    display: inline-flex;
}
.c-play-btn__txt {
    font-size: var(--app-font-size-h-xs);
    font-weight: 500;
    display: block;
}
.c-play-btn__icon {
    aspect-ratio: 1;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: currentColor;
    width: 0.785em;
    display: block;
    translate: 0.08em;
}
.c-play-btn:before,
.c-play-btn:after {
    content: "";
    background: var(--app-color-red-70);
    z-index: -1;
    transform-origin: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    scale: 0 1;
}
.c-play-btn:before {
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.c-play-btn:after {
    background: var(--app-color-red-60);
    z-index: -2;
    transition: scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-large-content__play-trigger:hover .c-play-btn:before,
.m-large-content__play-trigger:hover .c-play-btn:after {
    transform-origin: 0%;
    scale: 1;
}
.m-large-content__play-trigger:hover .c-play-btn:before {
    transition: scale 0.4s cubic-bezier(0.642, 0, 0.328, 1) 0.1s;
}
.m-large-content__play-trigger:hover .c-play-btn:after {
    transition: scale 0.5s cubic-bezier(0.472, 0.04, 0.526, 1);
}
.c-icon-prev,
.c-icon-next {
    width: 14px;
    height: 11px;
    display: block;
}
.g-float-btn {
    z-index: 10;
    pointer-events: none;
    width: 100%;
    height: 0;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: sticky;
    bottom: 0;
}
.--is-transition .g-float-btn {
    opacity: 0;
    visibility: hidden;
}
.g-float-btn__inner {
    right: var(--app-grid-h-margin);
    bottom: var(--app-grid-h-margin);
    pointer-events: auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    display: flex;
    position: absolute;
}
.g-lang-switcher {
    display: none;
}
.bogo-language-switcher {
    font-family: var(--app-g-font-family-en);
    font-size: var(--app-g-font-size-p-xs);
    pointer-events: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1em;
    display: flex;
}
.bogo-language-switcher .current {
    pointer-events: none;
}
.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}
.lenis.lenis-scrolling iframe {
    pointer-events: none;
}
:root {
    --lenis-thumb-color: #000;
}
html.lenis,
html.lenis body {
    height: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}
.lenis.lenis-stopped {
    overflow: clip;
}
.lenis.lenis-smooth iframe {
    pointer-events: none;
}
.lenis-scrollbar {
    cursor: pointer;
    z-index: 999;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    width: 20px;
    height: 100%;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: fixed;
    top: 0;
    right: 0;
}
.--is-menu-active .lenis-scrollbar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.lenis-scrollbar:hover .lenis-scrollbar__thumb:after {
    opacity: 1;
}
.lenis-scrollbar__inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}
.lenis-scrollbar__thumb {
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
}
.lenis-scrollbar__thumb:after {
    content: "";
    background-color: var(--lenis-thumb-color);
    opacity: 0;
    width: 5px;
    height: calc(100% - 10px);
    transform-origin: 100% 50% 0;
    transition: all 0.35s ease-out 0.35s;
    position: absolute;
    top: 5px;
    right: 5px;
    transform: scaleX(0.5);
}
.lenis-scrollbar__thumb:hover:after,
.lenis-scrolling .lenis-scrollbar__thumb:after {
    opacity: 1;
    transition: all 0.2s ease-out;
    transform: scaleX(0.5);
}
.lenis-scrollbar__thumb.is-dragging {
    cursor: grabbing;
}
.lenis-scrollbar__thumb.is-dragging:after {
    opacity: 1;
    transition: all 0.2s ease-out;
    transform: scaleX(1);
}
.lenis-scrollbar__thumb.horizontal {
    width: 100%;
    height: 20px;
    inset: auto 0 0;
}
.touch .lenis-scrollbar {
    pointer-events: none !important;
    display: none !important;
}
[data-split-wrapper] {
    position: relative;
}
[data-split-type="words"],
[data-split-type="chars"] {
    display: inline;
}
[data-split-type="chars-child"] {
    padding-bottom: 0.1em;
    display: inline;
}
[data-split-type="hs"] {
    width: 0.25em;
    display: inline;
}
.grid-size {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    width: 100%;
    position: fixed;
    top: 0;
}
.grid-size__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    padding: 0 var(--app-grid-h-margin);
    grid-template-columns: repeat(24, 1fr);
    width: 100%;
    display: grid;
}
.grid-size__body.--max {
    max-width: var(--app-var-vw-max-unit);
    margin: 0 auto;
}
.grid-size__span {
    grid-column: 1 / span 1;
}
.debug-ui {
    scrollbar-width: none;
    z-index: 10000;
    pointer-events: none;
    height: 100%;
    padding: 8px;
    position: fixed;
    top: 0;
    right: 0;
    overflow-y: scroll;
}
:root {
    --tp-base-background-color: #1a1a1acc;
    --tp-base-shadow-color: #0003;
    --tp-button-background-color: #ccc;
    --tp-button-background-color-active: #fff;
    --tp-button-background-color-focus: #f2f2f2;
    --tp-button-background-color-hover: #d9d9d9;
    --tp-button-foreground-color: #000c;
    --tp-container-background-color: #0000004d;
    --tp-container-background-color-active: #0009;
    --tp-container-background-color-focus: #00000080;
    --tp-container-background-color-hover: #0006;
    --tp-container-foreground-color: #ffffff80;
    --tp-groove-foreground-color: #0003;
    --tp-input-background-color: #0000004d;
    --tp-input-background-color-active: #0009;
    --tp-input-background-color-focus: #00000080;
    --tp-input-background-color-hover: #0006;
    --tp-input-foreground-color: #ffffff80;
    --tp-label-foreground-color: #ffffff80;
    --tp-monitor-background-color: #0000004d;
    --tp-monitor-foreground-color: #ffffff4d;
}
.tp-rotv {
    pointer-events: auto;
    width: 100px;
    transition: width 0.2s ease-in-out;
}
.tp-rotv.tp-rotv-expanded {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    width: 280px;
}
.tp-lblv_l {
    white-space: nowrap;
}
.tp-fldv_t {
    color: var(--color-white);
}
.m-single,
.editor-styles-wrapper {
    line-height: var(--app-line-height-xl);
    font-size: var(--app-font-size-p-l);
    font-family: var(--app-font-famify-ja);
    position: relative;
}
.m-single p,
.editor-styles-wrapper p {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-xl);
    margin-bottom: 2em;
    position: relative;
}
.m-single h1,
.m-single h2,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2 {
    color: var(--app-color-black);
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 1em;
    position: relative;
}
.m-single h3,
.editor-styles-wrapper h3 {
    font-size: var(--app-font-size-h-l);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin-bottom: 0.85em;
    position: relative;
}
.m-single h4,
.editor-styles-wrapper h4 {
    font-size: var(--app-font-size-h-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin-bottom: 0.85em;
    position: relative;
}
.m-single h5,
.editor-styles-wrapper h5 {
    font-weight: 500;
    font-size: var(--app-font-size-h-s);
    line-height: var(--app-line-height-m);
    margin-bottom: 0.75em;
    position: relative;
}
.m-single h6,
.editor-styles-wrapper h6 {
    font-size: var(--app-font-size-h-xs);
    line-height: var(--app-line-height-m);
    margin-bottom: 0.75em;
    position: relative;
}
.m-single h1 strong,
.m-single h2 strong,
.m-single h3 strong,
.m-single h4 strong,
.m-single h5 strong,
.m-single h6 strong,
.editor-styles-wrapper h1 strong,
.editor-styles-wrapper h2 strong,
.editor-styles-wrapper h3 strong,
.editor-styles-wrapper h4 strong,
.editor-styles-wrapper h5 strong,
.editor-styles-wrapper h6 strong {
    font-weight: 700;
}
.m-single > * + h1,
.m-single > * + h2,
.m-single > * + h3,
.m-single > * + h4,
.m-single > * + h5,
.m-single > * + h6,
.editor-styles-wrapper > * + h1,
.editor-styles-wrapper > * + h2,
.editor-styles-wrapper > * + h3,
.editor-styles-wrapper > * + h4,
.editor-styles-wrapper > * + h5,
.editor-styles-wrapper > * + h6 {
    margin-top: 2em;
}
.m-single a,
.editor-styles-wrapper a {
    line-height: var(--app-line-height-xs);
    background: linear-gradient(var(--app-color-red-70), var(--app-color-red-70)) 0 100%/0 1px no-repeat;
    transition: background-size 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: inline;
    position: relative;
    color: var(--app-color-red-70) !important;
}
.no-touch .m-single a:hover,
.no-touch .editor-styles-wrapper a:hover {
    background-size: 100% 1px;
}
.m-single a[target="_blank"]:after,
.m-single a[target="_new"]:after,
.editor-styles-wrapper a[target="_blank"]:after,
.editor-styles-wrapper a[target="_new"]:after {
    content: "";
    vertical-align: baseline;
    background-size: cover;
    width: 1em;
    height: 1em;
    margin-left: 0.25em;
    display: inline-block;
    position: relative;
    top: 0.1em;
}
.m-single p a,
.editor-styles-wrapper p a {
    margin-bottom: 0;
}
.m-single strong,
.m-single b,
.m-single big,
.editor-styles-wrapper strong,
.editor-styles-wrapper b,
.editor-styles-wrapper big {
    font-weight: 700;
}
.m-single em,
.m-single i,
.m-single cite,
.editor-styles-wrapper em,
.editor-styles-wrapper i,
.editor-styles-wrapper cite {
    font-style: italic;
}
.m-single del,
.m-single strike,
.editor-styles-wrapper del,
.editor-styles-wrapper strike {
    text-decoration: line-through;
}
.m-single sup,
.editor-styles-wrapper sup {
    vertical-align: super;
    font-size: smaller;
}
.m-single sub,
.editor-styles-wrapper sub {
    vertical-align: sub;
    font-size: smaller;
}
.m-single code,
.m-single var,
.m-single kbd,
.m-single tt,
.editor-styles-wrapper code,
.editor-styles-wrapper var,
.editor-styles-wrapper kbd,
.editor-styles-wrapper tt {
    padding: 0.1em 0.15em;
    font-family: monospace;
    font-size: 90%;
    font-weight: 400;
    display: inline-block;
}
.m-single ins,
.editor-styles-wrapper ins {
    text-decoration: underline;
}
.m-single abbr,
.m-single acronym,
.editor-styles-wrapper abbr,
.editor-styles-wrapper acronym {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}
.m-single pre,
.editor-styles-wrapper pre {
    word-wrap: break-word;
    white-space: pre-wrap;
    font-family: monospace;
    font-weight: 400;
    line-height: var(--app-line-height-m);
    border: 2px solid var(--app-color-black);
    border-radius: var(--app-radius-s);
    margin-bottom: 2.5em;
    padding: 2em;
}
.m-single address,
.editor-styles-wrapper address {
    line-height: var(--app-line-height-m);
    margin-bottom: 2.5em;
}
.m-single hr,
.editor-styles-wrapper hr {
    clear: both;
    width: 100%;
    height: 1px;
    margin: var(--app-spacing-m) 0;
    background: var(--app-color-black);
    border: none;
    display: block;
    position: relative;
}
.m-single blockquote,
.m-single q,
.editor-styles-wrapper blockquote,
.editor-styles-wrapper q {
    clear: both;
    width: 100%;
    color: var(--app-color-black);
    background: var(--app-color-gray-light);
    line-height: var(--app-line-height-m);
    z-index: 0;
    margin-bottom: 2em;
    padding: 2em 3em;
    display: block;
    position: relative;
}
.m-single blockquote:before,
.m-single q:before,
.editor-styles-wrapper blockquote:before,
.editor-styles-wrapper q:before {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    width: 3em;
    height: 3em;
    position: absolute;
    top: -2em;
    right: 0;
}
.m-single blockquote p,
.m-single q p,
.editor-styles-wrapper blockquote p,
.editor-styles-wrapper q p {
    color: var(--app-color-black);
    font-size: var(--app-font-size-h-xs);
}
.m-single blockquote p:last-child,
.m-single q p:last-child,
.editor-styles-wrapper blockquote p:last-child,
.editor-styles-wrapper q p:last-child {
    margin-bottom: 0;
}
.m-single p + blockquote,
.m-single p + q,
.editor-styles-wrapper p + blockquote,
.editor-styles-wrapper p + q {
    margin-top: 2em;
}
.m-single img,
.m-single video,
.editor-styles-wrapper img,
.editor-styles-wrapper video {
    border-radius: var(--app-radius-s);
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}
.m-single img.--is-loaded,
.editor-styles-wrapper img.--is-loaded {
    opacity: 1;
    visibility: visible;
}
.m-single img + p,
.editor-styles-wrapper img + p {
    margin-top: 2em;
}
.m-single figure,
.editor-styles-wrapper figure {
    max-width: 100%;
    margin-bottom: 2em;
    display: block;
    position: relative;
}
.m-single figure img,
.editor-styles-wrapper figure img {
    display: block;
}
.m-single figure figcaption,
.m-single figure .wp-element-caption,
.editor-styles-wrapper figure figcaption,
.editor-styles-wrapper figure .wp-element-caption {
    color: var(--app-color-gray-dark);
    font-size: var(--app-font-size-p-xs);
    margin-top: 1em;
    display: inline-block;
}
.m-single iframe,
.editor-styles-wrapper iframe {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
.m-single > iframe,
.editor-styles-wrapper > iframe {
    margin-bottom: 2em;
}
.m-single .alignright iframe,
.editor-styles-wrapper .alignright iframe {
    margin-right: 0;
}
.m-single .alignleft iframe,
.editor-styles-wrapper .alignleft iframe {
    margin-left: 0;
}
.m-single ul,
.editor-styles-wrapper ul {
    margin-bottom: 2.5em;
    padding-left: 0;
    list-style: none;
    position: relative;
}
.m-single ul > li,
.editor-styles-wrapper ul > li {
    line-height: var(--app-line-height-m);
    padding-left: 1.5em;
    position: relative;
}
.m-single ul > li:not(:last-child),
.editor-styles-wrapper ul > li:not(:last-child) {
    margin-bottom: 0.5em;
}
.m-single ul > li:before,
.editor-styles-wrapper ul > li:before {
    content: "";
    background: var(--app-color-black);
    border-radius: 50%;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 9px;
    left: 0;
}
.m-single ul li ul,
.m-single ul li ol,
.editor-styles-wrapper ul li ul,
.editor-styles-wrapper ul li ol {
    margin-top: 1em;
}
.m-single ol,
.editor-styles-wrapper ol {
    counter-reset: count;
    margin-bottom: 2.5em;
    padding-left: 0;
    list-style: none;
    position: relative;
}
.m-single ol > li,
.editor-styles-wrapper ol > li {
    line-height: var(--app-line-height-m);
    padding-left: 1.5em;
    position: relative;
}
.m-single ol > li:not(:last-child),
.editor-styles-wrapper ol > li:not(:last-child) {
    margin-bottom: 1em;
}
.m-single ol > li:before,
.editor-styles-wrapper ol > li:before {
    content: counter(count) ".";
    counter-increment: count;
    color: var(--app-color-blue);
    font-family: var(--app-font-family-en);
    letter-spacing: 0;
    font-weight: 500;
    position: absolute;
    top: 0;
    left: 0;
}
.m-single ol li ol,
.m-single ol li ul,
.editor-styles-wrapper ol li ol,
.editor-styles-wrapper ol li ul {
    margin-top: 1em;
}
.m-single p + ul,
.m-single p + ol,
.editor-styles-wrapper p + ul,
.editor-styles-wrapper p + ol {
    margin-top: 1.5em;
}
.m-single table,
.editor-styles-wrapper table {
    table-layout: fixed;
    width: 100%;
    line-height: var(--app-line-height-m);
    margin-bottom: 2.5em;
    position: relative;
}
.m-single table thead,
.editor-styles-wrapper table thead {
    background: var(--app-color-black);
    font-weight: 700;
}
.m-single table tr,
.editor-styles-wrapper table tr {
    width: 100%;
}
.m-single table th,
.editor-styles-wrapper table th {
    text-align: left;
    padding: 1em;
}
.m-single table td,
.editor-styles-wrapper table td {
    padding: 1em;
}
.m-single table th,
.m-single table td,
.editor-styles-wrapper table th,
.editor-styles-wrapper table td {
    vertical-align: middle;
    border: 1px solid var(--app-color-black);
}
.m-single dl:not([class]),
.editor-styles-wrapper dl:not([class]) {
    width: 100%;
    margin-bottom: 1.5em;
    position: relative;
}
.m-single dl:not([class]):after,
.editor-styles-wrapper dl:not([class]):after {
    content: "";
    clear: both;
    display: table;
}
.m-single dt:not([class]),
.editor-styles-wrapper dt:not([class]) {
    clear: both;
    float: left;
    width: 30%;
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 1em;
    padding-top: 0.3em;
    padding-right: 2em;
}
.m-single dd:not([class]),
.editor-styles-wrapper dd:not([class]) {
    float: left;
    width: 70%;
    margin-bottom: 1em;
}
.m-single section:not(:last-child),
.editor-styles-wrapper section:not(:last-child) {
    margin-bottom: var(--app-spacing-l);
}
.m-single p:empty,
.m-single h1:empty,
.m-single h2:empty,
.m-single h3:empty,
.m-single h4:empty,
.m-single h5:empty,
.m-single h6:empty,
.m-single div:empty,
.m-single blockquote:empty,
.editor-styles-wrapper p:empty,
.editor-styles-wrapper h1:empty,
.editor-styles-wrapper h2:empty,
.editor-styles-wrapper h3:empty,
.editor-styles-wrapper h4:empty,
.editor-styles-wrapper h5:empty,
.editor-styles-wrapper h6:empty,
.editor-styles-wrapper div:empty,
.editor-styles-wrapper blockquote:empty {
    margin: 0;
    display: none;
}
.m-single .wp-block-heading,
.editor-styles-wrapper .wp-block-heading {
    margin-bottom: 1em;
}
.m-single .wp-block-image,
.editor-styles-wrapper .wp-block-image {
    margin-bottom: 2em;
}
.m-single .wp-block-image:after,
.editor-styles-wrapper .wp-block-image:after {
    content: "";
    clear: both;
    display: block;
}
.m-single .wp-block-video,
.editor-styles-wrapper .wp-block-video {
    margin-bottom: 2em;
}
.m-single .wp-block-video video,
.editor-styles-wrapper .wp-block-video video {
    width: 100%;
}
.m-single .wp-block-embed,
.editor-styles-wrapper .wp-block-embed {
    margin-bottom: 2em;
}
.m-single .wp-block-embed.is-type-rich,
.m-single .wp-block-embed.is-type-video,
.m-single .wp-block-embed-youtube,
.editor-styles-wrapper .wp-block-embed.is-type-rich,
.editor-styles-wrapper .wp-block-embed.is-type-video,
.editor-styles-wrapper .wp-block-embed-youtube {
    width: 100%;
    position: relative;
}
.m-single .wp-block-embed.is-type-rich iframe,
.m-single .wp-block-embed.is-type-video iframe,
.m-single .wp-block-embed-youtube iframe,
.editor-styles-wrapper .wp-block-embed.is-type-rich iframe,
.editor-styles-wrapper .wp-block-embed.is-type-video iframe,
.editor-styles-wrapper .wp-block-embed-youtube iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
}
.m-single .wp-block-quote cite,
.editor-styles-wrapper .wp-block-quote cite {
    font-size: var(--app-font-size-p-xs);
    line-height: var(--app-line-height-m);
    margin-top: 1em;
    display: block;
}
.m-single .wp-block-gallery,
.editor-styles-wrapper .wp-block-gallery {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    display: flex;
}
.m-single .wp-block-gallery img,
.editor-styles-wrapper .wp-block-gallery img {
    border: none !important;
}
.m-single .wp-block-cover .wp-block-cover__inner-container,
.editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container {
    padding: var(--app-spacing-xs);
    color: var(--app-color-white);
}
.m-single .wp-block-cover .wp-block-cover__inner-container .wp-block-heading,
.editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container .wp-block-heading {
    color: var(--app-color-white);
}
.m-single .wp-block-cover .wp-block-cover__inner-container > :last-child,
.editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container > :last-child {
    margin-bottom: 0;
}
.m-single .wp-block-media-text,
.editor-styles-wrapper .wp-block-media-text {
    margin-bottom: 2em;
}
.m-single .wp-block-table,
.editor-styles-wrapper .wp-block-table {
    margin-bottom: 2.5em;
}
.m-single .wp-block-table table,
.editor-styles-wrapper .wp-block-table table {
    margin-bottom: 0;
}
.m-single .wp-block-table figcaption,
.editor-styles-wrapper .wp-block-table figcaption {
    color: var(--app-color-black-40);
    font-size: var(--app-font-size-p-xs);
    margin-top: 1em;
    display: inline-block;
}
.m-single .wp-block-separator,
.editor-styles-wrapper .wp-block-separator {
    border: none;
}
.m-single p > img,
.m-single p > video,
.editor-styles-wrapper p > img,
.editor-styles-wrapper p > video {
    margin: 3em auto 0;
}
.m-single p > img + img,
.editor-styles-wrapper p > img + img {
    margin-top: 0;
}
.m-single p > img + img:last-child,
.editor-styles-wrapper p > img + img:last-child {
    margin-bottom: 3em;
}
.m-single p iframe,
.m-single div.iframe-video,
.m-single p.iframe-video,
.editor-styles-wrapper p iframe,
.editor-styles-wrapper div.iframe-video,
.editor-styles-wrapper p.iframe-video,
.m-single p iframe iframe,
.m-single div.iframe-video iframe,
.m-single p.iframe-video iframe,
.editor-styles-wrapper p iframe iframe,
.editor-styles-wrapper div.iframe-video iframe,
.editor-styles-wrapper p.iframe-video iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
}
.m-single .wp-caption,
.editor-styles-wrapper .wp-caption {
    width: 100%;
    max-width: 100%;
    margin-bottom: 2em;
    display: block;
    position: relative;
}
.m-single .wp-caption img,
.editor-styles-wrapper .wp-caption img {
    width: 100%;
    display: block;
}
.m-single .wp-caption .wp-caption-text,
.editor-styles-wrapper .wp-caption .wp-caption-text {
    color: var(--app-color-black-40);
    font-size: var(--app-font-size-p-xs);
    margin-top: 1em;
    font-weight: 500;
    display: inline-block;
}
.m-single .wp-video,
.editor-styles-wrapper .wp-video {
    aspect-ratio: 16/9;
    max-width: 100%;
    margin: 0 auto 2em;
    width: 100% !important;
}
.m-single .gallery,
.editor-styles-wrapper .gallery {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    display: flex;
}
.m-single .gallery .gallery-item,
.editor-styles-wrapper .gallery .gallery-item {
    float: none;
}
.m-single .gallery img,
.editor-styles-wrapper .gallery img {
    border: none !important;
}
.m-single .gallery br,
.editor-styles-wrapper .gallery br {
    display: none;
}
@media only screen and (width<=66em) {
    .m-single dt:not([class]),
    .m-single dd:not([class]),
    .editor-styles-wrapper dt:not([class]),
    .editor-styles-wrapper dd:not([class]) {
        float: none;
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .m-single,
    .editor-styles-wrapper {
        font-size: var(--app-font-size-p-m);
    }
    .m-single p,
    .editor-styles-wrapper p {
        font-size: var(--app-font-size-p-m);
        margin-bottom: 1.75em;
    }
    .m-single h1,
    .m-single h2,
    .editor-styles-wrapper h1,
    .editor-styles-wrapper h2 {
        font-size: var(--app-font-size-h-l);
    }
    .m-single h3,
    .editor-styles-wrapper h3 {
        font-size: var(--app-font-size-h-m);
    }
    .m-single h4,
    .editor-styles-wrapper h4 {
        font-size: var(--app-font-size-h-s);
    }
    .m-single pre,
    .editor-styles-wrapper pre {
        padding: 1.25em;
        overflow-x: auto;
    }
    .m-single blockquote,
    .m-single q,
    .editor-styles-wrapper blockquote,
    .editor-styles-wrapper q {
        padding: 1.5em;
    }
    .m-single figure,
    .m-single .wp-block-image,
    .m-single .wp-block-video,
    .m-single .wp-block-embed,
    .editor-styles-wrapper figure,
    .editor-styles-wrapper .wp-block-image,
    .editor-styles-wrapper .wp-block-video,
    .editor-styles-wrapper .wp-block-embed {
        margin-bottom: 1.75em;
    }
    .m-single ul,
    .m-single ol,
    .editor-styles-wrapper ul,
    .editor-styles-wrapper ol {
        margin-bottom: 2em;
    }
    .m-single table,
    .editor-styles-wrapper table {
        min-width: 520px;
    }
    .m-single .wp-block-table,
    .editor-styles-wrapper .wp-block-table {
        overflow-x: auto;
    }
}
@media only screen and (width<=40em) {
    .m-single .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content,
    .editor-styles-wrapper .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        padding: 2em 0;
    }
}
.m-form {
    --row-h: calc(var(--app-spacing-xs) * 6);
    --choice-size: calc(var(--app-spacing-xs) * 3.2);
    --choice-dot-size: calc(var(--app-spacing-xs) * 1.4);
    --choice-dot-offset: calc((var(--choice-size) - var(--choice-dot-size)) / 2);
    --cf7-choice-size: calc(var(--app-spacing-xs) * 2.4);
    --cf7-choice-dot-size: var(--app-spacing-xs);
    --cf7-choice-dot-offset: calc((var(--cf7-choice-size) - var(--cf7-choice-dot-size)) / 2);
    --file-btn-h: calc(var(--app-spacing-xs) * 4);
    width: 100%;
    position: relative;
}
.m-form .wpcf7,
.m-form form {
    width: 100%;
    position: relative;
}
.m-form .wpcf7-form > p {
    margin: 0 0 var(--app-spacing-xl);
    position: relative;
}
.m-form .wpcf7-form > p > label {
    margin-bottom: var(--app-spacing-s);
    font-size: var(--app-font-size-h-l);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    display: block;
}
.m-form .wpcf7-form > p > br {
    display: none;
}
.m-form .wpcf7-form-control-wrap {
    width: 100%;
    display: block;
}
.m-form__row {
    min-height: var(--row-h);
    position: relative;
}
.m-form__row:not(:last-child) {
    margin-bottom: var(--app-spacing-xl);
}
.m-form__row.--checkbox {
    padding: 1em 0;
}
.m-form__label {
    margin-bottom: var(--app-spacing-s);
    font-size: var(--app-font-size-h-l);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.75em;
    display: inline-flex;
}
.m-form__required {
    min-width: calc(var(--app-spacing-xs) * 4.8);
    min-height: calc(var(--app-spacing-xs) * 3);
    color: var(--app-color-white);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-xs);
    background: var(--app-color-gray-dark);
    white-space: nowrap;
    border-radius: 100em;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 0.35em 0.75em;
    display: inline-flex;
}
.m-form__required.--optional {
    background: var(--app-color-gray-50);
}
.m-form__label-body {
    row-gap: 0.25em;
    display: grid;
}
.m-form__label-txt {
    display: inline-block;
    position: relative;
}
.m-form__label-txt.--requie {
    white-space: nowrap;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    display: flex;
}
.m-form__label-txt.--requie:after {
    content: "必須";
    color: var(--app-color-black-a50);
    margin-left: 0.5em;
}
.m-form__note {
    font-size: var(--app-font-size-p-s);
    font-weight: 500;
    line-height: var(--app-line-height-m);
}
.m-form__fields {
    row-gap: var(--app-spacing-xs);
    display: grid;
}
.m-form input[type="text"],
.m-form input[type="email"],
.m-form input[type="url"],
.m-form input[type="tel"],
.m-form__input {
    width: 100%;
    height: var(--row-h);
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-l);
    background: var(--app-color-white);
    border: 1px solid var(--app-color-black-a40);
    border-radius: var(--app-radius-s);
    appearance: none;
    outline: none;
    padding: 0 1.25em;
    font-weight: 500;
    transition: border-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-form input[type="text"]:focus,
.m-form input[type="email"]:focus,
.m-form input[type="url"]:focus,
.m-form input[type="tel"]:focus,
.m-form__input:focus {
    border-color: var(--app-color-black);
}
.m-form select,
.m-form__select {
    width: 100%;
    height: var(--row-h);
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-l);
    background-color: var(--app-color-white);
    border: 1px solid var(--app-color-black-a40);
    border-radius: var(--app-radius-s);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 8 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h8L4 5 0 0Z' fill='%23000'/%3E%3C/svg%3E");
    background-position: right 1.25em center;
    background-repeat: no-repeat;
    background-size: 0.5em 0.3125em;
    outline: none;
    padding: 0 3em 0 1.25em;
    font-weight: 500;
    transition: border-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-form select:focus,
.m-form__select:focus {
    border-color: var(--app-color-black);
}
.m-form__checkbox-wrap {
    justify-content: flex-start;
    align-items: center;
    gap: 1em var(--app-grid-col-gap);
    flex-wrap: wrap;
    display: flex;
}
.m-form__checkbox-wrap label {
    width: auto;
    font-size: var(--app-font-size-p-m);
    font-family: var(--app-font-family-jp);
    cursor: pointer;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    padding-left: 0;
    display: flex;
}
.m-form__checkbox-wrap > span {
    position: relative;
}
.m-form input[type="checkbox"],
.m-form__checkbox {
    width: var(--choice-size);
    height: var(--choice-size);
    z-index: 2;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    appearance: none;
    border: 0;
    margin-right: 0;
    padding: 0;
    position: absolute;
    left: 0;
}
.m-form input[type="checkbox"]:checked ~ .m-form__checkbox-child:after,
.m-form__checkbox:checked ~ .m-form__checkbox-child:after {
    opacity: 1;
    visibility: visible;
    transform: scale(1) rotate(0);
}
.m-form input[type="checkbox"]:checked ~ .m-form__checkbox-child:before,
.m-form__checkbox:checked ~ .m-form__checkbox-child:before {
    border: 2px solid var(--app-color-black);
}
.m-form__checkbox-child {
    pointer-events: none;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: relative;
    left: 0;
}
.m-form__checkbox-child:before {
    content: "";
    width: var(--choice-size);
    height: var(--choice-size);
    border: 2px solid var(--app-color-black);
    border-radius: var(--app-radius-s);
    transition: border-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: relative;
}
.m-form__checkbox-child:after {
    content: "";
    top: var(--choice-dot-offset);
    left: var(--choice-dot-offset);
    width: var(--choice-dot-size);
    height: var(--choice-dot-size);
    color: var(--app-color-black);
    background: var(--app-color-black);
    border-radius: var(--app-radius-s);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        transform 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: absolute;
    transform: scale(0.5) rotate(0);
}
.m-form__checkbox-txt {
    margin-left: 0.5em;
}
.m-form .wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
    display: inline-block;
}
.m-form .wpcf7-acceptance .wpcf7-list-item label {
    cursor: pointer;
    align-items: center;
    display: inline-flex;
    position: relative;
}
.m-form .wpcf7-acceptance .wpcf7-list-item-label {
    min-height: var(--cf7-choice-size);
    padding-left: calc(var(--cf7-choice-size) + 1em);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    align-items: center;
    display: inline-flex;
    position: relative;
}
.m-form .wpcf7-acceptance input[type="checkbox"] + .wpcf7-list-item-label:before {
    content: "";
    width: var(--cf7-choice-size);
    height: var(--cf7-choice-size);
    border: 1px solid var(--app-color-black-a40);
    border-radius: calc(var(--app-radius-s) * 0.4);
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
}
.m-form .wpcf7-acceptance input[type="checkbox"] + .wpcf7-list-item-label:after {
    content: "";
    top: 50%;
    left: var(--cf7-choice-dot-offset);
    width: var(--cf7-choice-dot-size);
    height: var(--cf7-choice-dot-size);
    background: var(--app-color-black);
    opacity: 0;
    visibility: hidden;
    border-radius: calc(var(--app-radius-s) * 0.4);
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        scale 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: absolute;
    translate: 0 -50%;
    scale: 0.5;
}
.m-form .wpcf7-acceptance input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    opacity: 1;
    visibility: visible;
    scale: 1;
}
.m-form textarea,
.m-form__textarea {
    width: 100%;
    height: calc(var(--app-spacing-xs) * 18);
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-l);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    background: var(--app-color-white);
    border: 1px solid var(--app-color-black-a40);
    border-radius: var(--app-radius-s);
    appearance: none;
    resize: vertical;
    outline: none;
    padding: 1.25em;
    transition: border-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    overflow-y: auto;
}
.m-form textarea.--low,
.m-form__textarea.--low {
    height: calc(var(--app-spacing-xs) * 12);
}
.m-form textarea.--row-high,
.m-form__textarea.--row-high {
    height: calc(var(--app-spacing-xs) * 28);
}
.m-form textarea:focus,
.m-form__textarea:focus {
    border-color: var(--app-color-black);
}
.m-form input[type="file"],
.m-form__file {
    width: 100%;
    color: var(--app-color-gray-50);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    cursor: pointer;
    display: block;
}
.m-form input[type="file"]::file-selector-button {
    min-height: var(--file-btn-h);
    color: var(--app-color-white);
    font: inherit;
    background: var(--app-color-gray-50);
    border-radius: var(--app-radius-s);
    cursor: pointer;
    border: 0;
    margin-right: 1em;
    padding: 0 1.25em;
    font-weight: 500;
    transition: background-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-form__file::file-selector-button {
    min-height: var(--file-btn-h);
    color: var(--app-color-white);
    font: inherit;
    background: var(--app-color-gray-50);
    border-radius: var(--app-radius-s);
    cursor: pointer;
    border: 0;
    margin-right: 1em;
    padding: 0 1.25em;
    font-weight: 500;
    transition: background-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-form input[type="file"]::-webkit-file-upload-button {
    min-height: var(--file-btn-h);
    color: var(--app-color-white);
    font: inherit;
    background: var(--app-color-gray-50);
    border-radius: var(--app-radius-s);
    cursor: pointer;
    border: 0;
    margin-right: 1em;
    padding: 0 1.25em;
    font-weight: 500;
    transition: background-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-form__file::-webkit-file-upload-button {
    min-height: var(--file-btn-h);
    color: var(--app-color-white);
    font: inherit;
    background: var(--app-color-gray-50);
    border-radius: var(--app-radius-s);
    cursor: pointer;
    border: 0;
    margin-right: 1em;
    padding: 0 1.25em;
    font-weight: 500;
    transition: background-color 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.m-form input[type="file"]:focus::file-selector-button {
    background: var(--app-color-gray-dark);
}
.m-form input[type="file"]:hover::file-selector-button {
    background: var(--app-color-gray-dark);
}
.m-form__file:focus::file-selector-button {
    background: var(--app-color-gray-dark);
}
.m-form__file:hover::file-selector-button {
    background: var(--app-color-gray-dark);
}
.m-form input[type="file"]:focus::-webkit-file-upload-button {
    background: var(--app-color-gray-dark);
}
.m-form input[type="file"]:hover::-webkit-file-upload-button {
    background: var(--app-color-gray-dark);
}
.m-form__file:focus::-webkit-file-upload-button {
    background: var(--app-color-gray-dark);
}
.m-form__file:hover::-webkit-file-upload-button {
    background: var(--app-color-gray-dark);
}
.m-form__privacy {
    margin: var(--app-spacing-l) 0;
    font-size: var(--app-font-size-p-m);
    line-height: var(--app-line-height-m);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    display: flex;
}
.--step-2 .m-form__privacy {
    display: none;
}
.m-form__privacy-link {
    color: var(--app-color-black);
    position: relative;
}
.m-form__btns {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 6 + (6 - 1) * var(--app-grid-col-gap)
    );
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    display: flex;
    position: relative;
}
.m-form__btns:after {
    content: "";
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.23 3.38354H0V7.61659H4.23V3.38354Z' fill='%23fff'/%3E%3Cpath d='M7.23047 0L13.2305 5.5L7.23047 11V0Z' fill='%23fff'/%3E%3C/svg%3E");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    width: 14px;
    height: 11px;
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    translate: 0 -50%;
}
.m-form__back-btn,
.m-form__submit-btn,
.m-form .wpcf7-submit {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 6 + (6 - 1) * var(--app-grid-col-gap)
    );
    height: auto;
    min-height: 47px;
    color: var(--app-color-white);
    font-family: var(--app-font-family-ja);
    font-size: var(--app-font-size-h-xs);
    background: var(--app-color-gray-dark);
    border-radius: var(--app-radius-s);
    cursor: pointer;
    appearance: none;
    border: none;
    padding: 1.032em 2.5em 1.032em 1em;
    font-weight: 500;
    transition: background 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: relative;
}
.m-form__back-btn:disabled,
.m-form__submit-btn:disabled,
.m-form .wpcf7-submit:disabled {
    pointer-events: none;
}
.m-form__back-btn:hover,
.m-form__submit-btn:hover,
.m-form .wpcf7-submit:hover {
    background: var(--app-color-red-70);
}
.m-form .wpcf7-submit {
    margin: 0 auto;
    display: block;
}
.m-form__btns .wpcf7-submit {
    width: 100%;
}
.m-form .wpcf7-spinner {
    margin: var(--app-spacing-s) auto 0;
    display: block;
}
.m-form__btns .wpcf7-spinner {
    margin: 0;
    position: absolute;
    top: 50%;
    left: calc(100% + 1em);
    translate: 0 -50%;
}
.m-form .wpcf7-acceptance {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
}
.m-form .wpcf7-not-valid {
    border-color: var(--app-color-red-70) !important;
}
.m-form .wpcf7-not-valid-tip {
    color: var(--app-color-red-70);
    font-size: var(--app-font-size-p-s);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin-top: 0.75em;
    display: block;
}
.m-form .wpcf7-response-output {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    border-radius: var(--app-radius-s);
    margin: var(--app-spacing-l) 0 100px !important;
    border: 1px solid var(--app-color-black-a40) !important;
    padding: 1em 1.25em !important;
}
@media only screen and (width<=66em) {
    .m-form__btns,
    .m-form__back-btn,
    .m-form__submit-btn,
    .m-form .wpcf7-submit {
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .m-form {
        --row-h: calc(var(--app-spacing-xs) * 4.8);
        --choice-size: calc(var(--app-spacing-xs) * 2.4);
        --choice-dot-size: var(--app-spacing-xs);
    }
    .m-form__row:not(:last-child) {
        margin-bottom: var(--app-spacing-m);
    }
    .m-form__label {
        margin-bottom: var(--app-spacing-xs);
        font-size: var(--app-font-size-h-xs);
        column-gap: 0.65em;
    }
    .m-form .wpcf7-form > p {
        margin-bottom: var(--app-spacing-m);
    }
    .m-form .wpcf7-form > p > label {
        margin-bottom: var(--app-spacing-xs);
        font-size: var(--app-font-size-h-xs);
    }
    .m-form input[type="text"],
    .m-form input[type="email"],
    .m-form input[type="url"],
    .m-form input[type="tel"],
    .m-form__input {
        font-size: var(--app-font-size-p-s);
        padding: 0 1em;
    }
    .m-form select,
    .m-form__select {
        font-size: var(--app-font-size-p-s);
        padding: 0 3em 0 1em;
    }
    .m-form textarea,
    .m-form__textarea {
        height: calc(var(--app-spacing-xs) * 14);
        font-size: var(--app-font-size-p-s);
        padding: 1em;
    }
    .m-form textarea.--low,
    .m-form__textarea.--low {
        height: calc(var(--app-spacing-xs) * 10);
    }
    .m-form textarea.--row-high,
    .m-form__textarea.--row-high {
        height: calc(var(--app-spacing-xs) * 18);
    }
    .m-form__privacy {
        margin: var(--app-spacing-m) 0;
        font-size: var(--app-font-size-p-s);
    }
    .m-form__btns .wpcf7-spinner {
        top: calc(100% + var(--app-spacing-xs));
        left: 50%;
        translate: -50%;
    }
}
.l-page.--home {
    width: 100%;
}
.home-hero {
    background: var(--app-color-white);
    width: 100%;
    height: 100%;
    position: relative;
}
.home-hero__inner {
    width: 100%;
    height: auto;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.home-hero__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-grid-row-gap);
    width: 100%;
    height: 100%;
    padding-top: var(--app-header-height);
    padding-bottom: var(--app-spacing-xs);
    grid-template-columns: repeat(24, 1fr);
    align-items: center;
    display: grid;
    position: relative;
}
.home-hero__ttl {
    grid-column: 1 / span 16;
}
.home-hero__video-wrap {
    top: var(--app-grid-h-margin);
    right: var(--app-grid-h-margin);
    padding: 0 0 var(--app-grid-h-margin);
    color: var(--app-color-black);
    font: inherit;
    text-align: left;
    z-index: 0;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    background: 0 0;
    border: none;
    grid-column: 20 / span 5;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: block;
    position: relative;
}
.--is-splash .home-hero__video-wrap {
    opacity: 1;
    visibility: visible;
}
.home-hero__video-thumb {
    aspect-ratio: 16/9;
    background: var(--app-color-gray-50);
    position: relative;
    overflow: hidden;
}
.home-hero__video {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    position: relative;
}
.home-hero__video-txts {
    color: currentColor;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 0.5em;
    padding: 0.5em 0;
    transition: color 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
}
.home-hero__video-txt {
    font-size: var(--app-font-size-p-m);
    font-weight: 700;
}
.home-hero__video-txt-icon {
    width: 15px;
    height: 15px;
    display: block;
}
.home-hero__video-txt-icon-svg {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.home-hero__video-txt-icon-svg-path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.463px;
}
.home-hero__video-rect {
    top: calc(-1 * var(--app-grid-h-margin));
    left: calc(-1 * var(--app-grid-h-margin));
    width: calc(100% + var(--app-grid-h-margin) * 2);
    height: calc(100% + 1em + var(--app-grid-h-margin));
    background: var(--app-color-black);
    z-index: -1;
    border-radius: var(--app-radius-s);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    scale: 0.9;
}
.home-hero .c-svg-logo__r--1,
.home-hero .c-svg-logo__r--2,
.home-hero .c-svg-logo__r--3,
.home-hero .c-svg-logo__i,
.home-hero .c-svg-logo__c,
.home-hero .c-svg-logo__o,
.home-hero .c-svg-logo__s {
    opacity: 0;
}
.no-touch .home-hero__video-wrap:hover .home-hero__video-txts {
    color: var(--app-color-white);
}
.no-touch .home-hero__video-wrap:hover .home-hero__video-rect {
    opacity: 1;
    visibility: visible;
    scale: 1;
}
@media only screen and (width<=55em) {
    .home-hero__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        align-items: start;
        row-gap: var(--app-spacing-s);
        padding-top: calc(var(--app-header-height) + var(--app-spacing-xl));
        grid-template-columns: repeat(4, 1fr);
        display: grid;
    }
    .home-hero__ttl {
        grid-area: 1/1 / auto/span 4;
    }
    .home-hero__ttl .c-svg-logo {
        width: 100%;
    }
    .home-hero__video-wrap {
        grid-area: 2/1 / auto/span 3;
        padding-bottom: 0;
        display: none;
        top: 0;
        right: auto;
    }
    .home-hero__video-txts {
        padding: 0.75em 0 0;
    }
}
.home-mv {
    width: 100%;
    height: 100%;
    position: relative;
}
.home-mv__inner {
    width: 100%;
    height: 180svh;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.home-mv__inner:before,
.home-mv__inner:after {
    content: "";
    width: var(--app-grid-h-margin);
    background: var(--app-color-white);
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
}
.home-mv__inner:before {
    left: 0;
}
.home-mv__inner:after {
    right: 0;
}
.home-mv__body {
    width: 100%;
    height: 100%;
    padding-top: var(--app-spacing-3xl);
    position: relative;
}
.home-mv__body:before {
    content: "";
    background: var(--app-color-black);
    pointer-events: none;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    transition:
        opacity 0.5s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
    left: 0;
}
.--is-transition .home-mv__body:before {
    opacity: 1;
    visibility: visible;
    transition:
        opacity 0.5s cubic-bezier(0.104, 0.204, 0.492, 1) 0.25s,
        visibility 0.5s cubic-bezier(0.104, 0.204, 0.492, 1) 0.25s;
}
.home-mv__copy {
    width: 100%;
    height: 100svh;
    color: var(--app-color-white);
    font-family: var(--app-font-family-en);
    font-size: var(--app-font-size-h-5xl);
    text-align: center;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    display: flex;
    position: sticky;
    top: 0;
}
.home-mv__copy [data-split-type="chars"],
.home-mv__copy-txt {
    opacity: 0;
}
@media only screen and (width<=55em) {
    .home-mv__inner {
        aspect-ratio: 9/10;
        height: auto;
        min-height: 345px;
        max-height: 804px;
    }
    .home-mv__body {
        padding-top: 0;
    }
    .home-mv__copy {
        font-size: var(--app-font-size-h-2xl);
        height: 100%;
    }
}
.home-about {
    background: var(--app-color-white);
    width: 100%;
    height: 100%;
    position: relative;
}
.home-about__inner {
    width: 100%;
    height: auto;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.home-about__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-spacing-2xl);
    grid-template-columns: repeat(24, 1fr);
    align-items: center;
    width: 100%;
    height: 100%;
    display: grid;
    position: relative;
}
.home-about__copy {
    font-size: 12.6svw;
    font-family: var(--app-font-family-en);
    text-align: center;
    white-space: nowrap;
    grid-column: 1 / span 24;
    font-weight: 700;
}
.home-about__rect-area {
    grid-column: 8 / span 10;
}
.home-about__thumb {
    aspect-ratio: 3/4;
    background: var(--app-color-gray-50);
    grid-column: 11 / span 4;
}
.home-about__img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    position: relative;
}
@media only screen and (width<=55em) {
    .home-about__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-spacing-l);
        grid-template-columns: repeat(4, 1fr);
        display: grid;
    }
    .home-about__copy {
        grid-column: 1 / span 4;
        font-size: 12svw;
    }
    .home-about__thumb {
        grid-column: 2 / span 2;
    }
    .home-about__rect-area {
        grid-column: 1 / span 4;
    }
}
.home-mobile {
    background: var(--app-color-white);
    display: none;
}
.home-mobile__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.home-mobile__body {
    position: relative;
}
.home-mobile__video-wrap {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
    );
    color: var(--app-color-black);
    font: inherit;
    text-align: left;
    z-index: 0;
    cursor: pointer;
    background: 0 0;
    border: none;
    display: block;
    position: relative;
}
.home-mobile__video-thumb {
    aspect-ratio: 16/9;
    background: var(--app-color-gray-50);
    position: relative;
    overflow: hidden;
}
.home-mobile__video {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    position: relative;
}
.home-mobile__video-txts {
    color: currentColor;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 0.5em;
    padding: 0.5em 0;
    transition: color 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
}
.home-mobile__video-txt {
    font-size: var(--app-font-size-p-m);
    font-weight: 700;
}
.home-mobile__video-txt-icon {
    width: 15px;
    height: 15px;
    display: block;
}
.home-mobile__video-txt-icon-svg {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.home-mobile__video-txt-icon-svg-path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.463px;
}
@media only screen and (width<=55em) {
    .home-mobile {
        display: block;
    }
}
.home-company {
    z-index: 0;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.home-company__inner {
    width: 100%;
    height: 100svh;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.home-company__body {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-spacing-2xl);
    grid-template-columns: repeat(24, 1fr);
    align-items: center;
    width: 100%;
    height: 100%;
    display: grid;
    position: relative;
}
.home-company__content {
    color: var(--app-color-white);
    grid-column: 4 / span 18;
}
.home-company__heading {
    width: 100%;
}
.home-company__detail {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 10 + (10 - 1) * var(--app-grid-col-gap)
    );
    max-width: 100%;
    margin: 0 auto;
}
.home-company__label-line {
    text-align: center;
    display: block;
}
.home-company__link {
    text-align: center;
    color: var(--app-color-white);
}
.home-company__bg {
    z-index: -1;
    filter: blur(16px);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    scale: 1.05;
}
.home-company__bg:after {
    content: "";
    background: var(--app-color-black-a20);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.home-company__img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
@media only screen and (width<=55em) {
    .home-company__inner {
        height: auto;
        min-height: 460px;
    }
    .home-company__body {
        column-gap: var(--app-grid-col-gap);
        row-gap: var(--app-grid-row-gap);
        padding: var(--app-spacing-2xl) 0;
        grid-template-columns: repeat(4, 1fr);
        display: grid;
    }
    .home-company__content {
        grid-column: 1 / span 4;
    }
    .home-company__detail {
        width: 100%;
    }
    .home-technology .m-section__description,
    .home-updates .m-section__description,
    .home-careers .m-section__description {
        font-size: var(--app-font-size-p-m);
    }
}
.g-webgl {
    background: var(--app-color-black);
    z-index: -2;
    width: 100%;
    height: 100%;
    transition:
        opacity 0.5s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
    left: 0;
}
.--is-transition .g-webgl,
.g-webgl.--is-hidden {
    opacity: 0;
    visibility: hidden;
}
.g-webgl__inner {
    width: 100%;
    height: 100svh;
    position: relative;
}
.g-webgl__body {
    width: 100%;
    height: 100%;
    position: relative;
}
.g-webgl img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    position: relative;
}
.g-webgl canvas {
    width: 100%;
    height: 100%;
    position: relative;
}
.m-subpage-hero {
    background: var(--app-color-white);
}
.m-subpage-hero__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.m-subpage-hero__body {
    padding-top: var(--app-header-height);
    position: relative;
}
.m-subpage-hero__space {
    width: 100%;
    height: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 4 + (4 - 1) * var(--app-grid-col-gap)
            ) * 1.33333
    );
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: flex-start;
    display: flex;
}
.m-subpage-hero__thumb {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 4 + (4 - 1) * var(--app-grid-col-gap)
    );
    height: auto;
    display: block;
}
.m-subpage-hero__thumb.--vertical {
    aspect-ratio: 3/4;
}
.m-subpage-hero__thumb.--horizontal {
    aspect-ratio: 4/3;
}
.m-subpage-hero__thumb.--square {
    aspect-ratio: 1;
}
.m-subpage-hero__img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.m-subpage-hero__ttl {
    font-size: var(--app-font-size-h-6xl);
    font-weight: 700;
    line-height: var(--app-line-height-xs);
    opacity: 0;
    display: block;
}
.m-subpage-hero__ttl.--m {
    font-size: var(--app-font-size-h-4xl);
    line-height: var(--app-line-height-s);
}
[lang="en"] .m-subpage-hero__ttl.--m {
    line-height: var(--app-line-height-xs);
}
.m-subpage-hero__ttl-line {
    line-height: var(--app-line-height-s);
    display: block;
}
[lang="en"] .m-subpage-hero__ttl-line {
    display: inline;
}
.m-subpage-hero__taglines {
    font-size: var(--app-font-size-h-3xl);
    font-weight: 500;
}
.m-subpage-hero__tagline {
    line-height: var(--app-line-height-m);
    display: block;
}
.m-subpage-hero__tagline:not(:last-child) {
    margin-bottom: 0.25em;
}
[lang="en"] .m-subpage-hero__tagline {
    line-height: var(--app-line-height-s);
}
.m-subpage-hero__back {
    top: var(--app-header-height);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    left: 0;
}
.--is-splash .m-subpage-hero__back {
    opacity: 1;
    visibility: visible;
}
.m-subpage-hero__meta {
    opacity: 0;
    visibility: hidden;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5em 1em;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
}
.--is-splash .m-subpage-hero__meta {
    opacity: 1;
    visibility: visible;
}
.m-subpage-hero__date {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
}
.m-subpage-hero__category-label,
.m-subpage-hero__tag-label {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    background: var(--app-color-gray-light);
    border-radius: 2em;
    padding: 0.5em 1em;
    font-weight: 500;
    display: inline-block;
}
.m-subpage-hero__category-ttl,
.m-subpage-hero__tag-ttl {
    font-size: var(--app-font-size-h-4xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    display: block;
}
.m-subpage-hero__category-items {
    opacity: 0;
    visibility: hidden;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5em;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: inline-flex;
    position: relative;
}
.--is-splash .m-subpage-hero__category-items {
    opacity: 1;
    visibility: visible;
}
.m-subpage-hero__category-item {
    position: relative;
}
.m-subpage-hero__category-link {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    background: var(--app-color-gray-light);
    border-radius: 2em;
    padding: 0.5em 1em;
    font-weight: 500;
    display: inline-block;
}
.m-subpage-hero__tag-items {
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 1em 0;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    display: flex;
    position: relative;
}
.--is-splash .m-subpage-hero__tag-items {
    opacity: 1;
    visibility: visible;
}
.m-subpage-hero__tag-item:not(:last-child) {
    margin-right: 0.5em;
}
.m-subpage-hero__tag-link {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    white-space: nowrap;
    display: inline-block;
    position: relative;
}
.m-subpage-hero__author {
    opacity: 0;
    visibility: hidden;
    padding-bottom: 0.25em;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: relative;
}
.--is-splash .m-subpage-hero__author {
    opacity: 1;
    visibility: visible;
}
.m-subpage-hero__author-link {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-l);
}
.m-subpage-hero__author-label {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    background: var(--app-color-gray-light);
    border-radius: 2em;
    padding: 0.5em 1em;
    font-weight: 500;
    display: inline-block;
}
.m-subpage-hero__author-name {
    margin: var(--app-spacing-s) 0 var(--app-spacing-xs);
    font-size: var(--app-font-size-h-3xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    opacity: 0;
    display: block;
}
.--is-splash .m-subpage-hero__author-name {
    opacity: 1;
}
.m-subpage-hero__author-name [data-split-type="chars"] {
    opacity: 0;
    visibility: hidden;
}
.m-subpage-hero__author-ttl {
    font-size: var(--app-font-size-h-s);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin-bottom: 2em;
    display: block;
}
.m-subpage-hero__social-items {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 15px;
    display: flex;
}
.m-subpage-hero__social-item {
    width: var(--app-social-icon-size);
    height: var(--app-social-icon-size);
    background: var(--app-color-gray-light);
    border-radius: var(--app-radius-s);
    position: relative;
}
.m-subpage-hero__social-link {
    border-radius: var(--app-radius-s);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}
@media only screen and (width<=66em) {
    .m-subpage-hero__space {
        height: calc(
            min(
                    calc(
                        (
                                (100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) *
                                    var(--app-grid-col-gap)
                            ) / var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
                    ),
                    13.75rem
                ) * 1.33333
        );
        margin-bottom: var(--app-spacing-xl);
    }
    .m-subpage-hero__thumb {
        width: min(
            calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ),
            13.75rem
        );
    }
}
@media only screen and (width<=55em) {
    .m-subpage-hero__body {
        padding-top: calc(var(--app-header-height) + var(--app-spacing-s));
    }
    .m-subpage-hero__space.--careers {
        margin-bottom: var(--app-spacing-l);
    }
    .m-subpage-hero__space.--no-img {
        height: var(--app-spacing-m);
    }
    .m-subpage-hero__ttl {
        font-size: var(--app-font-size-h-2xl);
        line-height: var(--app-line-height-m);
    }
    .m-subpage-hero__ttl.--m,
    .m-subpage-hero__ttl.--careers {
        font-size: var(--app-font-size-h-2xl);
    }
    .m-subpage-hero__ttl-line {
        display: inline;
    }
    .m-subpage-hero__taglines {
        font-size: var(--app-font-size-h-l);
        line-height: var(--app-line-height-m);
    }
    .m-subpage-hero__back {
        top: var(--app-header-height);
    }
    .m-subpage-hero__category-ttl,
    .m-subpage-hero__tag-ttl {
        font-size: var(--app-font-size-h-2xl);
    }
    .m-subpage-hero__author-name {
        font-size: var(--app-font-size-h-xl);
    }
    .--author .m-subpage-hero__space {
        margin-bottom: var(--app-spacing-xl);
        justify-content: flex-start;
        align-items: flex-end;
    }
}
.m-post-details {
    background: var(--app-color-white);
    width: 100%;
    position: relative;
}
.m-post-details__content-rect {
    top: 0;
    left: var(--app-grid-h-margin);
    width: var(--app-rect-size-l);
    height: var(--app-rect-size-l);
    background: var(--app-color-black);
    position: absolute;
    display: block !important;
}
.m-post-details__content {
    background: var(--app-color-white);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.25s cubic-bezier(0.104, 0.204, 0.492, 1),
        visibility 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.--is-splash .m-post-details__content {
    opacity: 1;
    visibility: visible;
}
.m-post-details__ttl {
    margin: var(--app-spacing-s) 0;
    font-size: var(--app-font-size-h-3xl);
    line-height: var(--app-line-height-s);
}
.m-post-details__content-inner {
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.m-post-details__content-body {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 14 + (14 - 1) * var(--app-grid-col-gap)
    );
    border-bottom: 1px solid var(--app-color-black-a40);
    margin: 0 auto;
    position: relative;
}
.m-post-details__share {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 14 + (14 - 1) * var(--app-grid-col-gap)
    );
    margin: 0 auto;
    position: relative;
}
.m-post-details__share-inner {
    width: 100%;
    padding: var(--app-spacing-3xl) 0;
    position: relative;
}
.m-post-details__share-body {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    column-gap: 15px;
    display: flex;
}
.m-post-details__share-label {
    font-size: var(--app-font-size-p-m);
    text-transform: uppercase;
    font-weight: 500;
}
.m-post-details__share-items {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 15px;
    display: flex;
}
.m-post-details__share-item {
    width: var(--app-social-icon-size);
    height: var(--app-social-icon-size);
    background: var(--app-color-gray-light);
    border-radius: var(--app-radius-s);
    position: relative;
}
.m-post-details__share-link {
    border-radius: var(--app-radius-s);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}
.m-post-details__share-link:before {
    content: "";
    border-radius: var(--app-radius-s);
    background: var(--app-color-black-a20);
    opacity: 0;
    width: 100%;
    height: 100%;
    transition:
        opacity 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
    left: 0;
    scale: 0.5;
}
.no-touch .m-post-details__share-link:hover:before {
    opacity: 0.2;
    scale: 1;
}
.m-post-details__nav {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 14 + (14 - 1) * var(--app-grid-col-gap)
    );
    padding: var(--app-spacing-l) 0 var(--app-spacing-3xl);
    margin: 0 auto;
    position: relative;
}
.m-post-details__nav-inner {
    width: 100%;
    position: relative;
}
.m-post-details__nav-items {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    display: flex;
}
.m-post-details__nav-item.--back {
    position: absolute;
    left: 50%;
    translate: -50%;
}
.m-post-details__nav-item.--prev,
.m-post-details__nav-item.--next {
    text-transform: uppercase;
}
.m-post-details__nav-link {
    color: var(--app-color-black);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
}
.m-post-details__nav-link.--is-disabled {
    opacity: 0.5;
    pointer-events: none;
}
@media only screen and (width<=66em) {
    .m-post-details__content-body,
    .m-post-details__share,
    .m-post-details__nav {
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .m-post-details__content-rect {
        width: var(--app-rect-size-l);
        height: var(--app-rect-size-l);
        position: relative;
        left: 0;
        margin-bottom: var(--app-spacing-xl) !important;
    }
    .m-post-details__ttl {
        font-size: var(--app-font-size-h-xl);
        line-height: var(--app-line-height-m);
    }
    .m-post-details__share-inner {
        padding: var(--app-spacing-l) 0;
    }
    .m-post-details__share-body {
        column-gap: var(--app-grid-col-gap);
    }
    .m-post-details__nav {
        padding: var(--app-spacing-m) var(--app-grid-h-margin) var(--app-spacing-3xl);
    }
    .m-post-details__nav-items {
        align-items: center;
    }
}
.m-post-author {
    position: relative;
}
.m-post-author__inner {
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.m-post-author__body {
    padding: var(--app-spacing-2xl) 0;
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 14 + (14 - 1) * var(--app-grid-col-gap)
    );
    border-bottom: 1px solid var(--app-color-black-a40);
    margin: 0 auto;
    position: relative;
}
.m-post-author__label {
    font-size: var(--app-font-size-p-m);
    background: var(--app-color-gray-light);
    border-radius: 1em;
    padding: 0.5em 1em;
    font-weight: 500;
    display: inline-block;
}
.m-post-author__content {
    margin-top: 1em;
}
.m-post-author__name {
    font-size: var(--app-font-size-h-xl);
    margin-bottom: 0.5em;
    font-weight: 700;
}
.m-post-author__ttl {
    font-size: var(--app-font-size-p-l);
    font-weight: 500;
    line-height: var(--app-line-height-l);
    margin-bottom: 1em;
}
.m-post-author__profile {
    background: var(--app-color-gray-light);
    padding: var(--app-spacing-l);
    font-size: var(--app-font-size-p-l);
    border-radius: var(--app-radius-s);
    line-height: var(--app-line-height-l);
    margin-top: 2em;
}
.m-post-author__social-items {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    column-gap: 15px;
    display: flex;
}
.m-post-author__social-item {
    width: var(--app-social-icon-size);
    height: var(--app-social-icon-size);
    background: var(--app-color-gray-light);
    border-radius: var(--app-radius-s);
    position: relative;
}
.m-post-author__social-link {
    border-radius: var(--app-radius-s);
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
}
.m-post-author__social-link:before {
    content: "";
    border-radius: var(--app-radius-s);
    background: var(--app-color-black-a20);
    opacity: 0;
    width: 100%;
    height: 100%;
    transition:
        opacity 0.35s cubic-bezier(0.104, 0.204, 0.492, 1),
        scale 0.35s cubic-bezier(0.104, 0.204, 0.492, 1);
    position: absolute;
    top: 0;
    left: 0;
    scale: 0.5;
}
.no-touch .m-post-author__social-link:hover:before {
    opacity: 0.2;
    scale: 1;
}
@media only screen and (width<=66em) {
    .m-post-author__body {
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .m-post-author__body {
        padding: var(--app-spacing-l) 0;
    }
    .m-post-author__name {
        font-size: var(--app-font-size-h-l);
    }
    .m-post-author__ttl {
        font-size: var(--app-font-size-p-m);
    }
    .m-post-author__profile {
        padding: var(--app-spacing-s);
        font-size: var(--app-font-size-p-m);
    }
}
.solutions-approach__features {
    background: var(--app-color-gray-light);
}
.solutions-approach__features-inner {
    padding: 0
        calc(
            var(--app-grid-col-gap) +
                calc(
                    ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                        var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
                )
        );
}
.solutions-approach__features-body {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    display: flex;
}
.solutions-approach__features-ttls {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 6 + (6 - 1) * var(--app-grid-col-gap)
    );
    position: relative;
}
.solutions-approach__features-ttl {
    font-size: var(--app-font-size-h-l);
    margin-bottom: 0.5em;
    font-weight: 700;
}
.solutions-approach__features-label {
    color: var(--app-color-white);
    font-size: var(--app-font-size-p-l);
    background: var(--app-color-black);
    text-align: center;
    border-radius: 1em;
    padding: 0.5em 1em;
    font-weight: 500;
    display: inline-block;
}
.solutions-approach__features-items {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 9 + (9 - 1) * var(--app-grid-col-gap)
    );
}
.solutions-approach__features-item {
    width: 100%;
    color: var(--app-color-black);
    font-size: var(--app-font-size-h-l);
    font-weight: 500;
    line-height: var(--app-line-height-l);
    background: var(--app-color-white);
    border: 1px solid var(--app-color-black);
    padding: 1em;
    position: relative;
}
.solutions-approach__features-item:not(:last-child) {
    margin-bottom: 0.75em;
}
@media only screen and (width<=66em) {
    .solutions-approach__features-inner {
        padding: 0 var(--app-spacing-s);
    }
    .solutions-approach__features-body {
        display: block;
    }
    .solutions-approach__features-ttls,
    .solutions-approach__features-items {
        text-align: center;
        width: 100%;
    }
    .solutions-approach__features-ttls {
        margin-bottom: var(--app-spacing-s);
    }
}
@media only screen and (width<=55em) {
    .solutions-approach__features-ttl {
        font-size: var(--app-font-size-h-m);
    }
    .solutions-approach__features-label {
        font-size: var(--app-font-size-p-m);
    }
    .solutions-approach__features-item {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
        text-align: left;
    }
}
.solutions-large-content .m-large-content__img {
    aspect-ratio: 1280/905;
}
.m-solutions-service__items {
    column-gap: var(--app-grid-col-gap);
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    display: flex;
}
.m-solutions-service__item {
    width: calc(
        calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 8 + (8 - 1) * var(--app-grid-col-gap)
        )
    );
}
.m-solutions-service__rect {
    width: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    height: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    background: var(--app-color-black);
    display: block;
}
.m-solutions-service__ttl {
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin: 1em 0;
    position: relative;
}
.m-solutions-service__ttl-line {
    display: block;
}
.m-solutions-service__txt {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
    padding-right: 1em;
}
.m-solutions-service__txt:not(:last-child) {
    margin-bottom: 1em;
}
.m-solutions-service__svg {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
@media only screen and (width<=66em) {
    .m-solutions-service__items {
        display: block;
    }
    .m-solutions-service__item {
        width: 100%;
    }
    .m-solutions-service__item:not(:last-child) {
        margin-bottom: var(--app-spacing-l);
    }
    .m-solutions-service__rect {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
        );
        height: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
        );
    }
}
@media only screen and (width<=55em) {
    .m-solutions-service__ttl {
        font-size: var(--app-font-size-h-l);
    }
    .m-solutions-service__txt {
        font-size: var(--app-font-size-p-m);
        padding-right: 0;
    }
}
.m-solutions-services__items {
    position: relative;
}
.m-solutions-services__item {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 2em;
    display: flex;
}
.m-solutions-services__item:not(:last-child) {
    margin-bottom: var(--app-spacing-xl);
}
.m-solutions-services__img-wrap {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 3 + (3 - 1) * var(--app-grid-col-gap)
    );
    height: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 3 + (3 - 1) * var(--app-grid-col-gap)
    );
    aspect-ratio: 1;
    display: block;
}
.m-solutions-services__img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.m-solutions-services__ttl {
    font-size: var(--app-font-size-h-xl);
    margin-bottom: 1em;
    font-weight: 700;
}
.m-solutions-services__txt {
    font-size: var(--app-font-size-p-m);
    line-height: var(--app-line-height-m);
    margin-bottom: 2em;
}
@media only screen and (width<=66em) {
    .m-solutions-services__item {
        display: block;
    }
    .m-solutions-services__img-wrap {
        width: 50%;
        height: auto;
        margin-bottom: var(--app-spacing-s);
    }
}
@media only screen and (width<=55em) {
    .m-solutions-services__item {
        display: block;
    }
    .m-solutions-services__item:not(:last-child) {
        margin-bottom: var(--app-spacing-l);
    }
    .m-solutions-services__img-wrap {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
        );
        height: auto;
        margin-bottom: var(--app-spacing-s);
    }
    .m-solutions-services__ttl {
        font-size: var(--app-font-size-h-xl);
        margin-bottom: 0.75em;
    }
    .m-solutions-services__txt {
        font-size: var(--app-font-size-p-s);
        line-height: var(--app-line-height-l);
        margin-bottom: 1.5em;
    }
}
.m-solutions-scenes {
    width: 100%;
    position: relative;
}
.m-solutions-scenes__inner {
    padding: 0 var(--app-grid-h-margin);
}
.m-solutions-scenes__body {
    width: 100%;
    position: relative;
}
.m-solutions-scenes__items {
    column-gap: var(--app-grid-col-gap);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
}
.m-solutions-scenes__item {
    width: calc(
        calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 7 + (7 - 1) * var(--app-grid-col-gap)
        )
    );
}
.m-solutions-scenes__rect {
    width: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    height: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    background: var(--app-color-black);
    display: block;
}
.m-solutions-scenes__ttl {
    font-size: var(--app-font-size-h-xl);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin: 1em 0;
    position: relative;
}
[lang="en"] .m-solutions-scenes__ttl {
    line-height: var(--app-line-height-s);
}
.m-solutions-scenes__ttl-line {
    display: block;
}
.m-solutions-scenes__txt {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
    padding-right: 1em;
}
.m-solutions-scenes__txt:not(:last-child) {
    margin-bottom: 1em;
}
.m-solutions-scenes__rect {
    display: block;
}
.m-solutions-scenes__svg {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
@media only screen and (width<=66em) {
    .m-solutions-scenes__items {
        display: block;
    }
    .m-solutions-scenes__item {
        width: 100%;
    }
    .m-solutions-scenes__item:not(:last-child) {
        margin-bottom: var(--app-spacing-l);
    }
    .m-solutions-scenes__rect {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
        );
        height: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
        );
        max-width: 86px;
        max-height: 86px;
    }
}
@media only screen and (width<=55em) {
    .m-solutions-scenes__ttl {
        font-size: var(--app-font-size-h-l);
    }
    .m-solutions-scenes__txt {
        font-size: var(--app-font-size-p-m);
        padding-right: 0;
    }
}
.m-solutions-features,
.m-solutions-features__items {
    width: 100%;
    position: relative;
}
.m-solutions-features__item {
    width: 100%;
    padding: var(--app-spacing-xl) 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 2em;
    display: flex;
    position: relative;
}
.m-solutions-features__item:before {
    content: "";
    background: var(--app-color-black-a40);
    width: 100%;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
}
.m-solutions-features__rect {
    min-width: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    min-height: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    background: var(--app-color-black);
    display: block;
}
.m-solutions-features__ttl {
    font-size: var(--app-font-size-h-xl);
    margin-bottom: 1em;
    font-weight: 700;
}
.m-solutions-features__txt {
    line-height: var(--app-line-height-l);
}
.m-solutions-features__rect {
    display: block;
}
.m-solutions-features__svg {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
@media only screen and (width<=55em) {
    .m-solutions-features__item {
        padding: var(--app-spacing-l) 0;
        display: block;
    }
    .m-solutions-features__rect {
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
        );
        height: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
        );
        min-width: 0;
        max-width: 86px;
        min-height: 0;
        max-height: 86px;
        margin-bottom: var(--app-spacing-s);
    }
    .m-solutions-features__ttl {
        font-size: var(--app-font-size-h-l);
    }
    .m-solutions-features__txt {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
    }
}
.ricos-pixel-icon .ricos-pixel-icon__rect {
    opacity: 0;
    will-change: opacity;
}
.ricos-pixel-icon.--is-inview .ricos-pixel-icon__rect {
    animation: ricos-pixel-icon-fade 0.18s ease-out var(--ricos-pixel-delay, 0s) forwards;
}
.ricos-pixel-icon .ricos-pixel-icon__bg {
    opacity: 1;
    will-change: auto;
}
@keyframes ricos-pixel-icon-fade {
    0% {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ricos-pixel-icon .ricos-pixel-icon__rect {
        opacity: 1;
        animation: none;
    }
}
.m-solutions-status__label {
    font-size: var(--app-font-size-h-s);
    background: var(--app-color-gray-light);
    border-radius: var(--app-radius-s);
    margin-bottom: 1em;
    padding: 0.5em;
    display: inline-block;
}
.m-solutions-status__item {
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    padding-left: 0.75em;
    position: relative;
}
.m-solutions-status__item:before {
    content: "";
    background: var(--app-color-black);
    border-radius: 50%;
    width: 0.25em;
    height: 0.25em;
    position: absolute;
    top: 0.6em;
    left: 0;
}
.m-solutions-status__item:not(:last-child) {
    margin-bottom: 0.25em;
}
@media only screen and (width<=55em) {
    .m-solutions-status__item {
        font-size: var(--app-font-size-h-l);
    }
}
.m-solutions-card {
    color: var(--app-color-white);
    background: var(--app-color-white);
    position: relative;
}
.m-solutions-card__inner {
    padding: 0 var(--app-grid-h-margin);
    background: var(--app-color-gray-dark);
    clip-path: rect(
        var(--app-grid-h-margin) calc(100% - var(--app-grid-h-margin)) calc(100% - var(--app-grid-h-margin))
            var(--app-grid-h-margin) round var(--app-radius-m)
    );
    position: relative;
}
.m-solutions-card__body {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: relative;
}
.m-solutions-card__thumb {
    top: calc(
        calc(
                ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                    var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
            ) + var(--app-grid-col-gap)
    );
    right: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 1 + (1 - 1) * var(--app-grid-col-gap)
    );
    aspect-ratio: 3/4;
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 3 + (3 - 1) * var(--app-grid-col-gap)
    );
    position: absolute;
}
.m-solutions-card__img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.m-solutions-card__content {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 14 + (14 - 1) * var(--app-grid-col-gap)
    );
    margin: 0 auto;
}
.m-solutions-card__rect {
    margin-bottom: var(--app-spacing-s);
    width: var(--app-rect-size-m);
    height: var(--app-rect-size-m);
    background: var(--app-color-white);
}
.m-solutions-card__ttl {
    font-size: var(--app-font-size-h-4xl);
    font-weight: 700;
}
.m-solutions-card__subttl {
    font-size: var(--app-font-size-h-xl);
    margin: 1em 0 var(--app-spacing-xl);
    font-weight: 700;
}
.m-solutions-card__txt {
    font-size: var(--app-font-size-p-l);
    margin-bottom: var(--app-spacing-xl);
}
.m-solutions-card__products {
    column-gap: var(--app-grid-col-gap);
    margin-top: var(--app-spacing-l);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
}
.m-solutions-card__product {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 7 + (7 - 1) * var(--app-grid-col-gap)
    );
}
.m-solutions-card__product-link {
    padding-left: 1em;
    position: relative;
}
.m-solutions-card__product-link:not(:last-child) {
    margin-bottom: 1em;
}
.m-solutions-card__product-link:before {
    content: "";
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    background: currentColor;
    display: block;
    position: absolute;
    top: 0.35em;
    left: 0;
}
.m-solutions-card__product-label {
    margin-bottom: 1.5em;
    font-weight: 700;
}
@media only screen and (width<=66em) {
    .m-solutions-card__body {
        min-height: 420px;
        padding: var(--app-spacing-xl) var(--app-spacing-s);
    }
    .m-solutions-card__thumb {
        top: var(--app-spacing-l);
        right: var(--app-spacing-s);
        width: calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 2 + (2 - 1) * var(--app-grid-col-gap)
        );
        max-width: 110px;
    }
    .m-solutions-card__content {
        width: 100%;
        margin: 0;
    }
    .m-solutions-card__product {
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .m-solutions-card__inner {
        clip-path: rect(
            var(--app-grid-h-margin) calc(100% - var(--app-grid-h-margin)) calc(100% - var(--app-grid-h-margin))
                var(--app-grid-h-margin) round var(--app-radius-s)
        );
    }
    .m-solutions-card__ttl {
        font-size: var(--app-font-size-h-2xl);
    }
    .m-solutions-card__subttl {
        margin: 1em 0 var(--app-spacing-l);
        font-size: var(--app-font-size-h-l);
    }
    .m-solutions-card__txt {
        margin-bottom: var(--app-spacing-l);
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
    }
    .m-solutions-card__products {
        display: block;
    }
    .m-solutions-card__product:not(:last-child) {
        margin-bottom: var(--app-spacing-m);
    }
}
.faq-solutions__content:not(:last-child) {
    margin-bottom: var(--app-spacing-3xl);
}
.faq-solutions__label {
    color: var(--app-color-black);
    font-size: var(--app-font-size-h-l);
    background: var(--app-color-gray-light);
    border-radius: var(--app-radius-s);
    padding: 0.45em;
    font-weight: 500;
    display: inline-block;
}
@media only screen and (width<=55em) {
    .faq-solutions__label {
        font-size: var(--app-font-size-h-s);
        padding: 0.45em;
    }
}
.company-mission__txt,
.company-vision__txt {
    font-size: var(--app-font-size-h-3xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
}
[lang="en"] .company-mission__txt,
[lang="en"] .company-vision__txt {
    line-height: var(--app-line-height-s);
}
@media only screen and (width<=55em) {
    .company-mission__txt,
    .company-vision__txt {
        font-size: var(--app-font-size-h-l);
        line-height: var(--app-line-height-l);
    }
}
.company-value__items {
    counter-reset: company-value;
}
.company-value__item {
    counter-increment: company-value;
}
.company-value__item:not(:last-child) {
    margin-bottom: 3em;
}
.company-value__ttl {
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
}
.company-value__ttl:before {
    content: counter(company-value) ". ";
}
.company-value__ttl-ja {
    font-weight: 700;
}
.company-value__txt {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-m);
    margin-top: 1em;
    padding-left: 2em;
    position: relative;
}
.company-value__txt:before {
    content: "";
    background: var(--app-color-black);
    width: 20px;
    height: 1px;
    position: absolute;
    top: 0.55em;
    left: 0;
}
@media only screen and (width<=55em) {
    .company-value__item:not(:last-child) {
        margin-bottom: var(--app-spacing-l);
    }
    .company-value__ttl {
        font-size: var(--app-font-size-h-m);
    }
    .company-value__txt {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
        padding-left: 1.75em;
    }
    .company-value__txt:before {
        width: 14px;
    }
}
.company-message__thumb {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 9 + (9 - 1) * var(--app-grid-col-gap)
    );
    aspect-ratio: 4/3;
}
.company-message__img {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.company-message__ttl {
    font-size: var(--app-font-size-h-xl);
    margin-bottom: 1.5em;
    font-weight: 700;
}
.company-message__txts {
    width: 100%;
}
.company-message__txt,
.company-message__signature {
    font-size: var(--app-font-size-p-l);
    font-weight: 500;
    line-height: var(--app-line-height-l);
}
.company-message__txt:not(:last-child) {
    margin-bottom: 1.5em;
}
.company-message__signature {
    margin-top: 2em;
}
@media only screen and (width<=66em) {
    .company-message__thumb {
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .company-message__ttl {
        font-size: var(--app-font-size-h-l);
        margin-bottom: 1em;
    }
    .company-message__txt,
    .company-message__signature {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-xl);
    }
}
.company-table {
    width: 100%;
    position: relative;
}
.company-table__row {
    column-gap: var(--app-grid-col-gap);
    border-top: 1px solid var(--app-color-black-a20);
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 1.25em 0;
    display: flex;
}
.company-table__row:last-child {
    border-bottom: 1px solid var(--app-color-black-a20);
}
.company-table__head,
.company-table__data {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin: 0;
}
.company-table__head {
    flex: 0 0
        calc(
            ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
                var(--app-grid-col) * 3 + (3 - 1) * var(--app-grid-col-gap)
        );
}
.company-table__data {
    flex: 1;
    min-width: 0;
}
.company-table__line,
.company-table__note {
    line-height: var(--app-line-height-l);
    display: block;
}
.company-table__note {
    margin-top: 0.5em;
}
.company-table__link {
    color: currentColor;
    text-underline-offset: 0.2em;
    text-decoration: underline;
}
.company-table.--span-8 .company-table__head {
    flex-basis: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 8 + (8 - 1) * var(--app-grid-col-gap)
    );
}
@media only screen and (width<=66em) {
    .company-table__head {
        flex-basis: calc((100% - var(--app-grid-col-gap)) / 3);
    }
    .company-table.--span-8 .company-table__row {
        display: block;
    }
    .company-table.--span-8 .company-table__head {
        margin-bottom: 0.5em;
    }
}
@media only screen and (width<=55em) {
    .company-table__row {
        column-gap: var(--app-grid-col-gap);
        padding: 1em 0;
    }
    .company-table__head,
    .company-table__data {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
    }
}
.company-link-list {
    width: 100%;
    padding-bottom: 1px;
    padding-left: 1.25em;
    list-style: outside;
    position: relative;
}
.company-link-list__item {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-l);
}
.company-link-list__item:not(:last-child) {
    margin-bottom: 0.75em;
}
.company-link-list__link,
.company-link-list__file {
    color: currentColor;
    text-underline-offset: 0.2em;
    text-decoration: underline;
}
.company-link-list__files {
    align-items: center;
    column-gap: 0.75em;
    margin-left: 1em;
    display: inline-flex;
}
@media only screen and (width<=55em) {
    .company-link-list__item {
        font-size: var(--app-font-size-p-m);
    }
    .company-link-list__files {
        flex-wrap: wrap;
        margin-top: 0.35em;
        margin-left: 0;
        display: flex;
    }
    .company-large-content .m-large-content__inner {
        padding: 0;
    }
    .company-large-content .m-large-content__inner:before,
    .company-large-content .m-large-content__inner:after {
        display: none;
    }
}
.careers-benefit {
    background: var(--app-color-white);
    width: 100%;
    position: relative;
}
.careers-benefit__inner {
    width: 100%;
    padding: 0 var(--app-grid-h-margin);
    position: relative;
}
.careers-benefit__body {
    position: relative;
}
.careers-benefit__items {
    column-gap: var(--app-grid-col-gap);
    row-gap: var(--app-spacing-l);
    margin-bottom: var(--app-grid-h-margin);
    grid-template-columns: repeat(24, 1fr);
    grid-auto-rows: minmax(100px, auto);
    display: grid;
}
.careers-benefit__item {
    width: auto;
    position: relative;
    overflow: hidden;
}
.careers-benefit__item:nth-child(3n + 1) {
    grid-column: 1 / span 7;
}
.careers-benefit__item:nth-child(3n + 2) {
    grid-column: 9 / span 7;
}
.careers-benefit__item:nth-child(3n + 3) {
    grid-column: 17 / span 7;
}
.careers-benefit__num {
    font-size: var(--app-font-size-h-5xl);
    font-weight: 700;
}
.careers-benefit__ttl {
    font-size: var(--app-font-size-h-l);
    margin: 1em 0;
    font-weight: 700;
}
.careers-benefit__txt {
    font-size: var(--app-font-size-p-l);
    line-height: var(--app-line-height-l);
}
@media only screen and (width<=55em) {
    .careers-benefit__items {
        display: block;
    }
    .careers-benefit__item {
        width: 100%;
    }
    .careers-benefit__item:nth-child(n) {
        grid-column: auto/span 4;
    }
    .careers-benefit__item:not(:last-child) {
        margin-bottom: var(--app-spacing-l);
    }
    .careers-benefit__num {
        font-size: var(--app-font-size-h-3xl);
        margin-bottom: 0.25em;
    }
    .careers-benefit__ttl {
        font-size: var(--app-font-size-h-m);
        margin: 0.5em 0;
    }
    .careers-benefit__txt {
        font-size: var(--app-font-size-p-m);
    }
}
.careers-flow {
    width: 100%;
    position: relative;
}
.careers-flow__items {
    border-top: 1px solid var(--app-color-black-a20);
    list-style: none;
    position: relative;
}
.careers-flow__item {
    padding: var(--app-spacing-l) 0;
    border-bottom: 1px solid var(--app-color-black-a20);
    position: relative;
}
.careers-flow__header {
    position: relative;
}
.careers-flow__step {
    font-size: var(--app-font-size-p-s);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin-bottom: 0.75em;
}
.careers-flow__ttl {
    font-size: var(--app-font-size-h-xl);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 1em;
}
.careers-flow__txt {
    font-size: var(--app-font-size-p-m);
    line-height: var(--app-line-height-l);
}
.careers-flow__txt:not(:last-child) {
    margin-bottom: 1em;
}
.careers-flow__lists {
    margin-top: 1em;
    position: relative;
}
.careers-flow__list {
    font-size: var(--app-font-size-p-m);
    line-height: var(--app-line-height-l);
    padding-left: 0.75em;
    position: relative;
}
.careers-flow__list:before {
    content: "";
    width: var(--app-rect-size-s);
    height: var(--app-rect-size-s);
    background: var(--app-color-black);
    border-radius: 50%;
    position: absolute;
    top: 0.65em;
    left: 0;
}
.careers-flow__list:not(:last-child) {
    margin-bottom: 0.25em;
}
@media only screen and (width<=55em) {
    .careers-flow__item {
        padding: var(--app-spacing-m) 0;
    }
    .careers-flow__ttl {
        font-size: var(--app-font-size-h-l);
    }
}
.careers-jobs {
    width: 100%;
    position: relative;
}
.careers-jobs__items {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 15px;
    display: flex;
}
@media only screen and (width<=55em) {
    .careers-jobs__items {
        gap: var(--app-grid-col-gap);
    }
}
.careers-entry {
    color: var(--app-color-white);
    background: var(--app-color-white);
    position: relative;
}
.careers-entry__inner {
    padding: 0 var(--app-grid-h-margin);
    background: var(--app-color-gray-dark);
    clip-path: rect(
        var(--app-grid-h-margin) calc(100% - var(--app-grid-h-margin)) calc(100% - var(--app-grid-h-margin))
            var(--app-grid-h-margin) round var(--app-radius-m)
    );
    position: relative;
}
.careers-entry__body {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: relative;
}
.careers-entry__content {
    width: calc(
        ((100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) * var(--app-grid-col-gap)) /
            var(--app-grid-col) * 10 + (10 - 1) * var(--app-grid-col-gap)
    );
    margin: 0 auto;
}
.careers-entry__rect {
    margin-bottom: var(--app-spacing-s);
    width: var(--app-rect-size-m);
    height: var(--app-rect-size-m);
    background: var(--app-color-white);
}
.careers-entry__ttl {
    font-size: var(--app-font-size-h-4xl);
    text-align: center;
    font-weight: 700;
}
.careers-entry__txt {
    font-size: var(--app-font-size-p-l);
    margin-bottom: var(--app-spacing-xl);
}
.careers-entry__apply {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
}
@media only screen and (width<=66em) {
    .careers-entry__content {
        width: 100%;
    }
}
@media only screen and (width<=55em) {
    .careers-entry__inner {
        clip-path: rect(
            var(--app-grid-h-margin) 100% calc(100% - var(--app-grid-h-margin)) 0 round var(--app-radius-s)
        );
    }
    .careers-entry__body {
        min-height: 380px;
        padding: var(--app-spacing-xl) var(--app-spacing-s);
    }
    .careers-entry__ttl {
        font-size: var(--app-font-size-h-3xl);
    }
    .careers-entry__txt {
        font-size: var(--app-font-size-p-m);
        line-height: var(--app-line-height-l);
    }
}
.contact-documents__lead {
    width: 100%;
}
.contact-documents__groups {
    margin-top: var(--app-spacing-xl);
}
.contact-documents__group:not(:last-child) {
    margin-bottom: var(--app-spacing-xl);
}
.contact-documents__ttl {
    font-size: var(--app-font-size-h-l);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 1em;
}
.contact-documents .m-section__description {
    font-size: var(--app-font-size-h-l);
}
.contact-documents .m-section__list {
    font-size: var(--app-font-size-p-m);
}
.contact-documents .m-section__list:before {
    top: 0.65em;
}
.contact-documents .c-link {
    font-size: var(--app-font-size-p-m);
}
@media only screen and (width<=55em) {
    .contact-documents__groups {
        margin-top: var(--app-spacing-l);
    }
    .contact-documents__group:not(:last-child) {
        margin-bottom: var(--app-spacing-l);
    }
    .contact-documents__ttl {
        font-size: var(--app-font-size-h-l);
    }
    .contact-documents .m-section__description,
    .contact-documents .c-link {
        font-size: var(--app-font-size-p-m);
    }
}
.contact-access {
    position: relative;
}
.contact-access__address {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
    margin-bottom: 0.5em;
}
.contact-access__map {
    font-size: var(--app-font-size-p-m);
}
@media only screen and (width<=55em) {
    .contact-access__address,
    .contact-access__map {
        font-size: var(--app-font-size-p-s);
    }
}
.contact-form .m-section__label {
    grid-column: 1 / span 4;
}
.contact-form .m-section__content {
    grid-column: 6 / span 14;
}
.contact-form__ttl {
    margin-bottom: var(--app-spacing-xl);
    font-size: var(--app-font-size-h-3xl);
    font-weight: 700;
    line-height: var(--app-line-height-xs);
}
@media only screen and (width<=55em) {
    .contact-form .m-section__label,
    .contact-form .m-section__content {
        grid-column: auto/span 4;
    }
    .contact-form__ttl {
        margin-bottom: var(--app-spacing-l);
        font-size: var(--app-font-size-h-xl);
    }
}
.careers-apply-form .m-section__label {
    grid-column: 1 / span 4;
}
.careers-apply-form .m-section__content {
    grid-column: 6 / span 14;
}
.careers-apply-form__lead {
    margin-bottom: var(--app-spacing-xl);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-m);
}
@media only screen and (width<=55em) {
    .careers-apply-form .m-section__label,
    .careers-apply-form .m-section__content {
        grid-column: auto/span 4;
    }
    .careers-apply-form__lead {
        margin-bottom: var(--app-spacing-l);
        line-height: var(--app-line-height-l);
    }
}
.legals-content__separator {
    width: calc(100% - var(--app-grid-h-margin) * 2);
    height: 1px;
    margin: var(--app-spacing-3xl) var(--app-grid-h-margin) 0;
    background: var(--app-color-black-a20);
    position: relative;
}
.legals-content__body {
    font-family: var(--app-font-family-ja);
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-l);
}
.legals-content .m-single > :first-child {
    margin-top: 0;
}
.legals-content .m-single > :last-child {
    margin-bottom: 0;
}
.legals-content .m-single p {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-l);
    margin-bottom: 1.35em;
}
.legals-content .m-single h1,
.legals-content .m-single h2 {
    font-size: var(--app-font-size-h-l);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 2em;
}
.legals-content .m-single h3,
.legals-content .m-single h4 {
    font-size: var(--app-font-size-h-m);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 0.85em;
}
.legals-content .m-single h5,
.legals-content .m-single h6 {
    font-size: var(--app-font-size-h-s);
    font-weight: 700;
    line-height: var(--app-line-height-m);
    margin-bottom: 0.75em;
}
.legals-content .m-single ul,
.legals-content .m-single ol {
    margin-bottom: 1.5em;
}
.legals-content .m-single ul > li,
.legals-content .m-single ol > li {
    font-size: var(--app-font-size-p-m);
    font-weight: 500;
    line-height: var(--app-line-height-l);
}
.legals-content .m-single ul > li {
    padding-left: 1em;
}
.legals-content .m-single ul > li:before {
    width: 0.3em;
    height: 0.3em;
    top: 0.7em;
}
.legals-content .m-single ol > li {
    padding-left: 1.5em;
}
.legals-content .m-single ol > li:before {
    color: var(--app-color-black);
    font-weight: 700;
}
.legals-content .m-single hr,
.legals-content .m-single .wp-block-separator {
    width: calc(100svw - var(--app-grid-h-margin) * 2);
    margin: var(--app-spacing-3xl) 0 var(--app-spacing-3xl)
        calc(
            -1 * (calc(
                            (
                                    (100 * 1svw) - var(--app-grid-h-margin) * 2 - (var(--app-grid-col) - 1) *
                                        var(--app-grid-col-gap)
                                ) / var(--app-grid-col) * 7 + (7 - 1) * var(--app-grid-col-gap)
                        ) + var(--app-grid-col-gap))
        );
    background: var(--app-color-black-a20);
}
@media only screen and (width<=66em) {
    .legals-content .m-single hr,
    .legals-content .m-single .wp-block-separator {
        width: 100%;
        margin: var(--app-spacing-l) 0;
    }
}
@media only screen and (width<=55em) {
    .legals-content__separator {
        margin-top: var(--app-spacing-l);
    }
    .legals-content__body {
        font-size: var(--app-font-size-p-m);
    }
}
.notfound-content__txt {
    font-size: var(--app-font-size-h-xl);
    font-weight: 500;
    line-height: var(--app-line-height-l);
}
.notfound-content__link {
    margin-top: var(--app-spacing-2xl);
    font-family: var(--app-font-family-en);
}
@media only screen and (width<=55em) {
    .notfound-content__txt {
        font-size: var(--app-font-size-h-l);
    }
    .notfound-content__link {
        margin-top: var(--app-spacing-l);
    }
}
.author-detail__ttl {
    font-size: var(--app-font-size-h-xl);
    margin-bottom: 2em;
    font-weight: 700;
}
@media only screen and (width<=55em) {
    .author-detail__ttl {
        font-size: var(--app-font-size-h-l);
    }
}
