@charset "UTF-8";

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

html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    overflow-x: auto;
    overflow-y: scroll;
    /* background: fixed url(../images/common/bg.png) repeat 50% 50%; */
    font-size: calc(.0069444444 * var(--vw) * 100);
    line-height: 1.15
}

body {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
    visibility: visible !important;
    margin: 0;
    text-align: left;
    text-rendering: optimizeLegibility
}

main {
    display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
    margin: 0
}

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

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

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    margin: 0;
    clear: both;
    overflow: visible;
    border-top-width: 1px;
    color: inherit
}

pre {
    font-size: inherit;
    font-family: monospace, monospace
}

address {
    font-style: inherit
}

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

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-size: inherit;
    font-family: monospace, monospace
}

small {
    font-size: 80%
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em;
    vertical-align: baseline
}

sup {
    top: -.5em;
    top: 0;
    font-size: inherit
}

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

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

[type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox
}

[type=radio] {
    -webkit-appearance: radio;
    appearance: radio
}

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

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

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    min-width: 0;
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    min-height: 30.4rem;
    overflow: auto
}

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

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

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

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

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

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

@keyframes hover-arrow-right {
    0% {
        transform: translate(0, 0);
        opacity: 1
    }

    40% {
        transform: translate(30%, 0);
        opacity: 0
    }

    41% {
        transform: translate(-30%, 0);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes hover-arrow-down {
    0% {
        transform: translate(0, 0);
        opacity: 1
    }

    40% {
        transform: translate(0, 60%);
        opacity: 0
    }

    41% {
        transform: translate(0, -60%);
        opacity: 0
    }

    100% {
        transform: translate(0, 0);
        opacity: 1
    }
}

@keyframes hover-line {
    0% {
        transform: scale(1, 1);
        transform-origin: right top
    }

    40% {
        transform: scale(0, 1);
        transform-origin: right top
    }

    41% {
        transform: scale(0, 1);
        transform-origin: left top
    }

    100% {
        transform: scale(1, 1);
        transform-origin: left top
    }
}

.js_winu_outer {
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh
}

.js_winu_inner {
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_winu_svh {
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 100svh
}

.js-ScrollFocus_inner {
    position: relative;
    min-height: 100%;
    padding: 1px 0 1px
}

.js_winu_scrollChecker {
    position: fixed;
    width: 100px;
    height: 100px;
    overflow-y: scroll;
    opacity: 0;
    pointer-events: none
}

.js_winu_scrollCheckerInner {
    height: 200px
}

.js_guide {
    z-index: 9999999;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: auto;
    mix-blend-mode: difference;
    pointer-events: none
}

.js_guide.is_hidden {
    display: none
}

.js_guide_img {
    display: inline-block;
    position: relative;
    opacity: .2
}

.js_guide_img:after {
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #0cf;
    content: ""
}

.js_guide_ui {
    z-index: 10000000;
    position: fixed;
    top: 50%;
    right: 10px;
    font-size: 10px;
    line-height: 1.5;
    text-align: right;
    opacity: .6
}

.js_guide_ui button {
    margin-bottom: 3px;
    padding: 0 6px;
    border: 1px solid #ccc;
    border-radius: 2px;
    background: #eee;
    color: #000;
    font-family: sans-serif !important;
    cursor: pointer
}

.js_guide_ui button:hover {
    background: #000;
    color: #fff
}

.js_guide_ui button.is_alert {
    background: #c80000;
    color: #fff;
    font-weight: 700 !important;
    opacity: 1
}

.js_guide_ui input[type=text] {
    width: 105px;
    border-width: 1px;
    background: #ccc;
    font-size: 10px
}

.js_guide_ui input[type=text]:focus {
    background: red;
    color: #fff
}

.js_logger {
    z-index: 999999;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 350px;
    background: rgba(0, 0, 0, .5);
    color: #fff
}

.js_logger_inner {
    padding: 5px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap
}

.js_logger_close {
    position: absolute;
    top: 0;
    right: 0
}

.js_winu_orientation {
    display: none
}

.js_copy {
    visibility: hidden;
    position: relative;
    margin-bottom: -1px;
    overflow: hidden
}

.js_copy canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_copy.is_visible {
    visibility: visible
}

.js_copy_text {
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0
}

.js_copy_textItem {
    position: relative
}

.js_copy_textItem img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_intro {
    color: var(--top-ui-color);
    text-align: left
}

.js_intro_back {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh
}

.js_intro_backBaseInner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(var(--back-base-scale-x, 1), var(--back-base-scale-y, 1));
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 2px;
    opacity: 0;
    transition: transform 0s cubic-bezier(.77, 0, .175, 1) .4s, opacity .4s ease-out
}

.is_fact .js_intro_backBaseInner {
    transform: scale(1, 1);
    opacity: 1;
    transition: transform 1.2s cubic-bezier(.77, 0, .175, 1) .4s, opacity 0s
}

.js_intro_backContainer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_intro_former {
    position: relative
}

.js_intro_section[data-last] {
    position: relative;
    height: 100vh
}

.js_intro_mov {
    position: absolute;
    top: 50%;
    left: 50%;
    width: var(--video-w);
    height: var(--video-h);
    margin-top: calc(var(--video-h) * -.5);
    margin-left: calc(var(--video-w) * -.5);
    background-position: center;
    background-size: cover
}

.js_intro_mov video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.html_notPlayable .js_intro_mov video {
    display: none
}

.js_intro_mov img {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.html_notPlayable .js_intro_mov img {
    display: block
}

.js_intro_movMix {
    visibility: hidden;
    overflow: hidden;
    -webkit-mask-position: 0 350%;
    mask-position: 0 350%;
    -webkit-mask-size: 100% 500%;
    mask-size: 100% 500%
}

.js_intro_movMix.is_visible {
    visibility: visible
}

.js_intro_movMix.is_transition {
    transition: -webkit-mask-position .7s cubic-bezier(.455, .03, .515, .955);
    transition: mask-position .7s cubic-bezier(.455, .03, .515, .955);
    transition: mask-position .7s cubic-bezier(.455, .03, .515, .955), -webkit-mask-position .7s cubic-bezier(.455, .03, .515, .955)
}

.js_intro_movMix,
.js_intro_movMix[data-clip-dir="1"] {
    -webkit-mask-position: 0 250%;
    mask-position: 0 250%
}

.js_intro_movMix[data-clip-dir="0"] {
    -webkit-mask-position: 0 300%;
    mask-position: 0 300%
}

.js_intro_movMix[data-clip-dir="0"].__full {
    transition: -webkit-mask-position 1s cubic-bezier(.455, .03, .515, .955);
    transition: mask-position 1s cubic-bezier(.455, .03, .515, .955);
    transition: mask-position 1s cubic-bezier(.455, .03, .515, .955), -webkit-mask-position 1s cubic-bezier(.455, .03, .515, .955)
}

.js_intro_movMix[data-clip-dir="-1"] {
    -webkit-mask-position: 0 350%;
    mask-position: 0 350%
}

.js_intro_movMix.is_fadeOut {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 0;
    transition: opacity .2s ease-in-out !important
}

.html_simpleMode .js_intro_movMix {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 0;
    transition: opacity .2s ease-in-out !important
}

.html_simpleMode .js_intro_movMix[data-clip-dir="0"] {
    opacity: 1;
    transition: opacity .9s ease-in-out !important
}

.js_intro_movMix.__full {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_intro_movMix.__inset {
    border-radius: 2px
}

.js_intro_movLine {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .1s linear, visibility 0s linear .1s
}

.js_intro_movLine.is_autoShow {
    visibility: visible;
    opacity: 1;
    transition: none
}

.html_simpleMode .js_intro_movLine {
    transition: none !important
}

.js_intro_downButton,
.js_intro_fvDesc {
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease-out
}

.html_bitScrolled .js_intro_downButton,
.html_bitScrolled .js_intro_fvDesc {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .6s ease-in-out 120ms
}

.js_intro_fvAttention,
.js_intro_fvNews {
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease-out
}

.html_notBitScrolled .js_intro_fvAttention,
.html_notBitScrolled .js_intro_fvNews {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .6s ease-in-out 120ms
}

.js_intro_fvLogo,
.js_intro_loading {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .6s ease-in-out 120ms
}

.html_bitScrolled .js_intro_fvLogo,
.html_bitScrolled .js_intro_loading {
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease-out
}

.js_intro_fv {
    position: relative
}

.js_intro_fvCopy {
    position: relative;
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.js_intro_fvCopyInner {
    white-space: nowrap
}

.js_intro_fvCopyInner span {
    position: relative;
    opacity: 0
}

.js_intro_fvCopyInner span i {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .8)
}

.js_intro_fvCopyInner span b {
    display: inline-block;
    position: relative;
    transform: translate(30%, 0);
    opacity: 0
}

.js_intro_fvCopyInner span.is_show {
    opacity: 1;
    transition: opacity .1s ease-out
}

.js_intro_fvCopyInner span.is_show i {
    opacity: 0;
    transition: opacity .2s ease-in-out .1s
}

.js_intro_fvCopyInner span.is_show b {
    transform: translate(0, 0);
    opacity: 1;
    transition: opacity .2s ease-in-out .1s, transform .5s cubic-bezier(.165, .84, .44, 1) .1s
}

.js_intro_fvDesc {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.js_intro_fvLogo {
    position: fixed !important
}

.js_intro_fvLogo svg {
    fill: #000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_intro.is_started .js_intro_fvLogo svg {
    fill: #fff;
    transition: fill .9s ease-in-out
}

.js_intro_fvNews {
    display: flex;
    position: fixed
}

.js_intro_fvNews>* {
    opacity: 1;
    transition: opacity .9s cubic-bezier(.165, .84, .44, 1)
}

.js_intro_fvNews:hover>* {
    opacity: .6;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

.js_intro_fvNewsDate {
    position: relative;
    font-weight: 700;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.js_intro_fvNewsTitle {
    overflow: hidden;
    /* font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
    text-overflow: ellipsis;
    white-space: nowrap
}

.js_intro_fvAttention,
.js_intro_loading {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden
}

.js_intro_loadingInner {
    position: relative;
    width: 100%;
    height: 1px;
    transform: scale(0, 1);
    transform-origin: left top !important;
    background-color: #000;
    pointer-events: none;
    transition: transform 3.2s cubic-bezier(.455, .03, .515, .955)
}

.js_intro_loadingInner.is_progress {
    transform: scale(.9, 1)
}

.js_intro.is_started .js_intro_loadingInner {
    transform: scale(1, 1);
    opacity: 0;
    transition: transform .5s cubic-bezier(.165, .84, .44, 1), opacity .2s ease-in-out .5s
}

.js_intro_down {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    transition: opacity .3s ease-in-out
}

.js_intro.is_last .js_intro_down {
    opacity: 0;
    pointer-events: none
}

.js_intro_downInner {
    position: sticky;
    top: 0;
    right: 0;
    height: 100vh;
    height: calc(var(--vh-variable, 1vh) * 100)
}

.js_intro_downButton {
    position: absolute;
    background-image: linear-gradient(to right, var(--top-ui-color), var(--top-ui-color) 1px, transparent 1px, transparent 3px);
    background-position: left bottom;
    background-size: 4px 1px;
    background-repeat: repeat-x
}

.js_intro_downButton svg {
    fill: var(--top-ui-color);
    position: absolute
}

.js_intro_downButton:hover svg {
    animation: hover-arrow-down 280ms cubic-bezier(.165, .84, .44, 1)
}

.js_intro_fact {
    position: relative
}

.js_intro_factUi {
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity .1s ease-out 0s, visibility .5s
}

.js_intro.is_fact .js_intro_factUi {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: opacity .6s ease-in-out .4s, visibility 0s
}

.js_intro_factHead {
    position: absolute
}

.js_intro_factNumCurrent {
    position: absolute;
    overflow: hidden;
    font-weight: 600;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.js_intro_factNumCurrentInner {
    position: relative
}

.js_intro_factNumCurrentItem {
    position: relative
}

.js_intro_factNumCurrentItem:first-child {
    letter-spacing: .1em
}

.js_intro_factNumTotal {
    position: absolute;
    overflow: hidden;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    text-indent: -999px
}

.js_intro_factNumTotal svg {
    fill: var(--top-ui-color);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.js_intro_factDot {
    position: absolute;
    font-size: 0
}

.js_intro_factDotItemButton {
    position: relative;
    border-radius: 50%
}

.js_intro_factDotItemButton.is_active {
    background-color: var(--top-ui-color)
}

.js_intro_factPage {
    position: absolute;
    opacity: var(--section-opacity, 1)
}

.js_intro_factTitle {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    white-space: nowrap
}

.js_intro_factTitle span {
    display: inline-block;
    position: relative;
    transform: translate(80%, 0);
    opacity: 0
}

.js_intro_factTitle span.is_visible {
    transform: translate(0, 0);
    opacity: 1;
    transition: opacity 240ms ease-in-out, transform 480ms cubic-bezier(.19, 1, .22, 1)
}

.js_intro_factDesc {
    position: relative;
    font-family: "ゴシックMB101 M", "Gothic MB101 Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    opacity: 0
}

.js_intro_factDesc.is_visible {
    opacity: 1;
    transition: opacity .6s ease-in-out 0s
}

.js_intro_end {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    width: 100%;
    height: 100%
}

.js_intro_endText {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    opacity: var(--section-opacity, 1)
}

.js_scrollAttention {
    display: block;
    position: relative;
    width: 100%;
    cursor: pointer
}

.js_scrollAttention_line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, .4)
}

.js_scrollAttention_line:after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    background-color: #fff;
    content: ""
}

.js_scrollAttention.is_anime .js_scrollAttention_line:after {
    animation: js_scrollAttention_line 2s infinite cubic-bezier(.77, 0, .175, 1)
}

@keyframes js_scrollAttention_line {
    0% {
        transform: scale(0, 1);
        transform-origin: left top
    }

    40% {
        transform: scale(1, 1);
        transform-origin: left top
    }

    41% {
        transform: scale(1, 1);
        transform-origin: right top
    }

    100% {
        transform: scale(0, 1);
        transform-origin: right top
    }
}

.js_scrollAttention_arw {
    position: absolute;
    font-size: 0
}

.js_scrollAttention.is_anime .js_scrollAttention_arw {
    animation: js_scrollAttention_arw 1s infinite cubic-bezier(.77, 0, .175, 1) 1.2s
}

@keyframes js_scrollAttention_arw {
    0% {
        transform: translate(0, 0);
        opacity: 1
    }

    20% {
        transform: translate(0, 100%);
        opacity: 0
    }

    21% {
        transform: translate(0, -100%);
        opacity: 0
    }

    100%,
    40% {
        transform: translate(0, 0);
        opacity: 1
    }
}

.js_scrollAttention_label {
    position: absolute;
    font-weight: 700;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.js_scrollAttention_circle {
    position: absolute;
    border-radius: 50%
}

.js_scrollAttention_circle:after,
.js_scrollAttention_circle:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    content: "";
    opacity: 0
}

.js_scrollAttention_circle:before {
    background-color: rgba(255, 255, 255, 0)
}

.js_scrollAttention.is_strong .js_scrollAttention_circle:before {
    background-color: #fff;
    transition: background-color .2s ease-out
}

.js_scrollAttention.is_anime .js_scrollAttention_circle:before {
    animation: js_scrollAttention_circle 2s infinite cubic-bezier(.165, .84, .44, 1) .2s
}

.html_onceScrolled .js_scrollAttention_circle:before {
    display: none
}

.js_scrollAttention_circle:after {
    transform: scale(0);
    opacity: 0;
    transition: opacity .2s cubic-bezier(.165, .84, .44, 1), transform .4s cubic-bezier(.77, 0, .175, 1)
}

.js_scrollAttention:hover .js_scrollAttention_circle:after {
    transform: scale(.9);
    opacity: .15;
    transition: all .4s cubic-bezier(.165, .84, .44, 1)
}

@keyframes js_scrollAttention_circle {

    0%,
    20% {
        transform: scale(0);
        opacity: .99
    }

    100% {
        transform: scale(1.2);
        opacity: 0
    }
}

.js_snap {
    position: relative
}

html.os-android .js_snap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll
}

.js_snap_section {
    display: flex;
    position: relative;
    align-items: flex-end;
    min-height: 100vh
}

.js_snap_section.__fv {
    min-height: calc(var(--vh, 1vh) * 100)
}

html.os-android .js_snap_section {
    min-height: calc(var(--vh, 1vh) * 100)
}

.js_snap_sectionInner {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh-variable, 1vh) * 100)
}

.js_snap_section.__fv .js_snap_sectionInner {
    min-height: calc(var(--vh, 1vh) * 100)
}

html.os-android .js_snap_sectionInner {
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100)
}

::selection {
    background-color: #0021ff;
    color: #fff
}

::-moz-selection {
    background-color: #0021ff;
    color: #fff
}

/* @font-face {
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/HelveticaNowMicroRegular/font1.woff2) format("woff2"), url(../fonts/HelveticaNowMicroRegular/font1.woff) format("woff");
    font-family: HelveticaNowMicro
}

@font-face {
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/HelveticaNowMicroMedium/font1.woff2) format("woff2"), url(../fonts/HelveticaNowMicroMedium/font1.woff) format("woff");
    font-family: HelveticaNowMicro
}

@font-face {
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/HelveticaNowMicroBold/font1.woff2) format("woff2"), url(../fonts/HelveticaNowMicroBold/font1.woff) format("woff");
    font-family: HelveticaNowMicro
}

@font-face {
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/HelveticaNowDisplayRegular/font1.woff2) format("woff2"), url(../fonts/HelveticaNowDisplayRegular/font1.woff) format("woff");
    font-family: HelveticaNowDisplay
}

@font-face {
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/HelveticaNowDisplayMedium/font1.woff2) format("woff2"), url(../fonts/HelveticaNowDisplayMedium/font1.woff) format("woff");
    font-family: HelveticaNowDisplay
}

@font-face {
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/HelveticaNowDisplayBold/font1.woff2) format("woff2"), url(../fonts/HelveticaNowDisplayBold/font1.woff) format("woff");
    font-family: HelveticaNowDisplay
}

@font-face {
    font-style: italic;
    font-weight: 700;
    src: url(../fonts/HelveticaNowDisplayBoldItalic/font1.woff2) format("woff2"), url(../fonts/HelveticaNowDisplayBoldItalic/font1.woff) format("woff");
    font-family: HelveticaNowDisplay
} */

a.underline {
    text-decoration: underline
}

a.primary {
    color: get-color("bk")
}

.device-desktop a[href*=tel] {
    text-decoration: none !important;
    pointer-events: none
}

img {
    width: 100%;
    height: auto
}

.device-touch img {
    pointer-events: none
}

img,
svg {
    vertical-align: bottom
}

figure.round {
    overflow: hidden
}

figure .no_image {
    position: relative
}

figure .no_image::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "Coming soon";
    color: #fff;
    font-size: 4rem;
    white-space: nowrap
}

figure.square>* {
    width: 100%;
    height: 100%
}

figure.square img {
    object-fit: cover
}

form {
    text-align: left
}

.select_wrap select,
input[type=number],
input[type=text],
textarea {
    width: 100%;
    padding: 3rem 3rem;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    border-radius: 0;
    outline: 0;
    background-color: #fff;
    box-shadow: none;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.select_wrap select.font__info::after,
input.font__info[type=number]::after,
input.font__info[type=text]::after,
textarea.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.select_wrap select::placeholder,
input[type=number]::placeholder,
input[type=text]::placeholder,
textarea::placeholder {
    color: #000;
    opacity: .5;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

.select_wrap select:focus::placeholder,
input[type=number]:focus::placeholder,
input[type=text]:focus::placeholder,
textarea:focus::placeholder {
    opacity: 0
}

input,
select,
/* textarea {
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important
} */

input {
    -webkit-appearance: none !important;
    appearance: none !important
}

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

button {
    outline: 0 !important
}

.select_wrap {
    position: relative
}

.select_wrap select:not(.valid) {
    color: rgba(0, 0, 0, .5)
}

.select_wrap select option[value=""] {
    display: none
}

.check_wrap {
    display: inline-block
}

.check_wrap label {
    column-gap: 1rem;
    margin-bottom: 0 !important;
    cursor: pointer
}

.check_wrap label input {
    position: absolute;
    width: 0;
    height: 0
}

.check_wrap label input:checked+.icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.2rem;
    height: 1.2rem;
    transform: translate(-50%, -50%);
    background-color: #0021ff;
    content: ""
}

.check_wrap label .icon {
    position: relative;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid #000;
    border-radius: .2rem
}

.check_wrap label .label {
    position: relative
}

.check_wrap label .label span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.check_wrap label .label span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.check_wrap label:has(>.error)::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 1.8rem;
    height: 1.8rem;
    transform: translate(0, -50%);
    border: 2px solid #0021ff;
    content: "";
    pointer-events: none
}

:has(>.error) {
    position: relative
}

:has(>.error)::before {
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 3px solid #0021ff;
    content: "";
    pointer-events: none
}

.error_message {
    margin-top: 2.1rem
}

.error_message span {
    margin-top: -.65rem;
    margin-bottom: -.65rem;
    color: #0021ff;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.error_message span.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

button[type=submit] {
    display: flex;
    align-items: center;
    width: 100%;
    height: 14rem;
    padding: 0 4.2rem;
    background-color: #000;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.005;
    letter-spacing: .06em
}

button[type=submit].font__info::after {
    display: block;
    content: "(18 / 18.09 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

button[type=submit].over {
    background-color: #0021ff
}

@keyframes blink {
    0% {
        opacity: .7
    }

    100% {
        opacity: 1
    }
}

@keyframes btn-hover {
    0% {
        transform: scale(1.02)
    }

    100% {
        transform: scale(1)
    }
}

@keyframes loading {
    0% {
        opacity: 1
    }

    20% {
        opacity: .5
    }

    100% {
        opacity: 1
    }
}

:root {
    --vw: 1vw;
    --vh: 1vh;
    --ui-color: #000000;
    --menu-color: #000000;
    --splash-color: #ffffff;
    --txt-base-color: #000000;
    --txt-key-color: #0021ff;
    --underline-color: rgba(0, 0, 0, 0.5);
    --type-1--intro-color: inherit;
    --top-ui-color: #FFF
}

body,
html {
    margin: 0;
    padding: 0
}

html.os-android.snap,
html.os-android.snap body {
    height: 100%;
    overflow: hidden !important
}

body.typesquare_option {
    opacity: 1 !important
}

.inner {
    padding-right: 0 !important;
    padding: 0 100px !important;
    box-sizing: border-box;
    width: 100%;
}

.font--num.hidden {
    position: absolute;
    top: -9999px;
    pointer-events: none
}

.block {
    display: block
}

.none {
    display: none
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.flex__row {
    flex-direction: row
}

.flex__row--reverse {
    flex-direction: row-reverse
}

.flex__column {
    flex-direction: column
}

.flex__column--reverse {
    flex-direction: column-reverse
}

.flex__wrap {
    flex-wrap: wrap
}

.flex__ew>* {
    flex: 1
}

.items__center {
    align-items: center
}

.items__start {
    align-items: flex-start
}

.items__end {
    align-items: flex-end
}

.justify__center {
    justify-content: center
}

.justify__start {
    justify-content: flex-start
}

.justify__end {
    justify-content: flex-end
}

.justify__sb {
    justify-content: space-between
}

.justify__sa {
    justify-content: space-around
}

.hidden {
    visibility: hidden
}

.visible {
    visibility: visible
}

.overflow__a--auto {
    overflow: auto
}

.overflow__a--visible {
    overflow: visible
}

.overflow__a--scroll {
    overflow: scroll
}

.overflow__a--hidden {
    overflow: hidden
}

.overflow__x--auto {
    overflow-x: auto
}

.overflow__x--visible {
    overflow-x: visible
}

.overflow__x--scroll {
    overflow-x: scroll
}

.overflow__x--hidden {
    overflow-x: hidden
}

.overflow__y--auto {
    overflow-y: auto
}

.overflow__y--visible {
    overflow-y: visible
}

.overflow__y--scroll {
    overflow-y: scroll
}

.overflow__y--hidden {
    overflow-y: hidden
}

.col__2>* {
    width: 50%
}

.col__3>* {
    width: 33.3333333333%
}

.col__4>* {
    width: 25%
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.static {
    position: static
}

.sticky {
    position: sticky
}

.full__w {
    width: 100%
}

.full__w--v {
    width: 100%
}

.full__h {
    height: 100%
}

.full__h--v {
    height: calc(var(--vh) * 100)
}

.fit {
    width: 100%;
    height: 100%
}

.fit--v {
    width: 100%;
    height: calc(var(--vh) * 100)
}

.w__140 {
    width: 14rem
}

.w__272 {
    width: 27.2rem
}

.w__302 {
    width: 30.2rem
}

.w__468 {
    width: 46.8rem
}

.w__505 {
    width: 50.5rem
}

.w__632 {
    width: 63.2rem
}

.w__800 {
    width: 80rem
}

.w__964 {
    width: 96.4rem
}

.development .mb__5x10::after,
.development .mb__5x11::after,
.development .mb__5x12::after,
.development .mb__5x1::after,
.development .mb__5x2::after,
.development .mb__5x3::after,
.development .mb__5x4::after,
.development .mb__5x5::after,
.development .mb__5x6::after,
.development .mb__5x8::after,
.development .mb__7x10::after,
.development .mb__7x11::after,
.development .mb__7x12::after,
.development .mb__7x13::after,
.development .mb__7x14::after,
.development .mb__7x16::after,
.development .mb__7x18::after,
.development .mb__7x1::after,
.development .mb__7x20::after,
.development .mb__7x22::after,
.development .mb__7x24::after,
.development .mb__7x26::after,
.development .mb__7x2::after,
.development .mb__7x30::after,
.development .mb__7x34::after,
.development .mb__7x36::after,
.development .mb__7x38::after,
.development .mb__7x3::after,
.development .mb__7x49::after,
.development .mb__7x4::after,
.development .mb__7x52::after,
.development .mb__7x60::after,
.development .mb__7x63::after,
.development .mb__7x6::after,
.development .mb__7x8::after,
.development .mt__5x10::before,
.development .mt__5x11::before,
.development .mt__5x12::before,
.development .mt__5x1::before,
.development .mt__5x2::before,
.development .mt__5x3::before,
.development .mt__5x4::before,
.development .mt__5x5::before,
.development .mt__5x6::before,
.development .mt__5x8::before,
.development .mt__7x10::before,
.development .mt__7x11::before,
.development .mt__7x12::before,
.development .mt__7x13::before,
.development .mt__7x14::before,
.development .mt__7x16::before,
.development .mt__7x18::before,
.development .mt__7x1::before,
.development .mt__7x20::before,
.development .mt__7x22::before,
.development .mt__7x24::before,
.development .mt__7x26::before,
.development .mt__7x2::before,
.development .mt__7x30::before,
.development .mt__7x34::before,
.development .mt__7x36::before,
.development .mt__7x38::before,
.development .mt__7x3::before,
.development .mt__7x49::before,
.development .mt__7x4::before,
.development .mt__7x52::before,
.development .mt__7x60::before,
.development .mt__7x63::before,
.development .mt__7x6::before,
.development .mt__7x8::before {
    display: flex;
    position: absolute;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    background-color: rgba(204, 204, 204, .2);
    color: rgba(204, 204, 204, .8);
    font-family: HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.mt__auto {
    margin-top: auto !important
}

.mt__none {
    margin-top: 0 !important
}

.mt__5x1 {
    margin-top: .5rem !important
}

.development .mt__5x1 {
    position: relative
}

.development .mt__5x1::before {
    top: -.5rem;
    height: .5rem;
    content: "5 (5)"
}

.mt__5x2 {
    margin-top: 1rem !important
}

.development .mt__5x2 {
    position: relative
}

.development .mt__5x2::before {
    top: -1rem;
    height: 1rem;
    content: "5 (10)"
}

.mt__5x3 {
    margin-top: 1.5rem !important
}

.development .mt__5x3 {
    position: relative
}

.development .mt__5x3::before {
    top: -1.5rem;
    height: 1.5rem;
    content: "5 (15)"
}

.mt__5x4 {
    margin-top: 2rem !important
}

.development .mt__5x4 {
    position: relative
}

.development .mt__5x4::before {
    top: -2rem;
    height: 2rem;
    content: "5 (20)"
}

.mt__5x5 {
    margin-top: 2.5rem !important
}

.development .mt__5x5 {
    position: relative
}

.development .mt__5x5::before {
    top: -2.5rem;
    height: 2.5rem;
    content: "5 (25)"
}

.mt__5x6 {
    margin-top: 3rem !important
}

.development .mt__5x6 {
    position: relative
}

.development .mt__5x6::before {
    top: -3rem;
    height: 3rem;
    content: "5 (30)"
}

.mt__5x8 {
    margin-top: 4rem !important
}

.development .mt__5x8 {
    position: relative
}

.development .mt__5x8::before {
    top: -4rem;
    height: 4rem;
    content: "5 (40)"
}

.mt__5x10 {
    margin-top: 5rem !important
}

.development .mt__5x10 {
    position: relative
}

.development .mt__5x10::before {
    top: -5rem;
    height: 5rem;
    content: "5 (50)"
}

.mt__5x11 {
    margin-top: 5.5rem !important
}

.development .mt__5x11 {
    position: relative
}

.development .mt__5x11::before {
    top: -5.5rem;
    height: 5.5rem;
    content: "5 (55)"
}

.mt__5x12 {
    margin-top: 6rem !important
}

.development .mt__5x12 {
    position: relative
}

.development .mt__5x12::before {
    top: -6rem;
    height: 6rem;
    content: "5 (60)"
}

.mt__7x1 {
    margin-top: .7rem !important
}

.development .mt__7x1 {
    position: relative
}

.development .mt__7x1::before {
    top: -.7rem;
    height: .7rem;
    content: "7 (7)"
}

.mt__7x2 {
    margin-top: 1.4rem !important
}

.development .mt__7x2 {
    position: relative
}

.development .mt__7x2::before {
    top: -1.4rem;
    height: 1.4rem;
    content: "7 (14)"
}

.mt__7x3 {
    margin-top: 2.1rem !important
}

.development .mt__7x3 {
    position: relative
}

.development .mt__7x3::before {
    top: -2.1rem;
    height: 2.1rem;
    content: "7 (21)"
}

.mt__7x4 {
    margin-top: 2.8rem !important
}

.development .mt__7x4 {
    position: relative
}

.development .mt__7x4::before {
    top: -2.8rem;
    height: 2.8rem;
    content: "7 (28)"
}

.mt__7x6 {
    margin-top: 4.2rem !important
}

.development .mt__7x6 {
    position: relative
}

.development .mt__7x6::before {
    top: -4.2rem;
    height: 4.2rem;
    content: "7 (42)"
}

.mt__7x8 {
    margin-top: 5.6rem !important
}

.development .mt__7x8 {
    position: relative
}

.development .mt__7x8::before {
    top: -5.6rem;
    height: 5.6rem;
    content: "7 (56)"
}

.mt__7x10 {
    margin-top: 7rem !important
}

.development .mt__7x10 {
    position: relative
}

.development .mt__7x10::before {
    top: -7rem;
    height: 7rem;
    content: "7 (70)"
}

.mt__7x11 {
    margin-top: 7.7rem !important
}

.development .mt__7x11 {
    position: relative
}

.development .mt__7x11::before {
    top: -7.7rem;
    height: 7.7rem;
    content: "7 (77)"
}

.mt__7x12 {
    margin-top: 8.4rem !important
}

.development .mt__7x12 {
    position: relative
}

.development .mt__7x12::before {
    top: -8.4rem;
    height: 8.4rem;
    content: "7 (84)"
}

.mt__7x13 {
    margin-top: 9.1rem !important
}

.development .mt__7x13 {
    position: relative
}

.development .mt__7x13::before {
    top: -9.1rem;
    height: 9.1rem;
    content: "7 (91)"
}

.mt__7x14 {
    margin-top: 9.8rem !important
}

.development .mt__7x14 {
    position: relative
}

.development .mt__7x14::before {
    top: -9.8rem;
    height: 9.8rem;
    content: "7 (98)"
}

.mt__7x16 {
    margin-top: 11.2rem !important
}

.development .mt__7x16 {
    position: relative
}

.development .mt__7x16::before {
    top: -11.2rem;
    height: 11.2rem;
    content: "7 (112)"
}

.mt__7x18 {
    margin-top: 12.6rem !important
}

.development .mt__7x18 {
    position: relative
}

.development .mt__7x18::before {
    top: -12.6rem;
    height: 12.6rem;
    content: "7 (126)"
}

.mt__7x20 {
    margin-top: 14rem !important
}

.development .mt__7x20 {
    position: relative
}

.development .mt__7x20::before {
    top: -14rem;
    height: 14rem;
    content: "7 (140)"
}

.mt__7x22 {
    margin-top: 15.4rem !important
}

.development .mt__7x22 {
    position: relative
}

.development .mt__7x22::before {
    top: -15.4rem;
    height: 15.4rem;
    content: "7 (154)"
}

.mt__7x24 {
    margin-top: 16.8rem !important
}

.development .mt__7x24 {
    position: relative
}

.development .mt__7x24::before {
    top: -16.8rem;
    height: 16.8rem;
    content: "7 (168)"
}

.mt__7x26 {
    margin-top: 18.2rem !important
}

.development .mt__7x26 {
    position: relative
}

.development .mt__7x26::before {
    top: -18.2rem;
    height: 18.2rem;
    content: "7 (182)"
}

.mt__7x30 {
    margin-top: 21rem !important
}

.development .mt__7x30 {
    position: relative
}

.development .mt__7x30::before {
    top: -21rem;
    height: 21rem;
    content: "7 (210)"
}

.mt__7x34 {
    margin-top: 23.8rem !important
}

.development .mt__7x34 {
    position: relative
}

.development .mt__7x34::before {
    top: -23.8rem;
    height: 23.8rem;
    content: "7 (238)"
}

.mt__7x36 {
    margin-top: 25.2rem !important
}

.development .mt__7x36 {
    position: relative
}

.development .mt__7x36::before {
    top: -25.2rem;
    height: 25.2rem;
    content: "7 (252)"
}

.mt__7x38 {
    margin-top: 26.6rem !important
}

.development .mt__7x38 {
    position: relative
}

.development .mt__7x38::before {
    top: -26.6rem;
    height: 26.6rem;
    content: "7 (266)"
}

.mt__7x49 {
    margin-top: 34.3rem !important
}

.development .mt__7x49 {
    position: relative
}

.development .mt__7x49::before {
    top: -34.3rem;
    height: 34.3rem;
    content: "7 (343)"
}

.mt__7x52 {
    margin-top: 36.4rem !important
}

.development .mt__7x52 {
    position: relative
}

.development .mt__7x52::before {
    top: -36.4rem;
    height: 36.4rem;
    content: "7 (364)"
}

.mt__7x60 {
    margin-top: 42rem !important
}

.development .mt__7x60 {
    position: relative
}

.development .mt__7x60::before {
    top: -42rem;
    height: 42rem;
    content: "7 (420)"
}

.mt__7x63 {
    margin-top: 44.1rem !important
}

.development .mt__7x63 {
    position: relative
}

.development .mt__7x63::before {
    top: -44.1rem;
    height: 44.1rem;
    content: "7 (441)"
}

.mr__auto {
    margin-right: auto !important
}

.mr__none {
    margin-right: 0 !important
}

.mr__5x1 {
    margin-right: .5rem !important
}

.mr__5x2 {
    margin-right: 1rem !important
}

.mr__5x3 {
    margin-right: 1.5rem !important
}

.mr__5x4 {
    margin-right: 2rem !important
}

.mr__5x5 {
    margin-right: 2.5rem !important
}

.mr__5x6 {
    margin-right: 3rem !important
}

.mr__5x8 {
    margin-right: 4rem !important
}

.mr__5x10 {
    margin-right: 5rem !important
}

.mr__5x11 {
    margin-right: 5.5rem !important
}

.mr__5x12 {
    margin-right: 6rem !important
}

.mr__7x1 {
    margin-right: .7rem !important
}

.mr__7x2 {
    margin-right: 1.4rem !important
}

.mr__7x3 {
    margin-right: 2.1rem !important
}

.mr__7x4 {
    margin-right: 2.8rem !important
}

.mr__7x6 {
    margin-right: 4.2rem !important
}

.mr__7x8 {
    margin-right: 5.6rem !important
}

.mr__7x10 {
    margin-right: 7rem !important
}

.mr__7x11 {
    margin-right: 7.7rem !important
}

.mr__7x12 {
    margin-right: 8.4rem !important
}

.mr__7x13 {
    margin-right: 9.1rem !important
}

.mr__7x14 {
    margin-right: 9.8rem !important
}

.mr__7x16 {
    margin-right: 11.2rem !important
}

.mr__7x18 {
    margin-right: 12.6rem !important
}

.mr__7x20 {
    margin-right: 14rem !important
}

.mr__7x22 {
    margin-right: 15.4rem !important
}

.mr__7x24 {
    margin-right: 16.8rem !important
}

.mr__7x26 {
    margin-right: 18.2rem !important
}

.mr__7x30 {
    margin-right: 21rem !important
}

.mr__7x34 {
    margin-right: 23.8rem !important
}

.mr__7x36 {
    margin-right: 25.2rem !important
}

.mr__7x38 {
    margin-right: 26.6rem !important
}

.mr__7x49 {
    margin-right: 34.3rem !important
}

.mr__7x52 {
    margin-right: 36.4rem !important
}

.mr__7x60 {
    margin-right: 42rem !important
}

.mr__7x63 {
    margin-right: 44.1rem !important
}

.mb__auto {
    margin-bottom: auto !important
}

.mb__none {
    margin-bottom: 0 !important
}

.mb__5x1 {
    margin-bottom: .5rem !important
}

.development .mb__5x1 {
    position: relative
}

.development .mb__5x1::after {
    bottom: -.5rem;
    height: .5rem;
    content: "5x1 (5)"
}

.mb__5x2 {
    margin-bottom: 1rem !important
}

.development .mb__5x2 {
    position: relative
}

.development .mb__5x2::after {
    bottom: -1rem;
    height: 1rem;
    content: "5x2 (10)"
}

.mb__5x3 {
    margin-bottom: 1.5rem !important
}

.development .mb__5x3 {
    position: relative
}

.development .mb__5x3::after {
    bottom: -1.5rem;
    height: 1.5rem;
    content: "5x3 (15)"
}

.mb__5x4 {
    margin-bottom: 2rem !important
}

.development .mb__5x4 {
    position: relative
}

.development .mb__5x4::after {
    bottom: -2rem;
    height: 2rem;
    content: "5x4 (20)"
}

.mb__5x5 {
    margin-bottom: 2.5rem !important
}

.development .mb__5x5 {
    position: relative
}

.development .mb__5x5::after {
    bottom: -2.5rem;
    height: 2.5rem;
    content: "5x5 (25)"
}

.mb__5x6 {
    margin-bottom: 3rem !important
}

.development .mb__5x6 {
    position: relative
}

.development .mb__5x6::after {
    bottom: -3rem;
    height: 3rem;
    content: "5x6 (30)"
}

.mb__5x8 {
    margin-bottom: 4rem !important
}

.development .mb__5x8 {
    position: relative
}

.development .mb__5x8::after {
    bottom: -4rem;
    height: 4rem;
    content: "5x8 (40)"
}

.mb__5x10 {
    margin-bottom: 5rem !important
}

.development .mb__5x10 {
    position: relative
}

.development .mb__5x10::after {
    bottom: -5rem;
    height: 5rem;
    content: "5x10 (50)"
}

.mb__5x11 {
    margin-bottom: 5.5rem !important
}

.development .mb__5x11 {
    position: relative
}

.development .mb__5x11::after {
    bottom: -5.5rem;
    height: 5.5rem;
    content: "5x11 (55)"
}

.mb__5x12 {
    margin-bottom: 6rem !important
}

.development .mb__5x12 {
    position: relative
}

.development .mb__5x12::after {
    bottom: -6rem;
    height: 6rem;
    content: "5x12 (60)"
}

.mb__7x1 {
    margin-bottom: .7rem !important
}

.development .mb__7x1 {
    position: relative
}

.development .mb__7x1::after {
    bottom: -.7rem;
    height: .7rem;
    content: "7x1 (7)"
}

.mb__7x2 {
    margin-bottom: 1.4rem !important
}

.development .mb__7x2 {
    position: relative
}

.development .mb__7x2::after {
    bottom: -1.4rem;
    height: 1.4rem;
    content: "7x2 (14)"
}

.mb__7x3 {
    margin-bottom: 2.1rem !important
}

.development .mb__7x3 {
    position: relative
}

.development .mb__7x3::after {
    bottom: -2.1rem;
    height: 2.1rem;
    content: "7x3 (21)"
}

.mb__7x4 {
    margin-bottom: 2.8rem !important
}

.development .mb__7x4 {
    position: relative
}

.development .mb__7x4::after {
    bottom: -2.8rem;
    height: 2.8rem;
    content: "7x4 (28)"
}

.mb__7x6 {
    margin-bottom: 4.2rem !important
}

.development .mb__7x6 {
    position: relative
}

.development .mb__7x6::after {
    bottom: -4.2rem;
    height: 4.2rem;
    content: "7x6 (42)"
}

.mb__7x8 {
    margin-bottom: 5.6rem !important
}

.development .mb__7x8 {
    position: relative
}

.development .mb__7x8::after {
    bottom: -5.6rem;
    height: 5.6rem;
    content: "7x8 (56)"
}

.mb__7x10 {
    margin-bottom: 7rem !important
}

.development .mb__7x10 {
    position: relative
}

.development .mb__7x10::after {
    bottom: -7rem;
    height: 7rem;
    content: "7x10 (70)"
}

.mb__7x11 {
    margin-bottom: 7.7rem !important
}

.development .mb__7x11 {
    position: relative
}

.development .mb__7x11::after {
    bottom: -7.7rem;
    height: 7.7rem;
    content: "7x11 (77)"
}

.mb__7x12 {
    margin-bottom: 8.4rem !important
}

.development .mb__7x12 {
    position: relative
}

.development .mb__7x12::after {
    bottom: -8.4rem;
    height: 8.4rem;
    content: "7x12 (84)"
}

.mb__7x13 {
    margin-bottom: 9.1rem !important
}

.development .mb__7x13 {
    position: relative
}

.development .mb__7x13::after {
    bottom: -9.1rem;
    height: 9.1rem;
    content: "7x13 (91)"
}

.mb__7x14 {
    margin-bottom: 9.8rem !important
}

.development .mb__7x14 {
    position: relative
}

.development .mb__7x14::after {
    bottom: -9.8rem;
    height: 9.8rem;
    content: "7x14 (98)"
}

.mb__7x16 {
    margin-bottom: 11.2rem !important
}

.development .mb__7x16 {
    position: relative
}

.development .mb__7x16::after {
    bottom: -11.2rem;
    height: 11.2rem;
    content: "7x16 (112)"
}

.mb__7x18 {
    margin-bottom: 12.6rem !important
}

.development .mb__7x18 {
    position: relative
}

.development .mb__7x18::after {
    bottom: -12.6rem;
    height: 12.6rem;
    content: "7x18 (126)"
}

.mb__7x20 {
    margin-bottom: 14rem !important
}

.development .mb__7x20 {
    position: relative
}

.development .mb__7x20::after {
    bottom: -14rem;
    height: 14rem;
    content: "7x20 (140)"
}

.mb__7x22 {
    margin-bottom: 15.4rem !important
}

.development .mb__7x22 {
    position: relative
}

.development .mb__7x22::after {
    bottom: -15.4rem;
    height: 15.4rem;
    content: "7x22 (154)"
}

.mb__7x24 {
    margin-bottom: 16.8rem !important
}

.development .mb__7x24 {
    position: relative
}

.development .mb__7x24::after {
    bottom: -16.8rem;
    height: 16.8rem;
    content: "7x24 (168)"
}

.mb__7x26 {
    margin-bottom: 18.2rem !important
}

.development .mb__7x26 {
    position: relative
}

.development .mb__7x26::after {
    bottom: -18.2rem;
    height: 18.2rem;
    content: "7x26 (182)"
}

.mb__7x30 {
    margin-bottom: 21rem !important
}

.development .mb__7x30 {
    position: relative
}

.development .mb__7x30::after {
    bottom: -21rem;
    height: 21rem;
    content: "7x30 (210)"
}

.mb__7x34 {
    margin-bottom: 23.8rem !important
}

.development .mb__7x34 {
    position: relative
}

.development .mb__7x34::after {
    bottom: -23.8rem;
    height: 23.8rem;
    content: "7x34 (238)"
}

.mb__7x36 {
    margin-bottom: 25.2rem !important
}

.development .mb__7x36 {
    position: relative
}

.development .mb__7x36::after {
    bottom: -25.2rem;
    height: 25.2rem;
    content: "7x36 (252)"
}

.mb__7x38 {
    margin-bottom: 26.6rem !important
}

.development .mb__7x38 {
    position: relative
}

.development .mb__7x38::after {
    bottom: -26.6rem;
    height: 26.6rem;
    content: "7x38 (266)"
}

.mb__7x49 {
    margin-bottom: 34.3rem !important
}

.development .mb__7x49 {
    position: relative
}

.development .mb__7x49::after {
    bottom: -34.3rem;
    height: 34.3rem;
    content: "7x49 (343)"
}

.mb__7x52 {
    margin-bottom: 36.4rem !important
}

.development .mb__7x52 {
    position: relative
}

.development .mb__7x52::after {
    bottom: -36.4rem;
    height: 36.4rem;
    content: "7x52 (364)"
}

.mb__7x60 {
    margin-bottom: 42rem !important
}

.development .mb__7x60 {
    position: relative
}

.development .mb__7x60::after {
    bottom: -42rem;
    height: 42rem;
    content: "7x60 (420)"
}

.mb__7x63 {
    margin-bottom: 44.1rem !important
}

.development .mb__7x63 {
    position: relative
}

.development .mb__7x63::after {
    bottom: -44.1rem;
    height: 44.1rem;
    content: "7x63 (441)"
}

.ml__auto {
    margin-left: auto !important
}

.ml__none {
    margin-left: 0 !important
}

.ml__5x1 {
    margin-left: .5rem !important
}

.ml__5x2 {
    margin-left: 1rem !important
}

.ml__5x3 {
    margin-left: 1.5rem !important
}

.ml__5x4 {
    margin-left: 2rem !important
}

.ml__5x5 {
    margin-left: 2.5rem !important
}

.ml__5x6 {
    margin-left: 3rem !important
}

.ml__5x8 {
    margin-left: 4rem !important
}

.ml__5x10 {
    margin-left: 5rem !important
}

.ml__5x11 {
    margin-left: 5.5rem !important
}

.ml__5x12 {
    margin-left: 6rem !important
}

.ml__7x1 {
    margin-left: .7rem !important
}

.ml__7x2 {
    margin-left: 1.4rem !important
}

.ml__7x3 {
    margin-left: 2.1rem !important
}

.ml__7x4 {
    margin-left: 2.8rem !important
}

.ml__7x6 {
    margin-left: 4.2rem !important
}

.ml__7x8 {
    margin-left: 5.6rem !important
}

.ml__7x10 {
    margin-left: 7rem !important
}

.ml__7x11 {
    margin-left: 7.7rem !important
}

.ml__7x12 {
    margin-left: 8.4rem !important
}

.ml__7x13 {
    margin-left: 9.1rem !important
}

.ml__7x14 {
    margin-left: 9.8rem !important
}

.ml__7x16 {
    margin-left: 11.2rem !important
}

.ml__7x18 {
    margin-left: 12.6rem !important
}

.ml__7x20 {
    margin-left: 14rem !important
}

.ml__7x22 {
    margin-left: 15.4rem !important
}

.ml__7x24 {
    margin-left: 16.8rem !important
}

.ml__7x26 {
    margin-left: 18.2rem !important
}

.ml__7x30 {
    margin-left: 21rem !important
}

.ml__7x34 {
    margin-left: 23.8rem !important
}

.ml__7x36 {
    margin-left: 25.2rem !important
}

.ml__7x38 {
    margin-left: 26.6rem !important
}

.ml__7x49 {
    margin-left: 34.3rem !important
}

.ml__7x52 {
    margin-left: 36.4rem !important
}

.ml__7x60 {
    margin-left: 42rem !important
}

.ml__7x63 {
    margin-left: 44.1rem !important
}

.ma__auto {
    margin: auto !important
}

.ma__none {
    margin: 0 !important
}

.ma__5x1 {
    margin: .5rem !important
}

.ma__5x2 {
    margin: 1rem !important
}

.ma__5x3 {
    margin: 1.5rem !important
}

.ma__5x4 {
    margin: 2rem !important
}

.ma__5x5 {
    margin: 2.5rem !important
}

.ma__5x6 {
    margin: 3rem !important
}

.ma__5x8 {
    margin: 4rem !important
}

.ma__5x10 {
    margin: 5rem !important
}

.ma__5x11 {
    margin: 5.5rem !important
}

.ma__5x12 {
    margin: 6rem !important
}

.ma__7x1 {
    margin: .7rem !important
}

.ma__7x2 {
    margin: 1.4rem !important
}

.ma__7x3 {
    margin: 2.1rem !important
}

.ma__7x4 {
    margin: 2.8rem !important
}

.ma__7x6 {
    margin: 4.2rem !important
}

.ma__7x8 {
    margin: 5.6rem !important
}

.ma__7x10 {
    margin: 7rem !important
}

.ma__7x11 {
    margin: 7.7rem !important
}

.ma__7x12 {
    margin: 8.4rem !important
}

.ma__7x13 {
    margin: 9.1rem !important
}

.ma__7x14 {
    margin: 9.8rem !important
}

.ma__7x16 {
    margin: 11.2rem !important
}

.ma__7x18 {
    margin: 12.6rem !important
}

.ma__7x20 {
    margin: 14rem !important
}

.ma__7x22 {
    margin: 15.4rem !important
}

.ma__7x24 {
    margin: 16.8rem !important
}

.ma__7x26 {
    margin: 18.2rem !important
}

.ma__7x30 {
    margin: 21rem !important
}

.ma__7x34 {
    margin: 23.8rem !important
}

.ma__7x36 {
    margin: 25.2rem !important
}

.ma__7x38 {
    margin: 26.6rem !important
}

.ma__7x49 {
    margin: 34.3rem !important
}

.ma__7x52 {
    margin: 36.4rem !important
}

.ma__7x60 {
    margin: 42rem !important
}

.ma__7x63 {
    margin: 44.1rem !important
}

.mx__auto {
    margin-right: auto !important;
    margin-left: auto !important
}

.mx__none {
    margin-right: 0 !important;
    margin-left: 0 !important
}

.mx__5x1 {
    margin-right: .5rem !important;
    margin-left: .5rem !important
}

.mx__5x2 {
    margin-right: 1rem !important;
    margin-left: 1rem !important
}

.mx__5x3 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important
}

.mx__5x4 {
    margin-right: 2rem !important;
    margin-left: 2rem !important
}

.mx__5x5 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important
}

.mx__5x6 {
    margin-right: 3rem !important;
    margin-left: 3rem !important
}

.mx__5x8 {
    margin-right: 4rem !important;
    margin-left: 4rem !important
}

.mx__5x10 {
    margin-right: 5rem !important;
    margin-left: 5rem !important
}

.mx__5x11 {
    margin-right: 5.5rem !important;
    margin-left: 5.5rem !important
}

.mx__5x12 {
    margin-right: 6rem !important;
    margin-left: 6rem !important
}

.mx__7x1 {
    margin-right: .7rem !important;
    margin-left: .7rem !important
}

.mx__7x2 {
    margin-right: 1.4rem !important;
    margin-left: 1.4rem !important
}

.mx__7x3 {
    margin-right: 2.1rem !important;
    margin-left: 2.1rem !important
}

.mx__7x4 {
    margin-right: 2.8rem !important;
    margin-left: 2.8rem !important
}

.mx__7x6 {
    margin-right: 4.2rem !important;
    margin-left: 4.2rem !important
}

.mx__7x8 {
    margin-right: 5.6rem !important;
    margin-left: 5.6rem !important
}

.mx__7x10 {
    margin-right: 7rem !important;
    margin-left: 7rem !important
}

.mx__7x11 {
    margin-right: 7.7rem !important;
    margin-left: 7.7rem !important
}

.mx__7x12 {
    margin-right: 8.4rem !important;
    margin-left: 8.4rem !important
}

.mx__7x13 {
    margin-right: 9.1rem !important;
    margin-left: 9.1rem !important
}

.mx__7x14 {
    margin-right: 9.8rem !important;
    margin-left: 9.8rem !important
}

.mx__7x16 {
    margin-right: 11.2rem !important;
    margin-left: 11.2rem !important
}

.mx__7x18 {
    margin-right: 12.6rem !important;
    margin-left: 12.6rem !important
}

.mx__7x20 {
    margin-right: 14rem !important;
    margin-left: 14rem !important
}

.mx__7x22 {
    margin-right: 15.4rem !important;
    margin-left: 15.4rem !important
}

.mx__7x24 {
    margin-right: 16.8rem !important;
    margin-left: 16.8rem !important
}

.mx__7x26 {
    margin-right: 18.2rem !important;
    margin-left: 18.2rem !important
}

.mx__7x30 {
    margin-right: 21rem !important;
    margin-left: 21rem !important
}

.mx__7x34 {
    margin-right: 23.8rem !important;
    margin-left: 23.8rem !important
}

.mx__7x36 {
    margin-right: 25.2rem !important;
    margin-left: 25.2rem !important
}

.mx__7x38 {
    margin-right: 26.6rem !important;
    margin-left: 26.6rem !important
}

.mx__7x49 {
    margin-right: 34.3rem !important;
    margin-left: 34.3rem !important
}

.mx__7x52 {
    margin-right: 36.4rem !important;
    margin-left: 36.4rem !important
}

.mx__7x60 {
    margin-right: 42rem !important;
    margin-left: 42rem !important
}

.mx__7x63 {
    margin-right: 44.1rem !important;
    margin-left: 44.1rem !important
}

.my__auto {
    margin-top: auto !important;
    margin-bottom: auto !important
}

.my__none {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.my__5x1 {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important
}

.my__5x2 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important
}

.my__5x3 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important
}

.my__5x4 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important
}

.my__5x5 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important
}

.my__5x6 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important
}

.my__5x8 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important
}

.my__5x10 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important
}

.my__5x11 {
    margin-top: 5.5rem !important;
    margin-bottom: 5.5rem !important
}

.my__5x12 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important
}

.my__7x1 {
    margin-top: .7rem !important;
    margin-bottom: .7rem !important
}

.my__7x2 {
    margin-top: 1.4rem !important;
    margin-bottom: 1.4rem !important
}

.my__7x3 {
    margin-top: 2.1rem !important;
    margin-bottom: 2.1rem !important
}

.my__7x4 {
    margin-top: 2.8rem !important;
    margin-bottom: 2.8rem !important
}

.my__7x6 {
    margin-top: 4.2rem !important;
    margin-bottom: 4.2rem !important
}

.my__7x8 {
    margin-top: 5.6rem !important;
    margin-bottom: 5.6rem !important
}

.my__7x10 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important
}

.my__7x11 {
    margin-top: 7.7rem !important;
    margin-bottom: 7.7rem !important
}

.my__7x12 {
    margin-top: 8.4rem !important;
    margin-bottom: 8.4rem !important
}

.my__7x13 {
    margin-top: 9.1rem !important;
    margin-bottom: 9.1rem !important
}

.my__7x14 {
    margin-top: 9.8rem !important;
    margin-bottom: 9.8rem !important
}

.my__7x16 {
    margin-top: 11.2rem !important;
    margin-bottom: 11.2rem !important
}

.my__7x18 {
    margin-top: 12.6rem !important;
    margin-bottom: 12.6rem !important
}

.my__7x20 {
    margin-top: 14rem !important;
    margin-bottom: 14rem !important
}

.my__7x22 {
    margin-top: 15.4rem !important;
    margin-bottom: 15.4rem !important
}

.my__7x24 {
    margin-top: 16.8rem !important;
    margin-bottom: 16.8rem !important
}

.my__7x26 {
    margin-top: 18.2rem !important;
    margin-bottom: 18.2rem !important
}

.my__7x30 {
    margin-top: 21rem !important;
    margin-bottom: 21rem !important
}

.my__7x34 {
    margin-top: 23.8rem !important;
    margin-bottom: 23.8rem !important
}

.my__7x36 {
    margin-top: 25.2rem !important;
    margin-bottom: 25.2rem !important
}

.my__7x38 {
    margin-top: 26.6rem !important;
    margin-bottom: 26.6rem !important
}

.my__7x49 {
    margin-top: 34.3rem !important;
    margin-bottom: 34.3rem !important
}

.my__7x52 {
    margin-top: 36.4rem !important;
    margin-bottom: 36.4rem !important
}

.my__7x60 {
    margin-top: 42rem !important;
    margin-bottom: 42rem !important
}

.my__7x63 {
    margin-top: 44.1rem !important;
    margin-bottom: 44.1rem !important
}

.pt__auto {
    padding-top: auto !important
}

.pt__none {
    padding-top: 0 !important
}

.pt__5x1 {
    padding-top: .5rem !important
}

.pt__5x2 {
    padding-top: 1rem !important
}

.pt__5x3 {
    padding-top: 1.5rem !important
}

.pt__5x4 {
    padding-top: 2rem !important
}

.pt__5x5 {
    padding-top: 2.5rem !important
}

.pt__5x6 {
    padding-top: 3rem !important
}

.pt__5x8 {
    padding-top: 4rem !important
}

.pt__5x10 {
    padding-top: 5rem !important
}

.pt__5x11 {
    padding-top: 5.5rem !important
}

.pt__5x12 {
    padding-top: 6rem !important
}

.pt__7x1 {
    padding-top: .7rem !important
}

.pt__7x2 {
    padding-top: 1.4rem !important
}

.pt__7x3 {
    padding-top: 2.1rem !important
}

.pt__7x4 {
    padding-top: 2.8rem !important
}

.pt__7x6 {
    padding-top: 4.2rem !important
}

.pt__7x8 {
    padding-top: 5.6rem !important
}

.pt__7x10 {
    padding-top: 7rem !important
}

.pt__7x11 {
    padding-top: 7.7rem !important
}

.pt__7x12 {
    padding-top: 8.4rem !important
}

.pt__7x13 {
    padding-top: 9.1rem !important
}

.pt__7x14 {
    padding-top: 9.8rem !important
}

.pt__7x16 {
    padding-top: 11.2rem !important
}

.pt__7x18 {
    padding-top: 12.6rem !important
}

.pt__7x20 {
    padding-top: 14rem !important
}

.pt__7x22 {
    padding-top: 15.4rem !important
}

.pt__7x24 {
    padding-top: 16.8rem !important
}

.pt__7x26 {
    padding-top: 18.2rem !important
}

.pt__7x30 {
    padding-top: 21rem !important
}

.pt__7x34 {
    padding-top: 23.8rem !important
}

.pt__7x36 {
    padding-top: 25.2rem !important
}

.pt__7x38 {
    padding-top: 26.6rem !important
}

.pt__7x49 {
    padding-top: 34.3rem !important
}

.pt__7x52 {
    padding-top: 36.4rem !important
}

.pt__7x60 {
    padding-top: 42rem !important
}

.pt__7x63 {
    padding-top: 44.1rem !important
}

.pr__auto {
    padding-right: auto !important
}

.pr__none {
    padding-right: 0 !important
}

.pr__5x1 {
    padding-right: .5rem !important
}

.pr__5x2 {
    padding-right: 1rem !important
}

.pr__5x3 {
    padding-right: 1.5rem !important
}

.pr__5x4 {
    padding-right: 2rem !important
}

.pr__5x5 {
    padding-right: 2.5rem !important
}

.pr__5x6 {
    padding-right: 3rem !important
}

.pr__5x8 {
    padding-right: 4rem !important
}

.pr__5x10 {
    padding-right: 5rem !important
}

.pr__5x11 {
    padding-right: 5.5rem !important
}

.pr__5x12 {
    padding-right: 6rem !important
}

.pr__7x1 {
    padding-right: .7rem !important
}

.pr__7x2 {
    padding-right: 1.4rem !important
}

.pr__7x3 {
    padding-right: 2.1rem !important
}

.pr__7x4 {
    padding-right: 2.8rem !important
}

.pr__7x6 {
    padding-right: 4.2rem !important
}

.pr__7x8 {
    padding-right: 5.6rem !important
}

.pr__7x10 {
    padding-right: 7rem !important
}

.pr__7x11 {
    padding-right: 7.7rem !important
}

.pr__7x12 {
    padding-right: 8.4rem !important
}

.pr__7x13 {
    padding-right: 9.1rem !important
}

.pr__7x14 {
    padding-right: 9.8rem !important
}

.pr__7x16 {
    padding-right: 11.2rem !important
}

.pr__7x18 {
    padding-right: 12.6rem !important
}

.pr__7x20 {
    padding-right: 14rem !important
}

.pr__7x22 {
    padding-right: 15.4rem !important
}

.pr__7x24 {
    padding-right: 16.8rem !important
}

.pr__7x26 {
    padding-right: 18.2rem !important
}

.pr__7x30 {
    padding-right: 21rem !important
}

.pr__7x34 {
    padding-right: 23.8rem !important
}

.pr__7x36 {
    padding-right: 25.2rem !important
}

.pr__7x38 {
    padding-right: 26.6rem !important
}

.pr__7x49 {
    padding-right: 34.3rem !important
}

.pr__7x52 {
    padding-right: 36.4rem !important
}

.pr__7x60 {
    padding-right: 42rem !important
}

.pr__7x63 {
    padding-right: 44.1rem !important
}

.pb__auto {
    padding-bottom: auto !important
}

.pb__none {
    padding-bottom: 0 !important
}

.pb__5x1 {
    padding-bottom: .5rem !important
}

.pb__5x2 {
    padding-bottom: 1rem !important
}

.pb__5x3 {
    padding-bottom: 1.5rem !important
}

.pb__5x4 {
    padding-bottom: 2rem !important
}

.pb__5x5 {
    padding-bottom: 2.5rem !important
}

.pb__5x6 {
    padding-bottom: 3rem !important
}

.pb__5x8 {
    padding-bottom: 4rem !important
}

.pb__5x10 {
    padding-bottom: 5rem !important
}

.pb__5x11 {
    padding-bottom: 5.5rem !important
}

.pb__5x12 {
    padding-bottom: 6rem !important
}

.pb__7x1 {
    padding-bottom: .7rem !important
}

.pb__7x2 {
    padding-bottom: 1.4rem !important
}

.pb__7x3 {
    padding-bottom: 2.1rem !important
}

.pb__7x4 {
    padding-bottom: 2.8rem !important
}

.pb__7x6 {
    padding-bottom: 4.2rem !important
}

.pb__7x8 {
    padding-bottom: 5.6rem !important
}

.pb__7x10 {
    padding-bottom: 7rem !important
}

.pb__7x11 {
    padding-bottom: 7.7rem !important
}

.pb__7x12 {
    padding-bottom: 8.4rem !important
}

.pb__7x13 {
    padding-bottom: 9.1rem !important
}

.pb__7x14 {
    padding-bottom: 9.8rem !important
}

.pb__7x16 {
    padding-bottom: 11.2rem !important
}

.pb__7x18 {
    padding-bottom: 12.6rem !important
}

.pb__7x20 {
    padding-bottom: 14rem !important
}

.pb__7x22 {
    padding-bottom: 15.4rem !important
}

.pb__7x24 {
    padding-bottom: 16.8rem !important
}

.pb__7x26 {
    padding-bottom: 18.2rem !important
}

.pb__7x30 {
    padding-bottom: 21rem !important
}

.pb__7x34 {
    padding-bottom: 23.8rem !important
}

.pb__7x36 {
    padding-bottom: 25.2rem !important
}

.pb__7x38 {
    padding-bottom: 26.6rem !important
}

.pb__7x49 {
    padding-bottom: 34.3rem !important
}

.pb__7x52 {
    padding-bottom: 36.4rem !important
}

.pb__7x60 {
    padding-bottom: 42rem !important
}

.pb__7x63 {
    padding-bottom: 44.1rem !important
}

.pl__auto {
    padding-left: auto !important
}

.pl__none {
    padding-left: 0 !important
}

.pl__5x1 {
    padding-left: .5rem !important
}

.pl__5x2 {
    padding-left: 1rem !important
}

.pl__5x3 {
    padding-left: 1.5rem !important
}

.pl__5x4 {
    padding-left: 2rem !important
}

.pl__5x5 {
    padding-left: 2.5rem !important
}

.pl__5x6 {
    padding-left: 3rem !important
}

.pl__5x8 {
    padding-left: 4rem !important
}

.pl__5x10 {
    padding-left: 5rem !important
}

.pl__5x11 {
    padding-left: 5.5rem !important
}

.pl__5x12 {
    padding-left: 6rem !important
}

.pl__7x1 {
    padding-left: .7rem !important
}

.pl__7x2 {
    padding-left: 1.4rem !important
}

.pl__7x3 {
    padding-left: 2.1rem !important
}

.pl__7x4 {
    padding-left: 2.8rem !important
}

.pl__7x6 {
    padding-left: 4.2rem !important
}

.pl__7x8 {
    padding-left: 5.6rem !important
}

.pl__7x10 {
    padding-left: 7rem !important
}

.pl__7x11 {
    padding-left: 7.7rem !important
}

.pl__7x12 {
    padding-left: 8.4rem !important
}

.pl__7x13 {
    padding-left: 9.1rem !important
}

.pl__7x14 {
    padding-left: 9.8rem !important
}

.pl__7x16 {
    padding-left: 11.2rem !important
}

.pl__7x18 {
    padding-left: 12.6rem !important
}

.pl__7x20 {
    padding-left: 14rem !important
}

.pl__7x22 {
    padding-left: 15.4rem !important
}

.pl__7x24 {
    padding-left: 16.8rem !important
}

.pl__7x26 {
    padding-left: 18.2rem !important
}

.pl__7x30 {
    padding-left: 21rem !important
}

.pl__7x34 {
    padding-left: 23.8rem !important
}

.pl__7x36 {
    padding-left: 25.2rem !important
}

.pl__7x38 {
    padding-left: 26.6rem !important
}

.pl__7x49 {
    padding-left: 34.3rem !important
}

.pl__7x52 {
    padding-left: 36.4rem !important
}

.pl__7x60 {
    padding-left: 42rem !important
}

.pl__7x63 {
    padding-left: 44.1rem !important
}

.pa__auto {
    padding: auto !important
}

.pa__none {
    padding: 0 !important
}

.pa__5x1 {
    padding: .5rem !important
}

.pa__5x2 {
    padding: 1rem !important
}

.pa__5x3 {
    padding: 1.5rem !important
}

.pa__5x4 {
    padding: 2rem !important
}

.pa__5x5 {
    padding: 2.5rem !important
}

.pa__5x6 {
    padding: 3rem !important
}

.pa__5x8 {
    padding: 4rem !important
}

.pa__5x10 {
    padding: 5rem !important
}

.pa__5x11 {
    padding: 5.5rem !important
}

.pa__5x12 {
    padding: 6rem !important
}

.pa__7x1 {
    padding: .7rem !important
}

.pa__7x2 {
    padding: 1.4rem !important
}

.pa__7x3 {
    padding: 2.1rem !important
}

.pa__7x4 {
    padding: 2.8rem !important
}

.pa__7x6 {
    padding: 4.2rem !important
}

.pa__7x8 {
    padding: 5.6rem !important
}

.pa__7x10 {
    padding: 7rem !important
}

.pa__7x11 {
    padding: 7.7rem !important
}

.pa__7x12 {
    padding: 8.4rem !important
}

.pa__7x13 {
    padding: 9.1rem !important
}

.pa__7x14 {
    padding: 9.8rem !important
}

.pa__7x16 {
    padding: 11.2rem !important
}

.pa__7x18 {
    padding: 12.6rem !important
}

.pa__7x20 {
    padding: 14rem !important
}

.pa__7x22 {
    padding: 15.4rem !important
}

.pa__7x24 {
    padding: 16.8rem !important
}

.pa__7x26 {
    padding: 18.2rem !important
}

.pa__7x30 {
    padding: 21rem !important
}

.pa__7x34 {
    padding: 23.8rem !important
}

.pa__7x36 {
    padding: 25.2rem !important
}

.pa__7x38 {
    padding: 26.6rem !important
}

.pa__7x49 {
    padding: 34.3rem !important
}

.pa__7x52 {
    padding: 36.4rem !important
}

.pa__7x60 {
    padding: 42rem !important
}

.pa__7x63 {
    padding: 44.1rem !important
}

.px__auto {
    padding-right: auto !important;
    padding-left: auto !important
}

.px__none {
    padding-right: 0 !important;
    padding-left: 0 !important
}

.px__5x1 {
    padding-right: .5rem !important;
    padding-left: .5rem !important
}

.px__5x2 {
    padding-right: 1rem !important;
    padding-left: 1rem !important
}

.px__5x3 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

.px__5x4 {
    padding-right: 2rem !important;
    padding-left: 2rem !important
}

.px__5x5 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important
}

.px__5x6 {
    padding-right: 3rem !important;
    padding-left: 3rem !important
}

.px__5x8 {
    padding-right: 4rem !important;
    padding-left: 4rem !important
}

.px__5x10 {
    padding-right: 5rem !important;
    padding-left: 5rem !important
}

.px__5x11 {
    padding-right: 5.5rem !important;
    padding-left: 5.5rem !important
}

.px__5x12 {
    padding-right: 6rem !important;
    padding-left: 6rem !important
}

.px__7x1 {
    padding-right: .7rem !important;
    padding-left: .7rem !important
}

.px__7x2 {
    padding-right: 1.4rem !important;
    padding-left: 1.4rem !important
}

.px__7x3 {
    padding-right: 2.1rem !important;
    padding-left: 2.1rem !important
}

.px__7x4 {
    padding-right: 2.8rem !important;
    padding-left: 2.8rem !important
}

.px__7x6 {
    padding-right: 4.2rem !important;
    padding-left: 4.2rem !important
}

.px__7x8 {
    padding-right: 5.6rem !important;
    padding-left: 5.6rem !important
}

.px__7x10 {
    padding-right: 7rem !important;
    padding-left: 7rem !important
}

.px__7x11 {
    padding-right: 7.7rem !important;
    padding-left: 7.7rem !important
}

.px__7x12 {
    padding-right: 8.4rem !important;
    padding-left: 8.4rem !important
}

.px__7x13 {
    padding-right: 9.1rem !important;
    padding-left: 9.1rem !important
}

.px__7x14 {
    padding-right: 9.8rem !important;
    padding-left: 9.8rem !important
}

.px__7x16 {
    padding-right: 11.2rem !important;
    padding-left: 11.2rem !important
}

.px__7x18 {
    padding-right: 12.6rem !important;
    padding-left: 12.6rem !important
}

.px__7x20 {
    padding-right: 14rem !important;
    padding-left: 14rem !important
}

.px__7x22 {
    padding-right: 15.4rem !important;
    padding-left: 15.4rem !important
}

.px__7x24 {
    padding-right: 16.8rem !important;
    padding-left: 16.8rem !important
}

.px__7x26 {
    padding-right: 18.2rem !important;
    padding-left: 18.2rem !important
}

.px__7x30 {
    padding-right: 21rem !important;
    padding-left: 21rem !important
}

.px__7x34 {
    padding-right: 23.8rem !important;
    padding-left: 23.8rem !important
}

.px__7x36 {
    padding-right: 25.2rem !important;
    padding-left: 25.2rem !important
}

.px__7x38 {
    padding-right: 26.6rem !important;
    padding-left: 26.6rem !important
}

.px__7x49 {
    padding-right: 34.3rem !important;
    padding-left: 34.3rem !important
}

.px__7x52 {
    padding-right: 36.4rem !important;
    padding-left: 36.4rem !important
}

.px__7x60 {
    padding-right: 42rem !important;
    padding-left: 42rem !important
}

.px__7x63 {
    padding-right: 44.1rem !important;
    padding-left: 44.1rem !important
}

.py__auto {
    padding-top: auto !important;
    padding-bottom: auto !important
}

.py__none {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.py__5x1 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important
}

.py__5x2 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important
}

.py__5x3 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important
}

.py__5x4 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important
}

.py__5x5 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important
}

.py__5x6 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important
}

.py__5x8 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important
}

.py__5x10 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important
}

.py__5x11 {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important
}

.py__5x12 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important
}

.py__7x1 {
    padding-top: .7rem !important;
    padding-bottom: .7rem !important
}

.py__7x2 {
    padding-top: 1.4rem !important;
    padding-bottom: 1.4rem !important
}

.py__7x3 {
    padding-top: 2.1rem !important;
    padding-bottom: 2.1rem !important
}

.py__7x4 {
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important
}

.py__7x6 {
    padding-top: 4.2rem !important;
    padding-bottom: 4.2rem !important
}

.py__7x8 {
    padding-top: 5.6rem !important;
    padding-bottom: 5.6rem !important
}

.py__7x10 {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important
}

.py__7x11 {
    padding-top: 7.7rem !important;
    padding-bottom: 7.7rem !important
}

.py__7x12 {
    padding-top: 8.4rem !important;
    padding-bottom: 8.4rem !important
}

.py__7x13 {
    padding-top: 9.1rem !important;
    padding-bottom: 9.1rem !important
}

.py__7x14 {
    padding-top: 9.8rem !important;
    padding-bottom: 9.8rem !important
}

.py__7x16 {
    padding-top: 11.2rem !important;
    padding-bottom: 11.2rem !important
}

.py__7x18 {
    padding-top: 12.6rem !important;
    padding-bottom: 12.6rem !important
}

.py__7x20 {
    padding-top: 14rem !important;
    padding-bottom: 14rem !important
}

.py__7x22 {
    padding-top: 15.4rem !important;
    padding-bottom: 15.4rem !important
}

.py__7x24 {
    padding-top: 16.8rem !important;
    padding-bottom: 16.8rem !important
}

.py__7x26 {
    padding-top: 18.2rem !important;
    padding-bottom: 18.2rem !important
}

.py__7x30 {
    padding-top: 21rem !important;
    padding-bottom: 21rem !important
}

.py__7x34 {
    padding-top: 23.8rem !important;
    padding-bottom: 23.8rem !important
}

.py__7x36 {
    padding-top: 25.2rem !important;
    padding-bottom: 25.2rem !important
}

.py__7x38 {
    padding-top: 26.6rem !important;
    padding-bottom: 26.6rem !important
}

.py__7x49 {
    padding-top: 34.3rem !important;
    padding-bottom: 34.3rem !important
}

.py__7x52 {
    padding-top: 36.4rem !important;
    padding-bottom: 36.4rem !important
}

.py__7x60 {
    padding-top: 42rem !important;
    padding-bottom: 42rem !important
}

.py__7x63 {
    padding-top: 44.1rem !important;
    padding-bottom: 44.1rem !important
}

.gap__a--none {
    gap: 0 !important
}

.gap__a--5x1 {
    gap: .5rem !important
}

.gap__a--5x2 {
    gap: 1rem !important
}

.gap__a--5x3 {
    gap: 1.5rem !important
}

.gap__a--5x4 {
    gap: 2rem !important
}

.gap__a--5x5 {
    gap: 2.5rem !important
}

.gap__a--5x6 {
    gap: 3rem !important
}

.gap__a--5x8 {
    gap: 4rem !important
}

.gap__a--5x10 {
    gap: 5rem !important
}

.gap__a--5x11 {
    gap: 5.5rem !important
}

.gap__a--5x12 {
    gap: 6rem !important
}

.gap__a--7x1 {
    gap: .7rem !important
}

.gap__a--7x2 {
    gap: 1.4rem !important
}

.gap__a--7x3 {
    gap: 2.1rem !important
}

.gap__a--7x4 {
    gap: 2.8rem !important
}

.gap__a--7x6 {
    gap: 4.2rem !important
}

.gap__a--7x8 {
    gap: 5.6rem !important
}

.gap__a--7x10 {
    gap: 7rem !important
}

.gap__a--7x11 {
    gap: 7.7rem !important
}

.gap__a--7x12 {
    gap: 8.4rem !important
}

.gap__a--7x13 {
    gap: 9.1rem !important
}

.gap__a--7x14 {
    gap: 9.8rem !important
}

.gap__a--7x16 {
    gap: 11.2rem !important
}

.gap__a--7x18 {
    gap: 12.6rem !important
}

.gap__a--7x20 {
    gap: 14rem !important
}

.gap__a--7x22 {
    gap: 15.4rem !important
}

.gap__a--7x24 {
    gap: 16.8rem !important
}

.gap__a--7x26 {
    gap: 18.2rem !important
}

.gap__a--7x30 {
    gap: 21rem !important
}

.gap__a--7x34 {
    gap: 23.8rem !important
}

.gap__a--7x36 {
    gap: 25.2rem !important
}

.gap__a--7x38 {
    gap: 26.6rem !important
}

.gap__a--7x49 {
    gap: 34.3rem !important
}

.gap__a--7x52 {
    gap: 36.4rem !important
}

.gap__a--7x60 {
    gap: 42rem !important
}

.gap__a--7x63 {
    gap: 44.1rem !important
}

.gap__x--none {
    column-gap: 0 !important
}

.gap__x--5x1 {
    column-gap: .5rem !important
}

.gap__x--5x2 {
    column-gap: 1rem !important
}

.gap__x--5x3 {
    column-gap: 1.5rem !important
}

.gap__x--5x4 {
    column-gap: 2rem !important
}

.gap__x--5x5 {
    column-gap: 2.5rem !important
}

.gap__x--5x6 {
    column-gap: 3rem !important
}

.gap__x--5x8 {
    column-gap: 4rem !important
}

.gap__x--5x10 {
    column-gap: 5rem !important
}

.gap__x--5x11 {
    column-gap: 5.5rem !important
}

.gap__x--5x12 {
    column-gap: 6rem !important
}

.gap__x--7x1 {
    column-gap: .7rem !important
}

.gap__x--7x2 {
    column-gap: 1.4rem !important
}

.gap__x--7x3 {
    column-gap: 2.1rem !important
}

.gap__x--7x4 {
    column-gap: 2.8rem !important
}

.gap__x--7x6 {
    column-gap: 4.2rem !important
}

.gap__x--7x8 {
    column-gap: 5.6rem !important
}

.gap__x--7x10 {
    column-gap: 7rem !important
}

.gap__x--7x11 {
    column-gap: 7.7rem !important
}

.gap__x--7x12 {
    column-gap: 8.4rem !important
}

.gap__x--7x13 {
    column-gap: 9.1rem !important
}

.gap__x--7x14 {
    column-gap: 9.8rem !important
}

.gap__x--7x16 {
    column-gap: 11.2rem !important
}

.gap__x--7x18 {
    column-gap: 12.6rem !important
}

.gap__x--7x20 {
    column-gap: 14rem !important
}

.gap__x--7x22 {
    column-gap: 15.4rem !important
}

.gap__x--7x24 {
    column-gap: 16.8rem !important
}

.gap__x--7x26 {
    column-gap: 18.2rem !important
}

.gap__x--7x30 {
    column-gap: 21rem !important
}

.gap__x--7x34 {
    column-gap: 23.8rem !important
}

.gap__x--7x36 {
    column-gap: 25.2rem !important
}

.gap__x--7x38 {
    column-gap: 26.6rem !important
}

.gap__x--7x49 {
    column-gap: 34.3rem !important
}

.gap__x--7x52 {
    column-gap: 36.4rem !important
}

.gap__x--7x60 {
    column-gap: 42rem !important
}

.gap__x--7x63 {
    column-gap: 44.1rem !important
}

.gap__y--none {
    row-gap: 0 !important
}

.gap__y--5x1 {
    row-gap: .5rem !important
}

.gap__y--5x2 {
    row-gap: 1rem !important
}

.gap__y--5x3 {
    row-gap: 1.5rem !important
}

.gap__y--5x4 {
    row-gap: 2rem !important
}

.gap__y--5x5 {
    row-gap: 2.5rem !important
}

.gap__y--5x6 {
    row-gap: 3rem !important
}

.gap__y--5x8 {
    row-gap: 4rem !important
}

.gap__y--5x10 {
    row-gap: 5rem !important
}

.gap__y--5x11 {
    row-gap: 5.5rem !important
}

.gap__y--5x12 {
    row-gap: 6rem !important
}

.gap__y--7x1 {
    row-gap: .7rem !important
}

.gap__y--7x2 {
    row-gap: 1.4rem !important
}

.gap__y--7x3 {
    row-gap: 2.1rem !important
}

.gap__y--7x4 {
    row-gap: 2.8rem !important
}

.gap__y--7x6 {
    row-gap: 4.2rem !important
}

.gap__y--7x8 {
    row-gap: 5.6rem !important
}

.gap__y--7x10 {
    row-gap: 7rem !important
}

.gap__y--7x11 {
    row-gap: 7.7rem !important
}

.gap__y--7x12 {
    row-gap: 8.4rem !important
}

.gap__y--7x13 {
    row-gap: 9.1rem !important
}

.gap__y--7x14 {
    row-gap: 9.8rem !important
}

.gap__y--7x16 {
    row-gap: 11.2rem !important
}

.gap__y--7x18 {
    row-gap: 12.6rem !important
}

.gap__y--7x20 {
    row-gap: 14rem !important
}

.gap__y--7x22 {
    row-gap: 15.4rem !important
}

.gap__y--7x24 {
    row-gap: 16.8rem !important
}

.gap__y--7x26 {
    row-gap: 18.2rem !important
}

.gap__y--7x30 {
    row-gap: 21rem !important
}

.gap__y--7x34 {
    row-gap: 23.8rem !important
}

.gap__y--7x36 {
    row-gap: 25.2rem !important
}

.gap__y--7x38 {
    row-gap: 26.6rem !important
}

.gap__y--7x49 {
    row-gap: 34.3rem !important
}

.gap__y--7x52 {
    row-gap: 36.4rem !important
}

.gap__y--7x60 {
    row-gap: 42rem !important
}

.gap__y--7x63 {
    row-gap: 44.1rem !important
}

.round__none {
    border-radius: 0
}

.round__2xs {
    border-radius: 2px
}

.round__xs {
    border-radius: 4px
}

.round__s {
    border-radius: 10px
}

.round__m {
    border-radius: 20px
}

.round__l {
    border-radius: 30px
}

.round__xl {
    border-radius: 40px
}

.round__2xl {
    border-radius: 50px
}

.fs__p--s {
    margin-top: -.52rem;
    margin-bottom: -.52rem;
    font-size: 1.2rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.fs__p--s.font__info::after {
    display: block;
    content: "(12 / 22.4 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--s.ff__en {
    margin-top: -.6125rem;
    margin-bottom: -.6125rem;
    font-size: 1.3rem;
    line-height: 1.6923076923;
    letter-spacing: .01em
}

.fs__p--s.ff__en.font__info::after {
    display: block;
    content: "(13 / 22 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--s-m {
    margin-top: -.7rem;
    margin-bottom: -.7rem;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .06em
}

.fs__p--s-m.font__info::after {
    display: block;
    content: "(14 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--s-m.ff__en {
    margin-top: -.6375rem;
    margin-bottom: -.6375rem;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: .01em
}

.fs__p--s-m.ff__en.font__info::after {
    display: block;
    content: "(15 / 24 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--m {
    margin-top: -.65rem;
    margin-bottom: -.65rem;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.fs__p--m.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--m.ff__en {
    margin-top: -.6rem;
    margin-bottom: -.6rem;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: .01em
}

.fs__p--m.ff__en.font__info::after {
    display: block;
    content: "(16 / 24 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--r {
    margin-top: -.8665rem;
    margin-bottom: -.8665rem;
    font-size: 2rem;
    line-height: 1.8665;
    letter-spacing: .06em
}

.fs__p--r.font__info::after {
    display: block;
    content: "(20 / 37.33 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--r.ff__en {
    margin-top: -1.004rem;
    margin-bottom: -1.004rem;
    font-size: 2.3rem;
    line-height: 1.6230434783;
    letter-spacing: .02em
}

.fs__p--r.ff__en.font__info::after {
    display: block;
    content: "(23 / 37.33 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--l {
    margin-top: -.6rem;
    margin-bottom: -.6rem;
    font-size: 3rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.fs__p--l.font__info::after {
    display: block;
    content: "(30 / 42 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__p--l.ff__en {
    margin-top: -.975rem;
    margin-bottom: -.975rem;
    font-size: 3rem;
    line-height: 1.4;
    letter-spacing: .02em
}

.fs__p--l.ff__en.font__info::after {
    display: block;
    content: "(30 / 42 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--s {
    margin-top: -.24rem;
    margin-bottom: -.24rem;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.fs__h--s.font__info::after {
    display: block;
    content: "(12 / 16.8 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--s.ff__en {
    margin-top: -.2625rem;
    margin-bottom: -.2625rem;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    letter-spacing: .01em
}

.fs__h--s.ff__en.font__info::after {
    display: block;
    content: "(13 / 15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--m {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.fs__h--m.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--m.ff__en {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-size: 1.6rem;
    line-height: 1.145625;
    letter-spacing: .01em
}

.fs__h--m.ff__en.font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--r {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.fs__h--r.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--r.ff__en {
    margin-top: -.5375rem;
    margin-bottom: -.5375rem;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    letter-spacing: .02em
}

.fs__h--r.ff__en.font__info::after {
    display: block;
    content: "(23 / 28 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--l {
    margin-top: -.5rem;
    margin-bottom: -.5rem;
    font-size: 2.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.fs__h--l.font__info::after {
    display: block;
    content: "(25 / 35 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--l.ff__en {
    margin-top: -.68125rem;
    margin-bottom: -.68125rem;
    font-size: 2.85rem;
    line-height: 1.2280701754;
    letter-spacing: .02em
}

.fs__h--l.ff__en.font__info::after {
    display: block;
    content: "(28.5 / 35 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--xl {
    margin-top: -.55rem;
    margin-bottom: -.55rem;
    font-size: 4.5rem;
    line-height: 1.2444444444;
    letter-spacing: .06em
}

.fs__h--xl.font__info::after {
    display: block;
    content: "(45 / 56 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--xl.ff__en {
    margin-top: -.9625rem;
    margin-bottom: -.9625rem;
    font-size: 4.9rem;
    line-height: 1.1428571429;
    letter-spacing: .02em
}

.fs__h--xl.ff__en.font__info::after {
    display: block;
    content: "(49 / 56 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--2xl {
    margin-top: -1.1rem;
    margin-bottom: -1.1rem;
    font-size: 7.6rem;
    line-height: 1.2894736842;
    letter-spacing: .06em
}

.fs__h--2xl.font__info::after {
    display: block;
    content: "(76 / 98 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__h--2xl.ff__en {
    margin-top: -1.3rem;
    margin-bottom: -1.3rem;
    font-size: 9.6rem;
    line-height: 1.0208333333;
    letter-spacing: .02em
}

.fs__h--2xl.ff__en.font__info::after {
    display: block;
    content: "(96 / 98 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--13 {
    margin-top: -.00325rem;
    margin-bottom: -.00325rem;
    font-size: 1.3rem;
    line-height: 1.005;
    letter-spacing: .02em
}

.fs__d--13.font__info::after {
    display: block;
    content: "(13 / 13.065 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--13.ff__en {
    margin-top: -.16575rem;
    margin-bottom: -.16575rem;
    font-size: 1.3rem;
    line-height: 1.005;
    letter-spacing: .02em
}

.fs__d--13.ff__en.font__info::after {
    display: block;
    content: "(13 / 13.065 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--18 {
    margin-top: -.0045rem;
    margin-bottom: -.0045rem;
    font-size: 1.8rem;
    line-height: 1.005;
    letter-spacing: .06em
}

.fs__d--18.font__info::after {
    display: block;
    content: "(18 / 18.09 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--18.ff__en {
    margin-top: -.2295rem;
    margin-bottom: -.2295rem;
    font-size: 1.8rem;
    line-height: 1.005;
    letter-spacing: .02em
}

.fs__d--18.ff__en.font__info::after {
    display: block;
    content: "(18 / 18.09 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--19 {
    margin-top: -.00475rem;
    margin-bottom: -.00475rem;
    font-size: 1.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--19.font__info::after {
    display: block;
    content: "(19 / 19.095 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--19.ff__en {
    margin-top: -.24225rem;
    margin-bottom: -.24225rem;
    font-size: 1.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--19.ff__en.font__info::after {
    display: block;
    content: "(19 / 19.095 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--20 {
    margin-top: -.005rem;
    margin-bottom: -.005rem;
    font-size: 2rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--20.font__info::after {
    display: block;
    content: "(20 / 20.1 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--20.ff__en {
    margin-top: -.255rem;
    margin-bottom: -.255rem;
    font-size: 2rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--20.ff__en.font__info::after {
    display: block;
    content: "(20 / 20.1 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--22 {
    margin-top: -.0055rem;
    margin-bottom: -.0055rem;
    font-size: 2.2rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--22.font__info::after {
    display: block;
    content: "(22 / 22.11 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--22.ff__en {
    margin-top: -.2805rem;
    margin-bottom: -.2805rem;
    font-size: 2.2rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--22.ff__en.font__info::after {
    display: block;
    content: "(22 / 22.11 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--23 {
    margin-top: -.00575rem;
    margin-bottom: -.00575rem;
    font-size: 2.3rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--23.font__info::after {
    display: block;
    content: "(23 / 23.115 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--23.ff__en {
    margin-top: -.29325rem;
    margin-bottom: -.29325rem;
    font-size: 2.3rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--23.ff__en.font__info::after {
    display: block;
    content: "(23 / 23.115 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--31 {
    margin-top: -.00775rem;
    margin-bottom: -.00775rem;
    font-size: 3.1rem;
    line-height: 1.005;
    letter-spacing: .06em
}

.fs__d--31.font__info::after {
    display: block;
    content: "(31 / 31.155 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--31.ff__en {
    margin-top: -.39525rem;
    margin-bottom: -.39525rem;
    font-size: 3.1rem;
    line-height: 1.005;
    letter-spacing: .02em
}

.fs__d--31.ff__en.font__info::after {
    display: block;
    content: "(31 / 31.155 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--30 {
    margin-top: -.0075rem;
    margin-bottom: -.0075rem;
    font-size: 3rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--30.font__info::after {
    display: block;
    content: "(30 / 30.15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--30.ff__en {
    margin-top: -.3825rem;
    margin-bottom: -.3825rem;
    font-size: 3rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--30.ff__en.font__info::after {
    display: block;
    content: "(30 / 30.15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--35 {
    margin-top: -.00875rem;
    margin-bottom: -.00875rem;
    font-size: 3.5rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--35.font__info::after {
    display: block;
    content: "(35 / 35.175 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--35.ff__en {
    margin-top: -.44625rem;
    margin-bottom: -.44625rem;
    font-size: 3.5rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--35.ff__en.font__info::after {
    display: block;
    content: "(35 / 35.175 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--36 {
    margin-top: -.009rem;
    margin-bottom: -.009rem;
    font-size: 3.6rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--36.font__info::after {
    display: block;
    content: "(36 / 36.18 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--36.ff__en {
    margin-top: -.459rem;
    margin-bottom: -.459rem;
    font-size: 3.6rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--36.ff__en.font__info::after {
    display: block;
    content: "(36 / 36.18 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--38 {
    margin-top: -.2rem;
    margin-bottom: -.2rem;
    font-size: 3.8rem;
    line-height: 1.1052631579;
    letter-spacing: .01em
}

.fs__d--38.font__info::after {
    display: block;
    content: "(38 / 42 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--38.ff__en {
    margin-top: -.675rem;
    margin-bottom: -.675rem;
    font-size: 3.8rem;
    line-height: 1.1052631579;
    letter-spacing: .01em
}

.fs__d--38.ff__en.font__info::after {
    display: block;
    content: "(38 / 42 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--39 {
    margin-top: -.00975rem;
    margin-bottom: -.00975rem;
    font-size: 3.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--39.font__info::after {
    display: block;
    content: "(39 / 39.195 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--39.ff__en {
    margin-top: -.49725rem;
    margin-bottom: -.49725rem;
    font-size: 3.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--39.ff__en.font__info::after {
    display: block;
    content: "(39 / 39.195 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--40 {
    margin-top: -.01rem;
    margin-bottom: -.01rem;
    font-size: 4rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--40.font__info::after {
    display: block;
    content: "(40 / 40.2 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--40.ff__en {
    margin-top: -.51rem;
    margin-bottom: -.51rem;
    font-size: 4rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--40.ff__en.font__info::after {
    display: block;
    content: "(40 / 40.2 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--46 {
    margin-top: -.0115rem;
    margin-bottom: -.0115rem;
    font-size: 4.6rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--46.font__info::after {
    display: block;
    content: "(46 / 46.23 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--46.ff__en {
    margin-top: -.5865rem;
    margin-bottom: -.5865rem;
    font-size: 4.6rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--46.ff__en.font__info::after {
    display: block;
    content: "(46 / 46.23 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--49 {
    margin-top: -.01225rem;
    margin-bottom: -.01225rem;
    font-size: 4.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--49.font__info::after {
    display: block;
    content: "(49 / 49.245 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--49.ff__en {
    margin-top: -.62475rem;
    margin-bottom: -.62475rem;
    font-size: 4.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--49.ff__en.font__info::after {
    display: block;
    content: "(49 / 49.245 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--78 {
    margin-top: -.0195rem;
    margin-bottom: -.0195rem;
    font-size: 7.8rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--78.font__info::after {
    display: block;
    content: "(78 / 78.39 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--78.ff__en {
    margin-top: -.9945rem;
    margin-bottom: -.9945rem;
    font-size: 7.8rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--78.ff__en.font__info::after {
    display: block;
    content: "(78 / 78.39 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--80 {
    margin-top: -.02rem;
    margin-bottom: -.02rem;
    font-size: 8rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--80.font__info::after {
    display: block;
    content: "(80 / 80.4 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--80.ff__en {
    margin-top: -1.02rem;
    margin-bottom: -1.02rem;
    font-size: 8rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--80.ff__en.font__info::after {
    display: block;
    content: "(80 / 80.4 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--90 {
    margin-top: -.0225rem;
    margin-bottom: -.0225rem;
    font-size: 9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--90.font__info::after {
    display: block;
    content: "(90 / 90.45 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--90.ff__en {
    margin-top: -1.1475rem;
    margin-bottom: -1.1475rem;
    font-size: 9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--90.ff__en.font__info::after {
    display: block;
    content: "(90 / 90.45 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--98 {
    margin-top: -.0245rem;
    margin-bottom: -.0245rem;
    font-size: 9.8rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--98.font__info::after {
    display: block;
    content: "(98 / 98.49 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--98.ff__en {
    margin-top: -1.2495rem;
    margin-bottom: -1.2495rem;
    font-size: 9.8rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--98.ff__en.font__info::after {
    display: block;
    content: "(98 / 98.49 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--116 {
    margin-top: -.0292125rem;
    margin-bottom: -.0292125rem;
    font-size: 11.685rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--116.font__info::after {
    display: block;
    content: "(116.85 / 117.43425 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--116.ff__en {
    margin-top: -1.4898375rem;
    margin-bottom: -1.4898375rem;
    font-size: 11.685rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--116.ff__en.font__info::after {
    display: block;
    content: "(116.85 / 117.43425 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--137 {
    margin-top: -.03425rem;
    margin-bottom: -.03425rem;
    font-size: 13.7rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--137.font__info::after {
    display: block;
    content: "(137 / 137.685 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--137.ff__en {
    margin-top: -1.74675rem;
    margin-bottom: -1.74675rem;
    font-size: 13.7rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--137.ff__en.font__info::after {
    display: block;
    content: "(137 / 137.685 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--119 {
    margin-top: -.02975rem;
    margin-bottom: -.02975rem;
    font-size: 11.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--119.font__info::after {
    display: block;
    content: "(119 / 119.595 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--119.ff__en {
    margin-top: -1.51725rem;
    margin-bottom: -1.51725rem;
    font-size: 11.9rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--119.ff__en.font__info::after {
    display: block;
    content: "(119 / 119.595 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--155 {
    margin-top: -.03875rem;
    margin-bottom: -.03875rem;
    font-size: 15.5rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--155.font__info::after {
    display: block;
    content: "(155 / 155.775 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--155.ff__en {
    margin-top: -1.97625rem;
    margin-bottom: -1.97625rem;
    font-size: 15.5rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--155.ff__en.font__info::after {
    display: block;
    content: "(155 / 155.775 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--175 {
    margin-top: -.04375rem;
    margin-bottom: -.04375rem;
    font-size: 17.5rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--175.font__info::after {
    display: block;
    content: "(175 / 175.875 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--175.ff__en {
    margin-top: -2.23125rem;
    margin-bottom: -2.23125rem;
    font-size: 17.5rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--175.ff__en.font__info::after {
    display: block;
    content: "(175 / 175.875 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--216 {
    margin-top: -.054rem;
    margin-bottom: -.054rem;
    font-size: 21.6rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--216.font__info::after {
    display: block;
    content: "(216 / 217.08 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fs__d--216.ff__en {
    margin-top: -2.754rem;
    margin-bottom: -2.754rem;
    font-size: 21.6rem;
    line-height: 1.005;
    letter-spacing: .01em
}

.fs__d--216.ff__en.font__info::after {
    display: block;
    content: "(216 / 217.08 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.fw__l {
    font-weight: 300 !important
}

.fw__r {
    font-weight: 400 !important
}

.fw__m {
    font-weight: 500 !important
}

.fw__sb {
    font-weight: 600 !important
}

.fw__b {
    font-weight: 700 !important
}

.fw__bk {
    font-weight: 900 !important
}

html[lang=ja] .display:not(.ff__en),
html[lang=ja] [class*=fs__d]:not(.ff__en),
/* html[lang=ja] strong:not(.ff__en) {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
} */

html[lang=en] [class*=fs__d] {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.ff__en[class*=fs__d] {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

html[lang=en] .display,
html[lang=en] strong {
    font-weight: 700
}

.ff__en.display,
strong.ff__en {
    font-weight: 700
}

.display.ff__en {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

[class*=fs__d].ff__en {
    font-weight: 600
}

:not(a).underline {
    background-image: linear-gradient(transparent 94%, var(--underline-color) 94%, var(--underline-color) calc(94% + 1px), transparent calc(94% + 1px));
    background-size: 100% auto;
    background-repeat: no-repeat
}

.ff__en {
    font-family: HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.word__break {
    word-wrap: break-word;
    word-break: break-all
}

.color__wt__primary {
    color: #fff
}

.fill__wt__primary {
    fill: #fff
}

.bg__wt__primary {
    background-color: #fff !important
}

.color__bk__primary {
    color: #000
}

.fill__bk__primary {
    fill: #000
}

.bg__bk__primary {
    background-color: #000 !important
}

.color__bk__secondary {
    color: #7f7f7f
}

.fill__bk__secondary {
    fill: #7f7f7f
}

.bg__bk__secondary {
    background-color: #7f7f7f !important
}

.color__gy__primary {
    color: #ccc
}

.fill__gy__primary {
    fill: #ccc
}

.bg__gy__primary {
    background-color: #ccc !important
}

.color__bl__primary {
    color: #0021ff
}

.fill__bl__primary {
    fill: #0021ff
}

.bg__bl__primary {
    background-color: #0021ff !important
}

.color__rd__primary {
    color: red
}

.fill__rd__primary {
    fill: red
}

.bg__rd__primary {
    background-color: red !important
}

.color__sns__twitter {
    color: #1d9bf0
}

.fill__sns__twitter {
    fill: #1d9bf0
}

.bg__sns__twitter {
    background-color: #1d9bf0 !important
}

.color__sns__facebook {
    color: #1778f2
}

.fill__sns__facebook {
    fill: #1778f2
}

.bg__sns__facebook {
    background-color: #1778f2 !important
}

.align__center {
    text-align: center
}

.align__left {
    text-align: left
}

.align__right {
    text-align: right
}

.align__justify {
    text-align: justify
}

.events__none {
    pointer-events: none
}

.events__auto {
    pointer-events: auto
}

#header {
    z-index: 1000;
    position: absolute;
    width: 100%
}

#header .frame {
    padding-top: 100px !important;
    /* padding-right: 9rem */
}

#header .frame .logo svg {
    width: 100%
}

#header .frame .logo svg path {
    fill: var(--ui-color)
}

#header>.inner .frame {
    box-sizing: content-box;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    /* justify-content: space-between; */
    min-height: 2.8rem;
    padding-bottom: 2.8rem;
    border-bottom: 3px solid var(--ui-color)
}

#header>.inner .frame .logo {
    width: 17.4rem;
    transform: translate(0, .4rem)
}

#header>.inner .frame nav ul {
    display: flex;
    column-gap: 2.8rem;
    flex-direction: row
}

#header>.inner .frame nav ul li a {
    position: relative;
    color: var(--ui-color)
}

#header>.inner .frame nav ul li a span {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.145625;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

#header>.inner .frame nav ul li a span.font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#header>.inner .frame nav ul li a.over span {
    opacity: .6
}

#header>.inner .frame nav ul li.recruit {
    position: relative;
    padding-left: calc(2.8rem + .1rem)
}

#header>.inner .frame nav ul li.recruit::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: var(--ui-color);
    content: "";
    opacity: .5
}

#header>.inner .frame nav ul li.current a::before {
    position: absolute;
    top: -1.6rem;
    left: 0;
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background-color: var(--ui-color);
    content: "";
    pointer-events: none
}

#header>.inner .btn.menu {
    z-index: 1100;
    top: 103px;
    right: 110px;
    width: 80px;
    height: 64px;
    transform: translate(0, -50px)
}

#header>.inner .btn.menu button ul {
    top: 50%;
    left: 50%;
}

#header>.inner .btn.menu button ul li {
    top: 50%;
    left: 0;
    width: 83px;
    height: 8px;
    background: #FFFFFF;
    border-radius: 4px;
}

#header>.inner .btn.menu button ul li:nth-child(1) {
    top: calc(50% - 20px)
}

#header>.inner .btn.menu button ul li:nth-child(2) {
    top: calc(50% + 2px);
    /* opacity: 0 */
}

#header>.inner .btn.menu button ul li:nth-child(3) {
    top: calc(50% + 20px)
}

#header>.inner .btn.menu.close {
    --menu-color: #ffffff
}

#header>.inner .btn.menu.close button ul li:nth-child(1),
#header>.inner .btn.menu.close button ul li:nth-child(3) {
    width: 60px
}

#header #floating_menu {
    display: none;
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000 fixed url(../images/common/bg.png) repeat 50% 50%;
    color: #fff
}

#header #floating_menu .inner {
    height: 100%
}

#header #floating_menu .inner .frame {
    display: flex !important;
    flex-direction: column;
    /* justify-content: space-between; */
    width: 500px;
    height: 100%;
    margin-right: 0;
    margin-left: auto;
    padding-bottom: 5.3rem
}

#header #floating_menu .inner .frame header {
    display: flex;
    column-gap: 3rem;
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 7rem
}

#header #floating_menu .inner .frame header .logo {
    width: 46.8rem;
    min-height: 5.8rem
}

#header #floating_menu .inner .frame header .logo svg {
    width: 27.5rem
}

#header #floating_menu .inner .frame header .logo svg path {
    fill: #fff
}

#header #floating_menu .inner .frame header .logo .txt {
    margin-top: 1.6rem
}

#header #floating_menu .inner .frame header .logo .txt span {
    margin-top: -.16575rem;
    margin-bottom: -.16575rem;
    font-weight: 600;
    font-size: 1.3rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .02em
}

#header #floating_menu .inner .frame header .logo .txt span.font__info::after {
    display: block;
    content: "(13 / 13.065 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#header #floating_menu .inner .frame header nav {
    display: none;
    padding-top: 1.6rem
}

#header #floating_menu .inner .frame header nav ul {
    display: flex;
    column-gap: 1.5rem;
    flex-direction: row
}

#header #floating_menu .inner .frame header nav ul li a span,
#header #floating_menu .inner .frame header nav ul li>span span {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.145625;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

#header #floating_menu .inner .frame header nav ul li a span.font__info::after,
#header #floating_menu .inner .frame header nav ul li>span span.font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#header #floating_menu .inner .frame header nav ul li a span::before,
#header #floating_menu .inner .frame header nav ul li>span span::before {
    content: attr(data-lang);
    text-transform: uppercase
}

#header #floating_menu .inner .frame header nav ul li>a,
#header #floating_menu .inner .frame header nav ul li>span {
    display: block
}

#header #floating_menu .inner .frame header nav ul li>span {
    /* opacity: .2 */
}

#header #floating_menu .inner .frame>nav {
    position: relative;
    height: calc(100% - (5.8rem + 12.6rem));
    min-height: 38.8rem
}

#header #floating_menu .inner .frame>nav::after,
#header #floating_menu .inner .frame>nav::before {
    position: absolute;
    bottom: 0;
    height: 1px;
    background-color: rgba(255, 255, 255, .2);
    content: ""
}

#header #floating_menu .inner .frame>nav::before {
    left: 0;
    width: 46.8rem
}

#header #floating_menu .inner .frame>nav::after {
    left: calc(46.8rem + 3rem);
    width: calc(100% - (46.8rem + 3rem))
}

#header #floating_menu .inner .frame>nav .nav_wrap {
    display: grid;
    position: relative;
    grid-template-rows: repeat(2, auto);
    grid-template-columns: 46.8rem auto;
    padding-top: calc(4.2rem + .3rem);
    padding-bottom: 4.2rem;
    gap: 4.2rem 3rem
}

#header #floating_menu .inner .frame>nav .nav_wrap::after,
#header #floating_menu .inner .frame>nav .nav_wrap::before {
    position: absolute;
    top: 0;
    height: 3px;
    background-color: #fff;
    content: ""
}

#header #floating_menu .inner .frame>nav .nav_wrap::before {
    left: 0;
    width: 46.8rem
}

#header #floating_menu .inner .frame>nav .nav_wrap::after {
    left: calc(46.8rem + 3rem);
    width: calc(100% - (46.8rem + 3rem))
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn .title span {
    margin-top: -.49725rem;
    margin-bottom: -.49725rem;
    font-weight: 700;
    font-size: 3.9rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn .title span.font__info::after {
    display: block;
    content: "(39 / 39.195 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn .caption {
    margin-top: 1.4rem
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn .caption>span {
    margin-top: -.24rem;
    margin-bottom: -.24rem;
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: .06em;
    opacity: .5
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn .caption>span.font__info::after {
    display: block;
    content: "(12 / 16.8 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn:nth-of-type(n+2):nth-child(-n+3) {
    grid-column-start: 1
}

#header #floating_menu .inner .frame>nav .nav_wrap .btn a.over .title span {
    opacity: .2
}

#header #floating_menu .inner .frame>nav .nav_wrap ul {
    display: flex;
    row-gap: 1.4rem;
    grid-row-start: 1;
    grid-row-end: 3;
    grid-column-start: 2;
    flex-direction: column
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li a {
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li a span:not(.ja) {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.145625;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li a span:not(.ja).font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li a span.ja {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li a span.ja.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

/* [lang=ja] #header #floating_menu .inner .frame>nav .nav_wrap ul li a span.ja {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
} */

[lang=en] #header #floating_menu .inner .frame>nav .nav_wrap ul li a span.ja {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li a.over {
    opacity: .6
}

#header #floating_menu .inner .frame>nav .nav_wrap ul li:nth-last-of-type(2) {
    margin-top: 2.8rem
}

  #footer {
    background-color: rgba(0, 0, 0, .9);
    color: #fff
}

  #footer .inner {
    padding-top: 7rem;
    padding-bottom: 0 !important
}

  #footer .inner .btn a {
    position: relative;
    padding-top: calc(2.1rem + 3px)
}

  #footer .inner .btn a .prefix {
    margin-bottom: 4.2rem
}

  #footer .inner .btn a .caption {
    margin-top: 4.2rem
}

  #footer .inner .type1 .btn {
    margin-bottom: 44.1rem
}

  #footer .inner .type1 .btn a .prefix span {
    margin-top: -.2625rem;
    margin-bottom: -.2625rem;
    font-weight: 600;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

  #footer .inner .type1 .btn a .prefix span.font__info::after {
    display: block;
    content: "(13 / 15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .type1 .btn a .title span {
    margin-top: -1.3rem;
    margin-bottom: -1.3rem;
    font-weight: 600;
    font-size: 9.6rem;
    line-height: 1.0208333333;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .02em
}

  #footer .inner .type1 .btn a .title span.font__info::after {
    display: block;
    content: "(96 / 98 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .type1 .btn a .caption span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

  #footer .inner .type1 .btn a .caption span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .type1 nav {
    position: relative
}

  #footer .inner .type1 nav::after {
    position: absolute;
    top: 50%;
    right: 3rem;
    width: 1.8rem;
    height: 1.8rem;
    transform: translate(50%, -50%);
    border-radius: 50%;
    background-color: #fff;
    content: ""
}

  #footer .inner .type1 nav ul {
    display: flex;
    column-gap: 2.8rem;
    flex-direction: row
}

  #footer .inner .type1 nav ul li a {
    position: relative
}

  #footer .inner .type1 nav ul li a span {
    z-index: 2;
    position: relative;
    margin-top: -.5375rem;
    margin-bottom: -.5375rem;
    font-weight: 700;
    font-size: 2.3rem;
    line-height: 1.2173913043;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .02em;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

  #footer .inner .type1 nav ul li a span.font__info::after {
    display: block;
    content: "(23 / 28 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .type1 nav ul li a.over span {
    /* opacity: .2 */
}

  #footer .inner .type1 nav ul li.current a {
    pointer-events: none
}

  #footer .inner .type1 nav ul li.current a span {
    opacity: .2
}

  #footer .inner .type1 nav ul li.synergy.current a::before {
    width: 12rem;
    height: 12rem;
    transform: translate(-50%, -50%) rotate(10deg);
    /* background-image: url(../images/common/line/s/type-1.jpg) */
}

  #footer .inner .type1 nav ul li:not(.synergy).current a::before {
    transform: translate(-50%, -43%) rotate(35deg);
    /* background-image: url(../images/common/line/s/type-2.jpg) */
}

  #footer .inner .type1 .btn+nav {
    margin-top: 0;
    border-top: 1px solid rgba(255, 255, 255, .2)
}

  #footer .inner .type1>nav {
    margin-top: -7rem
}

  #footer .inner .type2 {
    margin-bottom: 34.3rem
}

  #footer .inner .type2 nav {
    display: flex;
    column-gap: 3rem;
    flex-direction: row;
    width: 100%
}

  #footer .inner .type2 nav .btn {
    flex: 1
}

  #footer .inner .type2 nav .btn a {
    display: block;
    z-index: 2
}

  #footer .inner .type2 nav .btn a .title {
    min-height: 9.275rem
}

  #footer .inner .type2 nav .btn a .title span {
    z-index: 0;
    position: relative;
    margin-top: -.62475rem;
    margin-bottom: -.62475rem;
    font-weight: 700;
    font-size: 4.9rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

  #footer .inner .type2 nav .btn a .title span.font__info::after {
    display: block;
    content: "(49 / 49.245 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .type2 nav .btn a .caption {
    opacity: .5
}

  #footer .inner .type2 nav .btn a .caption span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em;
    letter-spacing: .03em
}

  #footer .inner .type2 nav .btn a .caption span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .type2 nav .btn.current a::before {
    opacity: .2
}

  #footer .inner .type2 nav .btn.current a .icon_wrap .icon_base {
    top: 1.8rem;
    right: 1.5rem;
    transform: translate(50%, -50%);
    opacity: .2
}

  #footer .inner .type2 nav .btn.current a .icon_wrap .icon_base .icon::after {
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background-image: none;
    background-color: #fff
}

  #footer .inner .type2 nav .btn.current a .icon_wrap>span {
    color: rgba(255, 255, 255, .2)
}

  #footer .inner .type2 nav .btn.current a .icon_wrap>span::before {
    z-index: -1;
    position: absolute;
    left: 50%;
    width: 28rem;
    height: 26rem;
    background-position: 50% 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
    content: "";
    pointer-events: none
}

  #footer .inner .type2 nav .btn.current a .caption {
    opacity: .2
}

  #footer .inner .type2 nav .btn.current.synergy a .title span::before {
    top: 4.5rem;
    width: 50rem;
    height: 50rem;
    transform: translate(-45%, -50%) rotate(-10deg);
    /* background-image: url(../images/common/line/s/type-3.jpg) */
}

  #footer .inner .type2 nav .btn.current:not(.synergy) a .title span::before {
    top: 3.5rem;
    transform: translate(-40%, -50%);
    /* background-image: url(../images/common/line/s/type-1.jpg) */
}

  #footer .inner .common {
    display: flex;
    column-gap: 2.8rem;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, .5)
}

  #footer .inner .common nav ul {
    display: flex;
    column-gap: 2.8rem;
    flex-direction: row
}

  #footer .inner .common nav:not(.sub) li a span {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.145625;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

  #footer .inner .common nav:not(.sub) li a span.font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .common nav.sub {
    margin-right: 0;
    margin-left: auto
}

  #footer .inner .common nav.sub ul li a span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

  #footer .inner .common nav.sub ul li a span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  #footer .inner .common a {
    opacity: .5;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

  #footer .inner .common a.over {
    opacity: 1
}

  #footer .inner .common .copyright {
    opacity: .5
}

  #footer .inner .common .copyright span {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.145625;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

  #footer .inner .common .copyright span.font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

  .cover {
    z-index: 200;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* background: #fff fixed url(../images/common/bg.png) repeat 50% 50% */
}

  .inner {
    padding-top: 10.1rem;
    padding-bottom: 26.6rem
}

  .inner.fit--v {
    padding-bottom: 5.3rem !important
}

  .inner .content.fit .main {
    height: calc(100% - 2.4rem)
}

  #header .inner {
    padding-top: 0;
    padding-bottom: 0
}

body:not(.home)  .no-snap {
    visibility: hidden
}

body:not(.home)   .js_snap_section {
    visibility: hidden
}

.layout__scroll {
    border-bottom: 1px solid #000
}

.layout__scroll a,
.layout__scroll button {
    width: 100%;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem
}

.layout__scroll .attention span,
.layout__scroll .caption span {
    margin-top: -.2625rem;
    margin-bottom: -.2625rem;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__scroll .attention span.font__info::after,
.layout__scroll .caption span.font__info::after {
    display: block;
    content: "(13 / 15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__bread-crumbs {
    display: flex;
    column-gap: 2rem;
    flex-direction: row
}

.layout__bread-crumbs li {
    counter-increment: index
}

.layout__bread-crumbs li a {
    position: relative;
    padding-left: 1.6rem
}

.layout__bread-crumbs li a::before {
    z-index: 1;
    position: absolute;
    top: .255rem;
    left: 0;
    margin-top: -.255rem;
    margin-bottom: -.255rem;
    transform: scale(.5);
    transform-origin: 0 0;
    content: counter(index, decimal-leading-zero);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em;
    letter-spacing: .02em;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

.layout__bread-crumbs li a::before.font__info::after {
    display: block;
    content: "(20 / 20.1 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__bread-crumbs li a span {
    z-index: 3;
    position: relative;
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em;
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

.layout__bread-crumbs li a span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__bread-crumbs li a.over span {
    opacity: .6
}

.layout__bread-crumbs li a.over::before {
    opacity: .6
}

.layout__bread-crumbs li.current a {
    pointer-events: none
}

.layout__bread-crumbs li.current a span {
    opacity: .6
}

.layout__bread-crumbs li.current a::before {
    opacity: .6
}

.layout__bread-crumbs li.current a::after {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: .7rem;
    width: 6rem;
    height: 6rem;
    transform: translate(-50%, -50%);
    /* background: url(../images/common/line/s/type-2.jpg) no-repeat 50% 50%; */
    background-size: 100% auto;
    content: ""
}

.layout__recruit-btn {
    display: flex;
    justify-content: flex-end;
    margin-top: 26.6rem
}

.layout__recruit-btn .btn {
    width: 96.4rem
}

.layout__recruit-btn .btn a {
    display: block;
    position: relative;
    padding-top: calc(4.2rem + 3px);
    padding-bottom: 4.2rem;
    background-color: rgba(255, 255, 255, .9)
}

.layout__recruit-btn .btn a .caption span {
    margin-top: -.55rem;
    margin-bottom: -.55rem;
    font-size: 4.5rem;
    line-height: 1.2444444444;
    letter-spacing: .06em
}

.layout__recruit-btn .btn a .caption span.font__info::after {
    display: block;
    content: "(45 / 56 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__recruit-btn .btn a .description {
    margin-top: 7rem
}

.layout__recruit-btn .btn a .description span {
    margin-top: -.65rem;
    margin-bottom: -.65rem;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.layout__recruit-btn .btn a .description span.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__common {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 9.8rem
}

.layout__common .main {
    width: 80rem
}

.layout__common .main h2 span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__common .main h2 span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__common .main h2 span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__common .main h2 span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__common .main p {
    margin-top: 4.2rem;
    text-align: justify
}

.layout__common .main p span {
    margin-top: -.65rem;
    margin-bottom: -.65rem;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.layout__common .main p span.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__common .main p.note {
    margin-top: 2.1rem;
    opacity: .6
}

.layout__common .main .btn {
    margin-top: 7rem
}

.layout__common .main .btn a span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__common .main .btn a span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__common .main .btn a span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__common .main .btn a span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__container {
    position: relative
}

.layout__container--header {
    z-index: 100;
    position: absolute;
    top: 0;
    width: 100%;
    height: calc(100% + 10.1rem);
    pointer-events: none
}

.layout__container--header .inner {
    position: sticky;
    top: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.layout__container--header .inner .frame {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    /* justify-content: space-between; */
    padding-top: 224px;
    padding-right: 9rem;
    padding-bottom: 2.8rem;
    border-bottom: 3px solid #000;
    pointer-events: auto
}

.layout__container--header .inner h1 {
    min-height: 2.8rem
}

.layout__container--header .inner h1 span {
    margin-top: -.459rem;
    margin-bottom: -.459rem;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__container--header .inner h1 span.font__info::after {
    display: block;
    content: "(36 / 36.18 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__container--header .inner p span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__container--header .inner p span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__brand-site-btn {
    display: flex;
    justify-content: flex-end
}

.layout__brand-site-btn .btn {
    width: 96.4rem
}

.layout__brand-site-btn .btn a {
    display: block;
    overflow: hidden;
    border-radius: 2px
}

.layout__brand-site-btn .btn a .icon_base {
    top: 3.5rem;
    right: 3.2rem
}

.layout__local-nav--list {
    margin-top: 7rem;
    padding-bottom: 7.7rem;
    border-bottom: 1px solid rgba(0, 0, 0, .2)
}

.layout__local-nav--list .btn {
    counter-increment: index
}

.layout__local-nav--list .btn a {
    column-gap: 3rem
}

.layout__local-nav--list .btn a>* {
    padding-top: 2.1rem;
    padding-bottom: 4.2rem;
    border-bottom: 1px solid rgba(0, 0, 0, .2)
}

.layout__local-nav--list .btn a>* .prefix,
.layout__local-nav--list .btn a>* .title {
    margin-bottom: 2.1rem
}

.layout__local-nav--list .btn a>* .prefix {
    min-height: 1.5rem
}

.layout__local-nav--list .btn a>* .prefix span {
    margin-top: -.2625rem;
    margin-bottom: -.2625rem;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__local-nav--list .btn a>* .prefix span.font__info::after {
    display: block;
    content: "(13 / 15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--list .btn a .number {
    width: 30.2rem
}

.layout__local-nav--list .btn a .number::after {
    display: flex;
    margin-top: -1.1475rem;
    margin-bottom: -1.1475rem;
    transform: translate(-.5rem, 0);
    content: counter(index, decimal-leading-zero);
    font-weight: 600;
    font-size: 9rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em;
    letter-spacing: .02em
}

.layout__local-nav--list .btn a .number::after.font__info::after {
    display: block;
    content: "(90 / 90.45 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--list .btn a .description {
    width: 96.4rem
}

.layout__local-nav--list .btn a .description .title span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__local-nav--list .btn a .description .title span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__local-nav--list .btn a .description .title span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__local-nav--list .btn a .description .title span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__local-nav--list .btn a .description .caption span {
    margin-top: -.6rem;
    margin-bottom: -.6rem;
    font-size: 3rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__local-nav--list .btn a .description .caption span.font__info::after {
    display: block;
    content: "(30 / 42 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--list .btn:first-child a>* {
    border-top: 1px solid rgba(0, 0, 0, .5)
}

.layout__local-nav--single {
    margin-top: 18.2rem
}

.layout__local-nav--single nav {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 2.1rem;
    padding-bottom: 2.1rem;
    border-top: 1px solid rgba(0, 0, 0, .2)
}

.layout__local-nav--single nav h2 span {
    margin-top: -.3165rem;
    margin-bottom: -.3165rem;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.145625;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__local-nav--single nav h2 span.font__info::after {
    display: block;
    content: "(16 / 18.33 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--single nav h2 a span {
    transition: opacity 120ms cubic-bezier(.165, .84, .44, 1)
}

.layout__local-nav--single nav h2 a.over span {
    opacity: .6
}

.layout__local-nav--single .btn a {
    padding-top: calc(1.4rem + 3px);
    padding-bottom: calc(7rem + 1px)
}

.layout__local-nav--single .btn a .prefix {
    margin-bottom: 7rem
}

.layout__local-nav--single .btn a .prefix span {
    margin-top: -.2625rem;
    margin-bottom: -.2625rem;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.1538461538;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__local-nav--single .btn a .prefix span.font__info::after {
    display: block;
    content: "(13 / 15 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--single .btn a .number {
    column-gap: 3rem;
    transform: translate(-.6rem, 0)
}

.layout__local-nav--single .btn a .number .current span {
    margin-top: -1.97625rem;
    margin-bottom: -1.97625rem;
    font-weight: 600;
    font-size: 15.5rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__local-nav--single .btn a .number .current span.font__info::after {
    display: block;
    content: "(155 / 155.775 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--single .btn a .number .total {
    position: relative;
    padding-top: .4rem;
    padding-left: 2.4rem
}

.layout__local-nav--single .btn a .number .total::before {
    position: absolute;
    left: .45rem;
    width: 1px;
    height: 1.7rem;
    transform: rotate(37deg);
    background-color: #000;
    content: ""
}

.layout__local-nav--single .btn a .number .total span {
    margin-top: -.24225rem;
    margin-bottom: -.24225rem;
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__local-nav--single .btn a .number .total span.font__info::after {
    display: block;
    content: "(19 / 19.095 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__local-nav--single .btn a .text {
    margin-top: 12.6rem
}

.layout__local-nav--single .btn a .text .title span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__local-nav--single .btn a .text .title span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__local-nav--single .btn a .text .title span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__local-nav--single .btn a .text .title span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__local-nav--single .btn a .text .caption {
    margin-top: 2.1rem
}

.layout__local-nav--single .btn a .text .caption span {
    margin-top: -.55rem;
    margin-bottom: -.55rem;
    font-size: 4.5rem;
    line-height: 1.2444444444;
    letter-spacing: .06em
}

.layout__local-nav--single .btn a .text .caption span.font__info::after {
    display: block;
    content: "(45 / 56 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-1--intro {
    display: flex;
    flex-direction: column;
    color: var(--type-1--intro-color)
}

.layout__type-1--intro .main {
    display: flex;
    z-index: 2;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
    padding-top: 9.8rem;
    padding-bottom: 12.6rem
}

.layout__type-1--intro .main h2 {
    position: relative
}

.layout__type-1--intro .main h2::after {
    position: absolute;
    top: 2.05rem;
    right: 3rem;
    width: 1.8rem;
    height: 1.8rem;
    transform: translate(50%, -50%);
    border-radius: 50%;
    background-color: #000;
    content: ""
}

.layout__type-1--intro .main h2 span {
    margin-top: -1.1rem;
    margin-bottom: -1.1rem;
    font-size: 7.6rem;
    line-height: 1.2894736842;
    letter-spacing: .06em
}

.layout__type-1--intro .main h2 span.font__info::after {
    display: block;
    content: "(76 / 98 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-1--intro .main h1 {
    margin-top: 5.6rem
}

.layout__type-1--intro .main h1 span {
    margin-top: -2.23125rem;
    margin-bottom: -2.23125rem;
    font-weight: 700;
    font-size: 17.5rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__type-1--intro .main h1 span.font__info::after {
    display: block;
    content: "(175 / 175.875 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-1--intro .bg {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.layout__type-1--text-figure {
    position: relative;
    width: 100%;
    height: 100%
}

.layout__type-1--text-figure .main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding-top: 9.8rem;
    padding-bottom: 12.6rem
}

.layout__type-1--text-figure .main .description p {
    margin-top: -.8665rem;
    margin-bottom: -.8665rem;
    font-size: 2rem;
    line-height: 1.8665;
    letter-spacing: .06em;
    text-align: justify
}

.layout__type-1--text-figure .main .description p.font__info::after {
    display: block;
    content: "(20 / 37.33 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-1--text-figure .main .description p+p {
    margin-top: 5.6rem
}

.layout__type-1--text-figure .main figure {
    flex: 1;
    width: 100%;
    padding-top: 6rem;
    padding-bottom: 6rem;
    overflow: hidden
}

.layout__type-1--text-figure .main figure picture {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%
}

.layout__type-1--text-figure .main figure picture img {
    height: 100%;
    object-fit: contain
}

.layout__type-1--text-figure .layout__scroll {
    pointer-events: auto
}

.layout__type-1--text-figure .layout__scroll--wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.layout__type-1--text-figure .layout__scroll--wrapper_inner {
    z-index: 2;
    position: absolute;
    bottom: 0;
    width: 100%;
    pointer-events: none
}

.layout__type-2--intro {
    position: relative
}

.layout__type-2--intro .wrap {
    display: flex;
    column-gap: 3rem;
    flex-direction: row;
    padding-top: 9.8rem
}

.layout__type-2--intro .wrap .index {
    width: 30.2rem
}

.layout__type-2--intro .wrap .index h1 span {
    margin-top: -.675rem;
    margin-bottom: -.675rem;
    font-weight: 700;
    font-size: 3.8rem;
    line-height: 1.1052631579;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__type-2--intro .wrap .index h1 span.font__info::after {
    display: block;
    content: "(38 / 42 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-2--intro .wrap .index .number {
    margin-top: 7rem;
    transform: translate(-1.5rem, 0)
}

.layout__type-2--intro .wrap .index .number span {
    margin-top: -2.754rem;
    margin-bottom: -2.754rem;
    font-weight: 600;
    font-size: 21.6rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

.layout__type-2--intro .wrap .index .number span.font__info::after {
    display: block;
    content: "(216 / 217.08 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-2--intro .wrap .text {
    width: 96.4rem
}

.layout__type-2--intro .wrap .text h2 {
    min-height: 2.85rem
}

.layout__type-2--intro .wrap .text h2.row__2 {
    min-height: 7.05rem
}

.layout__type-2--intro .wrap .text h2 span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__type-2--intro .wrap .text h2 span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-2--intro .wrap .text h2 span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-2--intro .wrap .text h2 span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-2--intro .wrap .text .description {
    margin-top: 7rem
}

.layout__type-2--intro .wrap .text .description>span {
    margin-top: -.55rem;
    margin-bottom: -.55rem;
    font-size: 4.5rem;
    line-height: 1.2444444444;
    letter-spacing: .06em
}

.layout__type-2--intro .wrap .text .description>span.font__info::after {
    display: block;
    content: "(45 / 56 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-2--intro .wrap .text .layout__bread-crumbs {
    margin-top: 7rem
}

.layout__type-2--intro nav {
    position: relative;
    margin-top: 7rem
}

.layout__type-2--intro nav::before {
    position: absolute;
    top: 0;
    left: 0;
    width: .9rem;
    height: .9rem;
    background-color: #000;
    content: ""
}

.layout__type-2--intro nav .layout__bread-crumbs {
    width: 96.4rem;
    margin-right: 0;
    margin-left: auto
}

.layout__type-2--intro nav .layout__bread-crumbs li {
    position: relative
}

.layout__type-2--text-figure {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 18.2rem
}

.layout__type-2--text-figure .text {
    display: flex;
    row-gap: 7rem;
    flex-direction: column;
    width: 27.2rem
}

.layout__type-2--text-figure .text section {
    padding-top: 2.1rem;
    border-top: 3px solid #000
}

.layout__type-2--text-figure .text section header {
    margin-bottom: 4.2rem
}

.layout__type-2--text-figure .text section header h3 span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em;
    letter-spacing: .02em
}

.layout__type-2--text-figure .text section header h3 span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-2--text-figure .text section header h3 span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-2--text-figure .text section header h3 span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-2--text-figure .text section p {
    text-align: justify
}

.layout__type-2--text-figure .text section p span {
    margin-top: -.65rem;
    margin-bottom: -.65rem;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.layout__type-2--text-figure .text section p span.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-2--text-figure .figure {
    width: 96.4rem;
    padding-top: 2.1rem;
    border-top: 3px solid #000
}

.layout__type-2--text-figure .figure header {
    margin-bottom: 7rem
}

.layout__type-2--text-figure .figure header h4 span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-style: italic;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__type-2--text-figure .figure header h4 span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-2--text-figure .figure header h4 span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-2--text-figure .figure header h4 span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-3--intro {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 9.8rem
}

.layout__type-3--intro header {
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.layout__type-3--intro header nav {
    position: sticky;
    bottom: 4.2rem;
    margin-top: 12.6rem
}

.layout__type-3--intro header nav ul {
    row-gap: 1.4rem
}

.layout__type-3--intro header nav ul li a {
    display: inline-block
}

.layout__type-3--intro header nav ul li a span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__type-3--intro header nav ul li a span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-3--intro header nav ul li a span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-3--intro header nav ul li a span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-3--intro .main {
    width: 96.4rem
}

.layout__type-3--intro .main h2 {
    margin-bottom: 7rem
}

.layout__type-3--intro .main h2 span {
    margin-top: -.55rem;
    margin-bottom: -.55rem;
    font-size: 4.5rem;
    line-height: 1.2444444444;
    letter-spacing: .06em
}

.layout__type-3--intro .main h2 span.font__info::after {
    display: block;
    content: "(45 / 56 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-3--intro .main .description p {
    text-align: justify
}

.layout__type-3--intro .main .description p span {
    margin-top: -.8665rem;
    margin-bottom: -.8665rem;
    font-size: 2rem;
    line-height: 1.8665;
    letter-spacing: .06em
}

.layout__type-3--intro .main .description p span.font__info::after {
    display: block;
    content: "(20 / 37.33 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-3--intro .main .description p+p {
    margin-top: 4.2rem
}

.layout__type-3--common {
    display: flex;
    column-gap: 3rem;
    flex-direction: row;
    margin-top: calc(18.2rem - 10.1rem);
    padding-top: 10.1rem
}

.layout__type-3--common>* {
    border-top: 3px solid #000
}

.layout__type-3--common [class*=heading] {
    margin-bottom: 4.2rem;
    padding-top: 2.1rem
}

.layout__type-3--common [class*=heading][class*=__m] {
    border-top: 1px solid rgba(0, 0, 0, .2)
}

.layout__type-3--common [class*=heading][class*=__m] span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__type-3--common [class*=heading][class*=__m] span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-3--common [class*=heading][class*=__m] span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-3--common [class*=heading][class*=__m] span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-3--common [class*=heading][class*=__r] span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__type-3--common [class*=heading][class*=__r] span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-3--common [class*=heading][class*=__r] span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-3--common [class*=heading][class*=__r] span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-3--common>header {
    width: 30.2rem
}

.layout__type-3--common>header .caption {
    margin-top: 7rem;
    margin-bottom: 4.2rem
}

.layout__type-3--common>header .caption span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.layout__type-3--common>header .caption span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .layout__type-3--common>header .caption span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .layout__type-3--common>header .caption span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.layout__type-3--common>header p {
    text-align: justify
}

.layout__type-3--common>header p span {
    margin-top: -.65rem;
    margin-bottom: -.65rem;
    font-size: 1.5rem;
    line-height: 1.8666666667;
    letter-spacing: .06em
}

.layout__type-3--common>header p span.font__info::after {
    display: block;
    content: "(15 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.layout__type-3--common .main {
    width: 96.4rem
}

.layout__type-3--common .main .flex.flex__row {
    column-gap: 3rem
}

.title__page--common .title span {
    margin-top: -.9625rem;
    margin-bottom: -.9625rem;
    font-weight: 700;
    font-size: 4.9rem;
    line-height: 1.1428571429;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .02em
}

.title__page--common .title span.font__info::after {
    display: block;
    content: "(49 / 56 / 20)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

.title__page--common .ja {
    margin-top: 2.1rem
}

.title__page--common .ja span {
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    font-size: 1.5rem;
    line-height: 1.4;
    letter-spacing: .06em
}

.title__page--common .ja span.font__info::after {
    display: block;
    content: "(15 / 21 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

[lang=ja] .title__page--common .ja span {
    font-family: "ゴシックMB101 DB", "Gothic MB101 DemiBold", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

[lang=en] .title__page--common .ja span {
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif
}

.btn[class*=has_line] a {
    --line-scale-x: 1;
    --line-transform-origin-x: 0;
    --line-color: #000000;
    position: relative
}

.btn[class*=has_line][class*=__color--wt] a {
    --line-color: #ffffff
}

.btn[class*=has_line][class*="--top"] a::before {
    position: absolute;
    top: 0;
    width: 100%;
    height: 3px;
    transform: scale(var(--line-scale-x), 1);
    transform-origin: var(--line-transform-origin-x) 50%;
    background-color: var(--line-color);
    content: ""
}

.btn[class*=has_line][class*="--bottom"] a::after {
    position: absolute;
    right: var(--line-right);
    bottom: 0;
    left: var(--line-left);
    width: var(--line-w);
    height: 1px;
    background-color: var(--line-color);
    content: "";
    opacity: .2
}

.icon_wrap {
    position: relative
}

.icon_wrap .icon_base {
    position: absolute
}

.icon_wrap .icon_base .icon {
    display: inline-block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    vertical-align: bottom
}

.icon_wrap .icon_base .icon::after {
    display: flex;
    content: ""
}

.icon_wrap[class*=__size--3xs]:not([class*=hp--left]) {
    padding-right: 1.8rem
}

.icon_wrap[class*=__size--3xs][class*=hp--left] {
    padding-left: 1.8rem
}

.icon_wrap[class*=__size--3xs] .icon::after {
    width: 1rem;
    height: .9rem
}

.icon_wrap[class*=__size--2xs]:not([class*=hp--left]) {
    padding-right: 3rem
}

.icon_wrap[class*=__size--2xs][class*=hp--left] {
    padding-left: 3rem
}

.icon_wrap[class*=__size--2xs] .icon::after {
    width: 1.6rem;
    height: 1.3rem
}

.icon_wrap[class*=__size--xs]:not([class*=hp--left]) {
    padding-right: 3.5rem
}

.icon_wrap[class*=__size--xs][class*=hp--left] {
    padding-left: 3.5rem
}

.icon_wrap[class*=__size--xs] .icon::after {
    width: 2.1rem;
    height: 1.8rem
}

.icon_wrap[class*=__size--s]:not([class*=hp--left]) {
    padding-right: 5.3rem
}

.icon_wrap[class*=__size--s][class*=hp--left] {
    padding-left: 5.3rem
}

.icon_wrap[class*=__size--s] .icon::after {
    width: 2.3rem;
    height: 2rem
}

.icon_wrap[class*=__size--m]:not([class*=hp--left]) {
    padding-right: 5.7rem
}

.icon_wrap[class*=__size--m][class*=hp--left] {
    padding-left: 5.7rem
}

.icon_wrap[class*=__size--m] .icon::after {
    width: 2.7rem;
    height: 2.3rem
}

.icon_wrap[class*=__size--r]:not([class*=hp--left]) {
    padding-right: 7.3rem
}

.icon_wrap[class*=__size--r][class*=hp--left] {
    padding-left: 7.3rem
}

.icon_wrap[class*=__size--r] .icon::after {
    width: 4.3rem;
    height: 3.5rem
}

.icon_wrap[class*=__size--l]:not([class*=hp--left]) {
    padding-right: 11.8rem
}

.icon_wrap[class*=__size--l][class*=hp--left] {
    padding-left: 11.8rem
}

.icon_wrap[class*=__size--l] .icon::after {
    width: 8.8rem;
    height: 7.4rem
}

.icon_wrap[class*=__size--xl]:not([class*=hp--left]) {
    padding-right: 12.3rem
}

.icon_wrap[class*=__size--xl][class*=hp--left] {
    padding-left: 12.3rem
}

.icon_wrap[class*=__size--xl] .icon::after {
    width: 9.3rem;
    height: 7.9rem
}

.icon_wrap[class*=__size--2xl]:not([class*=hp--left]) {
    padding-right: 16.2rem
}

.icon_wrap[class*=__size--2xl][class*=hp--left] {
    padding-left: 16.2rem
}

.icon_wrap[class*=__size--2xl] .icon::after {
    width: 13.2rem;
    height: 11.2rem
}

.icon_wrap[class*=__hp--right] .icon_base {
    right: 0
}

.icon_wrap[class*=__hp--left] .icon_base {
    left: 0
}

.icon_wrap[class*=__vp--top] .icon_base {
    top: 0
}

.icon_wrap[class*=__vp--bottom] .icon_base {
    bottom: 0
}

.icon_wrap[class*=__vp--middle] .icon_base {
    top: 50%;
    transform: translate(0, -50%)
}

.icon_wrap[class*=__arrow] .icon::after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3C!-- Generator: Adobe Illustrator 27.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E %3Csvg version='1.1' id='_%26%23x30EC;%26%23x30A4;%26%23x30E4;%26%23x30FC;_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 40 34' style='enable-background:new 0 0 40 34;' xml:space='preserve'%3E %3Cstyle type='text/css'%3E .st0%7Bdisplay:none;fill-rule:evenodd;clip-rule:evenodd;%7D .st1%7Bfill-rule:evenodd;clip-rule:evenodd;%7D %3C/style%3E %3Cpath class='st0' d='M32.3,15H0v4h32.3L20,31.2l2.9,2.8L40,17L22.9,0L20,2.8L32.3,15z'/%3E %3Cpolygon class='st1' points='23,0 20.2,2.8 32.3,15 0,15 0,19 32.3,19 20.2,31.2 23,34 40,17 '/%3E %3C/svg%3E");
    background-position: 0 0;
    background-repeat: no-repeat
}

.icon_wrap[class*=__arrow][class*=__color--wt] .icon::after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3C?xml version='1.0' encoding='utf-8'?%3E %3C!-- Generator: Adobe Illustrator 27.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E %3Csvg version='1.1' id='_%26%23x30EC;%26%23x30A4;%26%23x30E4;%26%23x30FC;_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 40 34' style='enable-background:new 0 0 40 34;' xml:space='preserve' fill='%23ffffff'%3E %3Cstyle type='text/css'%3E .st0%7Bdisplay:none;fill-rule:evenodd;clip-rule:evenodd;%7D .st1%7Bfill-rule:evenodd;clip-rule:evenodd;%7D %3C/style%3E %3Cpath class='st0' d='M32.3,15H0v4h32.3L20,31.2l2.9,2.8L40,17L22.9,0L20,2.8L32.3,15z'/%3E %3Cpolygon class='st1' points='23,0 20.2,2.8 32.3,15 0,15 0,19 32.3,19 20.2,31.2 23,34 40,17 '/%3E %3C/svg%3E")
}

.icon_wrap[class*=__arrow][class*="--down"] .icon_rotation {
    transform: rotate(90deg)
}

.icon_wrap[class*=__arrow][class*="--down"][class*=size--2xs] {
    padding-right: 2.5rem
}

.icon_wrap[class*=__arrow][class*="--left"] .icon_rotation {
    transform: scaleX(-1)
}

.icon_wrap[class*=__arrow][class*="--blank"] .icon_rotation {
    transform: rotate(-45deg)
}

.icon_wrap[class*=__arrow][class*="--blank"][class*=size--2xs] {
    padding-right: 1.8rem
}

.icon_wrap[class*=__arrow][class*="--blank"][class*=size--2xs] .icon_base {
    right: -.3rem
}

.icon_wrap[class*=__arrow][class*="--blank"][class*=size--2xs] .icon_base .icon::after {
    width: 1.728rem;
    height: 1.404rem
}

.icon_wrap[class*=__arrow][class*="--blank"][class*=size--m] .icon::after {
    width: 3.7rem;
    height: 3.1rem
}

.icon_wrap[class*=__arrow][class*="--blank"][class*=size--xl] .icon_base {
    top: -.7rem;
    right: -1.3rem
}

.icon_wrap[class*=__arrow][class*="--blank"][class*=size--xl] .icon_base .icon::after {
    width: 9.1rem;
    height: 7.7rem
}

#splash {
    z-index: 2000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #fff
}

.no_splash #splash {
    display: none
}

#splash section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

#splash section .inner {
    display: flex;
    z-index: 2;
    position: relative;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding-top: 10.1rem;
    padding-bottom: 4.5rem
}

#splash section .inner header {
    display: flex;
    row-gap: 4.2rem;
    flex-direction: column-reverse;
    width: 100%;
    padding-bottom: 0;
    color: var(--splash-color);
    opacity: 0
}

#splash section .inner header .logo {
    margin-top: 2.8rem
}

#splash section .inner header .logo svg {
    width: 16.4rem
}

#splash section .inner header .logo svg * {
    fill: var(--splash-color)
}

#splash section .inner header h1 span {
    margin-top: -1.4898375rem;
    margin-bottom: -1.4898375rem;
    font-weight: 700;
    font-size: 11.685rem;
    line-height: 1.005;
    font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
    letter-spacing: .01em
}

#splash section .inner header h1 span.font__info::after {
    display: block;
    content: "(116.85 / 117.43425 / 10)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#splash section .inner header p span {
    margin-top: -.4rem;
    margin-bottom: -.4rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: .06em
}

#splash section .inner header p span.font__info::after {
    display: block;
    content: "(20 / 28 / 60)";
    color: red;
    font-weight: 400;
    font-family: HelveticaNowDisplay
}

#splash section .bg {
    z-index: 1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

#splash section .bg .line {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

#splash section .bg video {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0
}

@media screen and (max-width:767px) {
    .js_copy {
        height: 100vh
    }

    .js_copy_textItem:nth-child(1) {
        width: 218px;
        height: 57px;
        margin-left: 3px
    }

    .js_copy_textItem:nth-child(2) {
        width: 571px;
        height: 60px;
        margin-top: 11px;
        margin-left: 0
    }

    .js_copy_textItem:nth-child(3) {
        width: 348px;
        height: 74px;
        margin-top: 10px;
        margin-left: 28.3rem
    }

    .js_copy_textItem:nth-child(4) {
        width: 166px;
        height: 20px;
        margin-top: 24px;
        margin-left: 21px
    }

    .js_intro_backBase {
        position: absolute;
        top: 10px;
        right: 10px;
        bottom: 10px;
        left: 10px;
        width: auto;
        height: auto;
        margin: 0
    }
/* 
    .js_intro_movMix {
        -webkit-mask-image: url(../images/top/sp/gradation-01.png);
        mask-image: url(../images/top/sp/gradation-01.png)
    }

    .js_intro_movMix:nth-child(2) {
        -webkit-mask-image: url(../images/top/sp/gradation-02.png);
        mask-image: url(../images/top/sp/gradation-02.png)
    }

    .js_intro_movMix:nth-child(3) {
        -webkit-mask-image: url(../images/top/sp/gradation-03.png);
        mask-image: url(../images/top/sp/gradation-03.png)
    }

    .js_intro_movMix:nth-child(4) {
        -webkit-mask-image: url(../images/top/sp/gradation-04.png);
        mask-image: url(../images/top/sp/gradation-04.png)
    }

    .js_intro_movMix:nth-child(5) {
        -webkit-mask-image: url(../images/top/sp/gradation-05.png);
        mask-image: url(../images/top/sp/gradation-05.png)
    }

    .js_intro_movMix:nth-child(6) {
        -webkit-mask-image: url(../images/top/sp/gradation-06.png);
        mask-image: url(../images/top/sp/gradation-06.png)
    }

    .js_intro_movMix:nth-child(7) {
        -webkit-mask-image: url(../images/top/sp/gradation-07.png);
        mask-image: url(../images/top/sp/gradation-07.png)
    } */

    .js_intro_movMix.__inset {
        position: absolute;
        top: 10px;
        right: 10px;
        bottom: 10px;
        left: 10px;
        width: auto;
        height: auto;
        margin: 0
    }

    .js_intro_fv {
        padding-top: calc(var(--vh, 1vh) * 100 - 235px - calc(var(--sp-add-scale, 1px) * 40));
        padding-left: 22px
    }

    .js_intro_fvCopyInner {
        padding-bottom: 70px;
        font-size: 25px;
        line-height: 31px
    }

    .js_intro_fvDesc {
        padding-bottom: 50vh;
        font-size: 20px;
        line-height: 38px
    }

    .js_intro_fvDesc span {
        display: inline-block;
        letter-spacing: -.05em;
        white-space: nowrap
    }

    .js_intro_fvDesc p:not(:first-child) {
        padding-top: 42px
    }

    .js_intro_fvLogo {
        position: relative;
        right: 20px;
        bottom: 74px;
        left: 21px;
        width: auto
    }

    .js_intro_fvLogo:before {
        display: block;
        padding-top: 12.0096076861%;
        content: ""
    }

    .js_intro_fvNews {
        top: 22px;
        left: 22px;
        flex-direction: column-reverse
    }

    .js_intro_fvNewsDate {
        padding-top: 2px;
        font-size: 9px
    }

    .js_intro_fvNewsTitle {
        width: 280px;
        font-size: 12px
    }

    .js_intro_fvAttention,
    .js_intro_loading {
        padding: 50vh 22px 38px
    }

    .js_intro.is_top .js_intro_down {
        opacity: 0;
        pointer-events: none
    }

    .js_intro_downButton {
        right: 22px;
        bottom: 31px;
        width: 34px;
        height: 42px
    }

    .js_intro_downButton svg {
        top: 0;
        left: 11px;
        width: 12px;
        height: 14px
    }

    .js_intro_factHead {
        top: 74px;
        left: 23px;
        font-weight: 700;
        font-size: 9px;
        line-height: 12px;
        font-family: HelveticaNowDisplay, HelveticaNowMicro, HelveticaNeue, Helvetica, Roboto, "Droid Sans", sans-serif;
        white-space: nowrap
    }

    .js_intro_factNumCurrent {
        top: 17px;
        left: 19px;
        height: 49px;
        font-size: 57px;
        line-height: 49px
    }

    .js_intro_factNumCurrentItem {
        top: 0
    }

    .js_intro_factNumTotal {
        top: 21px;
        left: 88px;
        width: 49px;
        height: 42px
    }

    .js_intro_factDot {
        bottom: 97px;
        left: calc(100vw - 43px)
    }

    .js_intro_factDotItem:not(:first-child) {
        padding-top: 6px
    }

    .js_intro_factDotItemButton {
        width: 8px;
        height: 8px;
        transform: scale(.5);
        border: 1px solid var(--top-ui-color)
    }

    .js_intro_factPage {
        right: 81px;
        bottom: 24px;
        left: 21px;
        width: auto
    }

    .js_intro_factTitle {
        padding-bottom: 27px;
        font-size: 25px;
        line-height: 35px
    }

    .js_intro_factDesc {
        font-size: 15px;
        line-height: 28px;
        letter-spacing: -.25px;
        text-align: justify
    }

    .js_intro_factDesc br {
        display: none
    }

    .js_intro_end {
        padding-left: 22px
    }

    .js_intro_endText {
        width: 100%;
        font-size: 20px;
        line-height: 37px
    }

    .js_intro_endText p:not(:first-child) {
        padding-top: 21px
    }

    .js_scrollAttention_arw {
        top: 9px;
        right: 0;
        width: 6px;
        height: 7px
    }

    .js_scrollAttention_label {
        top: 8px;
        left: 0;
        font-size: 9px
    }

    .js_scrollAttention_circle {
        top: 16px;
        right: 7px;
        width: 154px;
        height: 154px;
        margin-top: -77px;
        margin-right: -77px
    }

    .hyphen.pc,
    br.pc {
        display: none
    }

    .select_wrap select,
    input[type=number],
    input[type=text],
    textarea {
        padding-top: 4.2rem;
        padding-bottom: 4.2rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .select_wrap select.font__info::after,
    input.font__info[type=number]::after,
    input.font__info[type=text]::after,
    textarea.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    textarea {
        min-height: 81rem
    }

    .check_wrap label {
        column-gap: 2rem
    }

    .check_wrap label input:checked+.icon::before {
        width: 2rem;
        height: 2rem
    }

    .check_wrap label .icon {
        width: 2.8rem;
        height: 2.8rem;
        border-radius: .4rem
    }

    .check_wrap label:has(>.error)::before {
        width: 2.8rem;
        height: 2.8rem
    }

    .error_message {
        margin-top: 4.2rem
    }

    .error_message span {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .error_message span.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    button[type=submit] {
        height: 15.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    button[type=submit].font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    html {
        font-size: calc(.0266666667 * var(--vw) * 100 / 2)
    }

    .inner {
        padding-right: 4.4rem;
        padding-left: 4.4rem
    }

    .fit--v.sp--free {
        height: auto
    }

    .fs__p--s {
        margin-top: -1.03rem;
        margin-bottom: -1.03rem;
        font-size: 2.4rem;
        line-height: 1.8583333333;
        letter-spacing: .06em
    }

    .fs__p--s.font__info::after {
        display: block;
        content: "(24 / 44.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--s.ff__en {
        margin-top: -1.225rem;
        margin-bottom: -1.225rem;
        font-size: 2.6rem;
        line-height: 1.6923076923;
        letter-spacing: .01em
    }

    .fs__p--s.ff__en.font__info::after {
        display: block;
        content: "(26 / 44 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--s-m {
        margin-top: -1.4rem;
        margin-bottom: -1.4rem;
        font-size: 2.8rem;
        line-height: 2;
        letter-spacing: .06em
    }

    .fs__p--s-m.font__info::after {
        display: block;
        content: "(28 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--s-m.ff__en {
        margin-top: -1.275rem;
        margin-bottom: -1.275rem;
        font-size: 3rem;
        line-height: 1.6;
        letter-spacing: .01em
    }

    .fs__p--s-m.ff__en.font__info::after {
        display: block;
        content: "(30 / 48 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--m {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .fs__p--m.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--m.ff__en {
        margin-top: -1.6rem;
        margin-bottom: -1.6rem;
        font-size: 3.2rem;
        line-height: 1.75;
        letter-spacing: .01em
    }

    .fs__p--m.ff__en.font__info::after {
        display: block;
        content: "(32 / 56 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--r {
        margin-top: -1.833rem;
        margin-bottom: -1.833rem;
        font-size: 4rem;
        line-height: 1.9165;
        letter-spacing: .06em
    }

    .fs__p--r.font__info::after {
        display: block;
        content: "(40 / 76.66 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--r.ff__en {
        margin-top: -2.108rem;
        margin-bottom: -2.108rem;
        font-size: 4.6rem;
        line-height: 1.6665217391;
        letter-spacing: .02em
    }

    .fs__p--r.ff__en.font__info::after {
        display: block;
        content: "(46 / 76.66 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--l {
        margin-top: -2.1665rem;
        margin-bottom: -2.1665rem;
        font-size: 5rem;
        line-height: 1.8666;
        letter-spacing: .06em
    }

    .fs__p--l.font__info::after {
        display: block;
        content: "(50 / 93.33 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__p--l.ff__en {
        margin-top: -2.529rem;
        margin-bottom: -2.529rem;
        font-size: 5.7rem;
        line-height: 1.6373684211;
        letter-spacing: .02em
    }

    .fs__p--l.ff__en.font__info::after {
        display: block;
        content: "(57 / 93.33 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--s {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .fs__h--s.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--s.ff__en {
        margin-top: -.525rem;
        margin-bottom: -.525rem;
        font-size: 2.6rem;
        line-height: 1.1538461538;
        letter-spacing: .01em
    }

    .fs__h--s.ff__en.font__info::after {
        display: block;
        content: "(26 / 30 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--m {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .fs__h--m.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--m.ff__en {
        margin-top: -.9rem;
        margin-bottom: -.9rem;
        font-size: 3.2rem;
        line-height: 1.3125;
        letter-spacing: .01em
    }

    .fs__h--m.ff__en.font__info::after {
        display: block;
        content: "(32 / 42 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--r {
        margin-top: -.8rem;
        margin-bottom: -.8rem;
        font-size: 4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .fs__h--r.font__info::after {
        display: block;
        content: "(40 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--r.ff__en {
        margin-top: -1.075rem;
        margin-bottom: -1.075rem;
        font-size: 4.6rem;
        line-height: 1.2173913043;
        letter-spacing: .02em
    }

    .fs__h--r.ff__en.font__info::after {
        display: block;
        content: "(46 / 56 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--l {
        margin-top: -1rem;
        margin-bottom: -1rem;
        font-size: 5rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .fs__h--l.font__info::after {
        display: block;
        content: "(50 / 70 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--l.ff__en {
        margin-top: -1.3625rem;
        margin-bottom: -1.3625rem;
        font-size: 5.7rem;
        line-height: 1.2280701754;
        letter-spacing: .02em
    }

    .fs__h--l.ff__en.font__info::after {
        display: block;
        content: "(57 / 70 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--xl {
        margin-top: -1.1rem;
        margin-bottom: -1.1rem;
        font-size: 9rem;
        line-height: 1.2444444444;
        letter-spacing: .06em
    }

    .fs__h--xl.font__info::after {
        display: block;
        content: "(90 / 112 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--xl.ff__en {
        margin-top: -1.925rem;
        margin-bottom: -1.925rem;
        font-size: 9.8rem;
        line-height: 1.1428571429;
        letter-spacing: .02em
    }

    .fs__h--xl.ff__en.font__info::after {
        display: block;
        content: "(98 / 112 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--2xl {
        margin-top: -2.2rem;
        margin-bottom: -2.2rem;
        font-size: 15.2rem;
        line-height: 1.2894736842;
        letter-spacing: .06em
    }

    .fs__h--2xl.font__info::after {
        display: block;
        content: "(152 / 196 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .fs__h--2xl.ff__en {
        margin-top: -2.6rem;
        margin-bottom: -2.6rem;
        font-size: 19.2rem;
        line-height: 1.0208333333;
        letter-spacing: .02em
    }

    .fs__h--2xl.ff__en.font__info::after {
        display: block;
        content: "(192 / 196 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    :not(a).underline {
        background-image: linear-gradient(transparent 94%, var(--underline-color) 94%, var(--underline-color) calc(94% + .5px), transparent calc(94% + .5px))
    }

    #header .frame {
        padding-top: 224px
    }

    #header>.inner .frame {
        min-height: 0;
        padding-bottom: 3.9rem;
        border-bottom-width: 1px
    }

    #header>.inner .frame .logo {
        width: 25.5rem;
        height: 3.1rem;
        transform: translate(0, .3rem)
    }

    #header>.inner .frame nav {
        display: none
    }

    #header>.inner .btn.menu {
        top: 103px;
        right: 110px;
        width: 80px;
        height: 64px;
        transform: translate(0, -50%)
    }

    #header>.inner .btn.menu button ul li {
        width: 80px;
        height: 8px;
    }

    #header #floating_menu .inner {
        overflow-y: auto
    }

    #header #floating_menu .inner .frame {
        justify-content: flex-start;
        width: 100%;
        height: auto;
        min-height: 100%;
        padding-right: 0;
        padding-bottom: 4.2rem
    }

    #header #floating_menu .inner .frame header {
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0;
        padding-right: 10.8rem;
        padding-bottom: 3.9rem;
        border-bottom: 1px solid #fff
    }

    #header #floating_menu .inner .frame header .logo {
        width: 25.5rem;
        height: 3.1rem;
        min-height: 0;
        transform: translate(0, .3rem)
    }

    #header #floating_menu .inner .frame header .logo svg {
        width: 25.5rem
    }

    #header #floating_menu .inner .frame header .logo .txt {
        display: none
    }

    #header #floating_menu .inner .frame header nav {
        padding-top: 0
    }

    #header #floating_menu .inner .frame header nav ul li a span,
    #header #floating_menu .inner .frame header nav ul li>span span {
        margin-top: -.9rem;
        margin-bottom: -.9rem;
        font-size: 3.2rem;
        line-height: 1.3125;
        letter-spacing: .01em
    }

    #header #floating_menu .inner .frame header nav ul li a span.font__info::after,
    #header #floating_menu .inner .frame header nav ul li>span span.font__info::after {
        display: block;
        content: "(32 / 42 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #header #floating_menu .inner .frame header nav ul li a span::before,
    #header #floating_menu .inner .frame header nav ul li>span span::before {
        content: attr(data-lang-sp)
    }

    #header #floating_menu .inner .frame>nav::after,
    #header #floating_menu .inner .frame>nav::before {
        display: none
    }

    #header #floating_menu .inner .frame>nav .nav_wrap {
        display: flex;
        row-gap: 5.6rem;
        flex-direction: column;
        padding-top: 8.4rem;
        padding-bottom: 0
    }

    #header #floating_menu .inner .frame>nav .nav_wrap::after,
    #header #floating_menu .inner .frame>nav .nav_wrap::before {
        display: none
    }

    #header #floating_menu .inner .frame>nav .nav_wrap .btn .title span {
        margin-top: -1.3625rem;
        margin-bottom: -1.3625rem;
        font-size: 5.7rem;
        line-height: 1.2280701754;
        letter-spacing: .02em
    }

    #header #floating_menu .inner .frame>nav .nav_wrap .btn .title span.font__info::after {
        display: block;
        content: "(57 / 70 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #header #floating_menu .inner .frame>nav .nav_wrap .btn .caption {
        margin-top: 2.8rem
    }

    #header #floating_menu .inner .frame>nav .nav_wrap .btn .caption>span {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    #header #floating_menu .inner .frame>nav .nav_wrap .btn .caption>span.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #header #floating_menu .inner .frame>nav .nav_wrap .btn:nth-of-type(4) {
        margin-top: 2.8rem;
        padding-top: 8.4rem;
        border-top: 1px solid rgba(255, 255, 255, .2)
    }

    #header #floating_menu .inner .frame>nav .nav_wrap ul {
        display: grid;
        grid-template-rows: repeat(4, auto);
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: column;
        row-gap: 2.5rem;
        margin-top: 2.8rem;
        padding-top: 4.2rem;
        border-top: 1px solid rgba(255, 255, 255, .2)
    }

    #header #floating_menu .inner .frame>nav .nav_wrap ul li a span:not(.ja) {
        margin-top: -.525rem;
        margin-bottom: -.525rem;
        font-size: 2.6rem;
        line-height: 1.1538461538;
        letter-spacing: .01em
    }

    #header #floating_menu .inner .frame>nav .nav_wrap ul li a span:not(.ja).font__info::after {
        display: block;
        content: "(26 / 30 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #header #floating_menu .inner .frame>nav .nav_wrap ul li a span.ja {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em;
        letter-spacing: .02em
    }

    #header #floating_menu .inner .frame>nav .nav_wrap ul li a span.ja.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #header #floating_menu .inner .frame>nav .nav_wrap ul li:nth-last-of-type(2) {
        margin-top: 0
    }

      #footer .inner {
        padding-top: 14rem
    }

      #footer .inner .btn a .prefix {
        margin-bottom: 8.4rem
    }

      #footer .inner .type1 .btn {
        margin-bottom: 36.4rem
    }

      #footer .inner .type1 .btn a .prefix {
        height: 1.3rem
    }

      #footer .inner .type1 .btn a .prefix span {
        margin-top: -.459rem;
        margin-bottom: -.459rem;
        transform: scale(.5);
        transform-origin: 0 0;
        font-size: 3.6rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

      #footer .inner .type1 .btn a .prefix span.font__info::after {
        display: block;
        content: "(36 / 36.18 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .type1 .btn a .icon_wrap[class*=__size--xl]:not([class*=hp--left]) {
        padding-right: 0
    }

      #footer .inner .type1 .btn a .title .icon_base {
        top: 0;
        transform: translate(0, 0)
    }

      #footer .inner .type1 .btn a .title span {
        margin-top: -1.4898375rem;
        margin-bottom: -1.4898375rem;
        font-size: 11.685rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

      #footer .inner .type1 .btn a .title span.font__info::after {
        display: block;
        content: "(116.85 / 117.43425 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .type1 .btn a .caption span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

      #footer .inner .type1 .btn a .caption span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .type1 nav::after {
        display: none
    }

      #footer .inner .type1 nav ul {
        row-gap: 2.1rem;
        flex-direction: column
    }

      #footer .inner .type1 nav ul li a span {
        margin-top: -1.075rem;
        margin-bottom: -1.075rem;
        font-size: 4.6rem;
        line-height: 1.2173913043;
        letter-spacing: .02em
    }

      #footer .inner .type1 nav ul li a span.font__info::after {
        display: block;
        content: "(46 / 56 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .type1 nav ul li.current a::after {
        position: absolute;
        top: 50%;
        right: 3.4rem;
        width: 1.8rem;
        height: 1.8rem;
        transform: translate(50%, -50%);
        border-radius: 50%;
        background-color: #fff;
        content: "";
        opacity: .2
    }

      #footer .inner .type1>nav {
        margin-top: -14rem
    }

      #footer .inner .type2 {
        margin-bottom: 36.4rem
    }

      #footer .inner .type2 nav {
        row-gap: 8.4rem;
        flex-direction: column
    }

      #footer .inner .type2 nav .btn a {
        padding-top: 4.2rem
    }

      #footer .inner .type2 nav .btn a::before {
        height: 1px
    }

      #footer .inner .type2 nav .btn a .title {
        min-height: 0
    }

      #footer .inner .type2 nav .btn a .title span {
        margin-top: -.5865rem;
        margin-bottom: -.5865rem;
        font-size: 4.6rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

      #footer .inner .type2 nav .btn a .title span.font__info::after {
        display: block;
        content: "(46 / 46.23 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .type2 nav .btn a .caption span {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

      #footer .inner .type2 nav .btn a .caption span.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .type2 nav .btn.current a .icon_wrap .icon_base {
        top: 1.65rem;
        right: 2.4rem
    }

      #footer .inner .type2 nav .btn.current a .icon_wrap .icon_base .icon::after {
        width: 1.8rem;
        height: 1.8rem
    }

      #footer .inner .common {
        display: grid;
        grid-template-rows: repeat(2, auto);
        grid-template-columns: repeat(2, 1fr);
        align-items: unset;
        justify-content: flex-start;
        gap: 14rem 0;
        border-top-color: rgba(255, 255, 255, .2)
    }

      #footer .inner .common nav ul {
        row-gap: 2.5rem;
        flex-direction: column
    }

      #footer .inner .common nav ul li a {
        display: inline-flex
    }

      #footer .inner .common nav:not(.sub) li a {
        opacity: 1
    }

      #footer .inner .common nav:not(.sub) li a span {
        margin-top: -.525rem;
        margin-bottom: -.525rem;
        font-size: 2.6rem;
        line-height: 1.1538461538;
        letter-spacing: .01em
    }

      #footer .inner .common nav:not(.sub) li a span.font__info::after {
        display: block;
        content: "(26 / 30 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .common nav.sub {
        margin-right: auto;
        margin-left: 0
    }

      #footer .inner .common nav.sub ul {
        justify-content: space-between;
        height: 100%
    }

      #footer .inner .common nav.sub ul li a span {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

      #footer .inner .common nav.sub ul li a span.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      #footer .inner .common nav.sub ul li:nth-of-type(1) a {
        opacity: 1
    }

      #footer .inner .common nav.sub ul li:nth-of-type(2) {
        margin-top: auto;
        margin-bottom: 0
    }

      #footer .inner .common .copyright {
        position: relative;
        grid-column-start: 1;
        grid-column-end: 3;
        opacity: 1
    }

      #footer .inner .common .copyright::after {
        position: absolute;
        top: 50%;
        right: 3.4rem;
        width: 1.8rem;
        height: 1.8rem;
        transform: translate(50%, -50%);
        border-radius: 50%;
        background-color: #fff;
        content: ""
    }

      #footer .inner .common .copyright span {
        margin-top: -.525rem;
        margin-bottom: -.525rem;
        font-size: 2.6rem;
        line-height: 1.1538461538;
        letter-spacing: .01em
    }

      #footer .inner .common .copyright span.font__info::after {
        display: block;
        content: "(26 / 30 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

      .inner {
        padding-top: 11.4rem;
        padding-bottom: 42rem
    }

    body[class*="404"]   .inner,
    body[class*=approach_index]   .inner,
    body[class*=synergy_index]   .inner {
        padding-bottom: 25.2rem
    }

      .inner.fit--v {
        padding-bottom: 0 !important
    }

      .inner.fit--v.sp--free {
        padding-bottom: 0 !important
    }

    .layout__scroll {
        border-top: 1px solid #000;
        border-bottom: 0 none
    }

    .layout__scroll a,
    .layout__scroll button {
        padding-top: 2.1rem;
        padding-bottom: 4.2rem
    }

    .layout__scroll .attention,
    .layout__scroll .caption {
        display: inline-flex;
        height: 1.3rem
    }

    .layout__scroll .attention span,
    .layout__scroll .caption span {
        display: inline-flex;
        margin-top: -.2295rem;
        margin-right: -10%;
        margin-bottom: -.2295rem;
        transform: scale(.9);
        transform-origin: 0 50%;
        font-size: 1.8rem;
        line-height: 1.005;
        letter-spacing: .02em;
        white-space: nowrap
    }

    .layout__scroll .attention span.font__info::after,
    .layout__scroll .caption span.font__info::after {
        display: block;
        content: "(18 / 18.09 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__scroll .attention {
        padding-right: 1rem !important
    }

    .layout__scroll .caption {
        justify-content: flex-end
    }

    .layout__bread-crumbs {
        column-gap: 0;
        row-gap: 2.8rem;
        flex-direction: column;
        padding-top: 4.2rem
    }

    .layout__bread-crumbs li a {
        padding-left: 4rem
    }

    .layout__bread-crumbs li a::before {
        margin-top: -.51rem;
        margin-bottom: -.51rem;
        transform: translate(0, .1rem) scale(.5);
        font-size: 4rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__bread-crumbs li a::before.font__info::after {
        display: block;
        content: "(40 / 40.2 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__bread-crumbs li a span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__bread-crumbs li a span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__bread-crumbs li.current a span {
        opacity: .4
    }

    .layout__bread-crumbs li.current a::before {
        opacity: .4
    }

    .layout__bread-crumbs li.current a::after {
        left: 0;
        width: 7.2rem;
        height: 7.2rem;
        /* background-image: url(../images/common/line/s/type-1.jpg) */
    }

    .layout__recruit-btn {
        margin-top: 25.2rem
    }

    .layout__recruit-btn .btn a {
        border-bottom: 1px solid rgba(0, 0, 0, .2)
    }

    .layout__recruit-btn .btn a .caption span {
        margin-top: -.8rem;
        margin-bottom: -.8rem;
        font-size: 4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__recruit-btn .btn a .caption span.font__info::after {
        display: block;
        content: "(40 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__recruit-btn .btn a .description {
        position: static;
        margin-top: 8.4rem;
        padding-right: 0 !important
    }

    .layout__recruit-btn .btn a .description .icon_base {
        top: 4.2rem;
        transform: translate(0, 0)
    }

    .layout__recruit-btn .btn a .description span {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .layout__recruit-btn .btn a .description span.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__common {
        row-gap: 8.4rem;
        flex-direction: column;
        padding-top: 4.2rem
    }

    .layout__common .main {
        width: auto
    }

    .layout__common .main h2 span {
        margin-top: -.8rem;
        margin-bottom: -.8rem;
        font-size: 4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__common .main h2 span.font__info::after {
        display: block;
        content: "(40 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__common .main p {
        margin-top: 8.4rem
    }

    .layout__common .main p span {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .layout__common .main p span.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__common .main p.note {
        margin-top: 4.2rem
    }

    .layout__common .main p.note span {
        margin-top: -1.03rem;
        margin-bottom: -1.03rem;
        font-size: 2.4rem;
        line-height: 1.8583333333;
        letter-spacing: .06em
    }

    .layout__common .main p.note span.font__info::after {
        display: block;
        content: "(24 / 44.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__common .main .btn {
        margin-top: 14rem
    }

    .layout__common .main .btn a span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__common .main .btn a span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__container--header {
        height: calc(100% + 11.6rem)
    }

    .layout__container--header .inner .frame {
        padding-top: 224px;
        padding-right: 0;
        padding-bottom: 4.2rem
    }

    .layout__container--header .inner h1 {
        min-height: 2.3rem
    }

    .layout__container--header .inner h1 span {
        margin-top: -.3825rem;
        margin-bottom: -.3825rem;
        font-size: 3rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__container--header .inner h1 span.font__info::after {
        display: block;
        content: "(30 / 30.15 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__container--header .inner p {
        display: none
    }

    .layout__brand-site-btn .btn {
        width: auto
    }

    .layout__brand-site-btn .btn a .icon_base {
        top: auto;
        right: 3.6rem;
        bottom: 4.2rem
    }

    .layout__local-nav--list {
        margin-top: 12.6rem;
        padding-bottom: 0;
        border-bottom: 0 none
    }

    .layout__local-nav--list .btn a {
        column-gap: 1.7rem
    }

    .layout__local-nav--list .btn a>* {
        padding-top: 4.2rem
    }

    .layout__local-nav--list .btn a>* .prefix,
    .layout__local-nav--list .btn a>* .title {
        margin-bottom: 2.8rem
    }

    .layout__local-nav--list .btn a>* .prefix {
        height: 2.4rem;
        min-height: 0
    }

    .layout__local-nav--list .btn a>* .prefix span {
        margin-top: -.255rem;
        margin-bottom: -.255rem;
        transform: scale(.9);
        transform-origin: 0 50%;
        font-size: 2rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__local-nav--list .btn a>* .prefix span.font__info::after {
        display: block;
        content: "(20 / 20.1 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--list .btn a .number {
        width: 14rem
    }

    .layout__local-nav--list .btn a .number::after {
        margin-top: -.9945rem;
        margin-bottom: -.9945rem;
        font-size: 7.8rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__local-nav--list .btn a .number::after.font__info::after {
        display: block;
        content: "(78 / 78.39 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--list .btn a .description {
        width: 50.5rem
    }

    .layout__local-nav--list .btn a .description .title span {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__local-nav--list .btn a .description .title span.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--list .btn a .description .caption {
        padding-right: 0
    }

    .layout__local-nav--list .btn a .description .caption .icon_base {
        top: auto;
        right: calc(100% + 14rem + 1.7rem - 4.4rem);
        bottom: 0;
        transform: translate(0, 0)
    }

    .layout__local-nav--list .btn a .description .caption .icon_base .icon::after {
        width: 4.4rem;
        height: 3.7rem
    }

    .layout__local-nav--list .btn a .description .caption span {
        margin-top: -.8rem;
        margin-bottom: -.8rem;
        font-size: 4rem;
        line-height: 1.4;
        letter-spacing: .06em;
        letter-spacing: .03em
    }

    .layout__local-nav--list .btn a .description .caption span.font__info::after {
        display: block;
        content: "(40 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--single {
        margin-top: 25.2rem
    }

    .layout__local-nav--single nav {
        flex-direction: column-reverse;
        padding-top: 4.2rem;
        padding-bottom: 8.4rem
    }

    .layout__local-nav--single nav h2 {
        padding-bottom: 4.2rem;
        border-bottom: 1px solid rgba(0, 0, 0, .2)
    }

    .layout__local-nav--single nav h2 span {
        margin-top: -.9rem;
        margin-bottom: -.9rem;
        font-size: 3.2rem;
        line-height: 1.3125;
        letter-spacing: .01em
    }

    .layout__local-nav--single nav h2 span.font__info::after {
        display: block;
        content: "(32 / 42 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--single .btn a {
        padding-top: 2.8rem;
        padding-bottom: 8.4rem
    }

    .layout__local-nav--single .btn a .prefix {
        height: 1.3rem;
        margin-bottom: 4.2rem
    }

    .layout__local-nav--single .btn a .prefix span {
        margin-top: -.255rem;
        margin-bottom: -.255rem;
        transform: scale(.9);
        transform-origin: 0 50%;
        font-size: 2rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__local-nav--single .btn a .prefix span.font__info::after {
        display: block;
        content: "(20 / 20.1 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--single .btn a .number {
        column-gap: 2.8rem
    }

    .layout__local-nav--single .btn a .number .total {
        padding-left: 3.2rem
    }

    .layout__local-nav--single .btn a .number .total::before {
        left: .8rem;
        height: 2.4rem;
        transform: rotate(45deg)
    }

    .layout__local-nav--single .btn a .number .total span {
        margin-top: -.525rem;
        margin-bottom: -.525rem;
        font-size: 2.6rem;
        line-height: 1.1538461538;
        letter-spacing: .01em
    }

    .layout__local-nav--single .btn a .number .total span.font__info::after {
        display: block;
        content: "(26 / 30 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--single .btn a .text {
        margin-top: 14rem
    }

    .layout__local-nav--single .btn a .text .title span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__local-nav--single .btn a .text .title span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__local-nav--single .btn a .text .caption {
        margin-top: 4.2rem
    }

    .layout__local-nav--single .btn a .text .caption span {
        margin-top: -1rem;
        margin-bottom: -1rem;
        font-size: 5rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__local-nav--single .btn a .text .caption span.font__info::after {
        display: block;
        content: "(50 / 70 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-1--intro .main {
        padding-top: 4.2rem;
        padding-bottom: 8.4rem
    }

    .layout__type-1--intro .main h2::after {
        right: 3.4rem
    }

    .layout__type-1--intro .main h2 span {
        margin-top: -1rem;
        margin-bottom: -1rem;
        font-size: 5rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-1--intro .main h2 span.font__info::after {
        display: block;
        content: "(50 / 70 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-1--intro .main h1 span {
        margin-top: -1.51725rem;
        margin-bottom: -1.51725rem;
        font-size: 11.9rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__type-1--intro .main h1 span.font__info::after {
        display: block;
        content: "(119 / 119.595 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-1--text-figure {
        height: auto;
        padding-bottom: 7.8rem
    }

    .layout__type-1--text-figure .main {
        flex-direction: column;
        justify-content: flex-start;
        height: auto;
        padding-top: 0;
        padding-bottom: 0
    }

    .layout__type-1--text-figure .main .description {
        padding-top: 8.4rem;
        padding-bottom: 8.4rem;
        border-bottom: 1px solid #000
    }

    .layout__type-1--text-figure .main .description p {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .layout__type-1--text-figure .main .description p.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-1--text-figure .main .description p+p {
        margin-top: 8.4rem
    }

    .layout__type-1--text-figure .main figure {
        width: calc(100% + 8.8rem);
        margin-right: -4.4rem;
        margin-left: -4.4rem;
        padding-top: 7rem;
        padding-bottom: 7rem
    }

    .layout__type-1--text-figure .layout__scroll {
        position: absolute;
        bottom: 0;
        width: 100%
    }

    .layout__type-1--text-figure .layout__scroll--wrapper {
        top: -11.5rem;
        left: -4.4rem;
        width: calc(100% + 8.8rem);
        height: calc(100% + 11.5rem);
        padding-right: 4.4rem;
        padding-left: 4.4rem
    }

    .layout__type-1--text-figure .layout__scroll--wrapper_inner {
        position: sticky;
        top: 0;
        bottom: auto;
        height: calc(var(--vh-variable) * 100)
    }

    .layout__type-1--text-figure .layout__scroll--wrapper_inner::before {
        position: absolute;
        bottom: 0;
        left: -4.4rem;
        width: calc(100% + 8.8rem);
        height: 7.8rem;
        /* background: #fff fixed url(../images/common/bg.png) repeat 50% 50%; */
        content: ""
    }

    .layout__type-2--intro .wrap {
        column-gap: 0;
        row-gap: 25.2rem;
        flex-direction: column;
        padding-top: 4.2rem
    }

    .layout__type-2--intro .wrap .index {
        width: auto
    }

    .layout__type-2--intro .wrap .index h1 span {
        margin-top: -.9rem;
        margin-bottom: -.9rem;
        font-size: 3.2rem;
        line-height: 1.3125;
        letter-spacing: .01em
    }

    .layout__type-2--intro .wrap .index h1 span.font__info::after {
        display: block;
        content: "(32 / 42 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--intro .wrap .index .number {
        margin-top: 4.2rem
    }

    .layout__type-2--intro .wrap .index .number span {
        margin-top: -1.97625rem;
        margin-bottom: -1.97625rem;
        font-size: 15.5rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__type-2--intro .wrap .index .number span.font__info::after {
        display: block;
        content: "(155 / 155.775 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--intro .wrap .text {
        width: auto;
        text-align: right
    }

    .layout__type-2--intro .wrap .text h2 {
        justify-content: flex-end;
        min-height: 0
    }

    .layout__type-2--intro .wrap .text h2.row__2 {
        min-height: 0
    }

    .layout__type-2--intro .wrap .text h2 span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-2--intro .wrap .text h2 span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--intro .wrap .text .description {
        justify-content: flex-end;
        margin-top: 4.2rem
    }

    .layout__type-2--intro .wrap .text .description>span {
        margin-top: -1rem;
        margin-bottom: -1rem;
        font-size: 5rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-2--intro .wrap .text .description>span.font__info::after {
        display: block;
        content: "(50 / 70 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--intro .wrap .text .description>span>span {
        display: inline-block;
        transform: translate(3.1rem, 0)
    }

    .layout__type-2--intro nav {
        position: absolute;
        top: 4.2rem;
        right: 0;
        margin-top: 0
    }

    .layout__type-2--intro nav::before {
        display: none
    }

    .layout__type-2--intro nav .layout__bread-crumbs {
        column-gap: 2.8rem;
        flex-direction: row;
        justify-content: flex-end;
        width: auto;
        padding-top: 0
    }

    .layout__type-2--intro nav .layout__bread-crumbs li a {
        padding-left: 0
    }

    .layout__type-2--intro nav .layout__bread-crumbs li a::before {
        position: static;
        margin-top: -.9rem;
        margin-bottom: -.9rem;
        transform: scale(1);
        font-size: 3.2rem;
        line-height: 1.3125;
        letter-spacing: .01em
    }

    .layout__type-2--intro nav .layout__bread-crumbs li a::before.font__info::after {
        display: block;
        content: "(32 / 42 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--intro nav .layout__bread-crumbs li a span {
        display: none
    }

    .layout__type-2--intro nav .layout__bread-crumbs li a span::after {
        content: "test"
    }

    .layout__type-2--intro nav .layout__bread-crumbs li.current::after {
        position: absolute;
        top: calc(100% + 4.2rem);
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #000;
        content: "";
        opacity: .2
    }

    .layout__type-2--intro nav .layout__bread-crumbs li.current a::after {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -45%)
    }

    .layout__type-2--text-figure {
        row-gap: 25.2rem;
        flex-direction: column;
        margin-top: 25.2rem
    }

    .layout__type-2--text-figure .text {
        row-gap: 25.2rem;
        width: auto
    }

    .layout__type-2--text-figure .text section {
        padding-top: 4.2rem
    }

    .layout__type-2--text-figure .text section header {
        margin-bottom: 8.4rem
    }

    .layout__type-2--text-figure .text section header h3 span {
        margin-top: -.8rem;
        margin-bottom: -.8rem;
        font-size: 4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-2--text-figure .text section header h3 span.font__info::after {
        display: block;
        content: "(40 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--text-figure .text section p span {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .layout__type-2--text-figure .text section p span.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--text-figure .text section p.note {
        margin-top: 4.2rem;
        opacity: .6
    }

    .layout__type-2--text-figure .text section p.note span {
        margin-top: -1.03rem;
        margin-bottom: -1.03rem;
        font-size: 2.4rem;
        line-height: 1.8583333333;
        letter-spacing: .06em
    }

    .layout__type-2--text-figure .text section p.note span.font__info::after {
        display: block;
        content: "(24 / 44.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-2--text-figure .figure {
        width: auto;
        padding-top: 4.2rem
    }

    .layout__type-2--text-figure .figure header {
        margin-bottom: 8.4rem
    }

    .layout__type-2--text-figure .figure header h4 span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-2--text-figure .figure header h4 span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-3--intro {
        row-gap: 8.4rem;
        flex-direction: column;
        padding-top: 4.2rem
    }

    .layout__type-3--intro header nav {
        display: none
    }

    .layout__type-3--intro .main {
        width: auto
    }

    .layout__type-3--intro .main h2 {
        margin-bottom: 8.4rem
    }

    .layout__type-3--intro .main h2 span {
        margin-top: -1rem;
        margin-bottom: -1rem;
        font-size: 5rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-3--intro .main h2 span.font__info::after {
        display: block;
        content: "(50 / 70 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-3--intro .main .description p span {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .layout__type-3--intro .main .description p span.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-3--intro .main .description p+p {
        margin-top: 5.6rem
    }

    .layout__type-3--common {
        flex-direction: column;
        margin-top: calc(25.2rem - 11.4rem);
        padding-top: 11.4rem
    }

    .layout__type-3--common [class*=heading] {
        margin-bottom: 0;
        padding-top: 4.2rem
    }

    .layout__type-3--common [class*=heading][class*=__m] span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-3--common [class*=heading][class*=__m] span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-3--common [class*=heading][class*=__r] span {
        margin-top: -.8rem;
        margin-bottom: -.8rem;
        font-size: 4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .layout__type-3--common [class*=heading][class*=__r] span.font__info::after {
        display: block;
        content: "(40 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-3--common>header {
        width: auto;
        margin-bottom: 14rem
    }

    .layout__type-3--common>header p {
        margin-top: 8.4rem
    }

    .layout__type-3--common>header p span {
        margin-top: -1.3rem;
        margin-bottom: -1.3rem;
        font-size: 3rem;
        line-height: 1.8666666667;
        letter-spacing: .06em
    }

    .layout__type-3--common>header p span.font__info::after {
        display: block;
        content: "(30 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-3--common .main {
        width: auto;
        border-top-width: 1px
    }

    .title__page--common .title span {
        margin-top: -1.3625rem;
        margin-bottom: -1.3625rem;
        font-size: 5.7rem;
        line-height: 1.2280701754;
        letter-spacing: .02em
    }

    .title__page--common .title span.font__info::after {
        display: block;
        content: "(57 / 70 / 20)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .title__page--common .ja {
        margin-top: 2.8rem
    }

    .title__page--common .ja span {
        margin-top: -.48rem;
        margin-bottom: -.48rem;
        font-size: 2.4rem;
        line-height: 1.4;
        letter-spacing: .06em
    }

    .title__page--common .ja span.font__info::after {
        display: block;
        content: "(24 / 33.6 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .icon_wrap[class*=__size--3xs] .icon::after {
        width: 1.4rem;
        height: 1.2rem
    }

    .icon_wrap[class*=__size--2xs]:not([class*=hp--left]) {
        padding-right: 6rem
    }

    .icon_wrap[class*=__size--2xs][class*=hp--left] {
        padding-left: 6rem
    }

    .icon_wrap[class*=__size--2xs] .icon::after {
        width: 3.3rem;
        height: 2.8rem
    }

    .icon_wrap[class*=__size--xs]:not([class*=hp--left]) {
        padding-right: 6rem
    }

    .icon_wrap[class*=__size--xs][class*=hp--left] {
        padding-left: 6rem
    }

    .icon_wrap[class*=__size--xs] .icon::after {
        width: 3.3rem;
        height: 2.8rem
    }

    .icon_wrap[class*=__size--s]:not([class*=hp--left]) {
        padding-right: 6rem
    }

    .icon_wrap[class*=__size--s][class*=hp--left] {
        padding-left: 6rem
    }

    .icon_wrap[class*=__size--s] .icon::after {
        width: 3.5rem;
        height: 2.9rem
    }

    .icon_wrap[class*=__size--r] .icon::after {
        width: 3.9rem;
        height: 3.3rem
    }

    .icon_wrap[class*=__size--l] .icon::after {
        width: 10rem;
        height: 8.5rem
    }

    .icon_wrap[class*=__size--xl] .icon::after {
        width: 10rem;
        height: 8.5rem
    }

    .icon_wrap[class*=__arrow][class*="--blank"][class*=size--2xs] {
        padding-right: 4.4rem
    }

    .icon_wrap[class*=__arrow][class*="--blank"][class*=size--2xs] .icon_base {
        right: -.5rem
    }

    .icon_wrap[class*=__arrow][class*="--blank"][class*=size--2xs] .icon_base .icon::after {
        width: 2.88rem;
        height: 2.34rem
    }

    .icon_wrap[class*=__arrow][class*="--blank"][class*=size--xl] .icon_base {
        top: -.4rem;
        right: -.9rem
    }

    .icon_wrap[class*=__arrow][class*="--blank"][class*=size--xl] .icon_base .icon::after {
        width: 6.1rem;
        height: 5.2rem
    }

    #splash section .inner {
        padding-bottom: 8.2rem
    }

    #splash section .inner header {
        row-gap: 5rem
    }

    #splash section .inner header .logo {
        margin-top: 0
    }

    #splash section .inner header .logo svg {
        width: 25.5rem
    }

    #splash section .inner header h1 span {
        margin-top: -1.51725rem;
        margin-bottom: -1.51725rem;
        font-size: 11.9rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    #splash section .inner header h1 span.font__info::after {
        display: block;
        content: "(119 / 119.595 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #splash section .inner header p span {
        margin-top: -.6rem;
        margin-bottom: -.6rem;
        font-size: 3rem;
        line-height: 1.4;
        letter-spacing: .06em;
        white-space: nowrap
    }

    #splash section .inner header p span.font__info::after {
        display: block;
        content: "(30 / 42 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    #splash section.approach .bg .line {
        top: auto;
        bottom: 30.8rem;
        height: 43.4rem;
        /* background: url(/config/wp-content/themes/dentsurunway/assets/images/approach/line--top--sp.png) no-repeat 50% 50%; */
        background-size: 100% auto
    }

    #splash section.synergy .bg .line {
        top: auto;
        bottom: 33.2rem;
        height: 49.4rem;
        /* background: url(/config/wp-content/themes/dentsurunway/assets/images/synergy/line--top--sp.png) no-repeat 50% 50%; */
        background-size: 100% auto
    }

    #splash section.people .bg .line {
        top: auto;
        bottom: -6.2rem;
        height: 41.2rem;
        /* background-image: url(/config/wp-content/themes/dentsurunway/assets/images/people/line--top--sp.png); */
        background-position: 0 0;
        background-size: 100% auto
    }
}

@media screen and (max-width:428px) {
    svg.pc {
        display: none
    }

    figure .no_image::before {
        font-size: 3rem
    }
}

@media screen and (min-width:428px) {
    svg.sp {
        display: none
    }
}

@media screen and (min-width:590px) and (max-width:766px) {
    .js_intro_fv {
        padding-top: calc(var(--vh, 1vh) * 100 - 205px - calc(var(--sp-add-scale, 1px) * 40))
    }

    .js_intro_factDesc br {
        display: block
    }

    .js_intro_end {
        text-align: center
    }
}

@media screen and (min-width:767px) {
    .js_copy {
        position: relative;
        min-height: 105vh
    }

    .js_copy:before {
        display: block;
        padding-top: 86.0416666667%;
        content: ""
    }

    .js_copy_textItem:nth-child(1) {
        width: 48.4rem;
        height: 12.7rem;
        margin-left: 0
    }

    .js_copy_textItem:nth-child(2) {
        width: 125.1rem;
        height: 13rem;
        margin-top: 3.2rem;
        margin-left: 0
    }

    .js_copy_textItem:nth-child(3) {
        width: 76.2rem;
        height: 16.2rem;
        margin-top: 3.1rem;
        margin-left: 48.8rem
    }

    .js_copy_textItem:nth-child(4) {
        width: 29.2rem;
        height: 3.5rem;
        margin-top: 3.2rem;
        margin-left: 9.1rem
    }

    .js_intro_backBase {
        position: absolute;
        top: 3.8rem;
        right: 3.8rem;
        bottom: 3.8rem;
        left: 3.8rem;
        width: auto;
        height: auto;
        margin: 0
    }

    /* .js_intro_movMix {
        -webkit-mask-image: url(../images/top/pc/gradation-01.png);
        mask-image: url(../images/top/pc/gradation-01.png)
    }

    .js_intro_movMix:nth-child(2) {
        -webkit-mask-image: url(../images/top/pc/gradation-02.png);
        mask-image: url(../images/top/pc/gradation-02.png)
    }

    .js_intro_movMix:nth-child(3) {
        -webkit-mask-image: url(../images/top/pc/gradation-03.png);
        mask-image: url(../images/top/pc/gradation-03.png)
    }

    .js_intro_movMix:nth-child(4) {
        -webkit-mask-image: url(../images/top/pc/gradation-04.png);
        mask-image: url(../images/top/pc/gradation-04.png)
    }

    .js_intro_movMix:nth-child(5) {
        -webkit-mask-image: url(../images/top/pc/gradation-05.png);
        mask-image: url(../images/top/pc/gradation-05.png)
    }

    .js_intro_movMix:nth-child(6) {
        -webkit-mask-image: url(../images/top/pc/gradation-06.png);
        mask-image: url(../images/top/pc/gradation-06.png)
    }

    .js_intro_movMix:nth-child(7) {
        -webkit-mask-image: url(../images/top/pc/gradation-07.png);
        mask-image: url(../images/top/pc/gradation-07.png)
    } */

    .js_intro_movMix.__inset {
        position: absolute;
        top: 3.8rem;
        right: 3.8rem;
        bottom: 3.8rem;
        left: 3.8rem;
        width: auto;
        height: auto;
        margin: 0
    }

    .js_intro_fv {
        padding: 0 9.8rem
    }

    .js_intro_fvCopy {
        height: calc(100vh - 9rem)
    }

    .js_intro_fvCopyInner {
        position: sticky;
        top: 0;
        padding: 9.2rem 0 10.3rem;
        font-size: 5.2rem;
        line-height: 6.4rem
    }

    .js_intro_fvDesc {
        padding-bottom: calc(100vh - 18.3rem);
        font-size: 3rem;
        line-height: 5.8rem
    }

    .js_intro_fvDesc p:not(:first-child) {
        padding-top: 4rem
    }

    .js_intro_fvLogo {
        bottom: 14.9rem;
        left: 9.6rem;
        width: 125rem;
        height: 15rem
    }

    .js_intro_fvNews {
        bottom: 6.1rem;
        left: 9.8rem
    }

    .js_intro_fvNewsDate {
        top: -.1rem;
        padding-right: 1.3rem;
        font-size: 1.6rem
    }

    .js_intro_fvNewsTitle {
        width: 86.4rem;
        font-size: 1.5rem
    }

    .js_intro_fvAttention,
    .js_intro_loading {
        padding: 50vh 9.8rem 10rem
    }

    .js_intro_downButton {
        right: 9.8rem;
        bottom: 9.8rem;
        width: 6rem;
        height: 6rem
    }

    .js_intro_downButton svg {
        top: .3rem;
        left: 1.5rem;
        width: 3rem;
        height: 3.7rem
    }

    .js_intro_factHead {
        top: 9.8rem;
        left: 106.5rem;
        width: 17.7rem;
        height: 2.1rem
    }

    .js_intro_factHead svg {
        fill: var(--top-ui-color);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

    .js_intro_factNumCurrent {
        bottom: 9.8rem;
        left: 9rem;
        height: 12.8rem;
        font-size: 16.8rem;
        line-height: 12.8rem
    }

    .js_intro_factNumCurrentItem {
        top: -.2rem
    }

    .js_intro_factNumTotal {
        bottom: 10rem;
        left: 31.2rem;
        width: 6.8rem;
        height: 2.2rem
    }

    .js_intro_factDot {
        bottom: 21.5rem;
        left: 130.9rem
    }

    .js_intro_factDotItem:not(:first-child) {
        padding-top: .8rem
    }

    .js_intro_factDotItemButton {
        width: .6rem;
        height: .6rem;
        border: 1px solid var(--top-ui-color)
    }

    .js_intro_factPage {
        top: 8.8rem;
        left: 9.8rem
    }

    .js_intro_factTitle {
        padding-bottom: 2.8rem;
        font-size: 4.5rem;
        line-height: 5.6rem
    }

    .js_intro_factDesc {
        font-size: 1.5rem;
        line-height: 2.8rem
    }

    .js_intro_end {
        justify-content: center;
        text-align: center
    }

    .js_intro_endText {
        font-size: 3rem;
        line-height: 5.8rem
    }

    .js_intro_endText p:not(:first-child) {
        padding-top: 3.9rem
    }

    .js_scrollAttention_arw {
        top: 2.3rem;
        right: 16.7rem;
        width: 1.2rem;
        height: 1.4rem
    }

    .js_scrollAttention_label {
        top: 2.1rem;
        right: 0;
        font-size: 1.6rem
    }

    .js_scrollAttention_circle {
        top: 3rem;
        right: 7.3rem;
        width: 46.5rem;
        height: 46.5rem;
        margin-top: -23.25rem;
        margin-right: -23.25rem
    }

    .hyphen.sp,
    br.sp {
        display: none
    }

    body.home #header #floating_menu .inner .frame {
        padding-top: 224px;
        padding-bottom: 11rem
    }

    body.home #header #floating_menu .inner .frame header {
        margin-bottom: 4.2rem
    }

    body.home #header #floating_menu .inner .frame>nav {
        height: calc(100% - (5.8rem + 12.6rem - 5.7rem))
    }

      #footer .inner .type1 nav ul li.current a::before {
        z-index: 1;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 15rem;
        height: 15rem;
        background-size: 100% auto;
        content: "";
        pointer-events: none
    }

    .layout__scroll a,
    .layout__scroll button {
        margin-top: -1.4rem
    }

    .layout__type-2--intro nav .layout__bread-crumbs li:nth-of-type(1).current a::after {
        top: calc(50% + .4rem);
        left: -.7rem;
        transform: translate(-50%, -50%);
        /* background-image: url(../images/common/line/s/type-1.jpg) */
    }

    .layout__type-2--intro nav .layout__bread-crumbs li:nth-of-type(2).current a::after {
        top: calc(50% - .5rem);
        transform: translate(-50%, -50%) scaleX(-1) rotate(-100deg)
    }

    #splash section .bg .line::after,
    #splash section .bg .line::before {
        position: absolute;
        background-position: 0 0;
        background-size: 100% auto;
        background-repeat: no-repeat;
        content: ""
    }

    #splash section.approach .bg .line {
        height: calc(100% + 7.2rem)
    }

    #splash section.approach .bg .line::before {
        top: 0;
        left: 0;
        width: 10rem;
        height: 10rem;
        /* background-image: url(/config/wp-content/themes/dentsurunway/assets/images/approach/line--top-1.png) */
    }

    #splash section.approach .bg .line::after {
        right: 0;
        bottom: 0;
        width: 45.6rem;
        height: 49.8rem;
        /* background-image: url(/config/wp-content/themes/dentsurunway/assets/images/approach/line--top-2.png) */
    }

    #splash section.synergy .bg .line {
        height: calc(100% + 5.4rem)
    }

    #splash section.synergy .bg .line::before {
        top: 30.8rem;
        left: 0;
        width: 8.7rem;
        height: 19.9rem;
        /* background-image: url(/config/wp-content/themes/dentsurunway/assets/images/synergy/line--top-1.png) */
    }

    #splash section.synergy .bg .line::after {
        right: 0;
        bottom: 0;
        width: 56.5rem;
        height: 65.5rem;
        /* background-image: url(/config/wp-content/themes/dentsurunway/assets/images/synergy/line--top-2.png) */
    }

    #splash section.people .bg .line {
        /* background: url(/config/wp-content/themes/dentsurunway/assets/images/people/line--top.png) no-repeat 100% calc(100% - 4.9rem); */
        background-size: 71rem auto
    }

    #splash section.people .bg .line::after,
    #splash section.people .bg .line::before {
        display: none
    }
}

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

    .hyphen.tb,
    br.tb {
        display: none
    }

    .layout__type-1--intro .main {
        padding-top: 5.6rem;
        padding-bottom: 5.6rem
    }

    .layout__type-1--intro .main h2 span {
        margin-top: -.55rem;
        margin-bottom: -.55rem;
        font-size: 4.5rem;
        line-height: 1.2444444444;
        letter-spacing: .06em
    }

    .layout__type-1--intro .main h2 span.font__info::after {
        display: block;
        content: "(45 / 56 / 60)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-1--intro .main h1 span {
        margin-top: -1.4898375rem;
        margin-bottom: -1.4898375rem;
        font-size: 11.685rem;
        line-height: 1.005;
        letter-spacing: .01em
    }

    .layout__type-1--intro .main h1 span.font__info::after {
        display: block;
        content: "(116.85 / 117.43425 / 10)";
        color: red;
        font-weight: 400;
        font-family: HelveticaNowDisplay
    }

    .layout__type-1--text-figure .main {
        flex-direction: row;
        padding-top: 0;
        padding-bottom: 0
    }

    .layout__type-1--text-figure .main .description {
        padding-top: 5.6rem;
        padding-bottom: 4.2rem
    }

    .layout__type-1--text-figure .main figure {
        width: 68rem;
        height: auto;
        padding-top: 3rem;
        padding-bottom: 3rem
    }
}

@media screen and (orientation:landscape) {
    .js_winu_orientation {
        display: block
    }
}

@media screen and (orientation:portrait) {
    .js_intro_movMix.is_transition {
        transition: -webkit-mask-position .9s cubic-bezier(.455, .03, .515, .955);
        transition: mask-position .9s cubic-bezier(.455, .03, .515, .955);
        transition: mask-position .9s cubic-bezier(.455, .03, .515, .955), -webkit-mask-position .9s cubic-bezier(.455, .03, .515, .955)
    }
}