*,
:before,
:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:where([hidden]:not([hidden=until-found])) {
    display: none !important
}

:where(html) {
    -webkit-text-size-adjust: none;
    --lightningcss-light: initial;
    --lightningcss-dark: ;
    color-scheme: light dark;
    tab-size: 2;
    scrollbar-gutter: stable;
    interpolate-size: allow-keywords;
    line-height: 1.5
}

@media (prefers-color-scheme:dark) {
    :where(html) {
        --lightningcss-light: ;
        --lightningcss-dark: initial
    }
}

:where(html:has(dialog:modal[open])) {
    overflow: clip
}

@media (prefers-reduced-motion:no-preference) {
    :where(html:focus-within) {
        scroll-behavior: smooth
    }
}

:where(body) {
    line-height: inherit;
    -webkit-font-smoothing: antialiased;
    font-family: system-ui, sans-serif
}

:where(button) {
    all: unset
}

:where(input, button, textarea, select) {
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit
}

:where(textarea) {
    resize: vertical;
    resize: block
}

:where(button, label, select, summary, [role=button], [role=option]) {
    cursor: pointer
}

:where(:disabled, label:has(>:disabled, +disabled)) {
    cursor: not-allowed
}

:where(a) {
    color: inherit;
    text-underline-offset: .2ex
}

:where(ul, ol) {
    list-style: none
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block
}

:where(img, picture, svg, video) {
    block-size: auto;
    max-inline-size: 100%
}

:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word
}

:where(h1, h2, h3) {
    text-wrap: balance;
    line-height: calc(1em + .5rem)
}

:where(hr) {
    border: none;
    color: inherit;
    border-block-start: 1px solid;
    block-size: 0;
    overflow: visible
}

:where(dialog, [popover]) {
    color: inherit;
    inset: unset;
    max-width: unset;
    max-height: unset;
    overflow: unset;
    background: 0 0;
    border: none
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
    display: none !important
}

:where(:focus-visible) {
    outline: none
}

:where(:focus-visible, :target) {
    scroll-margin-block: 8vh
}

:where(.visually-hidden:not(:focus-within, :active)) {
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    -webkit-user-select: none !important;
    user-select: none !important;
    border: 0 !important;
    width: 1px !important;
    height: 1px !important;
    position: absolute !important;
    overflow: hidden !important
}

* {
    box-sizing: border-box
}

body {
    color: #323232;
    -webkit-font-smoothing: antialiased;
    word-break: break-all;
    font-feature-settings: "palt";
    line-height: 1.8
}

body.safari {
    -webkit-font-smoothing: subpixel-antialiased
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto
}
video {
    filter: drop-shadow(0px 0px #000);
}

a:link {
    color: #323232;
    text-decoration: none
}

a:visited {
    color: #323232
}

a:hover {
    text-decoration: none
}

a.disabled {
    opacity: .6;
    pointer-events: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-feature-settings: "palt";
    text-wrap: wrap;
    margin: 0;
    padding: 0;
    font-size: 4.72637vw
}

@media (min-width:600px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: 3.125vw
    }
}

@media (min-width:1261px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-size: 2.18254vw
    }
}

h1 {
    font-size: clamp(3rem, 2.022rem + 2.3vw, 5.5rem)
}

@media (min-width:1400px) {
    h1 {
        font-size: calc(55px + .5vw)
    }
}

@media (min-width:1513px) {
    h1 {
        font-size: calc(55px + .5vw)
    }
}

@media (min-width:1261px) and (max-height:740px) {
    h1 {
        font-size: calc(36px + .5vw);
        line-height: 1.3
    }
}

@media (max-width:350px) {
    h1 {
        font-size: 2.4rem
    }
}

p,
ul,
li,
ol,
dl,
dt,
dd {
    margin: 0;
    padding: 0
}

ul li {
    list-style: none
}

p {
    word-break: break-all;
    font-family: Noto Sans JP R, sans-serif;
    font-size: 1.6rem;
    font-weight: 400
}

html[lang=en] p {
    word-break: normal;
    letter-spacing: 0;
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 400;
    font-family: arrows, Noto Sans JP M, sans-serif
}

.text-size-xs {
    font-size: 1.3rem
}

.text-size-s {
    font-size: clamp(1.3rem, 1.198rem + .2vw, 1.5rem)
}

.text-size-common {
    font-size: 1.6rem
}

.text-size-m {
    font-size: clamp(1.6rem, 1.444rem + .5vw, 2.2rem)
}

.text-size-l {
    font-size: 2.4rem
}

.text-size-l2 {
    font-size: 4.72637vw
}

@media (min-width:600px) {
    .text-size-l2 {
        font-size: 3.125vw
    }
}

@media (min-width:1261px) {
    .text-size-l2 {
        font-size: 2.18254vw
    }
}

.text-size-xl {
    font-size: clamp(2.9rem, 2.383rem + 1.4vw, 4.5rem)
}

@media (min-width:1513px) {
    .text-size-xl {
        font-size: 2.97422vw
    }
}

@media (max-width:350px) {
    .text-size-xl {
        font-size: 2rem
    }
}

.text-size-xxl {
    font-size: clamp(3rem, 2.022rem + 2.3vw, 5.5rem)
}

@media (min-width:1400px) {
    .text-size-xxl {
        font-size: calc(55px + .5vw)
    }
}

@media (min-width:1513px) {
    .text-size-xxl {
        font-size: calc(55px + .5vw)
    }
}

@media (min-width:1261px) and (max-height:740px) {
    .text-size-xxl {
        font-size: calc(36px + .5vw);
        line-height: 1.3
    }
}

@media (max-width:350px) {
    .text-size-xxl {
        font-size: 2.4rem
    }
}

.font-ja-bold {
    font-family: Noto Sans JP B, sans-serif;
    font-weight: 700
}

@keyframes fadein {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.wrapper {
    width: 100%;
    overflow: clip
}

.content-wrapper {
    width: 100%;
    min-width: 290px;
    margin: 0 auto;
    position: relative
}

.content-wrapper-common {
    width: 100%;
    margin: 0 auto;
    padding: 0 2.98507vw;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .content-wrapper-common {
        padding: 0 3.90625vw
    }
}

@media (min-aspect-ratio:4/3) {
    .content-wrapper-common {
        padding: 0 3.96825vw
    }
}

.content-wrapper-s {
    width: 100%;
    margin: 0 auto;
    padding: 0 2.98507vw;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .content-wrapper-s {
        padding: 0 3.90625vw
    }
}

@media (min-aspect-ratio:4/3) {
    .content-wrapper-s {
        padding: 0 3.96825vw
    }
}

.content-wrapper-s2 {
    width: 100%;
    margin: 0 auto;
    padding: 0 5.97015vw;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .content-wrapper-s2 {
        padding: 0 3.90625vw
    }
}

@media (min-aspect-ratio:4/3) {
    .content-wrapper-s2 {
        padding: 0 3.96825vw
    }
}

body {
    color: #454545;
    font-display: swap;
    background-color: #fff;
    overflow-x: hidden
}

img {
    -ms-interpolation-mode: bicubic
}

p.common {
    word-break: break-all;
    letter-spacing: .05em;
    font-family: Noto Sans JP R, sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5
}

p.common.is-center {
    text-align: center
}

p.indent {
    padding-left: 1em
}

.sup {
    vertical-align: text-top;
    font-size: .5em
}

.c-main {
    color: #323232
}

.c-white {
    color: #fff
}

.c-gray {
    color: #454545
}

.c-red {
    color: #dc3232
}

.c-green {
    color: #01a0b0
}

::selection {
    color: #fff;
    background: #323232
}

.f-palt {
    font-feature-settings: "palt"
}

.bold {
    font-weight: 700
}

.font-ja {
    font-family: Noto Sans JP R, sans-serif;
    font-weight: 400
}

.font-ja.bold {
    font-weight: 700
}

.font-en {
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-weight: 400
}

.font-en.bold {
    font-weight: 700
}

.u-nowrap {
    white-space: nowrap
}

.is-center {
    text-align: center
}

.is-left {
    text-align: left
}

.is-right {
    text-align: right
}

.underline {
    text-decoration: underline !important
}

.is-left-center {
    text-align: left
}

.ovf-h {
    overflow: hidden
}

.is-nolink {
    pointer-events: none;
    opacity: .4
}

.is-nolink:hover {
    cursor: default
}

.bg-white {
    background-color: #fff
}

.bg-red {
    background-color: red
}

.bg-gray {
    background-color: #ebebeb
}

.bg-green {
    background-color: #01a0b0
}

.bg-black {
    background-color: #000
}

.height-50vh {
    height: 50vh
}

.height-80vh {
    height: 80vh
}

.height-100vh {
    height: 100vh
}

.height-150vh {
    height: 150vh
}

.height-200vh {
    height: 200vh
}

.height-300vh {
    height: 300vh
}

.height-400vh {
    height: 400vh
}

.mt-s {
    margin-top: 25px
}

@media (min-aspect-ratio:4/3) {
    .mt-s {
        margin-top: 30px
    }
}

.mt-sm {
    margin-top: 25px
}

@media (min-aspect-ratio:4/3) {
    .mt-sm {
        margin-top: 44px
    }
}

.mt-m {
    margin-top: 30px
}

@media (min-aspect-ratio:4/3) {
    .mt-m {
        margin-top: 56px
    }
}

.mt-l {
    margin-top: 80px
}

@media (min-aspect-ratio:4/3) {
    .mt-l {
        margin-top: 90px
    }
}

.mt-10 {
    margin-top: 10px
}

.mt-20 {
    margin-top: 20px
}

p.common.mt-negative-10,
.mt-negative-10 {
    margin-top: -10px
}

.mb-s {
    margin-bottom: 25px
}

@media (min-aspect-ratio:4/3) {
    .mb-s {
        margin-bottom: 30px
    }
}

.mb-m {
    margin-bottom: 50px
}

@media (min-aspect-ratio:4/3) {
    .mb-m {
        margin-bottom: 60px
    }
}

.mb-m-pc {
    margin-bottom: 0
}

@media (min-aspect-ratio:4/3) {
    .mb-m-pc {
        margin-bottom: 60px
    }
}

.mb-l {
    margin-bottom: 80px
}

@media (min-aspect-ratio:4/3) {
    .mb-l {
        margin-bottom: 100px
    }
}

.mb-xl {
    margin-bottom: 100px
}

@media (min-aspect-ratio:4/3) {
    .mb-xl {
        margin-bottom: 160px
    }
}

.mb-10 {
    margin-bottom: 10px
}

.mb-20 {
    margin-bottom: 20px
}

.padding-side-m {
    padding: 0 30px
}

.pt-section {
    padding-top: 37.3134vw
}

@media (min-width:600px) {
    .pt-section {
        padding-top: 18.2292vw
    }
}

@media (min-width:1261px) {
    .pt-section {
        padding-top: 8.59788vw
    }
}

.pt-s {
    padding-top: 25px
}

@media (min-aspect-ratio:4/3) {
    .pt-s {
        padding-top: 30px
    }
}

.pt-m {
    padding-top: 30px
}

@media (min-aspect-ratio:4/3) {
    .pt-m {
        padding-top: 70px
    }
}

.pt-l {
    padding-top: 80px
}

@media (min-aspect-ratio:4/3) {
    .pt-l {
        padding-top: 90px
    }
}

.pb-s {
    padding-bottom: 25px
}

@media (min-aspect-ratio:4/3) {
    .pb-s {
        padding-bottom: 30px
    }
}

.pb-m {
    padding-bottom: 30px
}

@media (min-aspect-ratio:4/3) {
    .pb-m {
        padding-bottom: 70px
    }
}

.pb-l {
    padding-bottom: 80px
}

@media (min-aspect-ratio:4/3) {
    .pb-l {
        padding-bottom: 90px
    }
}

.px-section {
    padding-left: clamp(20px, 5.568px + 3.6vw, 60px);
    padding-right: clamp(20px, 5.568px + 3.6vw, 60px)
}

.py-section {
    padding-top: calc(8rem + 12px);
    padding-bottom: 77px
}

@media (min-width:600px) {
    .py-section {
        padding-top: calc(8rem + 5vh);
        padding-bottom: calc(61px + 3vh)
    }
}

@media (min-width:1261px) {
    .py-section {
        padding-top: calc(8rem + 5vh);
        padding-bottom: calc(61px + 5rem)
    }
}

@media (max-height:800px) and (min-aspect-ratio:4/3) {
    .py-section {
        padding-top: calc(7vh + 60px);
        padding-bottom: calc(7vh + 51px)
    }
}

@media (max-height:580px) and (min-aspect-ratio:4/3) {
    .py-section {
        padding-top: 75px;
        padding-bottom: 71px
    }
}

@media (max-width:375px) {
    .py-section {
        padding-top: 8rem;
        padding-bottom: calc(65px + 6rem)
    }
}

.push-header {
    padding-top: 8rem
}

@media (min-width:600px) {
    .push-header {
        padding-top: 8rem
    }
}

img.alignright {
    float: right;
    margin: 0 0 1em 1em
}

img.alignleft {
    float: left;
    margin: 0 1em 1em 0
}

img.aligncenter {
    margin-left: auto;
    margin-right: auto;
    display: block
}

picture.noimage {
    z-index: 1;
    display: block;
    position: relative
}

picture.noimage:after {
    z-index: 2;
    color: #fff;
    content: "NO IMAGE";
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 400;
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-size: 1.6rem;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.img-round {
    border-radius: 5px
}

.has-overlay-1 {
    position: relative
}

.has-overlay-1:after {
    content: "";
    background: #0003;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.u-only-small-sp-i {
    display: none
}

@media (max-width:350px) {
    .u-only-small-sp-i {
        display: inline
    }
}

.u-only-sp-se {
    display: block
}

.u-only-sp-se-i {
    display: inline
}

.u-only-sp-s-notse-i {
    display: none
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-sp-s-notse-i {
        display: none
    }
}

.u-only-sp-s {
    display: block
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-sp-s {
        display: none
    }
}

.u-only-sp-s-i {
    display: inline
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-sp-s-i {
        display: none
    }
}

.u-only-sp-tab {
    display: block
}

@media (min-width:1261px) {
    .u-only-sp-tab {
        display: none
    }
}

.u-only-sp-tab-i {
    display: inline
}

@media (min-aspect-ratio:4/3) {
    .u-only-sp-tab-i {
        display: none
    }
}

.u-only-sp {
    display: block
}

@media (min-width:600px) {
    .u-only-sp {
        display: none
    }
}

.u-only-sp-notab {
    display: block
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-sp-notab {
        display: none
    }
}

.u-only-pc {
    display: none
}

@media (min-width:1261px) {
    .u-only-pc {
        display: block
    }
}

.u-only-tab-pc {
    display: none
}

@media (min-width:600px) {
    .u-only-tab-pc {
        display: block
    }
}

.u-only-sp-i {
    display: inline
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-sp-i {
        display: none
    }
}

.u-only-pc-i {
    display: none
}

@media (min-aspect-ratio:4/3) {
    .u-only-pc-i {
        display: inline
    }
}

.u-only-tab-pc-i {
    display: none
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-tab-pc-i {
        display: inline
    }
}

.u-only-tab-i {
    display: none
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .u-only-tab-i {
        display: inline
    }
}

@media (min-aspect-ratio:4/3) {
    .u-only-tab-i {
        display: none
    }
}

html[lang=ja] .u-only-jp {
    display: block
}

html[lang=ja] .u-only-jp-i {
    display: inline
}

html[lang=ja] .u-only-en,
html[lang=ja] .u-only-en-i {
    display: none
}

html[lang=en] .u-only-en {
    display: block
}

html[lang=en] .u-only-en-i {
    display: inline
}

html[lang=en] .u-only-jp,
html[lang=en] .u-only-jp-i {
    display: none
}

html #wpadminbar {
    background: #00000080;
    display: none
}

.hide-at-load {
    display: none
}

body.loaded .hide-at-load {
    display: block
}

ul.common {
    width: auto;
    margin: 0 auto 60px
}

ul.common li {
    margin-bottom: 10px;
    list-style-type: none
}

ul.common li p {
    font-size: 1.2rem
}

ul.common li a {
    transition: opacity .2s linear
}

ul.common li a:hover {
    opacity: .6;
    cursor: pointer
}

ul.common li:last-child {
    margin-bottom: 0
}

ul.inline {
    width: auto;
    margin: 0 auto
}

ul.inline li {
    margin: 0 30px 0 0;
    list-style-type: none;
    display: inline-block
}

ul.inline li p {
    font-size: 1rem
}

ul.inline li a {
    padding: 13px 0;
    line-height: 1;
    transition: opacity .2s linear;
    display: block
}

ul.inline li a:hover {
    opacity: .6;
    cursor: pointer
}

ul.inline li:last-child {
    margin-bottom: 0
}

ul.inline.white li p a {
    color: #fff
}

ul.common-center {
    text-align: center;
    width: auto;
    margin: 0 auto 60px;
    padding-left: 0
}

ul.common-center li {
    margin-bottom: 10px;
    list-style-type: none
}

ul.common-center li>div,
ul.common-center li>p {
    display: inline-flex
}

ul.common-center li a {
    font-size: 1rem;
    transition: opacity .2s linear;
    display: block
}

ul.common-center li a:hover {
    opacity: .6;
    cursor: pointer
}

ul.common-center li:last-child {
    margin-bottom: 0
}

ul.common-center2 {
    text-align: center;
    width: auto;
    margin: 0 auto 60px;
    padding-left: 0
}

ul.common-center2 li {
    margin-bottom: 10px;
    list-style-type: none
}

ul.common-center2 li>div,
ul.common-center2 li>p {
    display: inline-flex
}

ul.common-center2 li a {
    font-size: 1rem;
    transition: opacity .2s linear;
    display: block
}

ul.common-center2 li a:hover {
    opacity: .6;
    cursor: pointer
}

ul.common-center2 li:last-child {
    margin-bottom: 0
}

ul.disc {
    margin-bottom: 30px;
    padding-left: 20px
}

ul.disc li {
    margin-bottom: 10px;
    list-style-type: disc
}

ul.disc li a {
    transition: opacity .2s linear
}

ul.disc li a:hover {
    opacity: .6;
    cursor: pointer
}

ul.disc li,
ul.disc a {
    font-size: 1.2rem
}

ul.disc.notice li {
    font-size: 1rem
}

ul.asta {
    margin: 30px 0;
    padding-left: 2px
}

ul.asta li {
    margin-bottom: 10px;
    font-size: 1.2rem;
    list-style-type: none
}

ul.asta li a {
    transition: opacity .2s linear
}

ul.asta li a:hover {
    opacity: .6;
    cursor: pointer
}

ul.asta li:before {
    content: "※"
}

ul.asta li:last-child {
    margin-bottom: 0
}

ul.has-eyecatch-circle li,
ul.common-center.has-eyecatch-circle li,
ul.common-center2.has-eyecatch-circle li {
    justify-content: center;
    align-items: center;
    display: flex
}

ul.has-eyecatch-circle li .eyecatch-circle,
ul.common-center.has-eyecatch-circle li .eyecatch-circle,
ul.common-center2.has-eyecatch-circle li .eyecatch-circle {
    vertical-align: top;
    border-radius: 50%;
    flex-flow: column;
    flex: none;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    margin-right: 6px;
    display: flex
}

ul.has-eyecatch-circle li .eyecatch-circle p,
ul.common-center.has-eyecatch-circle li .eyecatch-circle p,
ul.common-center2.has-eyecatch-circle li .eyecatch-circle p {
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    display: block
}

ul.has-eyecatch-circle li .eyecatch-circle.green,
ul.common-center.has-eyecatch-circle li .eyecatch-circle.green,
ul.common-center2.has-eyecatch-circle li .eyecatch-circle.green,
ul.has-eyecatch-circle li .eyecatch-circle.orange,
ul.common-center.has-eyecatch-circle li .eyecatch-circle.orange,
ul.common-center2.has-eyecatch-circle li .eyecatch-circle.orange,
ul.has-eyecatch-circle li .eyecatch-circle.purple,
ul.common-center.has-eyecatch-circle li .eyecatch-circle.purple,
ul.common-center2.has-eyecatch-circle li .eyecatch-circle.purple {
    background-color: #323232
}

ul.has-eyecatch-circle li .eyecatch-text,
ul.common-center.has-eyecatch-circle li .eyecatch-text,
ul.common-center2.has-eyecatch-circle li .eyecatch-text {
    text-align: left;
    display: inline-block
}

ul.has-eyecatch-circle li .eyecatch-text p,
ul.common-center.has-eyecatch-circle li .eyecatch-text p,
ul.common-center2.has-eyecatch-circle li .eyecatch-text p {
    word-break: break-word;
    font-size: 1rem;
    line-height: 1;
    display: inline-block
}

.footer {
    color: #fff;
    text-align: center;
    background-color: #01a0b0;
    padding-bottom: 2.48756vw
}

@media (min-width:600px) {
    .footer {
        padding-bottom: 2.60417vw
    }
}

@media (min-width:1261px) {
    .footer {
        padding-bottom: 1.98413vw
    }
}

.footer {
    padding-top: 14.9254vw
}

@media (min-width:600px) {
    .footer {
        padding-top: 13.0208vw
    }
}

@media (min-width:1261px) {
    .footer {
        padding-top: 10.7143vw
    }
}

.footer a,
.footer p {
    color: #fff
}

.pd-over-footer {
    padding-top: 24.8756vw
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .pd-over-footer {
        padding-top: 15.625vw
    }
}

@media (min-aspect-ratio:4/3) {
    .pd-over-footer {
        padding-top: 10.3175vw
    }
}

.footer__link {
    color: #fff;
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: stretch;
    display: flex
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .footer__link {
        max-width: 682px;
        margin-left: auto;
        margin-right: auto
    }
}

.footer__link>.footer__link-col {
    width: 50%;
    padding-left: 2.48756vw;
    padding-right: 2.48756vw
}

@media (min-width:600px) {
    .footer__link>.footer__link-col {
        padding-left: 2.60417vw;
        padding-right: 2.60417vw
    }
}

@media (min-width:1261px) {
    .footer__link>.footer__link-col {
        padding-left: 1.32275vw;
        padding-right: 1.32275vw
    }
}

.footer__link a {
    transition: opacity .2s linear;
    display: block
}

.footer__link a:hover {
    opacity: .6;
    cursor: pointer
}

.footer__sns {
    padding-top: 9.95025vw;
    font-size: 0;
    display: inline-block
}

@media (min-width:600px) {
    .footer__sns {
        padding-top: 5.20833vw
    }
}

@media (min-width:1261px) {
    .footer__sns {
        padding-top: 3.30688vw
    }
}

.footer__sns li {
    padding-left: 2.48756vw;
    padding-right: 2.48756vw;
    font-size: 0;
    display: inline-block
}

@media (min-width:600px) {
    .footer__sns li {
        padding-left: 1.30208vw;
        padding-right: 1.30208vw
    }
}

@media (min-width:1261px) {
    .footer__sns li {
        padding-left: .661376vw;
        padding-right: .661376vw
    }
}

.footer__sns li a {
    text-align: center;
    width: 6.46766vw;
    transition: opacity .2s linear;
    display: inline-block
}

.footer__sns li a:hover {
    opacity: .6;
    cursor: pointer
}

@media (min-width:600px) {
    .footer__sns li a {
        width: 4.94792vw
    }
}

@media (min-width:1261px) {
    .footer__sns li a {
        width: 2.91005vw
    }
}

.footer__sns li a img {
    width: 100%
}

.footer__util {
    padding-top: 6.21891vw;
    font-size: 0;
    display: inline-block
}

@media (min-width:600px) {
    .footer__util {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .footer__util {
        padding-top: 5.29101vw
    }
}

.footer__util li {
    border-right: 1px solid #fff;
    display: inline-block
}

.footer__util li a {
    letter-spacing: .03rem;
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 400;
    padding: .995025vw 2.48756vw;
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-size: clamp(1.6rem, 1.444rem + .5vw, 2.2rem);
    line-height: 1;
    transition: opacity .2s linear;
    display: inline-block
}

.footer__util li a:hover {
    opacity: .6;
    cursor: pointer
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .footer__util li a {
        padding: 1.30208vw
    }
}

@media (min-aspect-ratio:4/3) {
    .footer__util li a {
        padding: .26455vw .793651vw
    }
}

.footer__util li:last-child {
    border: none
}

.copyright {
    padding-top: 12.4378vw
}

@media (min-width:600px) {
    .copyright {
        padding-top: 13.0208vw
    }
}

@media (min-width:1261px) {
    .copyright {
        padding-top: 10.3175vw
    }
}

.copyright .copyright__text {
    letter-spacing: .03rem;
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 400;
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-size: 1.3rem
}

header,
.header-margin,
.header-pc {
    width: 100%;
    height: 34.3284vw
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    header,
    .header-margin,
    .header-pc {
        height: 26.0417vw
    }
}

@media (min-aspect-ratio:4/3) {

    header,
    .header-margin,
    .header-pc {
        height: 20.2381vw
    }
}

.header {
    pointer-events: none;
    z-index: 1052;
    opacity: 0;
    width: auto;
    min-width: 20px;
    transition-property: opacity, transform;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1);
    position: fixed;
    top: 0;
    left: 0
}

.header a {
    pointer-events: auto
}

body.loaded .header {
    opacity: 1
}

.header__inner {
    padding: 4.97512vw
}

@media (min-width:600px) {
    .header__inner {
        padding: 3.90625vw
    }
}

@media (min-width:1261px) {
    .header__inner {
        padding: 3.96825vw
    }
}

.header__logo {
    width: 34.8259vw
}

@media (min-width:600px) {
    .header__logo {
        width: 26.0417vw
    }
}

@media (min-width:1261px) {
    .header__logo {
        width: 10.0529vw
    }
}

.header__logo img {
    width: 100%
}

.header__logo a {
    transition: opacity .2s linear;
    display: block
}

.header__logo a:hover {
    opacity: .6;
    cursor: pointer
}

.heading--primary {
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(3rem, 2.022rem + 2.3vw, 5.5rem);
    line-height: 1.5
}

@media (min-width:1400px) {
    .heading--primary {
        font-size: calc(55px + .5vw)
    }
}

@media (min-width:1513px) {
    .heading--primary {
        font-size: calc(55px + .5vw)
    }
}

@media (min-width:1261px) and (max-height:740px) {
    .heading--primary {
        font-size: calc(36px + .5vw);
        line-height: 1.3
    }
}

@media (max-width:350px) {
    .heading--primary {
        font-size: 2.4rem
    }
}

.heading--primary.u-font-arrows {
    font-family: arrows, Noto Sans JP M, sans-serif
}

.heading--primary.mr-negative {
    margin-right: calc(50% - 50vw)
}

@media (min-width:600px) {
    .heading--primary.mr-negative {
        margin-right: 0
    }
}

.heading--secondary {
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(2.9rem, 2.383rem + 1.4vw, 4.5rem);
    line-height: 1.5
}

@media (min-width:1513px) {
    .heading--secondary {
        font-size: 2.97422vw
    }
}

@media (max-width:350px) {
    .heading--secondary {
        font-size: 2rem
    }
}

.heading--secondary.u-font-arrows {
    font-family: arrows, Noto Sans JP M, sans-serif
}

.heading--tertiary {
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(2.2rem, 1.581rem + 1.6vw, 4rem);
    line-height: 1.5
}

.heading--tertiary.u-font-arrows {
    font-family: arrows, Noto Sans JP M, sans-serif
}

.heading--tertiary sup {
    vertical-align: super;
    font-size: 50%
}

.heading--quaternary {
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(2.1rem, 1.946rem + .3vw, 2.4rem);
    line-height: 1.5
}

.heading--quaternary.u-font-arrows {
    font-family: arrows, Noto Sans JP M, sans-serif
}

.heading--medium {
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(2rem, 1.795rem + .4vw, 2.4rem);
    line-height: 1.5
}

@media (min-width:1261px) and (max-height:740px) {
    .heading--medium {
        font-size: clamp(1.6rem, 1.395rem + .4vw, 2rem);
        line-height: 1
    }
}

.heading--medium.u-font-arrows {
    font-family: arrows, Noto Sans JP M, sans-serif
}

.mt-after-heading {
    margin-top: 3.9801vw
}

@media (min-width:600px) {
    .mt-after-heading {
        margin-top: 2.60417vw
    }
}

@media (min-width:1261px) {
    .mt-after-heading {
        margin-top: 1.98413vw
    }
}

.mt-after-heading-s {
    margin-top: 2.48756vw
}

@media (min-width:600px) {
    .mt-after-heading-s {
        margin-top: 1.30208vw
    }
}

@media (min-width:1261px) {
    .mt-after-heading-s {
        margin-top: .992063vw
    }
}

.btn {
    display: block
}

.btn.btn--pill .btn__inner {
    color: #fff;
    background-color: #004858;
    border-radius: 1000px;
    padding: 15px 20px;
    line-height: 1;
    display: inline-block
}

.btn.btn--rect p {
    color: #fff;
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 700;
    justify-content: flex-start;
    align-items: center;
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-size: 4.72637vw;
    line-height: 1;
    display: flex
}

@media (min-width:600px) {
    .btn.btn--rect p {
        font-size: 3.125vw
    }
}

@media (min-width:1261px) {
    .btn.btn--rect p {
        font-size: 2.18254vw
    }
}

.btn.btn--rect p span:nth-child(n+2) {
    margin-left: .5em
}

.btn.btn--rect p span.small {
    font-size: 1.6rem;
    transform: translateY(.08em)
}

.btn.btn--rect-blk .btn__inner {
    background-color: #000;
    padding: 2.48756vw 4.97512vw 2.48756vw 17.4129vw;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .btn.btn--rect-blk .btn__inner {
        padding: 1.82292vw 2.60417vw 1.82292vw 10.4167vw
    }
}

@media (min-aspect-ratio:4/3) {
    .btn.btn--rect-blk .btn__inner {
        padding: 1.32275vw 1.98413vw 1.32275vw 7.93651vw
    }
}

.btn.btn--rect-blk .btn__inner:before {
    content: "";
    background-color: #fff;
    width: 11.8159vw;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .btn.btn--rect-blk .btn__inner:before {
        width: 7.8125vw
    }
}

@media (min-aspect-ratio:4/3) {
    .btn.btn--rect-blk .btn__inner:before {
        width: 5.29101vw
    }
}

.btn.btn--rect-blk .btn__inner:after {
    content: "";
    transform-origin: 100% 100%;
    background-color: #fff;
    width: 2.48756vw;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 9.32836vw;
    transform: rotate(36deg)
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .btn.btn--rect-blk .btn__inner:after {
        width: 2.60417vw;
        left: 5.20833vw
    }
}

@media (min-aspect-ratio:4/3) {
    .btn.btn--rect-blk .btn__inner:after {
        width: 1.32275vw;
        left: 3.96825vw
    }
}

.btn.btn--rect-blk .btn__inner p {
    letter-spacing: .06rem
}

.btn.btn--rect-white .btn__inner {
    padding-left: 7.46269vw;
    padding-right: 7.46269vw;
    position: relative
}

@media (min-width:600px) {
    .btn.btn--rect-white .btn__inner {
        padding-left: 5.20833vw;
        padding-right: 5.20833vw
    }
}

@media (min-width:1261px) {
    .btn.btn--rect-white .btn__inner {
        padding-left: 3.30688vw;
        padding-right: 3.30688vw
    }
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .btn.btn--rect-white .btn__inner {
        padding-right: 0
    }
}

@media (min-aspect-ratio:4/3) {
    .btn.btn--rect-white .btn__inner {
        padding-right: 0
    }
}

.btn.btn--rect-white .btn__inner:before {
    content: "";
    z-index: 1;
    background-color: #000;
    width: 11.8159vw;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .btn.btn--rect-white .btn__inner:before {
        width: 7.8125vw
    }
}

@media (min-aspect-ratio:4/3) {
    .btn.btn--rect-white .btn__inner:before {
        width: 5.29101vw
    }
}

.btn.btn--rect-white p {
    z-index: 2;
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 400;
    letter-spacing: .03rem;
    color: #000;
    background-color: #fff;
    border: 1px solid #000;
    padding: 1.99005vw 3.73134vw 1.99005vw 9.95025vw;
    font-family: arrows, Noto Sans JP M, sans-serif
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .btn.btn--rect-white p {
        padding: 1.43229vw 2.60417vw 1.43229vw 5.20833vw
    }
}

@media (min-aspect-ratio:4/3) {
    .btn.btn--rect-white p {
        padding: .793651vw 2.6455vw .793651vw 3.83598vw
    }
}

.btn.btn--rect-white.btn--s .btn__inner {
    padding-left: 7.46269vw;
    padding-right: 7.46269vw
}

@media (min-width:600px) {
    .btn.btn--rect-white.btn--s .btn__inner {
        padding-left: 5.20833vw;
        padding-right: 5.20833vw
    }
}

@media (min-width:1261px) {
    .btn.btn--rect-white.btn--s .btn__inner {
        padding-left: 3.30688vw;
        padding-right: 3.30688vw
    }
}

.btn.btn--rect-white.btn--s p {
    font-size: clamp(1.6rem, 1.444rem + .5vw, 2.2rem)
}

.btn.btn--rect-white.btn--s p span.small {
    font-size: 1.3rem;
    transform: translateY(.08em)
}

.device-click .btn.btn--rect-blk .btn__inner {
    transition: background-color .2s linear
}

.device-click .btn.btn--rect-blk:hover .btn__inner {
    background-color: #01a0b0
}

.device-click .btn.btn--rect-white .btn__inner p {
    transition: background-color .2s linear
}

.device-click .btn.btn--rect-white:hover .btn__inner p {
    background-color: #ebebeb
}

.letter-circle-container {
    align-items: center;
    gap: 2.48756vw;
    height: 70px;
    display: flex
}

@media (min-width:600px) {
    .letter-circle-container {
        gap: 1.30208vw
    }
}

@media (min-width:1261px) {
    .letter-circle-container {
        gap: .992063vw
    }
}

.letter-circle {
    color: #fff;
    background-color: #004858;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    font-family: Allows, sans-serif;
    font-size: 2rem;
    display: flex;
    position: relative
}

@media (min-width:1261px) {
    .letter-circle {
        width: 39px;
        height: 39px
    }
}

.letter-circle.blink:after {
    content: "";
    z-index: -1;
    background: radial-gradient(circle, #0000 0%, #00485873 100%);
    border-radius: 50%;
    width: 100%;
    height: 100%;
    animation: 1.5s ease-in-out infinite blink;
    position: absolute;
    top: 0;
    left: 0
}

@keyframes blink {
    0% {
        opacity: 0;
        transform: scale(1)
    }

    50% {
        opacity: 1;
        transform: scale(2.6)
    }

    to {
        opacity: 0;
        transform: scale(2.6)
    }
}

:root {
    --swiper-space-between: 3.53836vw
}

.swiper {
    position: relative
}

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

.swiper--common .swiper-wrapper {
    padding-bottom: 16.4179vw
}

@media (min-width:600px) {
    .swiper--common .swiper-wrapper {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .swiper--common .swiper-wrapper {
        padding-bottom: 4.36508vw
    }
}

.swiper--common .swiper-slide {
    position: relative
}

.swiper--common .swiper-slide .slider-caption {
    color: #fff;
    text-align: right;
    z-index: 10;
    background-color: #0009;
    padding: 6px 10px;
    font-size: clamp(1.3rem, 1.198rem + .2vw, 1.5rem);
    line-height: 1.2;
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0
}

.swiper--common .swiper-pagination {
    height: 16.4179vw;
    font-size: 0;
    bottom: 0 !important
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .swiper--common .swiper-pagination {
        height: 6.51042vw
    }
}

@media (min-aspect-ratio:4/3) {
    .swiper--common .swiper-pagination {
        height: 3.96825vw
    }
}

.swiper--common .swiper-pagination-bullet,
.swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    opacity: 1;
    background: 0 0;
    width: 40px;
    margin: 0
}

@media (min-aspect-ratio:4/3) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        width: 58px
    }
}

.swiper--common .swiper-pagination-bullet,
.swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    padding-top: 8.20896vw
}

@media (min-width:600px) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        padding-top: 3.25521vw
    }
}

@media (min-width:1261px) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        padding-top: 1.98413vw
    }
}

.swiper--common .swiper-pagination-bullet,
.swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    padding-bottom: 8.20896vw
}

@media (min-width:600px) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        padding-bottom: 3.25521vw
    }
}

@media (min-width:1261px) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        padding-bottom: 1.98413vw
    }
}

.swiper--common .swiper-pagination-bullet,
.swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    padding-left: 1.24378vw;
    padding-right: 1.24378vw
}

@media (min-width:600px) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        padding-left: .651042vw;
        padding-right: .651042vw
    }
}

@media (min-width:1261px) {

    .swiper--common .swiper-pagination-bullet,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        padding-left: .661376vw;
        padding-right: .661376vw
    }
}

.swiper--common .swiper-pagination-bullet.swiper-pagination-bullet-active .swiper-pagination-bullet-inner,
.swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active .swiper-pagination-bullet-inner,
.swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active .swiper-pagination-bullet-inner {
    background-color: #01a0b0
}

.swiper--common .swiper-pagination-bullet .swiper-pagination-bullet-inner,
.swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet .swiper-pagination-bullet-inner,
.swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet .swiper-pagination-bullet-inner {
    background-color: #000;
    border-radius: 0;
    width: 30px;
    height: 2px;
    display: inline-block
}

@media (min-aspect-ratio:4/3) {

    .swiper--common .swiper-pagination-bullet .swiper-pagination-bullet-inner,
    .swiper--common .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet .swiper-pagination-bullet-inner,
    .swiper--common .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet .swiper-pagination-bullet-inner {
        width: 38px
    }
}

.swiper-button-prev:after,
.swiper-button-next:after {
    display: none
}

.swiper-button-prev:before,
.swiper-button-next:before {
    content: "";
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 30px;
    height: 30px;
    margin: auto;
    position: absolute;
    inset: 0;
    transform: rotate(45deg)
}

.swiper-button-prev:before {
    left: 5px;
    right: auto;
    transform: rotate(-135deg)
}

@media (min-width:1261px) {
    .swiper-button-prev:before {
        left: 15px
    }
}

.swiper-button-next:before {
    left: auto;
    right: 5px
}

@media (min-width:1261px) {
    .swiper-button-next:before {
        right: 15px
    }
}

.swiper--center {
    opacity: 0
}

.swiper--center.is-show {
    opacity: 1
}

.swiper--center .swiper-slide {
    padding-left: 4.97512vw;
    padding-right: 4.97512vw
}

@media (min-width:600px) {
    .swiper--center .swiper-slide {
        padding-left: 2.60417vw;
        padding-right: 2.60417vw
    }
}

@media (min-width:1261px) {
    .swiper--center .swiper-slide {
        padding-left: 1.71958vw;
        padding-right: 1.71958vw
    }
}

@media (min-width:600px) {
    .swiper--center .swiper-slide {
        width: 80vw
    }
}

@media (min-width:1261px) {
    .swiper--center .swiper-slide {
        width: 42vw
    }
}

.swiper--center .swiper-button-next,
.swiper--center .swiper-button-prev {
    background-color: #fff;
    border-radius: 50%;
    flex-shrink: 0;
    align-items: center;
    gap: 10px;
    width: 50px;
    height: 50px;
    display: flex;
    box-shadow: 0 0 15px #00000026
}

@media (min-width:1261px) {

    .swiper--center .swiper-button-next,
    .swiper--center .swiper-button-prev {
        width: 70px;
        height: 70px
    }
}

.swiper--center .swiper-button-prev:before,
.swiper--center .swiper-button-next:before {
    border-color: #9bc5d9;
    border-top-width: 2px;
    border-right-width: 2px;
    width: 15px;
    height: 15px
}

.swiper--center .swiper-button-prev {
    margin-top: 0;
    left: calc(50% - 25vw - 70px)
}

.swiper--center .swiper-button-prev:before {
    right: calc(50% - 26px);
    transform: rotate(-135deg)
}

.swiper--center .swiper-button-next {
    margin-top: 0;
    right: calc(50% - 25vw - 70px)
}

.swiper--center .swiper-button-next:before {
    left: calc(50% - 26px)
}

.js-inview .fade-x,
.js-inview-fv .fade-x {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 1.2s;
    transition-timing-function: ease-out
}

@media (min-width:1261px) {

    .js-inview .fade-x,
    .js-inview-fv .fade-x {
        transform: rotate3d(0, 2, 0, -12deg)
    }
}

.js-inview .fade-a,
.js-inview-fv .fade-a {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 1.6s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1), ease-out;
    transform: translateY(10px)rotateY(-6deg)
}

@media (min-width:1261px) {

    .js-inview .fade-a,
    .js-inview-fv .fade-a {
        transform: translateY(20px)rotateY(-9deg)
    }
}

.js-inview .fade-b,
.js-inview-fv .fade-b {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: .8s;
    transition-timing-function: ease-out;
    transform: translateY(20px)
}

@media (min-width:1261px) {

    .js-inview .fade-b,
    .js-inview-fv .fade-b {
        transform: translateY(40px)
    }
}

.js-inview .fade-c,
.js-inview-fv .fade-c {
    opacity: 0;
    transition-property: opacity;
    transition-duration: .8s;
    transition-timing-function: linear
}

.js-inview.inview .fade-x,
.js-inview-fv.inview .fade-x {
    opacity: 1
}

@media (min-width:1261px) {

    .js-inview.inview .fade-x,
    .js-inview-fv.inview .fade-x {
        transform: translate(0, 0)rotate3d(0, 0, 0, 0)
    }
}

.js-inview.inview .fade-a,
.js-inview-fv.inview .fade-a {
    opacity: 1;
    transform: translate(0, 0)rotate3d(0, 0, 0, 0)
}

@media (min-width:1261px) {

    .js-inview.inview .fade-a,
    .js-inview-fv.inview .fade-a {
        transform: translate(0, 0)rotate3d(0, 0, 0, 0)
    }
}

.js-inview.inview .fade-b,
.js-inview-fv.inview .fade-b {
    opacity: 1;
    transform: translate(0)
}

.js-inview.inview .fade-c,
.js-inview-fv.inview .fade-c {
    opacity: 1
}

.js-inview .fade-a.fade-delay-1,
.js-inview .fade-b.fade-delay-1,
.js-inview .fade-c.fade-delay-1,
.js-inview-fv .fade-a.fade-delay-1,
.js-inview-fv .fade-b.fade-delay-1,
.js-inview-fv .fade-c.fade-delay-1 {
    transition-delay: .1s
}

.js-inview .fade-a.fade-delay-fast-1,
.js-inview .fade-b.fade-delay-fast-1,
.js-inview .fade-c.fade-delay-fast-1,
.js-inview-fv .fade-a.fade-delay-fast-1,
.js-inview-fv .fade-b.fade-delay-fast-1,
.js-inview-fv .fade-c.fade-delay-fast-1 {
    transition-duration: .8s;
    transition-delay: .1s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-1,
    .js-inview .fade-b.fade-delay-fast-1,
    .js-inview .fade-c.fade-delay-fast-1,
    .js-inview-fv .fade-a.fade-delay-fast-1,
    .js-inview-fv .fade-b.fade-delay-fast-1,
    .js-inview-fv .fade-c.fade-delay-fast-1 {
        transition-duration: .5s;
        transition-delay: 50ms
    }
}

.js-inview .fade-a.fade-delay-2,
.js-inview .fade-b.fade-delay-2,
.js-inview .fade-c.fade-delay-2,
.js-inview-fv .fade-a.fade-delay-2,
.js-inview-fv .fade-b.fade-delay-2,
.js-inview-fv .fade-c.fade-delay-2 {
    transition-delay: .2s
}

.js-inview .fade-a.fade-delay-fast-2,
.js-inview .fade-b.fade-delay-fast-2,
.js-inview .fade-c.fade-delay-fast-2,
.js-inview-fv .fade-a.fade-delay-fast-2,
.js-inview-fv .fade-b.fade-delay-fast-2,
.js-inview-fv .fade-c.fade-delay-fast-2 {
    transition-duration: .8s;
    transition-delay: .2s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-2,
    .js-inview .fade-b.fade-delay-fast-2,
    .js-inview .fade-c.fade-delay-fast-2,
    .js-inview-fv .fade-a.fade-delay-fast-2,
    .js-inview-fv .fade-b.fade-delay-fast-2,
    .js-inview-fv .fade-c.fade-delay-fast-2 {
        transition-duration: .5s;
        transition-delay: .1s
    }
}

.js-inview .fade-a.fade-delay-3,
.js-inview .fade-b.fade-delay-3,
.js-inview .fade-c.fade-delay-3,
.js-inview-fv .fade-a.fade-delay-3,
.js-inview-fv .fade-b.fade-delay-3,
.js-inview-fv .fade-c.fade-delay-3 {
    transition-delay: .3s
}

.js-inview .fade-a.fade-delay-fast-3,
.js-inview .fade-b.fade-delay-fast-3,
.js-inview .fade-c.fade-delay-fast-3,
.js-inview-fv .fade-a.fade-delay-fast-3,
.js-inview-fv .fade-b.fade-delay-fast-3,
.js-inview-fv .fade-c.fade-delay-fast-3 {
    transition-duration: .8s;
    transition-delay: .3s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-3,
    .js-inview .fade-b.fade-delay-fast-3,
    .js-inview .fade-c.fade-delay-fast-3,
    .js-inview-fv .fade-a.fade-delay-fast-3,
    .js-inview-fv .fade-b.fade-delay-fast-3,
    .js-inview-fv .fade-c.fade-delay-fast-3 {
        transition-duration: .5s;
        transition-delay: .15s
    }
}

.js-inview .fade-a.fade-delay-4,
.js-inview .fade-b.fade-delay-4,
.js-inview .fade-c.fade-delay-4,
.js-inview-fv .fade-a.fade-delay-4,
.js-inview-fv .fade-b.fade-delay-4,
.js-inview-fv .fade-c.fade-delay-4 {
    transition-delay: .4s
}

.js-inview .fade-a.fade-delay-fast-4,
.js-inview .fade-b.fade-delay-fast-4,
.js-inview .fade-c.fade-delay-fast-4,
.js-inview-fv .fade-a.fade-delay-fast-4,
.js-inview-fv .fade-b.fade-delay-fast-4,
.js-inview-fv .fade-c.fade-delay-fast-4 {
    transition-duration: .8s;
    transition-delay: .4s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-4,
    .js-inview .fade-b.fade-delay-fast-4,
    .js-inview .fade-c.fade-delay-fast-4,
    .js-inview-fv .fade-a.fade-delay-fast-4,
    .js-inview-fv .fade-b.fade-delay-fast-4,
    .js-inview-fv .fade-c.fade-delay-fast-4 {
        transition-duration: .5s;
        transition-delay: .2s
    }
}

.js-inview .fade-a.fade-delay-5,
.js-inview .fade-b.fade-delay-5,
.js-inview .fade-c.fade-delay-5,
.js-inview-fv .fade-a.fade-delay-5,
.js-inview-fv .fade-b.fade-delay-5,
.js-inview-fv .fade-c.fade-delay-5 {
    transition-delay: .5s
}

.js-inview .fade-a.fade-delay-fast-5,
.js-inview .fade-b.fade-delay-fast-5,
.js-inview .fade-c.fade-delay-fast-5,
.js-inview-fv .fade-a.fade-delay-fast-5,
.js-inview-fv .fade-b.fade-delay-fast-5,
.js-inview-fv .fade-c.fade-delay-fast-5 {
    transition-duration: .8s;
    transition-delay: .5s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-5,
    .js-inview .fade-b.fade-delay-fast-5,
    .js-inview .fade-c.fade-delay-fast-5,
    .js-inview-fv .fade-a.fade-delay-fast-5,
    .js-inview-fv .fade-b.fade-delay-fast-5,
    .js-inview-fv .fade-c.fade-delay-fast-5 {
        transition-duration: .5s;
        transition-delay: .25s
    }
}

.js-inview .fade-a.fade-delay-6,
.js-inview .fade-b.fade-delay-6,
.js-inview .fade-c.fade-delay-6,
.js-inview-fv .fade-a.fade-delay-6,
.js-inview-fv .fade-b.fade-delay-6,
.js-inview-fv .fade-c.fade-delay-6 {
    transition-delay: .6s
}

.js-inview .fade-a.fade-delay-fast-6,
.js-inview .fade-b.fade-delay-fast-6,
.js-inview .fade-c.fade-delay-fast-6,
.js-inview-fv .fade-a.fade-delay-fast-6,
.js-inview-fv .fade-b.fade-delay-fast-6,
.js-inview-fv .fade-c.fade-delay-fast-6 {
    transition-duration: .8s;
    transition-delay: .6s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-6,
    .js-inview .fade-b.fade-delay-fast-6,
    .js-inview .fade-c.fade-delay-fast-6,
    .js-inview-fv .fade-a.fade-delay-fast-6,
    .js-inview-fv .fade-b.fade-delay-fast-6,
    .js-inview-fv .fade-c.fade-delay-fast-6 {
        transition-duration: .5s;
        transition-delay: .3s
    }
}

.js-inview .fade-a.fade-delay-7,
.js-inview .fade-b.fade-delay-7,
.js-inview .fade-c.fade-delay-7,
.js-inview-fv .fade-a.fade-delay-7,
.js-inview-fv .fade-b.fade-delay-7,
.js-inview-fv .fade-c.fade-delay-7 {
    transition-delay: .7s
}

.js-inview .fade-a.fade-delay-fast-7,
.js-inview .fade-b.fade-delay-fast-7,
.js-inview .fade-c.fade-delay-fast-7,
.js-inview-fv .fade-a.fade-delay-fast-7,
.js-inview-fv .fade-b.fade-delay-fast-7,
.js-inview-fv .fade-c.fade-delay-fast-7 {
    transition-duration: .8s;
    transition-delay: .7s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-7,
    .js-inview .fade-b.fade-delay-fast-7,
    .js-inview .fade-c.fade-delay-fast-7,
    .js-inview-fv .fade-a.fade-delay-fast-7,
    .js-inview-fv .fade-b.fade-delay-fast-7,
    .js-inview-fv .fade-c.fade-delay-fast-7 {
        transition-duration: .5s;
        transition-delay: .35s
    }
}

.js-inview .fade-a.fade-delay-8,
.js-inview .fade-b.fade-delay-8,
.js-inview .fade-c.fade-delay-8,
.js-inview-fv .fade-a.fade-delay-8,
.js-inview-fv .fade-b.fade-delay-8,
.js-inview-fv .fade-c.fade-delay-8 {
    transition-delay: .8s
}

.js-inview .fade-a.fade-delay-fast-8,
.js-inview .fade-b.fade-delay-fast-8,
.js-inview .fade-c.fade-delay-fast-8,
.js-inview-fv .fade-a.fade-delay-fast-8,
.js-inview-fv .fade-b.fade-delay-fast-8,
.js-inview-fv .fade-c.fade-delay-fast-8 {
    transition-duration: .8s;
    transition-delay: .8s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-8,
    .js-inview .fade-b.fade-delay-fast-8,
    .js-inview .fade-c.fade-delay-fast-8,
    .js-inview-fv .fade-a.fade-delay-fast-8,
    .js-inview-fv .fade-b.fade-delay-fast-8,
    .js-inview-fv .fade-c.fade-delay-fast-8 {
        transition-duration: .5s;
        transition-delay: .4s
    }
}

.js-inview .fade-a.fade-delay-9,
.js-inview .fade-b.fade-delay-9,
.js-inview .fade-c.fade-delay-9,
.js-inview-fv .fade-a.fade-delay-9,
.js-inview-fv .fade-b.fade-delay-9,
.js-inview-fv .fade-c.fade-delay-9 {
    transition-delay: .9s
}

.js-inview .fade-a.fade-delay-fast-9,
.js-inview .fade-b.fade-delay-fast-9,
.js-inview .fade-c.fade-delay-fast-9,
.js-inview-fv .fade-a.fade-delay-fast-9,
.js-inview-fv .fade-b.fade-delay-fast-9,
.js-inview-fv .fade-c.fade-delay-fast-9 {
    transition-duration: .8s;
    transition-delay: .9s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-9,
    .js-inview .fade-b.fade-delay-fast-9,
    .js-inview .fade-c.fade-delay-fast-9,
    .js-inview-fv .fade-a.fade-delay-fast-9,
    .js-inview-fv .fade-b.fade-delay-fast-9,
    .js-inview-fv .fade-c.fade-delay-fast-9 {
        transition-duration: .5s;
        transition-delay: .45s
    }
}

.js-inview .fade-a.fade-delay-10,
.js-inview .fade-b.fade-delay-10,
.js-inview .fade-c.fade-delay-10,
.js-inview-fv .fade-a.fade-delay-10,
.js-inview-fv .fade-b.fade-delay-10,
.js-inview-fv .fade-c.fade-delay-10 {
    transition-delay: 1s
}

.js-inview .fade-a.fade-delay-fast-10,
.js-inview .fade-b.fade-delay-fast-10,
.js-inview .fade-c.fade-delay-fast-10,
.js-inview-fv .fade-a.fade-delay-fast-10,
.js-inview-fv .fade-b.fade-delay-fast-10,
.js-inview-fv .fade-c.fade-delay-fast-10 {
    transition-duration: .8s;
    transition-delay: 1s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-10,
    .js-inview .fade-b.fade-delay-fast-10,
    .js-inview .fade-c.fade-delay-fast-10,
    .js-inview-fv .fade-a.fade-delay-fast-10,
    .js-inview-fv .fade-b.fade-delay-fast-10,
    .js-inview-fv .fade-c.fade-delay-fast-10 {
        transition-duration: .5s;
        transition-delay: .5s
    }
}

.js-inview .fade-a.fade-delay-11,
.js-inview .fade-b.fade-delay-11,
.js-inview .fade-c.fade-delay-11,
.js-inview-fv .fade-a.fade-delay-11,
.js-inview-fv .fade-b.fade-delay-11,
.js-inview-fv .fade-c.fade-delay-11 {
    transition-delay: 1.1s
}

.js-inview .fade-a.fade-delay-fast-11,
.js-inview .fade-b.fade-delay-fast-11,
.js-inview .fade-c.fade-delay-fast-11,
.js-inview-fv .fade-a.fade-delay-fast-11,
.js-inview-fv .fade-b.fade-delay-fast-11,
.js-inview-fv .fade-c.fade-delay-fast-11 {
    transition-duration: .8s;
    transition-delay: 1.1s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-11,
    .js-inview .fade-b.fade-delay-fast-11,
    .js-inview .fade-c.fade-delay-fast-11,
    .js-inview-fv .fade-a.fade-delay-fast-11,
    .js-inview-fv .fade-b.fade-delay-fast-11,
    .js-inview-fv .fade-c.fade-delay-fast-11 {
        transition-duration: .5s;
        transition-delay: .55s
    }
}

.js-inview .fade-a.fade-delay-12,
.js-inview .fade-b.fade-delay-12,
.js-inview .fade-c.fade-delay-12,
.js-inview-fv .fade-a.fade-delay-12,
.js-inview-fv .fade-b.fade-delay-12,
.js-inview-fv .fade-c.fade-delay-12 {
    transition-delay: 1.2s
}

.js-inview .fade-a.fade-delay-fast-12,
.js-inview .fade-b.fade-delay-fast-12,
.js-inview .fade-c.fade-delay-fast-12,
.js-inview-fv .fade-a.fade-delay-fast-12,
.js-inview-fv .fade-b.fade-delay-fast-12,
.js-inview-fv .fade-c.fade-delay-fast-12 {
    transition-duration: .8s;
    transition-delay: 1.2s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-12,
    .js-inview .fade-b.fade-delay-fast-12,
    .js-inview .fade-c.fade-delay-fast-12,
    .js-inview-fv .fade-a.fade-delay-fast-12,
    .js-inview-fv .fade-b.fade-delay-fast-12,
    .js-inview-fv .fade-c.fade-delay-fast-12 {
        transition-duration: .5s;
        transition-delay: .6s
    }
}

.js-inview .fade-a.fade-delay-13,
.js-inview .fade-b.fade-delay-13,
.js-inview .fade-c.fade-delay-13,
.js-inview-fv .fade-a.fade-delay-13,
.js-inview-fv .fade-b.fade-delay-13,
.js-inview-fv .fade-c.fade-delay-13 {
    transition-delay: 1.3s
}

.js-inview .fade-a.fade-delay-fast-13,
.js-inview .fade-b.fade-delay-fast-13,
.js-inview .fade-c.fade-delay-fast-13,
.js-inview-fv .fade-a.fade-delay-fast-13,
.js-inview-fv .fade-b.fade-delay-fast-13,
.js-inview-fv .fade-c.fade-delay-fast-13 {
    transition-duration: .8s;
    transition-delay: 1.3s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-13,
    .js-inview .fade-b.fade-delay-fast-13,
    .js-inview .fade-c.fade-delay-fast-13,
    .js-inview-fv .fade-a.fade-delay-fast-13,
    .js-inview-fv .fade-b.fade-delay-fast-13,
    .js-inview-fv .fade-c.fade-delay-fast-13 {
        transition-duration: .5s;
        transition-delay: .65s
    }
}

.js-inview .fade-a.fade-delay-14,
.js-inview .fade-b.fade-delay-14,
.js-inview .fade-c.fade-delay-14,
.js-inview-fv .fade-a.fade-delay-14,
.js-inview-fv .fade-b.fade-delay-14,
.js-inview-fv .fade-c.fade-delay-14 {
    transition-delay: 1.4s
}

.js-inview .fade-a.fade-delay-fast-14,
.js-inview .fade-b.fade-delay-fast-14,
.js-inview .fade-c.fade-delay-fast-14,
.js-inview-fv .fade-a.fade-delay-fast-14,
.js-inview-fv .fade-b.fade-delay-fast-14,
.js-inview-fv .fade-c.fade-delay-fast-14 {
    transition-duration: .8s;
    transition-delay: 1.4s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-14,
    .js-inview .fade-b.fade-delay-fast-14,
    .js-inview .fade-c.fade-delay-fast-14,
    .js-inview-fv .fade-a.fade-delay-fast-14,
    .js-inview-fv .fade-b.fade-delay-fast-14,
    .js-inview-fv .fade-c.fade-delay-fast-14 {
        transition-duration: .5s;
        transition-delay: .7s
    }
}

.js-inview .fade-a.fade-delay-15,
.js-inview .fade-b.fade-delay-15,
.js-inview .fade-c.fade-delay-15,
.js-inview-fv .fade-a.fade-delay-15,
.js-inview-fv .fade-b.fade-delay-15,
.js-inview-fv .fade-c.fade-delay-15 {
    transition-delay: 1.5s
}

.js-inview .fade-a.fade-delay-fast-15,
.js-inview .fade-b.fade-delay-fast-15,
.js-inview .fade-c.fade-delay-fast-15,
.js-inview-fv .fade-a.fade-delay-fast-15,
.js-inview-fv .fade-b.fade-delay-fast-15,
.js-inview-fv .fade-c.fade-delay-fast-15 {
    transition-duration: .8s;
    transition-delay: 1.5s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-15,
    .js-inview .fade-b.fade-delay-fast-15,
    .js-inview .fade-c.fade-delay-fast-15,
    .js-inview-fv .fade-a.fade-delay-fast-15,
    .js-inview-fv .fade-b.fade-delay-fast-15,
    .js-inview-fv .fade-c.fade-delay-fast-15 {
        transition-duration: .5s;
        transition-delay: .75s
    }
}

.js-inview .fade-a.fade-delay-16,
.js-inview .fade-b.fade-delay-16,
.js-inview .fade-c.fade-delay-16,
.js-inview-fv .fade-a.fade-delay-16,
.js-inview-fv .fade-b.fade-delay-16,
.js-inview-fv .fade-c.fade-delay-16 {
    transition-delay: 1.6s
}

.js-inview .fade-a.fade-delay-fast-16,
.js-inview .fade-b.fade-delay-fast-16,
.js-inview .fade-c.fade-delay-fast-16,
.js-inview-fv .fade-a.fade-delay-fast-16,
.js-inview-fv .fade-b.fade-delay-fast-16,
.js-inview-fv .fade-c.fade-delay-fast-16 {
    transition-duration: .8s;
    transition-delay: 1.6s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-16,
    .js-inview .fade-b.fade-delay-fast-16,
    .js-inview .fade-c.fade-delay-fast-16,
    .js-inview-fv .fade-a.fade-delay-fast-16,
    .js-inview-fv .fade-b.fade-delay-fast-16,
    .js-inview-fv .fade-c.fade-delay-fast-16 {
        transition-duration: .5s;
        transition-delay: .8s
    }
}

.js-inview .fade-a.fade-delay-17,
.js-inview .fade-b.fade-delay-17,
.js-inview .fade-c.fade-delay-17,
.js-inview-fv .fade-a.fade-delay-17,
.js-inview-fv .fade-b.fade-delay-17,
.js-inview-fv .fade-c.fade-delay-17 {
    transition-delay: 1.7s
}

.js-inview .fade-a.fade-delay-fast-17,
.js-inview .fade-b.fade-delay-fast-17,
.js-inview .fade-c.fade-delay-fast-17,
.js-inview-fv .fade-a.fade-delay-fast-17,
.js-inview-fv .fade-b.fade-delay-fast-17,
.js-inview-fv .fade-c.fade-delay-fast-17 {
    transition-duration: .8s;
    transition-delay: 1.7s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-17,
    .js-inview .fade-b.fade-delay-fast-17,
    .js-inview .fade-c.fade-delay-fast-17,
    .js-inview-fv .fade-a.fade-delay-fast-17,
    .js-inview-fv .fade-b.fade-delay-fast-17,
    .js-inview-fv .fade-c.fade-delay-fast-17 {
        transition-duration: .5s;
        transition-delay: .85s
    }
}

.js-inview .fade-a.fade-delay-18,
.js-inview .fade-b.fade-delay-18,
.js-inview .fade-c.fade-delay-18,
.js-inview-fv .fade-a.fade-delay-18,
.js-inview-fv .fade-b.fade-delay-18,
.js-inview-fv .fade-c.fade-delay-18 {
    transition-delay: 1.8s
}

.js-inview .fade-a.fade-delay-fast-18,
.js-inview .fade-b.fade-delay-fast-18,
.js-inview .fade-c.fade-delay-fast-18,
.js-inview-fv .fade-a.fade-delay-fast-18,
.js-inview-fv .fade-b.fade-delay-fast-18,
.js-inview-fv .fade-c.fade-delay-fast-18 {
    transition-duration: .8s;
    transition-delay: 1.8s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-18,
    .js-inview .fade-b.fade-delay-fast-18,
    .js-inview .fade-c.fade-delay-fast-18,
    .js-inview-fv .fade-a.fade-delay-fast-18,
    .js-inview-fv .fade-b.fade-delay-fast-18,
    .js-inview-fv .fade-c.fade-delay-fast-18 {
        transition-duration: .5s;
        transition-delay: .9s
    }
}

.js-inview .fade-a.fade-delay-19,
.js-inview .fade-b.fade-delay-19,
.js-inview .fade-c.fade-delay-19,
.js-inview-fv .fade-a.fade-delay-19,
.js-inview-fv .fade-b.fade-delay-19,
.js-inview-fv .fade-c.fade-delay-19 {
    transition-delay: 1.9s
}

.js-inview .fade-a.fade-delay-fast-19,
.js-inview .fade-b.fade-delay-fast-19,
.js-inview .fade-c.fade-delay-fast-19,
.js-inview-fv .fade-a.fade-delay-fast-19,
.js-inview-fv .fade-b.fade-delay-fast-19,
.js-inview-fv .fade-c.fade-delay-fast-19 {
    transition-duration: .8s;
    transition-delay: 1.9s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-19,
    .js-inview .fade-b.fade-delay-fast-19,
    .js-inview .fade-c.fade-delay-fast-19,
    .js-inview-fv .fade-a.fade-delay-fast-19,
    .js-inview-fv .fade-b.fade-delay-fast-19,
    .js-inview-fv .fade-c.fade-delay-fast-19 {
        transition-duration: .5s;
        transition-delay: .95s
    }
}

.js-inview .fade-a.fade-delay-20,
.js-inview .fade-b.fade-delay-20,
.js-inview .fade-c.fade-delay-20,
.js-inview-fv .fade-a.fade-delay-20,
.js-inview-fv .fade-b.fade-delay-20,
.js-inview-fv .fade-c.fade-delay-20 {
    transition-delay: 2s
}

.js-inview .fade-a.fade-delay-fast-20,
.js-inview .fade-b.fade-delay-fast-20,
.js-inview .fade-c.fade-delay-fast-20,
.js-inview-fv .fade-a.fade-delay-fast-20,
.js-inview-fv .fade-b.fade-delay-fast-20,
.js-inview-fv .fade-c.fade-delay-fast-20 {
    transition-duration: .8s;
    transition-delay: 2s
}

@media (min-width:1261px) {

    .js-inview .fade-a.fade-delay-fast-20,
    .js-inview .fade-b.fade-delay-fast-20,
    .js-inview .fade-c.fade-delay-fast-20,
    .js-inview-fv .fade-a.fade-delay-fast-20,
    .js-inview-fv .fade-b.fade-delay-fast-20,
    .js-inview-fv .fade-c.fade-delay-fast-20 {
        transition-duration: .5s;
        transition-delay: 1s
    }
}

.gradient-sample {
    padding: 3em
}

.gradient-text {
    -webkit-text-fill-color: #0000;
    background-position: 100%;
    background-size: 500%;
    -webkit-background-clip: text;
    transition: background-position 2.5s;
    display: inline-block
}

.gradient-text .sup {
    vertical-align: text-top;
    font-size: .5em
}

.gradient-text.fade-delay-1 {
    transition-delay: .1s
}

.gradient-text.fade-delay-2 {
    transition-delay: .2s
}

.gradient-text.fade-delay-3 {
    transition-delay: .3s
}

.gradient-text.fade-delay-4 {
    transition-delay: .4s
}

.gradient-text.fade-delay-5 {
    transition-delay: .5s
}

.gradient-text.fade-delay-6 {
    transition-delay: .6s
}

.gradient-text.fade-delay-7 {
    transition-delay: .7s
}

.gradient-text.fade-delay-8 {
    transition-delay: .8s
}

.gradient-text.fade-delay-9 {
    transition-delay: .9s
}

.gradient-text.fade-delay-10 {
    transition-delay: 1s
}

.gradient-text.fade-delay-11 {
    transition-delay: 1.1s
}

.gradient-text.fade-delay-12 {
    transition-delay: 1.2s
}

.gradient-text.fade-delay-13 {
    transition-delay: 1.3s
}

.gradient-text.fade-delay-14 {
    transition-delay: 1.4s
}

.gradient-text.fade-delay-15 {
    transition-delay: 1.5s
}

.gradient-text.fade-delay-16 {
    transition-delay: 1.6s
}

.gradient-text.fade-delay-17 {
    transition-delay: 1.7s
}

.gradient-text.fade-delay-18 {
    transition-delay: 1.8s
}

.gradient-text.fade-delay-19 {
    transition-delay: 1.9s
}

.gradient-text.fade-delay-20 {
    transition-delay: 2s
}

.gradient-text-2 {
    -webkit-text-fill-color: #0000;
    background-position: 100%;
    background-size: 500%;
    -webkit-background-clip: text;
    transition: background-position 2.5s;
    display: inline-block
}

.gradient-text-delay {
    transition-delay: .3s
}

.gradient-green {
    background-image: linear-gradient(87deg, #004858 0% 4%, #0000 30% 75%)
}

.gradient-green-2 {
    background-image: linear-gradient(87deg, #004858 0% 4%, #fff 30%, #323232 50%, #0000 75% 100%)
}

.gradient-green-3 {
    background-image: linear-gradient(60deg, #004858 0% 2%, #004858 10%, #009bbe 40%, #0000 80% 100%)
}

.gradient-green-from-black {
    background-image: linear-gradient(87deg, #004858 0% 4%, #fff 30%, #323232 50% 75%)
}

.gradient-green-to-white {
    background-image: linear-gradient(87deg, #004858 0% 4%, #fff 30% 75%)
}

.gradient-silver {
    background-image: linear-gradient(90deg, #fff 0% 4%, #32323280 30%, #0000 75%)
}

.gradient-silver-2 {
    background-image: linear-gradient(90deg, #fff 0% 4%, #32323280 30%, #fff 30% 50%, #0000 75% 100%)
}

.gradient-silver-from-white {
    background-image: linear-gradient(90deg, #fff 0% 4%, #32323280 30%, #fff 75%)
}

.gradient-silver-from-black {
    background-image: linear-gradient(90deg, #323232 0% 2%, #32323280 7% 25%, #32323280 75%)
}

.gradient-text.gradient-blue {
    background-image: linear-gradient(77deg, #2280b5 0% 4%, #fffc 15% 75%)
}

.gradient-black-x {
    background-image: linear-gradient(70deg, #000 0% 30%, #333 60%, #0000 80% 100%)
}

.gradient-black-light-x {
    background-image: linear-gradient(70deg, silver 0% 30%, #f3f3f3 60%, #0000 80% 100%)
}

.gradient-green-x {
    background-image: linear-gradient(70deg, #004858 0% 30%, #25d4b1 60%, #0000 80% 100%)
}

.gradient-blue-x {
    background-image: linear-gradient(70deg, #3c5d9f 0% 30%, #92ebff 60%, #0000 80% 100%)
}

.gradient-blue-white-x {
    background-image: linear-gradient(70deg, #fff 20%, #92ebff 50%, #3c5d9f 70%, #0000 80% 100%)
}

.gradient-blue-light-x {
    background-image: linear-gradient(70deg, #2280b5 0% 30%, #5db1e0 60%, #0000 80% 100%)
}

.gradient-white-x {
    background-image: linear-gradient(70deg, #fff 0% 30%, #333 60%, #0000 80% 100%)
}

.gradient-red-x {
    background-image: linear-gradient(70deg, #e3292e 0% 30%, #ef8386 60%, #0000 80% 100%)
}

.js-videoevent.is-active .gradient-text.gradient-green,
.js-videoevent.is-active .gradient-text.gradient-green-2,
.js-videoevent.is-active .gradient-text-2.gradient-green-3,
.js-inview.inview .gradient-text.gradient-green,
.js-inview.inview .gradient-text.gradient-green-2,
.js-inview.inview .gradient-text-2.gradient-green-3,
.js-fadeinout.is-active .gradient-text.gradient-green,
.js-fadeinout.is-active .gradient-text.gradient-green-2,
.js-fadeinout.is-active .gradient-text-2.gradient-green-3,
.js-videoevent.is-active .gradient-text.gradient-green-from-black,
.js-inview.inview .gradient-text.gradient-green-from-black,
.js-fadeinout.is-active .gradient-text.gradient-green-from-black,
.js-videoevent.is-active .gradient-text.gradient-green-to-white,
.js-inview.inview .gradient-text.gradient-green-to-white,
.js-fadeinout.is-active .gradient-text.gradient-green-to-white,
.js-videoevent.is-active .gradient-text.gradient-silver,
.js-videoevent.is-active .gradient-text.gradient-silver-2,
.js-inview.inview .gradient-text.gradient-silver,
.js-inview.inview .gradient-text.gradient-silver-2,
.js-fadeinout.is-active .gradient-text.gradient-silver,
.js-fadeinout.is-active .gradient-text.gradient-silver-2,
.js-videoevent.is-active .gradient-text.gradient-silver-from-white,
.js-inview.inview .gradient-text.gradient-silver-from-white,
.js-fadeinout.is-active .gradient-text.gradient-silver-from-white,
.js-videoevent.is-active .gradient-text.gradient-silver-from-black,
.js-inview.inview .gradient-text.gradient-silver-from-black,
.js-fadeinout.is-active .gradient-text.gradient-silver-from-black,
.js-videoevent.is-active .gradient-text.gradient-blue,
.js-inview.inview .gradient-text.gradient-blue,
.js-fadeinout.is-active .gradient-text.gradient-blue,
.js-videoevent.is-active .gradient-text.gradient-black-x,
.js-videoevent.is-active .gradient-text.gradient-black-light-x,
.js-videoevent.is-active .gradient-text.gradient-blue-x,
.js-videoevent.is-active .gradient-text.gradient-green-x,
.js-videoevent.is-active .gradient-text.gradient-blue-light-x,
.js-videoevent.is-active .gradient-text.gradient-white-x,
.js-videoevent.is-active .gradient-text.gradient-red-x,
.js-videoevent.is-active .gradient-text.gradient-blue-white-x,
.js-inview.inview .gradient-text.gradient-black-x,
.js-inview.inview .gradient-text.gradient-black-light-x,
.js-inview.inview .gradient-text.gradient-blue-x,
.js-inview.inview .gradient-text.gradient-green-x,
.js-inview.inview .gradient-text.gradient-blue-light-x,
.js-inview.inview .gradient-text.gradient-white-x,
.js-inview.inview .gradient-text.gradient-red-x,
.js-inview.inview .gradient-text.gradient-blue-white-x,
.js-fadeinout.is-active .gradient-text.gradient-black-x,
.js-fadeinout.is-active .gradient-text.gradient-black-light-x,
.js-fadeinout.is-active .gradient-text.gradient-blue-x,
.js-fadeinout.is-active .gradient-text.gradient-green-x,
.js-fadeinout.is-active .gradient-text.gradient-blue-light-x,
.js-fadeinout.is-active .gradient-text.gradient-white-x,
.js-fadeinout.is-active .gradient-text.gradient-red-x,
.js-fadeinout.is-active .gradient-text.gradient-blue-white-x {
    background-position: 0
}

.js-acc-container.is-old.open .js-acc-btn {
    display: none
}

.js-acc-container.is-old.open .js-acc {
    overflow: visible
}

.js-acc-container.is-old .js-acc {
    height: 0;
    transition-property: height;
    transition-delay: 0;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1);
    display: block;
    overflow: hidden
}

.js-acc-container.is-old .js-acc .js-acc-contents {
    display: block
}

.js-acc-container.is-old .js-acc-btn {
    text-align: center;
    margin-top: 80px
}

@media (min-aspect-ratio:4/3) {
    .js-acc-container.is-old .js-acc-btn {
        margin-top: 90px
    }
}

.js-acc-container.is-old .js-acc-btn button {
    letter-spacing: .1rem;
    transition: opacity .2s linear
}

.js-acc-container.is-old .js-acc-btn button:hover {
    opacity: .6;
    cursor: pointer;
    cursor: pointer
}

.js-acc-container.is-css-grid .js-acc-summary {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.js-acc-container.is-css-grid .js-acc-summary .js-acc-btn {
    content: "";
    width: 34px;
    height: 34px;
    display: block;
    position: relative
}

.js-acc-container.is-css-grid .js-acc-summary .js-acc-btn:before {
    content: "";
    background-color: #fff;
    width: 34px;
    height: 1px;
    transition: opacity .3s ease-out;
    display: block;
    position: absolute;
    top: 50%;
    left: 0
}

.js-acc-container.is-css-grid .js-acc-summary .js-acc-btn:after {
    content: "";
    background-color: #fff;
    width: 1px;
    height: 34px;
    transition: rotate .3s ease-out;
    display: block;
    position: absolute;
    top: 0;
    left: 50%
}

.js-acc-container.is-css-grid .js-acc-details {
    transition-property: grid-template-rows;
    transition-delay: 0;
    grid-template-rows: 0fr;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1);
    display: grid
}

.js-acc-container.is-css-grid .js-acc-details .js-acc-contents {
    overflow: hidden
}

.js-acc-container.is-css-grid.is-open .js-acc-details {
    grid-template-rows: 1fr
}

.js-acc-container.is-css-grid.is-open .js-acc-btn:before {
    opacity: 0
}

.js-acc-container.is-css-grid.is-open .js-acc-btn:after {
    rotate: -90deg
}

@keyframes animateBg {
    0% {
        background-position: 0 100%
    }

    to {
        background-position: 0 0
    }
}

.scroll-signifier {
    display: none
}

@media (min-aspect-ratio:4/3) {
    .scroll-signifier {
        z-index: 999;
        mix-blend-mode: difference;
        width: auto;
        height: 300px;
        padding-bottom: 1.98413vw;
        padding-right: 3.96825vw;
        display: inline-block;
        position: fixed;
        top: auto;
        bottom: 0;
        right: 0
    }
}

.scroll-signifier__main {
    opacity: 1;
    width: auto;
    height: auto;
    transition-property: opacity;
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1);
    display: inline-block;
    position: relative;
    bottom: 0
}

.scroll-signifier__main img {
    width: 100%;
    height: auto
}

.scroll-signifier__text {
    color: #fff;
    writing-mode: vertical-lr;
    letter-spacing: .06rem;
    padding-top: 2.6455vw;
    padding-bottom: 0;
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-size: 3.9801vw;
    font-weight: 300;
    line-height: 1;
    transform: translate(50%)
}

@media (min-width:600px) {
    .scroll-signifier__text {
        font-size: 2.08333vw
    }
}

@media (min-width:1261px) {
    .scroll-signifier__text {
        font-size: 1.19048vw
    }
}

.scroll-signifier__main {
    opacity: 0
}

body.loaded .scroll-signifier__main {
    opacity: 1
}

body.loaded .scroll-signifier__main .scroll-signifier__inner {
    position: relative
}

body.loaded .scroll-signifier__img {
    width: 100%;
    height: 150px;
    position: relative
}

body.loaded .scroll-signifier__img .scroll-signifier__img-line {
    background-color: #fff;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0
}

body.scrolled-title .scroll-signifier__main {
    opacity: 0;
    transition-delay: 0s
}

.section__inner {
    z-index: 2;
    position: relative
}

.dev-status {
    background-color: #ffffff80;
    position: absolute;
    top: 0;
    left: 0
}

.c-wrapper {
    padding-top: 0 !important
}

.c-header {
    z-index: 9999 !important
}

main {
    overflow-x: clip !important
}

html.lenis,
html.lenis body {
    height: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: clip
}

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

.section-common {
    position: relative
}

.section-common.section-environment1,
.section-common.section-cameraspec,
.section-common.section-cameraspec-sp,
.section-common.section-cameraspec2,
.section-common.section-cameraspec2-sp {
    margin-top: -1px
}

.section-cameraspec.scroller,
.section-cameraspec .image-sequence-wrapper,
.section-toughnessmov.scroller,
.section-toughnessmov .image-sequence-wrapper,
.section-autonerve.scroller,
.section-autonerve .image-sequence-wrapper,
.section-chip1.scroller,
.section-chip1 .image-sequence-wrapper {
    height: auto
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-cameraspec.scroller,
    .section-cameraspec .image-sequence-wrapper,
    .section-toughnessmov.scroller,
    .section-toughnessmov .image-sequence-wrapper,
    .section-autonerve.scroller,
    .section-autonerve .image-sequence-wrapper,
    .section-chip1.scroller,
    .section-chip1 .image-sequence-wrapper {
        height: 250vh
    }
}

.section-cameraspec .sticky-content-wrapper .sticky-content,
.section-toughnessmov .sticky-content-wrapper .sticky-content,
.section-autonerve .sticky-content-wrapper .sticky-content,
.section-chip1 .sticky-content-wrapper .sticky-content {
    height: 100vh
}

.image-sequence-wrapper {
    width: 100%;
    display: block
}

.image-sequence-wrapper .image-sequence {
    width: 100%;
    height: 100vh;
    display: block;
    position: sticky;
    top: 0
}

.image-sequence-wrapper .image-sequence .canvas,
.sticky-content-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.sticky-content-wrapper .sticky-content {
    width: 100%;
    position: sticky;
    top: 0
}

.js-zoomin .video-audio-hero,
.js-zoomout .video-audio-hero {
    z-index: 1;
    position: relative
}

.js-zoomin .video-audio-hero .hero-base .headline-container,
.js-zoomout .video-audio-hero .hero-base .headline-container {
    z-index: 2;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 700px;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.js-zoomin .headline-container--center,
.js-zoomout .headline-container--center {
    z-index: 3;
    text-align: center;
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.js-zoomin .sticky-content-wrapper,
.js-zoomout .sticky-content-wrapper {
    height: 175vh;
    display: block;
    position: relative
}

.js-zoomin .sticky-content-wrapper .sticky-content,
.js-zoomout .sticky-content-wrapper .sticky-content {
    height: 100vh;
    position: sticky;
    top: 0;
    overflow: hidden
}

@media (min-width:1261px) {

    .js-zoomin .sticky-content-wrapper .sticky-content,
    .js-zoomout .sticky-content-wrapper .sticky-content {
        flex-direction: column;
        display: flex
    }
}

.js-zoomin .sticky-content-wrapper .sticky-content .responsive-container,
.js-zoomout .sticky-content-wrapper .sticky-content .responsive-container {
    aspect-ratio: 2.6;
    margin-left: auto;
    margin-right: auto
}

.js-zoomin .sticky-content-wrapper .sticky-content .responsive-container .device-container,
.js-zoomout .sticky-content-wrapper .sticky-content .responsive-container .device-container {
    will-change: transform;
    z-index: 1;
    width: var(--device-w);
    aspect-ratio: 1446/678;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.js-zoomin .sticky-content-wrapper .sticky-content .responsive-container .device-container .screen,
.js-zoomout .sticky-content-wrapper .sticky-content .responsive-container .device-container .screen {
    z-index: 1;
    background-color: #333;
    border-radius: 8%/15%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    transform: scale(.98)
}

.js-zoomin .sticky-content-wrapper .sticky-content .responsive-container .device-container .screen .video-wrapper img,
.js-zoomout .sticky-content-wrapper .sticky-content .responsive-container .device-container .screen .video-wrapper img {
    width: 100%
}

.js-zoomin .sticky-content-wrapper .sticky-content .responsive-container .device-container .hardware,
.js-zoomout .sticky-content-wrapper .sticky-content .responsive-container .device-container .hardware {
    z-index: 2;
    width: 100%;
    height: 100%;
    position: absolute
}

.js-zoomin .sticky-content-wrapper .sticky-content .responsive-container .device-container .hardware img,
.js-zoomout .sticky-content-wrapper .sticky-content .responsive-container .device-container .hardware img {
    vertical-align: bottom;
    width: 100%;
    display: block
}

.js-zoomin .subsection-container,
.js-zoomout .subsection-container {
    z-index: 1;
    padding-bottom: 7.46269vw;
    position: relative
}

@media (min-width:600px) {

    .js-zoomin .subsection-container,
    .js-zoomout .subsection-container {
        padding-bottom: 7.8125vw
    }
}

@media (min-width:1261px) {

    .js-zoomin .subsection-container,
    .js-zoomout .subsection-container {
        padding-bottom: 3.96825vw
    }
}

.js-zoomin .subsection-container .subsection,
.js-zoomout .subsection-container .subsection {
    text-align: center
}

.js-zoomin .subsection-container .display.push-header,
.js-zoomout .subsection-container .display.push-header {
    padding-top: 8rem
}

@media (min-width:600px) {

    .js-zoomin .subsection-container .display.push-header,
    .js-zoomout .subsection-container .display.push-header {
        padding-top: 0
    }
}

.js-zoomin .subsection-container {
    padding-top: 7.46269vw
}

@media (min-width:600px) {
    .js-zoomin .subsection-container {
        padding-top: 7.8125vw
    }
}

@media (min-width:1261px) {
    .js-zoomin .subsection-container {
        padding-top: 5.95238vw
    }
}

.js-zoomout .subsection-container {
    margin-top: -30vh
}

.device-container--no-zoom {
    position: relative
}

.device-container--no-zoom .screen {
    z-index: 1;
    background-color: #333;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    overflow: hidden
}

.device-container--no-zoom .screen .video-wrapper {
    padding: 1px
}

.device-container--no-zoom .screen .video-wrapper video {
    width: 100%;
    height: auto
}

.device-container--no-zoom .hardware {
    z-index: 2;
    width: 100%;
    height: auto;
    display: block;
    position: relative
}

.device-container--no-zoom .hardware img {
    width: 100%;
    height: auto;
    display: block
}

.image-sequence-wrapper .image-sequence .canvas {
    width: 100%;
    height: 100%;
    position: relative
}

.image-sequence-wrapper .image-sequence .canvas__container {
    -webkit-user-select: none;
    user-select: none;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0
}

@media (min-aspect-ratio:4/3) {
    .image-sequence-wrapper .image-sequence .canvas__container {
        height: 100vh
    }
}

.image-sequence-wrapper .image-sequence .canvas__container.canvas__container-1 {
    width: 90vw;
    height: 100vh;
    position: absolute;
    inset: auto auto 0 50%;
    transform: translate(-50%)
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-1 {
        width: 70vw;
        height: 112vw;
        inset: auto auto 0 50%;
        transform: translate(-25%)
    }
}

@media (min-aspect-ratio:4/3) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-1 {
        width: 62.5vh;
        height: 100vh;
        left: 70vw;
        right: auto;
        transform: translate(-50%)
    }
}

.image-sequence-wrapper .image-sequence .canvas__container.canvas__container-2 {
    width: 90vw;
    height: 100vh;
    display: none;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translate(-50%)
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-2 {
        width: 86vw;
        height: 125.401vw;
        display: block;
        transform: translate(-74vw)
    }
}

@media (min-aspect-ratio:4/3) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-2 {
        width: 68.5803vh;
        height: 100vh;
        transform: translate(-63%)
    }
}

.image-sequence-wrapper .image-sequence .canvas__container.canvas__container-3 {
    display: none
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-3 {
        background-color: #000;
        width: 100%;
        height: 100vh;
        display: block
    }
}

.image-sequence-wrapper .image-sequence .canvas__container.canvas__container-4 {
    background-color: #000;
    width: 100vw;
    position: absolute;
    top: 0;
    left: 0;
    transform: none
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-4 {
        width: 100vw
    }
}

@media (min-aspect-ratio:4/3) {
    .image-sequence-wrapper .image-sequence .canvas__container.canvas__container-4 {
        width: 100vw;
        display: block
    }
}

.video-common {
    width: 25vw;
    height: 25vw;
    position: absolute;
    top: 120px;
    right: 30px
}

.video-bg--fullscreen {
    z-index: 1;
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    overflow: clip
}

.video-bg--fullscreen .video-bg__inner {
    background-color: #000;
    width: 45.9375vh;
    height: 100vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)translateZ(0)
}

@media (min-aspect-ratio:117/255) {
    .video-bg--fullscreen .video-bg__inner {
        width: 100vw;
        height: 217.687vw
    }
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .video-bg--fullscreen .video-bg__inner {
        width: 177.778vh;
        height: 100vh
    }
}

@media (min-aspect-ratio:4/3) {
    .video-bg--fullscreen .video-bg__inner {
        width: 177.778vh;
        height: 100vh
    }
}

@media (min-aspect-ratio:16/9) {
    .video-bg--fullscreen .video-bg__inner {
        width: 100vw;
        height: 56.25vw
    }
}

.video-bg--fullscreen video {
    width: 100%;
    height: 100%
}

.section-toughnessmov {
    width: 100vw;
    height: 100vh;
    position: relative
}

.section-toughnessmov.scroller,
.section-toughnessmov .image-sequence-wrapper {
    height: 100vh
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-toughnessmov.scroller,
    .section-toughnessmov .image-sequence-wrapper {
        height: 100vh
    }
}

@media (min-aspect-ratio:4/3) {

    .section-toughnessmov.scroller,
    .section-toughnessmov .image-sequence-wrapper {
        height: 200vh
    }
}

.section-toughnessmov .section__inner,
.section-toughnessmov .video-bg--fullscreen {
    height: 100vh
}

@media (min-aspect-ratio:4/3) {

    .section-toughnessmov .section__inner,
    .section-toughnessmov .video-bg--fullscreen {
        height: 100vh
    }
}

.scroll-overlay {
    pointer-events: none;
    z-index: 3;
    width: 100%;
    height: 100%;
    opacity: calc(var(--scroll-opacity));
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0
}

canvas.canvas-sequential-images {
    width: 100%;
    height: 100%
}

.is-fixed {
    position: fixed;
    top: 0
}

.scroller__inner {
    width: 100%;
    display: block
}

main .section-common.is-upper-window {
    z-index: 1 !important
}

main .section-common:nth-child(0) {
    z-index: 160
}

main .section-common:first-child {
    z-index: 159
}

main .section-common:nth-child(2) {
    z-index: 158
}

main .section-common:nth-child(3) {
    z-index: 157
}

main .section-common:nth-child(4) {
    z-index: 156
}

main .section-common:nth-child(5) {
    z-index: 155
}

main .section-common:nth-child(6) {
    z-index: 154
}

main .section-common:nth-child(7) {
    z-index: 153
}

main .section-common:nth-child(8) {
    z-index: 152
}

main .section-common:nth-child(9) {
    z-index: 151
}

main .section-common:nth-child(10) {
    z-index: 150
}

main .section-common:nth-child(11) {
    z-index: 149
}

main .section-common:nth-child(12) {
    z-index: 148
}

main .section-common:nth-child(13) {
    z-index: 147
}

main .section-common:nth-child(14) {
    z-index: 146
}

main .section-common:nth-child(15) {
    z-index: 145
}

main .section-common:nth-child(16) {
    z-index: 144
}

main .section-common:nth-child(17) {
    z-index: 143
}

main .section-common:nth-child(18) {
    z-index: 142
}

main .section-common:nth-child(19) {
    z-index: 141
}

main .section-common:nth-child(20) {
    z-index: 140
}

main .section-common:nth-child(21) {
    z-index: 139
}

main .section-common:nth-child(22) {
    z-index: 138
}

main .section-common:nth-child(23) {
    z-index: 137
}

main .section-common:nth-child(24) {
    z-index: 136
}

main .section-common:nth-child(25) {
    z-index: 135
}

main .section-common:nth-child(26) {
    z-index: 134
}

main .section-common:nth-child(27) {
    z-index: 133
}

main .section-common:nth-child(28) {
    z-index: 132
}

main .section-common:nth-child(29) {
    z-index: 131
}

main .section-common:nth-child(30) {
    z-index: 130
}

main .section-common:nth-child(31) {
    z-index: 129
}

main .section-common:nth-child(32) {
    z-index: 128
}

main .section-common:nth-child(33) {
    z-index: 127
}

main .section-common:nth-child(34) {
    z-index: 126
}

main .section-common:nth-child(35) {
    z-index: 125
}

main .section-common:nth-child(36) {
    z-index: 124
}

main .section-common:nth-child(37) {
    z-index: 123
}

main .section-common:nth-child(38) {
    z-index: 122
}

main .section-common:nth-child(39) {
    z-index: 121
}

main .section-common:nth-child(40) {
    z-index: 120
}

main .section-common:nth-child(41) {
    z-index: 119
}

main .section-common:nth-child(42) {
    z-index: 118
}

main .section-common:nth-child(43) {
    z-index: 117
}

main .section-common:nth-child(44) {
    z-index: 116
}

main .section-common:nth-child(45) {
    z-index: 115
}

main .section-common:nth-child(46) {
    z-index: 114
}

main .section-common:nth-child(47) {
    z-index: 113
}

main .section-common:nth-child(48) {
    z-index: 112
}

main .section-common:nth-child(49) {
    z-index: 111
}

main .section-common:nth-child(50) {
    z-index: 110
}

main .section-common:nth-child(51) {
    z-index: 109
}

main .section-common:nth-child(52) {
    z-index: 108
}

main .section-common:nth-child(53) {
    z-index: 107
}

main .section-common:nth-child(54) {
    z-index: 106
}

main .section-common:nth-child(55) {
    z-index: 105
}

main .section-common:nth-child(56) {
    z-index: 104
}

main .section-common:nth-child(57) {
    z-index: 103
}

main .section-common:nth-child(58) {
    z-index: 102
}

main .section-common:nth-child(59) {
    z-index: 101
}

main .section-common:nth-child(60) {
    z-index: 100
}

main .section-common.section-subheader {
    z-index: 131
}

footer {
    z-index: 8000
}

.section-fv {
    margin-top: 0
}

.section-fv .section__inner {
    height: 100svh;
    overflow: clip
}

.section-productmov .section__inner {
    height: 100vh
}

#section-intro1-seq.section-intro1 .image-sequence {
    background-image: url(../images/sequences/bg-anim1@sm.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

@media (min-aspect-ratio:4/3) {
    #section-intro1-seq.section-intro1 .image-sequence {
        background-image: url(../images/sequences/bg-anim1.webp)
    }
}

#section-intro1-seq.section-intro1.scroller,
#section-intro1-seq.section-intro1 .image-sequence-wrapper,
#section-intro2-seq.section-intro2.scroller,
#section-intro2-seq.section-intro2 .image-sequence-wrapper {
    height: auto
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    #section-intro1-seq.section-intro1.scroller,
    #section-intro1-seq.section-intro1 .image-sequence-wrapper,
    #section-intro2-seq.section-intro2.scroller,
    #section-intro2-seq.section-intro2 .image-sequence-wrapper {
        height: 155vh
    }
}

@media (min-aspect-ratio:4/3) {

    #section-intro1-seq.section-intro1.scroller,
    #section-intro1-seq.section-intro1 .image-sequence-wrapper,
    #section-intro2-seq.section-intro2.scroller,
    #section-intro2-seq.section-intro2 .image-sequence-wrapper {
        height: 217vh
    }
}

.section-intro1 .section__inner {
    height: auto
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .section-intro1 .section__inner {
        height: 100vh
    }
}

.section-intro1 .video-bg--fullscreen {
    z-index: 1
}

.section-intro1 .section__inner-slide {
    z-index: 2
}

.section-intro2 .section__inner {
    height: auto
}

.section-intro2.scroller,
.section-intro2 .image-sequence-wrapper {
    height: 150vh
}

.section-intro2 .image-sequence {
    z-index: 2;
    overflow: clip
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .section-intro2 .image-sequence:after {
        content: "";
        background-color: #fff;
        width: 100%;
        height: 7.3vh;
        position: absolute;
        bottom: 0;
        left: 0
    }
}

@media (min-aspect-ratio:4/3) {
    .section-intro2 .image-sequence:after {
        content: "";
        background-color: #fff;
        width: 100%;
        height: 7.1vh;
        position: absolute;
        bottom: 0;
        left: 0
    }
}

.section-intro2 .sticky-content-wrapper {
    -webkit-user-select: none;
    user-select: none;
    z-index: 1
}

#section-intro2-seq.section-intro2 .image-sequence {
    background-image: url(../images/sequences/bg-anim1@sm.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

@media (min-aspect-ratio:4/3) {
    #section-intro2-seq.section-intro2 .image-sequence {
        background-image: url(../images/sequences/bg-anim1.webp)
    }
}

.section-3dviewer {
    height: 100vh;
    position: relative
}

@media (max-width:375px) {
    .section-3dviewer {
        height: 120vh
    }
}

.section-cameraintro .section__inner {
    height: 100vh
}

.section-cameraintro.scroller,
.section-cameraintro .image-sequence-wrapper {
    height: 150vh
}

@media (min-aspect-ratio:4/3) {

    .section-cameraintro.scroller,
    .section-cameraintro .image-sequence-wrapper {
        height: 200vh
    }
}

.section-cameraspec .image-sequence {
    background-color: #000
}

.section-cameraspec .video-bg--fullscreen {
    z-index: 1
}

.section-cameraspec .section__inner-slide {
    z-index: 2;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-cameraspec2.scroller,
    .section-cameraspec2 .image-sequence-wrapper {
        height: 380vh
    }
}

.section-ai {
    background-color: #000
}

.section-ai .section__inner {
    height: 100vh;
    overflow: hidden
}

.section-ai.scroller,
.section-ai .image-sequence-wrapper {
    height: 100vh
}

@media (min-aspect-ratio:4/3) {

    .section-ai.scroller,
    .section-ai .image-sequence-wrapper {
        height: 100vh
    }
}

.section-ai.scroller .image-sequence,
.section-ai .image-sequence-wrapper .image-sequence {
    height: 100%
}

.section-aifunc1.scroller,
.section-aifunc1 .image-sequence-wrapper {
    min-height: calc(217.4vw - 65px)
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-aifunc1.scroller,
    .section-aifunc1 .image-sequence-wrapper {
        min-height: 0
    }
}

@media (min-aspect-ratio:4/3) {

    .section-aifunc1.scroller,
    .section-aifunc1 .image-sequence-wrapper {
        height: 180vh
    }
}

.section-chip1.scroller,
.section-chip1 .image-sequence-wrapper {
    height: 100vh
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-chip1.scroller,
    .section-chip1 .image-sequence-wrapper {
        min-height: 100vh
    }
}

.section-chip1 .section__inner {
    justify-content: center;
    align-items: center;
    height: 100vh;
    display: flex
}

.section-battery-zoomin,
.section-battery-detail,
.section-display-zoomout {
    background-color: #fff
}

.section-display-zoomout.scroller,
.section-display-zoomout .image-sequence-wrapper {
    height: 200vh
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-display-zoomout.scroller,
    .section-display-zoomout .image-sequence-wrapper {
        height: 200vh
    }
}

.section-sound {
    background-color: #fff
}

.section-autonerve.scroller,
.section-autonerve .image-sequence-wrapper {
    height: 100vh
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {

    .section-autonerve.scroller,
    .section-autonerve .image-sequence-wrapper {
        height: 100vh
    }
}

@media (min-aspect-ratio:4/3) {

    .section-autonerve.scroller,
    .section-autonerve .image-sequence-wrapper {
        height: 200vh
    }
}

.js-fadeinout {
    opacity: 0;
    transition-property: opacity;
    transition-duration: .5s;
    transition-timing-function: ease-in-out
}

.js-fadeinout.is-active {
    opacity: 1
}

#video-9,
#video-10 {
    pointer-events: none
}

.fv__bg.img-bg--fullscreen {
    background-image: url(../images/fv/cover2@sm.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 44.5161vh;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%)
}

@media (min-aspect-ratio:57/128) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@sm.webp);
        width: 100vw;
        height: 224.638vw;
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/16) and (min-width:600px) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@md.webp);
        width: 100vw;
        height: 177.778vw;
        transform: translate(-50%, calc(50svh - 88.8889vw))
    }
}

@media (min-aspect-ratio:9/16) and (max-width:375px) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@xs.webp);
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/8) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@lg.webp);
        background-position: 50%;
        background-size: cover;
        width: 177.778vh;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

@media (min-aspect-ratio:9/16) and (min-width:1261px) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@lg.webp);
        background-size: auto 100%;
        width: 177.778vh;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

@media (min-aspect-ratio:16/9) {
    .fv__bg.img-bg--fullscreen {
        background-size: cover;
        width: 100vw;
        height: 56.25vw;
        transform: translate(-50%, calc(5px + 50vh - 28.125vw))
    }
}

@media (min-aspect-ratio:1900/800) and (min-width:1600px) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@5k.webp);
        background-size: cover;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

.intro2__bg.img-bg--fullscreen {
    background-image: url(../images/intro2/cover2@sm.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 44.5161vh;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%)
}

@media (min-aspect-ratio:57/128) {
    .intro2__bg.img-bg--fullscreen {
        background-image: url(../images/intro2/cover2@sm.webp);
        width: 100vw;
        height: 224.638vw;
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/16) and (min-width:600px) {
    .intro2__bg.img-bg--fullscreen {
        background-image: url(../images/intro2/cover2@md.webp);
        width: 100vw;
        height: 177.778vw;
        transform: translate(-50%, calc(50svh - 88.8889vw))
    }
}

@media (min-aspect-ratio:9/16) and (max-width:375px) {
    .intro2__bg.img-bg--fullscreen {
        background-image: url(../images/intro2/cover2@xs.webp);
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/8) {
    .intro2__bg.img-bg--fullscreen {
        background-image: url(../images/intro2/cover2@lg.webp);
        background-position: 50%;
        background-size: cover;
        width: 177.778vh;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

@media (min-aspect-ratio:9/16) and (min-width:1261px) {
    .intro2__bg.img-bg--fullscreen {
        background-image: url(../images/intro2/cover2@lg.webp);
        background-size: auto 100%;
        width: 177.778vh;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

@media (min-aspect-ratio:16/9) {
    .intro2__bg.img-bg--fullscreen {
        background-size: cover;
        width: 100vw;
        height: 56.25vw;
        transform: translate(-50%, calc(5px + 50vh - 28.125vw))
    }
}

@media (min-aspect-ratio:1900/800) and (min-width:1600px) {
    .intro2__bg.img-bg--fullscreen {
        background-image: url(../images/intro2/cover2@5k.webp);
        background-size: cover;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

.ai__bg.img-bg--fullscreen {
    background-image: url(../images/ai/cover2@sm.webp);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 44.5161vh;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%)
}

@media (min-aspect-ratio:57/128) {
    .ai__bg.img-bg--fullscreen {
        background-image: url(../images/ai/cover2@sm.webp);
        width: 100vw;
        height: 224.638vw;
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/16) and (min-width:600px) {
    .ai__bg.img-bg--fullscreen {
        background-image: url(../images/ai/cover2@md.webp);
        width: 100vw;
        height: 177.778vw;
        transform: translate(-50%, calc(50svh - 88.8889vw))
    }
}

@media (min-aspect-ratio:9/16) and (max-width:375px) {
    .ai__bg.img-bg--fullscreen {
        background-image: url(../images/ai/cover2@xs.webp);
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/8) {
    .ai__bg.img-bg--fullscreen {
        background-image: url(../images/ai/cover2@lg.webp);
        background-position: 50%;
        background-size: cover;
        width: 177.778vh;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

@media (min-aspect-ratio:9/16) and (min-width:1261px) {
    .ai__bg.img-bg--fullscreen {
        background-image: url(../images/ai/cover2@lg.webp);
        background-size: auto 100%;
        width: 177.778vh;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

@media (min-aspect-ratio:16/9) {
    .ai__bg.img-bg--fullscreen {
        background-size: cover;
        width: 100vw;
        height: 56.25vw;
        transform: translate(-50%, calc(5px + 50vh - 28.125vw))
    }
}

@media (min-aspect-ratio:1900/800) and (min-width:1600px) {
    .ai__bg.img-bg--fullscreen {
        background-image: url(../images/ai/cover2@5k.webp);
        background-size: cover;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, 5px)
    }
}

.fv__bg.img-bg--fullscreen {
    transform: translate(-50%)
}

@media (min-aspect-ratio:57/128) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/16) and (min-width:600px) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, calc(50svh - 88.8889vw))
    }
}

@media (min-aspect-ratio:9/16) and (max-width:375px) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, calc(50svh - 112.319vw))
    }
}

@media (min-aspect-ratio:9/8) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, 40px)
    }
}

@media (min-aspect-ratio:9/16) and (min-width:1261px) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, 40px)
    }
}

@media (min-aspect-ratio:16/9) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, calc(49px + 50vh - 28.125vw))
    }
}

@media (min-aspect-ratio:1900/1000) and (min-width:1600px) {
    .fv__bg.img-bg--fullscreen {
        background-image: url(../images/fv/cover2@5k.webp);
        background-size: cover;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, 40px)
    }
}

@media (max-width:350px) {
    .fv__bg.img-bg--fullscreen {
        transform: translate(-50%, calc(13px + 50svh - 112.319vw))
    }
}

.modal-video-btn {
    display: none
}

@media (min-width:600px) {
    .modal-video-btn {
        opacity: 0;
        width: 100%;
        display: block;
        position: absolute;
        inset: 0
    }
}

@keyframes modal-video {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes modal-video-inner {
    0% {
        transform: translateY(100px)
    }

    to {
        transform: translate(0)
    }
}

.modal-video {
    z-index: 1000000;
    cursor: pointer;
    opacity: 1;
    background-color: #000;
    width: 100%;
    height: 100%;
    transition-property: opacity;
    position: fixed;
    top: 0;
    left: 0
}

.modal-video:focus {
    outline: none
}

.modal-video-close {
    opacity: 0
}

.modal-video-body {
    width: 100%;
    height: 100%
}

.modal-video-inner {
    width: 100vw;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media (min-width:600px) {
    .modal-video-inner {
        width: 78.5714%
    }
}

.modal-video-movie-wrap {
    opacity: 1;
    background-color: #333;
    width: 100%;
    height: 0;
    transition-property: opacity;
    transition-duration: .35s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    position: relative
}

.modal-video-movie-wrap iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.modal-video-movie-wrap .modal-video-close-btn {
    border: none;
    width: 40px;
    height: 40px;
    position: absolute;
    top: calc(-50dvh + 28.125vw + 15px);
    right: 15px;
    overflow: hidden
}

@media (min-width:600px) {
    .modal-video-movie-wrap .modal-video-close-btn {
        width: 78px;
        height: 78px;
        top: calc(-50vh + 22.0982vw + 50px);
        right: calc(50px - 10.7143vw)
    }
}

.modal-video-movie-wrap .modal-video-close-btn:before,
.modal-video-movie-wrap .modal-video-close-btn:after {
    content: "";
    background: #fff;
    width: 1px;
    height: 150%;
    display: block;
    position: absolute;
    top: 0
}

.modal-video-movie-wrap .modal-video-close-btn:before {
    transform-origin: 100% 0;
    right: 0;
    transform: rotate(45deg)
}

.modal-video-movie-wrap .modal-video-close-btn:after {
    transform-origin: 0 0;
    left: 0;
    transform: rotate(-45deg)
}

.fv {
    color: #fff;
    background-color: #fff;
    width: 100%;
    height: 100svh
}

.fv .fv__inner {
    flex-flow: column wrap;
    gap: 3.73134vw;
    height: 100%;
    padding-left: clamp(20px, 7.75vw - 11.18px, 106px);
    padding-right: clamp(20px, 9.91vw - 19.8392px, 130px);
    display: flex;
    position: relative
}

@media (min-width:600px) {
    .fv .fv__inner {
        gap: 1.95313vw
    }
}

@media (min-width:1261px) {
    .fv .fv__inner {
        gap: 1.32275vw
    }
}

.fv .fv__inner {
    padding-top: 8.95522vw
}

@media (min-width:600px) {
    .fv .fv__inner {
        padding-top: 7.42188vw
    }
}

@media (min-width:1261px) {
    .fv .fv__inner {
        padding-top: 2.6455vw
    }
}

.fv .fv__inner {
    padding-bottom: 4.97512vw
}

@media (min-width:600px) {
    .fv .fv__inner {
        padding-bottom: 4.94792vw
    }
}

@media (min-width:1261px) {
    .fv .fv__inner {
        padding-bottom: 2.6455vw
    }
}

@media (min-aspect-ratio:9/8) and (min-width:600px) {
    .fv .fv__inner {
        grid-template-columns: 1fr 1fr;
        align-content: center;
        max-width: 2000px;
        margin: 0 auto;
        padding-top: 0;
        padding-bottom: 15%;
        display: grid
    }
}

@media (max-aspect-ratio:1.125) and (min-width:1261px) {
    .fv .fv__inner {
        padding-top: 3.96825vw;
        padding-bottom: 5.29101vw
    }
}

@media (max-width:375px) {
    .fv .fv__inner {
        gap: 2vw;
        padding-top: 20px
    }
}

.fv .fv__product {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 20px;
}

.fv .fv__product img {
    width: 55%;
}

.fv .fv__product .fv__product__career {
    font-family: Noto Sans JP R, sans-serif;
    border-radius: calc(infinity * 1px);
    font-size: 1.6rem;
    line-height: 1;
    color: #fff;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    padding: 8px 9px 10px;
    min-width: 11rem;
    font-weight: bold;
}
.fv .fv__product .fv__product__career.-docomo {
    background-color: #aa1325;
}
.fv .fv__product .fv__product__career.-simfree {
    background-color: #67B9AB;
}


@media (min-aspect-ratio:9/8) and (min-width:600px) {
    .fv .fv__product {
        width: clamp(178px, 96.1568px + 20.36vw, 404px);
        grid-area: 1/2/3/3;
        justify-content: flex-end;
        align-items: center;
        margin-left: auto;
        display: flex;
        flex-direction: column;
    }
    .fv .fv__product img {
        width: 100%;
    }
    .fv .fv__product .fv__product__career {
        flex: initial;
        padding: 10px 20px 12px;
        min-width: 13rem;
    }
}

.fv .fv__title {
    margin-top: auto;
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(3.2rem, 2.683rem + 1.4vw, 4.8rem);
    line-height: 1.4
}

@media (min-aspect-ratio:9/8) and (min-width:600px) {
    .fv .fv__title {
        grid-area: 1/1/2/2
    }
}

@media (max-width:375px) {
    .fv .fv__title {
        font-size: 2.6rem
    }
}

@media (max-width:350px) {
    .fv .fv__title {
        margin-bottom: 6px;
        font-size: 1.8rem
    }
}

.fv .fv__text {
    align-items: center;
    gap: .5em;
    padding-bottom: 1.85185vw;
    font-size: clamp(2.1rem, 1.637rem + 1.1vw, 3.3rem);
    display: flex
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .fv .fv__text {
        padding-bottom: 0
    }
}

@media (min-aspect-ratio:9/8) and (min-width:600px) {
    .fv .fv__text {
        grid-area: 2/1/3/2
    }
}

@media (max-width:375px) {
    .fv .fv__text {
        padding-bottom: 2.38095vw;
        font-size: 1.6rem
    }
}

.fv .fv__text img {
    width: auto;
    height: 1em
}

.fv .fv__text span {
    display: inline-block;
    transform: translateY(.05em)
}

.fv .fv__eco {
    align-items: center;
    gap: 1em;
    padding-bottom: 4.95025vw;
    padding-right: clamp(20px, 7.21vw - 9.0152px, 100px);
    font-size: clamp(1.2rem, 1.098rem + .2vw, 1.4rem);
    line-height: 1.5;
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0
}

@media (min-width:600px) {
    .fv .fv__eco {
        padding-bottom: 5.20833vw
    }
}

@media (min-width:1261px) {
    .fv .fv__eco {
        padding-bottom: 2.6455vw
    }
}

.fv .fv__eco .eco-mark {
    width: clamp(30px, 26.392px + .9vw, 40px)
}

@media (min-aspect-ratio:9/8) and (min-width:600px) {
    .fv .fv__eco {
        padding-right: 0;
        left: 2.6455vw;
        right: auto
    }
}

@media (max-aspect-ratio:1.125) and (min-width:1261px) {
    .fv .fv__eco {
        padding-bottom: 4.62963vw
    }
}

@media (max-width:375px) {
    .fv .fv__eco {
        font-size: .9rem
    }
}

@media (max-width:350px) {
    .fv .fv__eco {
        padding-bottom: 4.47761vw;
        line-height: 1.2
    }
}

@media (max-width:350px) and (min-width:600px) {
    .fv .fv__eco {
        padding-bottom: 4.94792vw
    }
}

@media (max-width:350px) and (min-width:1261px) {
    .fv .fv__eco {
        padding-bottom: 3.30688vw
    }
}

.fv .img-shadow {
    filter: drop-shadow(0 0 20px #0003)
}

.highlight {
    background-color: #f9f9f9
}

.highlight .highlight-inner {
    padding-top: 14.9254vw;
    padding-left: clamp(2rem, 1.278rem + 1.8vw, 4rem);
    padding-right: clamp(2rem, 1.278rem + 1.8vw, 4rem)
}

@media (min-width:600px) {
    .highlight .highlight-inner {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .highlight .highlight-inner {
        padding-top: 6.34921vw
    }
}

.highlight .highlight-inner {
    padding-bottom: 14.9254vw
}

@media (min-width:600px) {
    .highlight .highlight-inner {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .highlight .highlight-inner {
        padding-bottom: 6.34921vw
    }
}

.highlight .highlight-list {
    gap: 20px;
    display: grid
}

@media (min-width:600px) {
    .highlight .highlight-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:959px) {
    .highlight .highlight-list {
        grid-template-columns: repeat(3, 1fr)
    }
}

.highlight .highlight-list .highlight-list__item {
    aspect-ratio: 362/200;
    border-radius: 10px;
    position: relative;
    overflow: hidden
}

.highlight .highlight-list .highlight-list__item.fade-c {
    transition-duration: 2s
}

.highlight .highlight-list .highlight-list__item img {
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 1;
    width: 100%;
    height: 100%
}

.highlight .highlight-list .highlight-list__item:before {
    z-index: 2;
    content: "";
    background: linear-gradient(#0003, #0000), #0003;
    position: absolute;
    inset: 0
}

@media (min-width:600px) {
    .highlight .highlight-list .highlight-list__item {
        aspect-ratio: 463/215
    }
}

.highlight .highlight-list .highlight-list__text {
    z-index: 3;
    color: #fff;
    align-items: center;
    padding-left: 1.4em;
    padding-right: 1.4em;
    font-family: Noto Sans JP M, sans-serif;
    font-size: 1.8rem;
    display: flex;
    position: absolute;
    inset: 0
}

@media (min-width:600px) {
    .highlight .highlight-list .highlight-list__text {
        font-size: 1.6rem
    }
}

@media (min-width:959px) {
    .highlight .highlight-list .highlight-list__text {
        align-items: flex-start;
        padding-top: 1.5em;
        font-size: clamp(12px, 3.096px + .93vw, 15px)
    }
}

@media (min-width:1261px) {
    .highlight .highlight-list .highlight-list__text {
        font-size: 1.32188vw
    }
}

@media (min-width:1513px) {
    .highlight .highlight-list .highlight-list__text {
        font-size: 1.18969vw
    }
}

@media (max-width:350px) {
    .highlight .highlight-list .highlight-list__text {
        font-size: 1.4rem
    }
}

.section-intro1 {
    background-color: #fff
}

.section-intro1 .section__inner-slide {
    position: relative;
    inset: 0
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .section-intro1 .section__inner-slide {
        position: absolute
    }
}

.section-intro1 .section__inner-slide.slide--intro1 {
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .section-intro1 .section__inner-slide.slide--intro1 {
        position: absolute
    }
}

.section-intro1 .video-bg__inner {
    background-color: #fff
}

br.u-only-wh {
    display: inline
}

@media (max-height:699px) and (max-aspect-ratio:999/699) {
    br.u-only-wh {
        display: none
    }
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .intro1__content-text {
        width: 33vw
    }
}

@media (min-aspect-ratio:9/10) and (min-width:600px) {
    .intro1__content-text {
        width: 40vw
    }
}

@media (min-aspect-ratio:4/3) {
    .intro1__content-text {
        width: 40vw
    }
}

@media (min-aspect-ratio:4/3) and (min-width:1513px) {
    .intro1__content-text {
        width: 30vw
    }
}

.intro1__content-text p.mt-after-heading-s {
    margin-top: 2.48756vw
}

@media (min-width:600px) {
    .intro1__content-text p.mt-after-heading-s {
        margin-top: .78125vw
    }
}

@media (min-width:1261px) {
    .intro1__content-text p.mt-after-heading-s {
        margin-top: .330688vw
    }
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .intro1 {
        height: 100svh
    }
}

.intro1 .intro1-inner {
    flex-direction: column;
    gap: 7.9602vw;
    width: 100%;
    display: flex;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .intro1 .intro1-inner {
        flex-direction: row;
        align-items: flex-end;
        height: 100svh
    }

    .intro1 .intro1-inner .heading--primary {
        align-self: flex-start
    }
}

.intro1 .intro1-inner.intro1-inner--sp {
    padding-top: 15.4229vw;
    padding-bottom: 15.4229vw
}

.intro1 .intro1-inner .intro1__content {
    gap: 7.46269vw;
    width: 100%;
    display: grid
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .intro1 .intro1-inner .intro1__content {
        gap: 35px;
        margin-left: 0
    }
}

@media (min-aspect-ratio:4/3) {
    .intro1 .intro1-inner .intro1__content {
        gap: 28px;
        margin-top: auto;
        padding-top: 0
    }
}

.intro1 .intro1-inner .intro1__content.intro1__content--video {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw)
}

@media (min-aspect-ratio:4/3) {

    .intro2__content p.common,
    .intro1__content .intro1__content-text p.common {
        font-size: 1.14rem
    }
}

@media (min-aspect-ratio:4/3) and (min-width:1360px) {

    .intro2__content p.common,
    .intro1__content .intro1__content-text p.common {
        font-size: 1.4rem
    }
}

@media (min-aspect-ratio:4/3) and (min-width:1513px) {

    .intro2__content p.common,
    .intro1__content .intro1__content-text p.common {
        font-size: 1.5rem
    }
}

@media (min-aspect-ratio:1200/600) and (min-width:2200px) {

    .intro2__content p.common,
    .intro1__content .intro1__content-text p.common {
        font-size: 1.8rem
    }
}

.section-intro2 {
    background-color: #fff
}

.section-intro2 .section__inner-slide {
    position: absolute;
    inset: 0
}

.section-intro2 .section__inner-slide.slide--intro2 {
    background: linear-gradient(#d2d3d6 0%, #f2f2f4 70%, #d2d2d0 100%);
    position: relative
}

@media (min-width:959px) {
    .section-intro2 .section__inner-slide.slide--intro2 {
        position: absolute
    }
}

@media (min-width:600px) {
    .intro2 {
        height: calc(100vh - 8rem)
    }
}

.intro2 .intro2-inner {
    z-index: 2;
    flex-direction: column;
    gap: 7.9602vw;
    width: 100%;
    display: flex;
    position: relative
}

.intro2 .intro2-inner .heading--tertiary {
    padding-top: 12.4378vw;
    position: absolute;
    top: 0
}

@media (min-width:600px) {
    .intro2 .intro2-inner .heading--tertiary {
        padding-top: 10.4167vw
    }
}

@media (min-width:1261px) {
    .intro2 .intro2-inner .heading--tertiary {
        padding-top: 0
    }
}

@media (min-width:600px) {
    .intro2 .intro2-inner {
        flex-direction: row;
        align-items: center;
        height: 100svh
    }

    .intro2 .intro2-inner .heading--secondary {
        align-self: flex-start
    }
}

@media (min-width:1261px) {
    .intro2 .intro2-inner .heading--tertiary {
        position: relative
    }

    .intro2 .intro2-inner .heading--secondary {
        align-self: auto
    }
}

.intro2 .intro2-inner.intro2-inner--sp {
    padding-top: 7.46269vw
}

.intro2 .intro2-inner .intro2__content {
    gap: 7.46269vw;
    width: 100%;
    display: grid
}

@media (min-width:600px) {
    .intro2 .intro2-inner .intro2__content {
        gap: 35px;
        max-width: 30vw;
        margin-top: 0;
        margin-left: auto
    }
}

@media (min-width:959px) {
    .intro2 .intro2-inner .intro2__content {
        max-width: 35%
    }
}

@media (min-width:1261px) {
    .intro2 .intro2-inner .intro2__content {
        max-width: 21.4286vw
    }
}

.intro2-device-sp {
    width: 100%;
    margin-top: 36px;
    position: relative
}

@media (min-width:959px) {
    .intro2-device-sp {
        width: auto;
        margin-top: 0;
        position: absolute;
        top: 40vh;
        bottom: 0;
        right: 55%
    }
}

.intro2-device-sp img {
    max-height: 100%
}

.designmov {
    background-color: #fff
}

.designmov .designmov-image {
    background-color: #fff;
    grid-template-columns: repeat(2, 1fr);
    display: grid
}

.designmov .designmov-image .designmov-image__item img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.designmov .designmov-image .designmov-image__item:first-child {
    grid-row: 1/3
}

.ai {
    width: 100vw;
    height: 100vh
}

.ai .ai-inner {
    width: 100%;
    height: 100%;
    overflow: hidden
}

.aicamera {
    color: #fff;
    background-color: #000
}

.aicamera .aicamera-inner {
    padding-top: 24.8756vw;
    padding-bottom: 24.8756vw
}

@media (min-width:600px) {
    .aicamera .aicamera-inner {
        padding-top: 13.0208vw;
        padding-bottom: 13.0208vw
    }
}

@media (min-width:1261px) {
    .aicamera .aicamera-inner {
        padding-top: 8.7963vw;
        padding-bottom: 8.7963vw
    }
}

.aicamera .aicamera-intro {
    flex-direction: column;
    gap: clamp(4.5rem, 11.3vw - .086rem, 17rem);
    max-width: 855px;
    padding-bottom: 15.9204vw;
    display: flex
}

@media (min-width:600px) {
    .aicamera .aicamera-intro {
        padding-bottom: 8.33333vw
    }
}

@media (min-width:1261px) {
    .aicamera .aicamera-intro {
        padding-bottom: 5.29101vw
    }
}

@media (min-width:600px) {
    .aicamera .aicamera-intro {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        margin: 0 auto
    }
}

.aicamera .aicamera-intro .aicamera-intro__image {
    flex-shrink: 0;
    width: clamp(16.4rem, 12.636rem + 9.5vw, 27rem);
    margin: 0 auto
}

.aicamera .aicamera-intro .aicamera-intro__image .device-frame,
.aicamera .aicamera-intro .aicamera-intro__image .device-frame img {
    position: relative;
    border: none;
}

.aicamera .aicamera-intro .aicamera-intro__image .device-display {
    position: absolute;
    inset: 0
}

.aicamera .aicamera-intro .aicamera-intro__image .device-display img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%
}

@media (min-width:600px) {
    .aicamera .aicamera-intro .aicamera-intro__image {
        margin: 0
    }
}

.aicamera .aicamera-intro .aicamera-intro__text p {
    color: silver
}

.aicamera .feature-list {
    -moz-column-gap: 4.72637vw;
    gap: 13.6816vw 4.72637vw;
    display: grid
}

@media (min-width:600px) {
    .aicamera .feature-list {
        -moz-column-gap: 2.47396vw;
        gap: 7.16146vw 2.47396vw
    }
}

@media (min-width:1261px) {
    .aicamera .feature-list {
        -moz-column-gap: 1.25661vw;
        gap: 3.63757vw 1.25661vw
    }
}

@media (min-width:600px) {
    .aicamera .feature-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:959px) {
    .aicamera .feature-list {
        grid-template-columns: repeat(3, 1fr)
    }
}

.aicamera .feature-list.feature-list--video {
    display: block
}

.aicamera .feature-list .feature-list__thumb {
    aspect-ratio: 453/300;
    border-radius: 5px;
    width: 100%;
    transition: all .3s;
    position: relative;
    overflow: hidden
}

.aicamera .feature-list .feature-list__thumb img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.aicamera .feature-list .feature-list__title {
    margin-top: 4.97512vw;
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(16px, 14.5568px + .36vw, 20px);
    line-height: 1.45
}

@media (min-width:600px) {
    .aicamera .feature-list .feature-list__title {
        margin-top: 1.5625vw
    }
}

@media (min-width:1261px) {
    .aicamera .feature-list .feature-list__title {
        margin-top: .793651vw
    }
}

.aicamera .feature-list .feature-list__title {
    margin-bottom: 2.48756vw
}

@media (min-width:600px) {
    .aicamera .feature-list .feature-list__title {
        margin-bottom: .78125vw
    }
}

@media (min-width:1261px) {
    .aicamera .feature-list .feature-list__title {
        margin-bottom: .396825vw
    }
}

.aicamera .feature-list .feature-list__desc {
    color: silver;
    font-size: 1.6rem
}

.aicamera .video-features {
    margin-left: -4.97512vw;
    margin-right: -4.97512vw
}

@media (min-width:600px) {
    .aicamera .video-features {
        margin-left: -2.60417vw;
        margin-right: -2.60417vw
    }
}

@media (min-width:1261px) {
    .aicamera .video-features {
        margin-left: -3.96825vw;
        margin-right: -3.96825vw
    }
}

.aicamera hr {
    margin-top: 11.194vw
}

@media (min-width:600px) {
    .aicamera hr {
        margin-top: 5.85938vw
    }
}

@media (min-width:1261px) {
    .aicamera hr {
        margin-top: 3.96825vw
    }
}

.aicamera hr {
    margin-bottom: 11.194vw
}

@media (min-width:600px) {
    .aicamera hr {
        margin-bottom: 5.85938vw
    }
}

@media (min-width:1261px) {
    .aicamera hr {
        margin-bottom: 3.96825vw
    }
}

.aicamera .js-acc-summary.summary+.feature-list .feature-list__thumb:after {
    content: "";
    background: linear-gradient(#0000 0%, #000000e6 88%, #000 90%);
    width: 100%;
    height: 100%;
    transition-property: opacity;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
    position: absolute;
    top: 0;
    left: 0
}

.aicamera .is-open .js-acc-summary.summary+.feature-list .feature-list__thumb {
    aspect-ratio: 453/300
}

.aicamera .is-open .js-acc-summary.summary+.feature-list .feature-list__thumb:after {
    opacity: 0
}

.section-aifunc1.scroller,
.section-aifunc1 .image-sequence-wrapper {
    overflow-y: clip
}

.aifunc1 {
    background-color: #fff;
    width: 100%;
    height: 100vh;
    position: relative
}

.aifunc1 .aifunc1__content {
    z-index: 2;
    flex-direction: column;
    gap: 7.46269vw;
    height: 100vh;
    padding-top: 12.4378vw;
    display: flex;
    position: relative
}

@media (min-width:600px) {
    .aifunc1 .aifunc1__content {
        padding-top: 7.8125vw
    }
}

@media (min-width:1261px) {
    .aifunc1 .aifunc1__content {
        padding-top: 5.75397vw
    }
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .aifunc1 .aifunc1__content {
        background-image: none;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-top: 0;
        padding-bottom: 60px
    }
}

@media (min-aspect-ratio:4/3) {
    .aifunc1 .aifunc1__content {
        justify-content: center;
        gap: 0
    }
}

@media (max-width:375px) {
    .aifunc1 .aifunc1__content {
        gap: 4.97512vw;
    }
}
@media (max-height:600px) {
    .aifunc1 .aifunc1__content {
        height: calc(100vh -  125px);
        padding-top: 2vh;
        gap: 0;
    }
}

.aifunc1 .aifunc1__content .heading--primary {
    white-space: nowrap
}

@media (min-aspect-ratio:4/3) {

    .aifunc1 .aifunc1__left,
    .aifunc1 .aifunc1__right {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 50%;
        display: flex
    }
}
@media (max-width:375px) {
    .aifunc1 .aifunc1__right {
        flex: 1;
    }
}


.aifunc1 .aifunc1__logo {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(2.5rem, 1.883rem + 1.4vw, 4rem);
    display: flex;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .aifunc1 .aifunc1__logo {
        padding-right: 35px
    }
}

@media (min-aspect-ratio:4/3) {
    .aifunc1 .aifunc1__logo {
        padding-right: 0
    }
}

@media (max-width:375px) {
    .aifunc1 .aifunc1__logo {
        gap: 0;
        height: 100%;
    }
}

.aifunc1 .aifunc1__logo li {
    position: relative
}

.aifunc1 .aifunc1__logo li:nth-child(2) {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}
@media (max-height:600px) {
    .aifunc1 .aifunc1__logo li:nth-child(3) {
        height: 100%;
        max-height: 50vh;
        text-align: center;
        margin-inline: auto;
    }
    .aifunc1 .aifunc1__logo li:nth-child(3) img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

@media (min-width:1261px) {
    .aifunc1 .aifunc1__text {
        max-width: 26.455vw;
        margin-right: auto
    }
}

.aifunc1 .img-gemini {
    width: clamp(22.6rem, 14.818rem + 19.3vw, 44rem)
}

@media (max-width:375px) {
    .aifunc1 .img-gemini {
        width: 50vw
    }
}

.aifunc1 .img-arrows-ai {
    width: clamp(15.2rem, 8.138rem + 17.7vw, 34.9rem)
}

@media (max-width:375px) {
    .aifunc1 .img-arrows-ai {
        width: 30vw
    }
}

.aifunc1 .aifunc1__image {
    z-index: 1;
    position: absolute;
    inset: 0
}

.aifunc1 .aifunc1__image img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top;
    width: 100%;
    height: 100%
}

@media (min-width:1261px) {
    .aifunc1 .aifunc1__image img {
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%;
        height: 100%
    }
}

.aifunc1 .video-bg--fullscreen .video-bg__inner {
    background-color: #fff
}

.aifunc2 {
    padding-left: 0;
    padding-right: 0
}

@media (min-width:600px) {
    .aifunc2 {
        padding-left: 2.60417vw;
        padding-right: 2.60417vw
    }
}

@media (min-width:1261px) {
    .aifunc2 {
        padding-left: 0;
        padding-right: 0
    }
}

.aifunc2 .aifunc2-inner {
    gap: 70px;
    max-width: 978px;
    margin: 0 auto;
    padding-top: clamp(50px, 31.96px + 4.5vw, 100px);
    padding-bottom: 14.9254vw;
    display: grid
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-inner {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .aifunc2 .aifunc2-inner {
        padding-bottom: 7.93651vw
    }
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 60px 30px
    }
}

@media (min-width:959px) {
    .aifunc2 .aifunc2-inner {
        gap: 80px 48px
    }
}

.aifunc2 .aifunc2-content {
    flex-direction: column-reverse;
    align-items: center;
    display: flex
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-content {
        grid-column: span 2
    }
}

.aifunc2 .aifunc2-content.col-span-1 {
    grid-column: span 1
}

.aifunc2 .aifunc2-content .aifunc2-content__image {
    order: 2;
    max-width: 40.796vw;
    position: relative
}

.aifunc2 .aifunc2-content .aifunc2-content__image .device-frame {
    position: relative;
}

.aifunc2 .aifunc2-content .aifunc2-content__image .device-display {
    z-index: -1;
    position: absolute;
    inset: 0
}

.aifunc2 .aifunc2-content .aifunc2-content__image .device-display img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%;
    height: 100%
}

.aifunc2 .aifunc2-content .aifunc2-content__title {
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    display: flex
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-content .aifunc2-content__title {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }
}

.aifunc2 .aifunc2-content .aifunc2-content__text {
    flex-grow: 1;
    order: 1;
    align-self: self-start;
    min-width: 0
}

.aifunc2 .aifunc2-content .aifunc2-content__text.is-v-center-sp-mt {
    margin-top: 8.70647vw
}

.aifunc2 .aifunc2-content .aifunc2-content__note {
    margin-top: 1em;
    font-size: clamp(12px, 11.6392px + .09vw, 13px)
}

.aifunc2 .aifunc2-content .gemini-logo {
    width: 23.1343vw;
    margin-left: -2px
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-content .gemini-logo {
        width: 12.1094vw
    }
}

@media (min-width:1261px) {
    .aifunc2 .aifunc2-content .gemini-logo {
        width: 7.27513vw
    }
}

.aifunc2 .aifunc2-content .gemini-logo {
    margin-bottom: 3.9801vw
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-content .gemini-logo {
        margin-bottom: 2.08333vw
    }
}

@media (min-width:1261px) {
    .aifunc2 .aifunc2-content .gemini-logo {
        margin-bottom: .992063vw
    }
}

@media (min-width:600px) {
    .aifunc2 .aifunc2-content {
        flex-direction: row-reverse;
        gap: 20%
    }

    .aifunc2 .aifunc2-content:nth-child(2n) {
        flex-direction: row
    }

    .aifunc2 .aifunc2-content .aifunc2-content__image {
        flex-shrink: 0;
        width: 31%
    }

    .aifunc2 .aifunc2-content .aifunc2-content__text {
        margin-top: 0
    }

    .aifunc2 .aifunc2-content .aifunc2-content__text.is-v-center-sp-mt {
        align-self: center;
        margin-top: 0
    }
}

@media (min-width:959px) {
    .aifunc2 .aifunc2-content {
        gap: 170px
    }

    .aifunc2 .aifunc2-content .aifunc2-content__image {
        flex-shrink: 0;
        width: 273px
    }
}

.display-zoomout .display-zoomout__content {
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 45px;
    display: flex;
    position: relative
}

.display-zoomout .display-zoomout__content img {
    max-width: 722px
}

.display-zoomout .display-zoomout__heading {
    margin-bottom: calc(50vh + 55px);
    transition: margin 50ms linear;
    position: absolute
}

.display-zoomout .display-zoomout__heading .heading--primary {
    color: #323232;
    transition: color 50ms linear
}

.display-zoomout .display-zoomout__device {
    aspect-ratio: 722/399;
    width: 100%;
    max-width: 722px;
    transition: transform 50ms linear;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.display-zoomout.js-event .display-zoomout__device {
    transform: translate(-50%, -50%)scale3d(clamp(1, 9 - 8*var(--per), 5), clamp(1, 9 - 8*var(--per), 5), 1)
}

.display-zoomout.js-event .display-zoomout__heading {
    margin-bottom: clamp(0px, (var(--per) - .5)*2*(50vh + 55px), 50vh + 55px)
}

.display-zoomout.js-event .display-zoomout__heading .heading--primary {
    --lightness: calc(100% - ((var(--per) - .5)*2*80.4%));
    color: hsl(0, 0%, var(--lightness))
}

.display .display__content {
    padding-top: 0;
    display: grid
}

@media (min-width:600px) {
    .display .display__content {
        padding-top: 7.8125vw
    }
}

@media (min-width:1261px) {
    .display .display__content {
        padding-top: 4.62963vw
    }
}

.display .display__content {
    gap: 9.95025vw
}

@media (min-width:600px) {
    .display .display__content {
        gap: 5.20833vw
    }
}

@media (min-width:1261px) {
    .display .display__content {
        gap: 3.30688vw
    }
}

@media (min-width:600px) {
    .display .display__content .display-display {
        max-width: 722px
    }
}

.display .display__content .display-display {
    width: 100%;
    overflow-x: hidden
}

.display .display__content .display-display .device-container--no-zoom {
    width: 150vw;
    height: 70.332vw;
    transform: translate(calc(50vw - 50%))
}

.display .display__text {
    text-align: left;
    margin: 0 auto
}

@media (min-width:1261px) {
    .display .display__text {
        max-width: 415px;
        padding-top: 55px
    }
}

.display .display-specs {
    -moz-column-gap: clamp(20px, 16.392px + .9vw, 30px);
    gap: clamp(30px, 26.392px + .9vw, 40px) clamp(20px, 16.392px + .9vw, 30px);
    display: grid
}

@media (min-width:600px) {
    .display .display-specs {
        -moz-column-gap: 12%;
        grid-template-rows: auto auto;
        grid-template-columns: 38% 50%;
        grid-auto-flow: column;
        column-gap: 12%;
        margin: 0 auto
    }
}

@media (min-width:959px) {
    .display .display-specs {
        width: 913px;
        transform: translate(5%)
    }
}

.display .display-specs .display-specs__item {
    flex-direction: column;
    row-gap: clamp(5px, 1.392px + .9vw, 15px);
    display: flex
}

.display .display-specs .display-specs__title {
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(22px, 19.1136px + .72vw, 30px);
    font-weight: 400;
    line-height: 1.375
}

.display .display-specs .display-specs__content {
    word-break: break-all;
    letter-spacing: .05em;
    font-family: Noto Sans JP R, sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5
}

.display-device {
    aspect-ratio: 722/399;
    width: 100%;
    margin: 0 auto;
    position: relative
}

.display-device .display-device__frame {
    border: 10px solid #000;
    border-radius: 40px;
    position: absolute;
    inset: 0
}

.display-device .display-device__mask {
    border-radius: 40px;
    padding: 10px;
    position: absolute;
    inset: 0;
    overflow: hidden
}

.display-device .display-device__mask img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.health {
    background-color: #000;
    flex-direction: column;
    display: flex;
    position: relative
}

@media (min-width:600px) {
    .health {
        gap: 0;
        display: block
    }
}

.health .health__content {
    flex-direction: column;
    gap: 2.48756vw;
    height: 100%;
    display: flex
}

@media (min-width:600px) {
    .health .health__content {
        gap: 3.90625vw
    }
}

@media (min-width:1261px) {
    .health .health__content {
        gap: 0
    }
}

@media (min-width:600px) {
    .health .health__content {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .health .health__content {
        padding-top: 7.93651vw
    }
}

.health .health__content {
    padding-top: 14.9254vw
}

@media (min-width:600px) {
    .health .health__content {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .health .health__content {
        padding-top: 3.96825vw
    }
}

@media (min-width:600px) {
    .health .health__content {
        flex-flow: wrap;
        justify-content: center;
        align-items: center;
        gap: 0
    }
}

.health .health__content .health-heading {
    margin-bottom: 0;
    padding-left: clamp(20px, 5.568px + 3.6vw, 60px);
    padding-right: clamp(20px, 5.568px + 3.6vw, 60px)
}

@media (min-width:600px) {
    .health .health__content .health-heading {
        margin-bottom: 1.30208vw
    }
}

@media (min-width:1261px) {
    .health .health__content .health-heading {
        margin-bottom: 0
    }
}

.health .health__content .health-heading .heading--secondary {
    color: #fff
}

@media (min-width:600px) {
    .health .health__content .health-heading {
        width: 100%
    }
}

@media (min-width:1261px) {
    .health .health__content .health-heading {
        justify-content: space-between;
        width: 50%;
        position: absolute;
        left: 0
    }
}

.health .health__text {
    color: silver;
    padding-left: clamp(20px, 5.568px + 3.6vw, 60px);
    padding-right: clamp(20px, 5.568px + 3.6vw, 60px)
}

@media (min-width:600px) {
    .health .health__text {
        order: 3;
        width: 50%;
        padding-left: 0
    }
}

@media (min-width:1261px) {
    .health .health__text {
        width: 31%;
        padding-right: 89px;
        position: absolute;
        right: 0
    }
}

.health .health__text p {
    margin-top: 2.48756vw
}

@media (min-width:600px) {
    .health .health__text p {
        margin-top: 1.30208vw
    }
}

@media (min-width:1261px) {
    .health .health__text p {
        margin-top: 1.32275vw
    }
}

.health .health__text p {
    margin-bottom: 2.48756vw
}

@media (min-width:600px) {
    .health .health__text p {
        margin-bottom: 1.30208vw
    }
}

@media (min-width:1261px) {
    .health .health__text p {
        margin-bottom: 1.32275vw
    }
}

.health .health__text p.common {
    color: silver
}

.health .health__image {
    margin: 0 auto;
    padding-top: 4.97512vw
}

@media (min-width:600px) {
    .health .health__image {
        padding-top: 2.60417vw
    }
}

@media (min-width:1261px) {
    .health .health__image {
        padding-top: 0
    }
}

@media (min-width:600px) {
    .health .health__image {
        order: 2;
        width: 50%;
        margin: 0
    }
}

@media (min-width:959px) {
    .health .health__image {
        order: 2
    }
}

@media (min-width:1261px) {
    .health .health__image {
        width: 60%;
        margin: 0 auto
    }
}

.health .health__image img {
    -o-object-fit: cover;
    object-fit: cover
}

.health .health__image:after {
    content: "";
    background: linear-gradient(#0000 24.78%, #000 84.43%);
    width: 100%;
    height: 228px;
    position: absolute;
    bottom: 0;
    left: 0
}

.sound {
    padding-top: 12.4378vw
}

@media (min-width:600px) {
    .sound {
        padding-top: 7.8125vw
    }
}

@media (min-width:1261px) {
    .sound {
        padding-top: 3.96825vw
    }
}

.sound {
    padding-bottom: 12.4378vw
}

@media (min-width:600px) {
    .sound {
        padding-bottom: 7.8125vw
    }
}

@media (min-width:1261px) {
    .sound {
        padding-bottom: 7.93651vw
    }
}

.sound .sound-inner {
    flex-direction: column;
    gap: 9.95025vw;
    display: flex
}

@media (min-width:600px) {
    .sound .sound-inner {
        gap: 5.20833vw
    }
}

@media (min-width:1261px) {
    .sound .sound-inner {
        gap: 6.54762vw
    }
}

@media (min-width:959px) {
    .sound .sound-inner {
        flex-direction: row-reverse;
        align-items: center
    }
}

.sound .sound__image {
    aspect-ratio: 1280/720;
    background-color: #000;
    border-radius: 5px;
    overflow: clip
}

.sound .sound__image img {
    width: 100%
}

@media (min-width:959px) {
    .sound .sound__image {
        flex-shrink: 0;
        width: 63.5%
    }
}

.sound .sound__text {
    flex-direction: column;
    flex-grow: 1;
    gap: 4.97512vw;
    min-width: 0;
    display: flex
}

@media (min-width:600px) {
    .sound .sound__text {
        gap: 2.60417vw
    }
}

@media (min-width:1261px) {
    .sound .sound__text {
        gap: 6.61376vw
    }
}

.toughness {
    background-color: #e9e9e9
}

.toughness .toughness-inner {
    padding-top: 14.9254vw
}

@media (min-width:600px) {
    .toughness .toughness-inner {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-inner {
        padding-top: 7.93651vw
    }
}

.toughness .toughness-inner {
    padding-bottom: 14.9254vw
}

@media (min-width:600px) {
    .toughness .toughness-inner {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-inner {
        padding-bottom: 7.93651vw
    }
}

.toughness .toughness-intro {
    flex-direction: column;
    gap: 9.95025vw;
    display: flex
}

@media (min-width:600px) {
    .toughness .toughness-intro {
        gap: 5.20833vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-intro {
        flex-direction: row;
        align-items: flex-end;
        gap: 6.54762vw
    }

    .toughness .toughness-intro .heading--primary {
        white-space: nowrap
    }
}

.toughness .toughness-image {
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    margin-top: 7.46269vw;
    display: grid
}

@media (min-width:600px) {
    .toughness .toughness-image {
        margin-top: 3.90625vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-image {
        margin-top: 3.96825vw
    }
}

.toughness .toughness-image {
    gap: 4.97512vw
}

@media (min-width:600px) {
    .toughness .toughness-image {
        gap: 2.60417vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-image {
        gap: 1.32275vw
    }
}

.toughness .toughness-image .toughness-image__item {
    border-radius: 5px;
    overflow: hidden
}

.toughness .toughness-image .toughness-image__item img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.toughness .toughness-image .toughness-image__item:first-child {
    grid-column: 1/3
}

@media (min-width:600px) {
    .toughness .toughness-image .toughness-image__item:first-child {
        grid-area: 1/1/3/2
    }
}

.toughness .toughness-vessel {
    flex-direction: column;
    gap: 9.95025vw;
    display: flex
}

@media (min-width:600px) {
    .toughness .toughness-vessel {
        gap: 5.20833vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-vessel {
        gap: 6.54762vw
    }
}

.toughness .toughness-vessel {
    margin-top: 14.9254vw
}

@media (min-width:600px) {
    .toughness .toughness-vessel {
        margin-top: 7.8125vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-vessel {
        margin-top: 7.93651vw
    }
}

@media (min-width:600px) {
    .toughness .toughness-vessel {
        flex-direction: row-reverse;
        align-items: center
    }
}

.toughness .toughness-vessel .toughness-vessel__text {
    flex-direction: column;
    gap: 4.97512vw;
    display: flex
}

@media (min-width:600px) {
    .toughness .toughness-vessel .toughness-vessel__text {
        gap: 2.60417vw
    }
}

@media (min-width:1261px) {
    .toughness .toughness-vessel .toughness-vessel__text {
        gap: 6.61376vw
    }
}

.toughness .toughness-feature {
    gap: clamp(6rem, 3.835rem + 5.4vw, 12rem);
    margin-top: clamp(6rem, 3.835rem + 5.4vw, 12rem);
    display: grid
}

.toughness .toughness-feature .toughness-feature__item {
    gap: 6.21891vw;
    display: grid
}

@media (min-width:959px) {
    .toughness .toughness-feature .toughness-feature__item {
        align-items: center;
        gap: inherit;
        justify-content: space-between;
        display: flex
    }

    .toughness .toughness-feature .toughness-feature__item:nth-child(odd) {
        flex-direction: row-reverse
    }

    .toughness .toughness-feature .toughness-feature__item:first-child .toughness-feature__image {
        width: 63%
    }

    .toughness .toughness-feature .toughness-feature__item.toughness-feature__item--last {
        flex-direction: column;
        gap: 40px;
        width: 82.5%;
        margin: 0 auto
    }

    .toughness .toughness-feature .toughness-feature__item.toughness-feature__item--last .toughness-feature__image,
    .toughness .toughness-feature .toughness-feature__item.toughness-feature__item--last .toughness-feature__text {
        width: 100%
    }
}

@media (min-width:959px) and (min-width:600px) {
    .toughness .toughness-feature .toughness-feature__item.toughness-feature__item--last .toughness-feature__text .heading--tertiary {
        text-align: center
    }
}

.toughness .toughness-feature .toughness-feature__item .toughness-feature__image {
    flex-shrink: 0
}

.toughness .toughness-feature .toughness-feature__item .toughness-feature__image.image-double {
    gap: 20px;
    display: flex
}

.toughness .toughness-feature .toughness-feature__item .toughness-feature__image img {
    width: 100%
}

@media (min-width:959px) {
    .toughness .toughness-feature .toughness-feature__item .toughness-feature__image {
        width: 56%
    }

    .toughness .toughness-feature .toughness-feature__item .toughness-feature__text {
        width: 34%
    }
}

@media (min-width:1261px) {
    .toughness .toughness-feature .toughness-feature__item .heading--secondary {
        white-space: nowrap
    }
}

.toughness .toughness-feature .toughness-feature__item .toughness-feature-text-multi {
    gap: 1em;
    font-size: 1.6rem;
    display: grid
}

.toughness .toughness-feature .toughness-feature__item .toughness-feature-text-multi .toughness-feature-text-multi__item {
    align-items: baseline;
    display: flex
}

.toughness .toughness-feature .toughness-feature__item .toughness-feature-text-multi .toughness-feature-text-multi__item:before {
    content: "・"
}

@media (min-width:600px) {
    .toughness .toughness-feature .toughness-feature__item .toughness-feature-text-multi {
        grid-template-columns: repeat(2, 1fr);
        gap: 1em 2em
    }
}

@media (min-width:1261px) {
    .toughness .toughness-feature .toughness-feature__item .toughness-feature-text-multi {
        grid-template-columns: repeat(3, 1fr)
    }
}

.environment1 {
    color: #fff;
    background-color: #000;
    padding-bottom: 14.9254vw;
    position: relative;
    overflow: hidden
}

@media (min-width:600px) {
    .environment1 {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .environment1 {
        padding-bottom: 3.96825vw
    }
}

.environment1 {
    padding-bottom: 14.9254vw
}

@media (min-width:600px) {
    .environment1 {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .environment1 {
        padding-bottom: 7.93651vw
    }
}

.environment1 .environment1__bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.environment1 .environment1__bg img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.environment1 .environment1__bg:after {
    content: "";
    background: linear-gradient(#0000 0%, #000 100%);
    width: 100%;
    display: block;
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 0
}

.environment1 .environment1__intro {
    aspect-ratio: 1;
    width: 100%;
    padding-top: 12.4378vw;
    position: relative
}

@media (min-width:600px) {
    .environment1 .environment1__intro {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .environment1 .environment1__intro {
        padding-top: 3.30688vw
    }
}

@media (min-width:600px) {
    .environment1 .environment1__intro {
        aspect-ratio: 5/4
    }
}

@media (min-width:959px) {
    .environment1 .environment1__intro {
        aspect-ratio: 19/9
    }
}

.environment1 .environment1__footer {
    text-align: center;
    margin-top: 50px;
    position: relative
}

.environment1 .environment1__footer .button-detail {
    color: #004858;
    background-color: #fff;
    border-radius: 45px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-width: 130px;
    height: 47px;
    padding-left: 15px;
    padding-right: 15px;
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(16px, 14.5568px + .36vw, 20px);
    line-height: 1;
    display: inline-flex
}

@media (min-width:600px) {
    .environment1 .environment1__footer .button-detail {
        height: 44px;
        padding-left: 25px;
        padding-right: 25px
    }
}

@media (max-width:350px) {
    .environment1 .environment1__footer .button-detail {
        font-size: clamp(14px, 12.5568px + .36vw, 18px);
        line-height: 1.3
    }
}

.environment2 {
    color: silver;
    background-color: #000;
    height: 100%;
    padding-top: 20.8955vw
}

@media (min-width:600px) {
    .environment2 {
        padding-top: 10.9375vw
    }
}

@media (min-width:1261px) {
    .environment2 {
        padding-top: 3.30688vw
    }
}

.environment2 {
    padding-bottom: 13.9303vw
}

@media (min-width:600px) {
    .environment2 {
        padding-bottom: 7.29167vw
    }
}

@media (min-width:1261px) {
    .environment2 {
        padding-bottom: 4.62963vw
    }
}

.environment2 .environment2__intro {
    flex-direction: column;
    gap: 7.46269vw;
    display: flex;
    position: relative
}

@media (min-width:600px) {
    .environment2 .environment2__intro {
        gap: 5.20833vw
    }
}

@media (min-width:1261px) {
    .environment2 .environment2__intro {
        flex-direction: row;
        align-items: flex-end;
        gap: 6.54762vw
    }

    .environment2 .environment2__intro .heading--secondary {
        white-space: nowrap;
        color: #fff
    }
}

.environment2 .environment2__swp {
    margin-top: 7.46269vw
}

@media (min-width:600px) {
    .environment2 .environment2__swp {
        margin-top: 3.90625vw
    }
}

@media (min-width:1261px) {
    .environment2 .environment2__swp {
        margin-top: 3.96825vw
    }
}

.environment-feature {
    gap: 11.194vw;
    margin-top: -20vw;
    display: grid;
    position: relative
}

@media (min-width:600px) {
    .environment-feature {
        gap: 5.85938vw
    }
}

@media (min-width:1261px) {
    .environment-feature {
        gap: 5.09259vw
    }
}

@media (min-width:600px) {
    .environment-feature {
        margin-top: 0
    }
}

.environment-feature .environment-feature__icon {
    align-items: center;
    gap: 4.97512vw;
    display: flex
}

@media (min-width:600px) {
    .environment-feature .environment-feature__icon {
        gap: 2.60417vw
    }
}

@media (min-width:1261px) {
    .environment-feature .environment-feature__icon {
        gap: 1.32275vw
    }
}

.environment-feature .environment-feature__icon {
    margin-bottom: 4.97512vw
}

@media (min-width:600px) {
    .environment-feature .environment-feature__icon {
        margin-bottom: 2.60417vw
    }
}

@media (min-width:1261px) {
    .environment-feature .environment-feature__icon {
        margin-bottom: 1.98413vw
    }
}

.environment-feature .environment-feature__title {
    color: #fff;
    margin-bottom: 2.48756vw;
    font-size: 2.2rem
}

@media (min-width:600px) {
    .environment-feature .environment-feature__title {
        margin-bottom: 1.30208vw
    }
}

@media (min-width:1261px) {
    .environment-feature .environment-feature__title {
        margin-bottom: .661376vw
    }
}

@media (min-width:600px) {
    .environment-feature .environment-feature__title {
        font-size: 2rem
    }
}

@media (min-width:959px) {
    .environment-feature .environment-feature__title {
        white-space: nowrap
    }
}

@media (min-width:600px) {
    .environment-feature {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:1261px) {
    .environment-feature {
        grid-template-columns: repeat(3, 1fr)
    }
}

.environment-feature .environment-feature__spacer {
    display: none
}

@media (min-width:600px) {
    .environment-feature .environment-feature__spacer {
        display: block
    }
}

@media (min-width:1261px) {
    .environment-feature .environment-feature__spacer {
        grid-column: span 2
    }
}

.feature-content .feature-content__thumb {
    aspect-ratio: 453/300;
    background: #c4c4c4;
    border-radius: 5px;
    width: 100%
}

.feature-content .feature-content__title {
    font-size: 3.9801vw
}

@media (min-width:600px) {
    .feature-content .feature-content__title {
        font-size: 2.08333vw
    }
}

@media (min-width:1261px) {
    .feature-content .feature-content__title {
        font-size: 1.45503vw
    }
}

.feature-content .feature-content__title {
    margin-top: 5.72139vw
}

@media (min-width:600px) {
    .feature-content .feature-content__title {
        margin-top: 2.99479vw
    }
}

@media (min-width:1261px) {
    .feature-content .feature-content__title {
        margin-top: .793651vw
    }
}

.feature-content .feature-content__title {
    margin-bottom: 5.72139vw
}

@media (min-width:600px) {
    .feature-content .feature-content__title {
        margin-bottom: 2.99479vw
    }
}

@media (min-width:1261px) {
    .feature-content .feature-content__title {
        margin-bottom: .396825vw
    }
}

.three-d-viewer {
    background-color: #fff;
    height: 100%;
    position: relative
}

.three-d-viewer__container {
    background-color: #fff;
    height: 100%;
    max-height: 100svh;
    position: relative
}

.three-d-viewer__inner {
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    display: flex;
    position: relative
}

.three-d-viewer__title {
    padding-top: 0;
    position: absolute;
    top: 0
}

@media (min-width:600px) {
    .three-d-viewer__title {
        padding-top: 2.60417vw
    }
}

@media (min-width:1261px) {
    .three-d-viewer__title {
        padding-top: 4.62963vw
    }
}

.three-d-viewer__btn {
    text-align: center;
    z-index: 2;
    margin: 0 auto
}

.three-d-contents__container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.three-d-contents__inner {
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex;
    position: relative
}

.three-d-contents__loader {
    pointer-events: none;
    text-align: center;
    width: 90vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.three-d-contents__loader p {
    text-align: center;
    color: #004858;
    font-size: clamp(2.2rem, 2.098rem + .2vw, 2.4rem);
    display: none;
    position: relative
}

@media (max-width:375px) {
    .three-d-contents__loader p {
        font-size: 1.6rem
    }
}

.three-d-contents__loader:after {
    pointer-events: none;
    content: "";
    position: relatibe;
    transform-origin: 50%;
    background-image: url(../images/common/icon-spinner.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 40px;
    height: 40px;
    margin: 10px auto 0;
    animation: 1.5s linear infinite r1;
    display: inline-block
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .three-d-contents__loader:after {
        margin: 20px auto 0
    }
}

.three-d-contents {
    aspect-ratio: 465/1014;
    width: 50vw;
    height: 109.032vw;
    margin-top: -7.24638vw;
    position: relative
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .three-d-contents {
        aspect-ratio: 620/1014;
        width: 60vw;
        height: 98.129vw;
        margin-top: -3.90625vw
    }
}

@media (min-aspect-ratio:4/3) {
    .three-d-contents {
        aspect-ratio: 988/810;
        width: auto;
        max-width: 988px;
        height: calc(100svh - 7rem);
        max-height: 810px;
        margin-top: 0
    }
}

@media (min-aspect-ratio:4/3) and (min-width:1600px) {
    .three-d-contents {
        max-height: initial;
        max-width: initial;
        aspect-ratio: 988/810
    }
}

.three-d-contents:before {
    pointer-events: none;
    opacity: 0;
    content: "";
    background-image: url(../viewer/three-d-contents__poster@sm.webp);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 88%;
    height: 88%;
    transition-property: opacity;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media (min-aspect-ratio:9/14) and (min-width:600px) {
    .three-d-contents:before {
        background-image: url(../viewer/three-d-contents__poster@md.webp);
        width: 90%;
        height: 90%
    }
}

@media (min-aspect-ratio:4/3) {
    .three-d-contents:before {
        background-image: url(../viewer/three-d-contents__poster@xl.webp);
        width: 88%;
        height: 88%
    }
}

.three-d-contents.is-firstload:before {
    opacity: 1
}

.three-d-contents.is-firstload .three-d-contents__loader p {
    display: block
}

.three-d-contents.is-loaded:after,
.three-d-contents.is-loaded .three-d-contents__loader {
    opacity: 0;
    animation: none
}

.three-d-contents.is-loaded:before {
    opacity: 0
}

.three-d-contents.is-loaded canvas:hover {
    cursor: grab
}

@keyframes r1 {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.section-3dviewer-nav {
    text-align: center;
    margin: 0 auto;
    transition-property: bottom;
    transition-duration: .6s;
    transition-timing-function: cubic-bezier(.36, .14, 0, 1);
    position: fixed;
    bottom: -100px;
    left: 50%;
    transform: translate(-50%);
    z-index: 9001 !important
}

body.scrolled-3dviewer .section-3dviewer-nav {
    bottom: 80px
}

@media (min-aspect-ratio:4/3) {
    body.scrolled-3dviewer .section-3dviewer-nav {
        bottom: 71px
    }
}

@media (max-width:375px) {
    body.scrolled-3dviewer .section-3dviewer-nav {
        bottom: 65px
    }
}

.three-d-viewer__controller {
    background-color: #e7e7e7;
    border-radius: 1000px;
    gap: 14px;
    padding: 9px 14px;
    display: inline-flex
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn {
    justify-content: flex-start;
    align-items: center;
    display: flex
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn .three-d-viewer__btn-circle {
    aspect-ratio: 1;
    border-radius: 50%;
    width: 25px;
    display: inline-block
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-1 {
    flex-direction: row-reverse
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-1 .three-d-viewer__btn-circle {
    background-color: #fff;
    border: 2px solid #0000
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-1 p {
    padding-right: 10px
}

@media (min-aspect-ratio:4/3) {
    .three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-1 p {
        padding-right: 14px
    }
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-1.is-selected .three-d-viewer__btn-circle {
    border: 2px solid #004858
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-1.is-selected p {
    color: #004858
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-2 .three-d-viewer__btn-circle {
    background-color: #21222b;
    border: 2px solid #0000
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-2 p {
    padding-left: 10px
}

@media (min-aspect-ratio:4/3) {
    .three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-2 p {
        padding-left: 14px
    }
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-2.is-selected .three-d-viewer__btn-circle {
    border: 2px solid #fff
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn.color-2.is-selected p {
    color: #004858
}

.three-d-viewer__controller .three-d-viewer__controller-item .js-3dviewer-btn p {
    white-space: nowrap;
    font-variation-settings: "slnt" 0, "wdth" 100, "wght" 400;
    color: #000;
    font-family: arrows, Noto Sans JP M, sans-serif;
    font-size: 1.5rem
}

.originalfunc .originalfunc-inner {
    padding-top: 14.9254vw
}

@media (min-width:600px) {
    .originalfunc .originalfunc-inner {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .originalfunc .originalfunc-inner {
        padding-top: 7.93651vw
    }
}

.originalfunc .originalfunc-inner {
    padding-bottom: 14.9254vw
}

@media (min-width:600px) {
    .originalfunc .originalfunc-inner {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .originalfunc .originalfunc-inner {
        padding-bottom: 7.93651vw
    }
}

.originalfunc .originalfunc-list {
    margin-top: clamp(30px, 26.392px + .9vw, 40px);
    padding-bottom: clamp(40px, 36.392px + .9vw, 50px);
    position: relative;
    overflow-x: clip
}

.originalfunc .originalfunc-list .originalfunc-list__item {
    flex-direction: column;
    gap: clamp(20px, 18.5568px + .36vw, 24px);
    width: clamp(290px, 275.568px + 3.6vw, 330px);
    margin-right: 20px;
    display: flex
}

.originalfunc .originalfunc-list:last-child {
    margin-right: 0
}

.originalfunc .originalfunc-list .common {
    margin-top: .5em
}

.originalfunc .originalfunc-list .swiper-scrollbar {
    background-color: #b7b7b74d;
    width: calc(100% + -1*clamp(40px, 32.784px + 1.8vw, 60px));
    left: clamp(20px, 5.568px + 3.6vw, 60px)
}

@media (min-width:600px) {
    .originalfunc .originalfunc-list .swiper-scrollbar {
        width: 354px;
        left: 50%;
        right: auto;
        transform: translate(-50%)
    }
}

.originalfunc .originalfunc-list .swiper-scrollbar .swiper-scrollbar-drag {
    background-color: #b7b7b7
}

.originalfunc .originalfunc-list__image {
    aspect-ratio: 330/230;
    border-radius: 5px;
    width: 100%;
    overflow: hidden
}

.originalfunc .originalfunc-list__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.originalfunc .originalfunc-list__title {
    font-size: clamp(20px, 19.2784px + .18vw, 22px)
}

.battery {
    background-color: #e9e9e9
}

.battery-zoomin .title-container,
.display-zoomout .title-container {
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 30vh;
    display: flex
}

.battery-zoomin .title-container .heading--secondary,
.display-zoomout .title-container .heading--secondary {
    width: 100%
}

@media (min-width:600px) {

    .battery-zoomin .title-container .heading--secondary,
    .display-zoomout .title-container .heading--secondary {
        text-align: center;
        padding-top: 70px
    }
}

.battery-zoomin .battery-zoomin-inner {
    padding-top: 14.9254vw;
    padding-bottom: 0
}

@media (min-width:600px) {
    .battery-zoomin .battery-zoomin-inner {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .battery-zoomin .battery-zoomin-inner {
        padding-top: 7.93651vw
    }
}

@media (min-width:600px) {
    .battery-zoomin .battery-zoomin-inner {
        height: 100svh
    }
}

.battery-zoomin .heading--primary sup {
    font-size: .5em;
    display: inline-block;
    transform: translateY(-.5em)
}

@media (min-width:600px) {
    .battery-zoomin .heading--primary {
        text-align: center
    }
}

.battery-zoomin .battery-content {
    grid-template-columns: repeat(1, 1fr);
    margin-top: clamp(40px, 25.568px + 3.6vw, 80px)
}

.battery-zoomin .battery-content .battery-content__image {
    max-width: 722px;
    margin: 0 auto
}

@media (min-width:959px) {
    .battery-zoomin .battery-content .battery-content__item {
        text-align: center
    }
}

.battery-detail .battery-detail-inner {
    padding-top: 14.9254vw
}

@media (min-width:600px) {
    .battery-detail .battery-detail-inner {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .battery-detail .battery-detail-inner {
        padding-top: 7.93651vw
    }
}

.battery-detail .battery-detail-inner {
    padding-bottom: 14.9254vw
}

@media (min-width:600px) {
    .battery-detail .battery-detail-inner {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .battery-detail .battery-detail-inner {
        padding-bottom: 7.93651vw
    }
}

.battery-content {
    gap: 17.4129vw;
    margin-left: auto;
    margin-right: auto;
    display: grid
}

@media (min-width:600px) {
    .battery-content {
        gap: 9.11458vw
    }
}

@media (min-width:1261px) {
    .battery-content {
        gap: 5.29101vw;
        max-width: 65.2116vw
    }

    .battery-content.battery-content-wide {
        max-width: 82.0106vw
    }
}

.battery-content .battery-content__item {
    flex-direction: column;
    gap: 7.46269vw;
    display: flex
}

@media (min-width:600px) {
    .battery-content .battery-content__item {
        gap: 5.20833vw
    }
}

@media (min-width:1261px) {
    .battery-content .battery-content__item {
        gap: 4.62963vw
    }
}

@media (min-width:959px) {
    .battery-content .battery-content__item {
        flex-direction: row;
        align-items: center
    }
}

.battery-content .battery-content__item.battery-content__item--s {
    flex-direction: row;
    justify-content: center;
    align-items: center
}

.battery-content .battery-content__item.battery-content__item--s .battery-content__image {
    width: 44%
}

.battery-content .battery-content__item.battery-content__item--s .battery-content__image img {
    width: 100%
}

.battery-content .battery-content__item.battery-content__item--s .battery-content__title {
    font-size: 1.6rem
}

@media (min-width:959px) {
    .battery-content .battery-content__item.battery-content__item--s .battery-content__image {
        width: 36%
    }

    .battery-content .battery-content__item.battery-content__item--s .battery-content__title {
        font-size: 2rem
    }
}

.battery-content .battery-content__title {
    font-family: Noto Sans JP M, sans-serif;
    font-size: 2.2rem
}

@media (min-width:600px) {
    .battery-content .battery-content__title {
        font-size: 2rem
    }
}

.battery-content.subsection-container .battery-content__title {
    font-family: Noto Sans JP M, sans-serif;
    line-height: 1.5
}

@media (min-width:959px) {
    .battery-content.subsection-container .battery-content__title {
        font-size: 2.4rem
    }
}

.compare .compare-inner {
    border-top: 1px solid silver;
    padding-top: 12.4378vw
}

@media (min-width:600px) {
    .compare .compare-inner {
        padding-top: 0
    }
}

@media (min-width:1261px) {
    .compare .compare-inner {
        padding-top: 0
    }
}

.compare .compare-inner {
    padding-bottom: 12.4378vw
}

@media (min-width:600px) {
    .compare .compare-inner {
        padding-bottom: 7.8125vw
    }
}

@media (min-width:1261px) {
    .compare .compare-inner {
        padding-bottom: 4.62963vw
    }
}

@media (min-width:600px) {
    .compare .compare-inner {
        border-top: none
    }
}

.compare .compare-feature {
    gap: clamp(20px, 16.392px + .9vw, 30px);
    margin-top: 8.70647vw;
    display: grid
}

@media (min-width:600px) {
    .compare .compare-feature {
        margin-top: 4.55729vw
    }
}

@media (min-width:1261px) {
    .compare .compare-feature {
        margin-top: 2.6455vw
    }
}

@media (min-width:600px) {
    .compare .compare-feature {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:959px) {
    .compare .compare-feature {
        grid-template-columns: repeat(4, 1fr)
    }
}

/* @media (min-width:1261px) {
    .compare .compare-feature {
        grid-template-columns: repeat(6, 1fr)
    }
} */

.compare .compare-feature .compare-feature__item {
    text-align: center;
    border: 1px solid #323232;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    padding-top: 3.9801vw;
    padding-bottom: 3.9801vw;
    display: flex
}

@media (min-width:600px) {
    .compare .compare-feature .compare-feature__item {
        padding-top: 1.30208vw;
        padding-bottom: 1.30208vw
    }
}

@media (min-width:1261px) {
    .compare .compare-feature .compare-feature__item {
        flex-grow: 1;
        width: auto;
        padding-top: .661376vw;
        padding-bottom: .661376vw
    }
}

.chip {
    background-color: #181818;
    height: auto
}

.chip .chip-inner {
    padding-top: 14.9254vw
}

@media (min-width:600px) {
    .chip .chip-inner {
        padding-top: 6.51042vw
    }
}

@media (min-width:1261px) {
    .chip .chip-inner {
        padding-top: 7.93651vw
    }
}

.chip .chip-inner {
    padding-bottom: 14.9254vw
}

@media (min-width:600px) {
    .chip .chip-inner {
        padding-bottom: 6.51042vw
    }
}

@media (min-width:1261px) {
    .chip .chip-inner {
        padding-bottom: 7.93651vw
    }
}

.chip .chip-inner [class^=heading--] {
    color: #fff
}

.chip .chip-inner .common {
    color: silver
}

.chip .chip-inner .heading--chip {
    font-size: clamp(2rem, 1.795rem + .4vw, 2.4rem);
    line-height: 1.5
}

.chip .chip-inner .heading--alpha {
    font-size: clamp(2.2rem, 1.581rem + 1.6vw, 4rem)
}

@media (max-width:350px) {
    .chip .chip-inner .heading--alpha {
        font-size: 1.5rem
    }
}

.chip .chip__movie {
    margin-top: clamp(3rem, 2.639rem + .9vw, 4rem)
}

.chip .chip__movie img {
    width: 100%
}

@media (min-width:959px) {
    .chip .chip-cpu {
        max-width: 41.9312vw
    }
}

.chip .chip-performance {
    gap: 4.97512vw;
    display: grid
}

@media (min-width:600px) {
    .chip .chip-performance {
        flex-direction: row-reverse;
        align-items: center;
        gap: 4.62963vw;
        display: flex
    }

    .chip .chip-performance .chip-performance__image {
        margin-right: -1.98413vw
    }

    .chip .chip-performance .chip-performance__image img {
        border-radius: 5px
    }
}

.chip .chip__content {
    gap: clamp(8rem, 7.278rem + 1.8vw, 10rem);
    display: grid
}

.chip .chip-compare__heading {
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 20px;
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(2rem, 1.278rem + 1.8vw, 4rem)
}

@media (min-width:959px) {
    .chip .chip-compare__heading {
        max-width: 54.8942vw;
        padding-bottom: 10px
    }
}

.chip .chip-compare__select-container {
    height: 0;
    overflow: visible
}

.chip .chip-compare__select-container .chip-compare__item {
    background-color: #0000 !important
}

.chip .chip-compare__select {
    cursor: pointer;
    text-align: left;
    border: 1px solid #fff;
    border-radius: 5px;
    align-items: center;
    width: 100%;
    margin-top: clamp(20px, 18.196px + .45vw, 25px);
    display: flex;
    position: relative
}

@media (max-width:350px) {
    .chip .chip-compare__select {
        font-size: 1rem
    }
}

.chip .chip-compare__select select {
    color: #fff;
    cursor: pointer;
    width: 100%;
    padding: clamp(1px, .6392px + .09vw, 2px) 20px clamp(1px, .6392px + .09vw, 2px) clamp(4px, 1.44vw - 1.7728px, 20px)
}

.chip .chip-compare__select select option {
    color: #000
}

.chip .chip-compare__select:after {
    content: "";
    pointer-events: none;
    background: url(../images/chip/chevron.svg) 50%/contain no-repeat;
    width: 16px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%)
}

@media (min-width:959px) {

    .chip .chip-compare__select-container,
    .chip .chip-compare {
        max-width: 54.8942vw;
        margin-left: auto;
        margin-right: auto
    }
}

.chip .chip-compare__container.is-hidden {
    display: none
}

.chip .chip-compare {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.48756vw;
    display: grid
}

@media (min-width:959px) {
    .chip .chip-compare {
        gap: 1.32275vw 2.6455vw
    }
}

.chip .chip-compare .chip-compare__item {
    text-align: center;
    background-color: #313131;
    border-radius: 5px;
    padding: 0 clamp(15px, 9.588px + 1.35vw, 30px) clamp(15px, 9.588px + 1.35vw, 30px);
    display: grid
}

@media (max-width:350px) {
    .chip .chip-compare .chip-compare__item {
        padding: 0 5px clamp(15px, 9.588px + 1.35vw, 30px)
    }
}

.chip .chip-compare .chip-compare__title {
    justify-content: center;
    align-items: center;
    height: clamp(65px, 60.6704px + 1.08vw, 77px);
    display: flex
}

.chip .chip-spec {
    gap: clamp(10px, 6.392px + .9vw, 20px);
    display: grid
}

.chip .chip-spec .chip-spec__item {
    color: silver;
    background: #252525;
    border-radius: 5px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1em;
    font-size: 1.3rem;
    display: flex
}

@media (max-width:350px) {
    .chip .chip-spec .chip-spec__item {
        font-size: 1rem
    }
}

.chip .chip-spec .chip-spec__item dd {
    white-space: nowrap;
    font-size: clamp(26px, 24.5568px + .36vw, 30px);
    line-height: 1.2
}

@media (max-width:350px) {
    .chip .chip-spec .chip-spec__item dd {
        font-size: 1.7rem
    }
}

@media (min-width:959px) {
    .chip .chip-spec {
        gap: 1.32275vw
    }
}

.chip .chip-score {
    color: #fff;
    justify-content: center;
    margin-top: clamp(20px, 16.392px + .9vw, 30px);
    font-size: 2rem;
    display: grid
}

.chip .chip-score .chip-score__item {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: clamp(40px, 23.764px + 4.05vw, 85px);
    display: grid
}

.chip .chip-score .chip-score__item dt {
    font-size: clamp(20px, 18.5568px + .36vw, 24px)
}

@media (max-width:350px) {
    .chip .chip-score .chip-score__item dt {
        font-size: 1.42rem
    }
}

.chip .chip-score .chip-score__item dd {
    white-space: nowrap;
    text-align: center;
    font-size: clamp(28px, 27.2784px + .18vw, 30px);
    line-height: 1.6
}

.chip .chip-score .chip-score__cpu span {
    margin-left: .08em;
    font-size: 5rem
}

@media (max-width:350px) {
    .chip .chip-score .chip-score__cpu span {
        font-size: 3rem
    }
}

.chip .chip-score .chip-score__total span {
    margin-left: .08em;
    font-size: clamp(60px, 56.392px + .9vw, 70px)
}

@media (max-width:350px) {
    .chip .chip-score .chip-score__total span {
        font-size: 3.2rem
    }
}

.chip .chip-footer {
    gap: clamp(40px, 1.9648px + 9.46vw, 145px);
    margin-top: clamp(3rem, 2.639rem + .9vw, 4rem);
    display: grid
}

@media (min-width:959px) {
    .chip .chip-footer {
        grid-template-columns: repeat(2, 1fr);
        max-width: 77.2487vw;
        margin-left: auto;
        margin-right: auto
    }
}

.chip .chip-footer .chip-footer__text {
    gap: 9.95025vw;
    display: grid
}

@media (min-width:959px) {
    .chip .chip-footer .chip-footer__text {
        gap: 3.96825vw
    }
}

.chip .chip-footer .chip-footer__chart {
    justify-content: space-between;
    display: flex
}

@media (min-width:959px) {
    .chip .chip-footer .chip-footer__chart {
        align-self: center
    }
}

.chip .chip-footer .chip-footer__spec {
    text-align: center;
    flex-direction: column;
    flex-grow: 1;
    align-items: center;
    display: flex
}

.chip .chip-footer .chip-footer__spec dt {
    color: #fff;
    font-size: clamp(1.8rem, 1.644rem + .5vw, 2.4rem);
    font-weight: 400
}

.chip .chip-footer .chip-footer__spec dd {
    font-size: clamp(1.6rem, 1.395rem + .4vw, 2rem);
    line-height: 1.375
}

.chip .chip-footer .chip-footer__spec dd .text-num {
    font-size: clamp(4.5rem, 2.44rem + 5vw, 10rem);
    line-height: 1.1
}

.chip .chip-footer .chip-footer__spec dd .text-gb {
    font-size: clamp(3.8rem, 3.698rem + .2vw, 4rem);
    line-height: 1.1
}

@media (max-width:350px) {
    .chip .chip-footer .chip-footer__spec dd .text-gb {
        font-size: 1.7rem
    }
}

.chip .chip-footer .chip-footer__spec dd+dd {
    margin-top: 1em
}

.chip .chip-footer .chip-footer__plus {
    color: silver;
    margin-top: .2em;
    font-size: 5.5rem
}

.cameraintro {
    height: 100%
}

.cameraintro .cameraintro-inner {
    justify-content: center;
    align-items: center;
    height: 100dvh;
    display: flex;
    position: relative
}

.cameraintro .cameraintro-inner .cameraintro__image {
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute;
    inset: 0
}

.cameraintro .cameraintro-inner .cameraintro__image:before {
    aspect-ratio: 1;
    content: "";
    filter: blur(125px);
    background: url(../images/camera/bg@sm.webp) 50%/cover no-repeat;
    width: 375px;
    display: block
}

@media (min-width:600px) {
    .cameraintro .cameraintro-inner .cameraintro__image:before {
        background-image: url(../images/camera/bg.webp);
        width: clamp(375px, 275.478px + 24.77vw, 650px)
    }
}

.cameraintro .cameraintro-inner .cameraintro__image img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.cameraintro .cameraintro-inner .heading--primary {
    color: #fff;
    text-align: center;
    position: relative
}

#section-cameraspec-sp .cameraspec {
    padding-top: clamp(6rem, 4.557rem + 3.6vw, 10rem)
}

.cameraspec {
    color: silver;
    background-color: #000
}

@media (min-width:600px) {
    .cameraspec {
        background-color: #0000;
        height: 100%
    }
}

.cameraspec .cameraspec-inner {
    padding-top: 7.46269vw
}

@media (min-width:600px) {
    .cameraspec .cameraspec-inner {
        padding-top: 7.8125vw
    }
}

@media (min-width:1261px) {
    .cameraspec .cameraspec-inner {
        padding-top: 6.61376vw
    }
}

.cameraspec .cameraspec-inner {
    padding-bottom: 7.46269vw
}

@media (min-width:600px) {
    .cameraspec .cameraspec-inner {
        padding-bottom: 7.8125vw
    }
}

@media (min-width:1261px) {
    .cameraspec .cameraspec-inner {
        padding-bottom: 6.61376vw
    }
}

@media (min-width:600px) {
    .cameraspec .cameraspec-inner {
        flex-direction: column;
        height: 100vh;
        display: flex;
        position: relative
    }

    .cameraspec .cameraspec-inner.pc-bg-1 {
        background: url(../images/camera/pc_bg1.webp) bottom/contain no-repeat
    }
}

.cameraspec .cameraspec-inner.is-top {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.cameraspec .heading--camera {
    text-align: center;
    color: #fff;
    margin-top: 11.194vw;
    font-family: Noto Sans JP M, sans-serif;
    font-size: clamp(16px, 13.8352px + .54vw, 22px)
}

@media (min-width:600px) {
    .cameraspec .heading--camera {
        margin-top: 0
    }
}

.cameraspec .heading--lens {
    text-align: center;
    color: #fff;
    font-size: clamp(13px, 10.4744px + .63vw, 20px)
}

.cameraspec .common {
    margin-top: 1em
}

.cameraspec .cameraspec__lytia .cameraspec-logo-container {
    justify-items: center;
    margin-bottom: clamp(10px, 6.392px + .9vw, 20px);
    display: grid
}

@media (min-width:600px) {
    .cameraspec .cameraspec__lytia .cameraspec-logo-container {
        justify-items: right
    }

    .cameraspec .cameraspec__lytia {
        text-align: right;
        width: 42.3%;
        margin-top: auto;
        margin-left: auto
    }
}

@media (min-width:1261px) {
    .cameraspec .cameraspec__lytia {
        width: auto
    }
}

@media (max-aspect-ratio:1.125) and (min-width:600px) {
    .cameraspec .cameraspec__lytia {
        width: auto
    }
}

.cameraspec .cameraspec__lytia .cameraspec__sony-logo {
    width: clamp(120px, 90.9848px + 7.21vw, 200px);
    margin-left: auto;
    margin-right: auto
}

@media (min-width:600px) {
    .cameraspec .cameraspec__lytia .cameraspec__sony-logo {
        margin-left: 0
    }
}

.cameraspec .cameraspec__lytia .cameraspec__lytia-logo {
    width: clamp(224px, 180.914px + 10.72vw, 343px)
}

@media (min-width:600px) {
    .cameraspec .cameraspec__text {
        width: 42.3%;
        margin-top: auto
    }

    .cameraspec .cameraspec__text .heading--medium {
        white-space: nowrap
    }
}

.cameraspec .cameraspec-pc {
    justify-items: center;
    display: grid
}

.cameraspec .cameraspec-sp {
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: -40px;
    display: flex
}

.cameraspec .cameraspec-sp .cameraspec-spec {
    width: 50%
}

.cameraspec .cameraspec-sp .cameraspec-spec:nth-child(2) {
    transform: translateY(145%)
}

.cameraspec .cameraspec-spec {
    justify-items: center;
    display: grid
}

.cameraspec .cameraspec-spec dt {
    font-size: 1.2rem;
    font-weight: 400
}

.cameraspec .cameraspec-spec.in-camera {
    justify-content: center
}

.cameraspec .cameraspec-spec .cameraspec-spec__mp-func {
    position: relative
}

.cameraspec .cameraspec-spec .cameraspec-spec__mp {
    white-space: nowrap;
    text-align: center;
    font-size: 2.5rem;
    line-height: 1.2
}

.cameraspec .cameraspec-spec .cameraspec-spec__mp span {
    font-size: 4.5rem
}

@media (max-width:350px) {
    .cameraspec .cameraspec-spec .cameraspec-spec__mp span {
        font-size: 3rem
    }

    .cameraspec .cameraspec-spec .cameraspec-spec__mp {
        font-size: 1.8rem
    }
}

@media (min-width:600px) {
    .cameraspec .cameraspec-spec .cameraspec-spec__mp {
        font-size: 4.5rem
    }

    .cameraspec .cameraspec-spec .cameraspec-spec__mp span {
        font-size: 7rem
    }
}

.cameraspec .cameraspec-spec .cameraspec-spec__func {
    white-space: nowrap;
    font-size: 1.2rem;
    position: absolute;
    top: -.5em;
    right: 1.2rem
}

@media (min-width:600px) {
    .cameraspec .cameraspec-spec .cameraspec-spec__func {
        font-size: 1.5rem;
        top: -.7em;
        right: 2.5rem
    }
}

.cameraspec .cameraspec-spec .cameraspec-spec__lens {
    white-space: nowrap;
    text-align: center;
    font-size: clamp(12px, 9.1136px + .72vw, 20px)
}

.cameraspec2 {
    background-color: #000
}

@media (min-width:600px) {
    .cameraspec2 .section__inner-slide {
        position: absolute;
        inset: 0
    }

    .cameraspec2 {
        height: 100vh
    }

    .cameraspec2 .cameraspec-inner.pc-bg-2 {
        background: url(../images/camera/pc_bg2.webp) 50%/contain no-repeat
    }

    .cameraspec2 .cameraspec-inner.pc-bg-3 {
        background: url(../images/camera/pc_bg3.webp) 50%/contain no-repeat
    }

    .cameraspec2 .cameraspec-inner.pc-bg-4 {
        background: url(../images/camera/pc_bg4.webp) 50%/contain no-repeat
    }

    .cameraspec2 .cameraspec-inner.pc-bg-5 {
        background: url(../images/camera/pc_bg5.webp) 50%/contain no-repeat
    }
}

@media (min-width:1261px) {
    .cameraspec2 .cameraspec-inner.pc-bg-5 {
        background: url(../images/camera/pc_bg5.webp) bottom/contain no-repeat
    }
}

@media (min-width:600px) {
    .cameraspec2 .cameraspec-inner {
        height: 100svh
    }
}

@media (max-aspect-ratio:1.125) and (min-width:600px) {

    .cameraspec .cameraspec-inner,
    .cameraspec2 .cameraspec-inner {
        padding-top: 14.5503vw;
        padding-bottom: 14.5503vw
    }
}

.autonerve {
    height: 100vh
}

.autonerve .autonerve-inner {
    text-align: center;
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex;
    position: relative
}

.autonerve .autonerve-inner h2 {
    transform: translateY(-50%)
}

.note .note {
    gap: clamp(7px, 4.4744px + .63vw, 14px);
    font-size: clamp(1.2rem, 1.149rem + .1vw, 1.3rem);
    display: grid
}

.note .note .note__item {
    display: flex
}

.note .note .note__num {
    flex-shrink: 0;
    width: clamp(30px, 26.392px + .9vw, 40px)
}

@media (min-width:959px) {
    .note .note {
        padding-left: 3.96825vw;
        padding-right: 3.96825vw
    }
}

.section-subheader-fixed {
    z-index: 9000;
    position: relative
}

.alpha-subheader.alpha-subheader-default {
    width: 100%
}

.alpha-subheader .alpha-subheader-inner {
    background-color: #fff;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    display: grid
}

@media (min-width:959px) {
    .alpha-subheader .alpha-subheader-inner {
        justify-content: space-between;
        gap: 50px;
        padding-top: 19px;
        padding-bottom: 20px;
        display: flex
    }
}

.alpha-subheader .alpha-subheader-inner__title {
    color: #004858;
    font-size: 1.2rem
}

.alpha-subheader .alpha-subheader__release-txt {
    color: #004858;
    font-size: 4.5vw;
    font-family: Noto Sans JP M, sans-serif
}
@media (min-width:959px) {
    .alpha-subheader .alpha-subheader__release-txt {
        font-size: 1.8rem
    }
}

.alpha-subheader .alpha-subheader-inner__nav {
    grid-column: span 2;
    justify-content: center;
    gap: 2em;
    font-size: 2rem;
    display: flex
}

.alpha-subheader .alpha-subheader-inner__nav li {
    padding-top: 20px;
    padding-bottom: 20px;
    font-family: Noto Sans JP M, sans-serif
}

.alpha-subheader .alpha-subheader-inner__nav li a {
    display: inline-block;
    position: relative
}

.alpha-subheader .alpha-subheader-inner__nav li .is-select {
    color: #004858
}

.alpha-subheader .alpha-subheader-inner__nav li .is-select:after {
    content: "";
    background-color: #004858;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -4px;
    left: 0
}

@media (min-width:959px) {
    .alpha-subheader .alpha-subheader-inner__nav {
        margin-left: auto;
        font-size: 1.6rem
    }

    .alpha-subheader .alpha-subheader-inner__nav li {
        padding-top: 0;
        padding-bottom: 0
    }
}

@media (max-width:350px) {
    .alpha-subheader .alpha-subheader-inner__nav {
        font-size: 1.4rem
    }
}

.alpha-subheader .alpha-subheader-inner__support {
    grid-area: 1/2/2/3;
    justify-self: flex-end;
    padding-top: 9px;
    padding-bottom: 9px
}

@media (min-width:959px) {
    .alpha-subheader .alpha-subheader-inner__support {
        padding-top: 0;
        padding-bottom: 0
    }
}

.alpha-subheader .button-support {
    color: #fff;
    text-align: center;
    background-color: #6f6f6f;
    border-radius: 45px;
    justify-content: center;
    gap: 10px;
    min-width: 117px;
    padding: 12px 15px;
    font-family: Noto Sans JP M, sans-serif;
    font-size: 1.1rem;
    line-height: 1.375;
    display: flex
}

.alpha-subheader .button-reserve {
    color: #fff;
    background-color: #004858;
    border-radius: 45px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-width: 130px;
    height: 47px;
    padding-left: 15px;
    padding-right: 15px;
    font-family: Noto Sans JP M, sans-serif;
    font-size: 1.6rem;
    line-height: 1;
    display: flex
}

@media (min-width:600px) {
    .alpha-subheader .button-reserve {
        height: 44px
    }
}

@media (max-width:350px) {
    .alpha-subheader .button-reserve {
        min-width: 110px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: 1.3rem
    }
}

@media (min-width:600px) {
    .alpha-subheader .button-reserve .button-reserve__text {
        display: none
    }
}

.alpha-subheader .button-pagetop {
    color: #fff;
    background-color: #004858;
    border-radius: 45px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 34px;
    height: 34px;
    display: flex;
    position: relative
}

.alpha-subheader .button-pagetop .js-pagetop {
    position: absolute;
    inset: 0
}

@media (min-width:600px) {
    .alpha-subheader .button-pagetop {
        width: 44px;
        height: 44px
    }
}

.alpha-subheader.alpha-subheader-reserve {
    background-color: #fff;
    display: none
}

@media (min-width:600px) {
    .alpha-subheader.alpha-subheader-reserve {
        display: block
    }
}

.alpha-subheader.alpha-subheader-reserve .alpha-subheader-reserve-inner {
    justify-content: center;
    align-items: center;
    padding-top: clamp(39px, 37.9176px + .27vw, 42px);
    padding-bottom: clamp(39px, 32.5056px + 1.62vw, 57px);
    display: flex
}

.alpha-subheader.alpha-subheader-sticky {
    width: 100%;
    transition: transform .3s ease-out;
    position: fixed;
    bottom: 0;
    left: 0;
    transform: translateY(101%)
}

.alpha-subheader.alpha-subheader-sticky .alpha-subheader-sticky-inner {
    background-color: #fff;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    height: 65px;
    display: flex
}

@media (min-width:600px) {
    .alpha-subheader.alpha-subheader-sticky .alpha-subheader-sticky-inner {
        height: 61px
    }
}

@media (max-width:375px) {
    .alpha-subheader.alpha-subheader-sticky .alpha-subheader-sticky-inner {
        gap: 10px
    }
}

.alpha-subheader.alpha-subheader-sticky .alpha-subheader-inner__title {
    margin-right: auto
}

body.is-show-fixed-link .alpha-subheader.alpha-subheader-sticky {
    transform: translateY(0)
}

body.is-show-fixed-link .footer_pagetop.js-pagetop {
    opacity: 0;
    pointer-events: none
}

.footer_pagetop {
    transition-property: opacity;
    transition-delay: 0;
    transition-duration: .3s;
    transition-timing-function: linear
}

.productmov .video-bg--fullscreen .video-bg__inner {
    z-index: 1
}

.productmov .video-bg--fullscreen .btn__play-video {
    text-align: center;
    z-index: 2;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.productmov .video-bg--fullscreen .btn__play-video .btn__play-video-icon {
    width: 32.8358vw
}

@media (min-width:600px) {
    .productmov .video-bg--fullscreen .btn__play-video .btn__play-video-icon {
        width: 19.5313vw
    }
}

@media (min-width:1261px) {
    .productmov .video-bg--fullscreen .btn__play-video .btn__play-video-icon {
        width: 11.2434vw
    }
}

.productmov .video-bg--fullscreen .btn__play-video .btn__play-video-icon img {
    width: 100%;
    height: auto
}

.productmov .video-bg--fullscreen .btn__play-video p {
    color: #fff;
    white-space: nowrap;
    width: 100%;
    margin-top: 12px;
    font-family: Noto Sans JP R, sans-serif;
    font-size: 1.6rem;
    font-weight: 400
}

.productmov .video-bg--fullscreen .btn__play-video:hover {
    cursor: pointer;
    opacity: .6;
    transition-property: opacity;
    transition-duration: .5s;
    transition-timing-function: ease-in-out
}