@charset "UTF-8";

*,
:after,
:before {
    box-sizing: border-box
}

blockquote,
body,
button,
dd,
dl,
fieldset,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
iframe,
input,
legend,
ol,
option,
p,
pre,
select,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
    border: none
}

h1,
h2,
h3,
h4,
h5,
h6,
small,
strong,
sub,
sup,
th {
    font-size: inherit;
    font-weight: inherit
}

address,
cite,
dfn,
em,
var {
    font-style: normal
}

caption,
th {
    text-align: left
}

a,
abbr[title],
ins {
    text-decoration: none
}

html {}

body,
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%
}

body {
    line-height: 1
}

main {
    display: block
}

ol,
ul {
    list-style-type: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

a {
    color: inherit
}

q:after,
q:before {
    content: none
}

sub,
sup {
    vertical-align: baseline
}

button,
input,
mark,
select,
textarea {
    background: none;
    color: inherit
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: inherit
}

@font-face {
    font-family: 'MacHei';
    src: url('../fonts/HarmonyOS_Sans_SC_Regular.ttf') format("truetype");
}

select {
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none
}

select::-ms-expand {
    display: none
}

template {
    display: none
}

a,
button,
input[type=checkbox],
input[type=radio],
label,
select {
    cursor: pointer
}

button {
    outline: none
}

[data-whatinput=keyboard] button:focus {
    outline: auto
}

@keyframes scrollBar {
    0% {
        transform: scaleY(0);
        transform-origin: 0 0
    }

    50% {
        transform: scale(1);
        transform-origin: 0 0
    }

    50.1% {
        transform: scale(1);
        transform-origin: 0 100%
    }

    to {
        transform: scaleY(0);
        transform-origin: 0 100%
    }
}

@keyframes floatAnimation {
    0% {
        transform: translate(0) rotate(0deg)
    }

    25% {
        transform: translate(-3px, 3px) rotate(5deg)
    }

    50% {
        transform: translate(1px, -1px) rotate(0deg)
    }

    70% {
        transform: translate(4px, -4px) rotate(-5deg)
    }

    to {
        transform: translate(0) rotate(0deg)
    }
}

@keyframes floatAnimation2 {
    0% {
        transform: translate(0) rotate(0deg)
    }

    40% {
        transform: translate(6px, -5px) rotate(-4deg)
    }

    70% {
        transform: translate(-4px, 3px) rotate(4deg)
    }

    to {
        transform: translate(0) rotate(0deg)
    }
}

@keyframes floatAnimation3 {
    0% {
        transform: translate(0) rotate(0deg)
    }

    30% {
        transform: translate(8px, -8px) rotate(-6deg)
    }

    60% {
        transform: translate(-2px, 8px) rotate(6deg)
    }

    to {
        transform: translate(0) rotate(0deg)
    }
}

@keyframes floatAnimation4 {
    0% {
        transform: translate(0) rotate(0deg)
    }

    40% {
        transform: translate(-12px, -18px) rotate(8deg)
    }

    70% {
        transform: translate(6px, -9px) rotate(-8deg)
    }

    to {
        transform: translate(0) rotate(0deg)
    }
}

html {
    overflow-y: scroll
}

html.sWait {
    cursor: wait
}

html.-full {
    overflow: hidden;
    height: 100%
}

body {
    color: #fff;
    font-family: 'MacHei', sans-serif;
    font-feature-settings: "palt"
}

html.-full body {
    height: 100%
}

._space:after {
    content: " "
}

[data-menu-hidden].-hide {
    opacity: 0 !important
}

/*! locomotive-scroll v4.0.1 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    height: 100vh;
    display: inline-block;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    height: 100%
}

.c-scrollbar {
    position: absolute;
    right: 0;
    top: 0;
    width: 11px;
    height: 100%;
    transform-origin: center right;
    transition: transform .3s, opacity .3s;
    opacity: 0
}

.c-scrollbar:hover {
    transform: scaleX(1.45)
}

.c-scrollbar:hover,
.has-scroll-dragging .c-scrollbar,
.has-scroll-scrolling .c-scrollbar {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    width: 100%;
    height: 10px;
    top: auto;
    bottom: 0;
    transform: scaleY(1)
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #000;
    opacity: .5;
    width: 7px;
    border-radius: 10px;
    margin: 2px;
    cursor: grab
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    right: auto;
    bottom: 0
}

/*!
 * pace.js v1.2.1 | Default theme
 * https://github.com/CodeByZach/pace/
 * Licensed MIT © HubSpot, Inc.
 */
.pace {
    -webkit-pointer-events: none;
    pointer-events: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.pace-inactive {
    display: none
}

.pace .pace-progress {
    background: transparent;
    position: fixed;
    z-index: 2000;
    top: 0;
    right: 100%;
    width: 100%;
    height: 2px
}

.cButton {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    letter-spacing: .05em;
    display: inline-block;
    position: relative
}

.cButton-inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    pointer-events: none
}

.cButton-text {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 400;
    letter-spacing: .05em;
    position: relative;
    z-index: 2
}

.cButton-mark {
    flex-shrink: 0;
    position: relative;
    z-index: 1
}

.cButton-icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 2;
    color: #2a3e69
}

.bIe .cButton-icon {
    overflow: hidden
}

.cButton-sticky {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%
}

.cButton.-transparent .cButton-sticky {
    background-color: transparent;
    border: 1px solid #fff
}

.cButton.-vertical {
    height: auto
}

.cButton.-vertical .cButton-inner {
    flex-direction: column-reverse
}

.cButton.-vertical .cButton-text {
    letter-spacing: .1em;
    text-align: center
}

.cButtonBorder {
    display: inline-block;
    position: relative
}

.cButtonBorder-inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    pointer-events: none
}

.cButtonBorder-text {
    position: relative;
    z-index: 2;
    text-align: center
}

.cButtonBorder-mark {
    flex-shrink: 0;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.cButtonBorder-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #2a3e69
}

.bIe .cButtonBorder-icon {
    overflow: hidden
}

.cButtonBorder-sticky {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%
}

.cButtonBorder-border {
    display: block;
    fill: none;
    stroke: #fff;
    stroke-width: 1px;
    transform: rotate(90deg) scale(-1)
}

.bIe .cButtonBorder-border {
    transform: rotate(90deg) scale(1)
}

.cButtonBorder-border ellipse:first-child {
    opacity: .38
}

.cButtonBorderLinkIcon {
    pointer-events: none
}

.cButtonMore {
    display: inline-block;
    position: relative
}

.cButtonMore-inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    pointer-events: none
}

.cButtonMore-mark {
    flex-shrink: 0;
    position: relative;
    z-index: 1
}

.cButtonMore-icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 2;
    color: #2a3e69
}

.bIe .cButtonMore-icon {
    overflow: hidden
}

.cButtonMore-sticky {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%
}

.cFirst {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    text-align: center;
    overflow: hidden
}

.cFirst-OneScreen {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%
}

.cFirst-title {
    text-align: center
}

.cFirst-titleEn {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    letter-spacing: -.05em;
    display: inline-block
}

.cFirst-titleEn,
.cFirst-titleJp {
    font-weight: 600;
    visibility: hidden
}

.cFirst-titleJp {
    letter-spacing: .15em;
    display: block
}

.bAndroid .cFirst-titleJp {
    font-weight: 700
}

.cFirst-titleDelimiter {
    display: none
}

.cFirst-catch {
    font-weight: 600;
    letter-spacing: .1em;
    position: absolute;
    width: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    visibility: hidden
}

.bAndroid .cFirst-catch {
    font-weight: 700
}

.cFirst-catch>* {
    display: flex !important;
    justify-content: center
}

.cFirst-scrollDown {
    position: absolute
}

.cFirst-scrollBar {
    position: absolute;
    left: 50%;
    transform: translateX(-50%)
}

.cFirst-hyphen {
    position: relative;
    top: -.5625rem
}

.cFooter {
    position: relative;
    bottom: 0;
    left: 0;
    color: #fff;
    background: repeat url(/saiyo/assets/img/common/background-noise.png);
    background-color: #e60012
}

.cFooter-breadCrumb {
    position: absolute;
    top: -3.3125rem;
    left: 5.125rem;
    display: flex
}

.cFooter-breadCrumbItem {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    font-size: .875rem;
    position: relative
}

.cFooter-breadCrumbItem:not(:last-of-type) {
    margin-right: .875rem
}

.cFooter-breadCrumbItem:not(:last-of-type):before {
    content: "-";
    position: absolute;
    top: 0;
    right: -.5625rem
}

.cFooter-breadCrumbLink {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    letter-spacing: .025em;
    font-size: .875rem
}

.cFooter-inner {
    width: 100%;
    height: 100%
}

.cFooter-top {
    position: relative
}

.cFooter-logo {
    display: block
}

.cFooter-naviTop {
    counter-reset: number
}

.cFooter-naviTopItem {
    letter-spacing: .05em;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cFooter-naviTopItem:before {
    counter-increment: number;
    content: "0" counter(number)
}

.cFooter-naviTopLink {
    letter-spacing: .02em;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cFooter-slogan {
    letter-spacing: .1em;
    font-weight: 600
}

.bAndroid .cFooter-slogan {
    font-weight: 700
}

.cFooter-copyright {
    letter-spacing: .05em;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cFooter-bottom,
.cFooter-bottomInfo {
    position: relative
}

.cFooter-naviBottomItem {
    letter-spacing: .07em;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cFooter-scrollTop {
    position: absolute
}

.cFrame {
    border-style: solid;
    position: relative;
    color: #000
}

.cFrame-labels {
    position: absolute;
    transform: rotate(90deg) translateX(100%);
    transform-origin: right top;
    white-space: nowrap;
    opacity: .5;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .05em
}

.cFrame-dl>dt {
    font-weight: 600
}

.bAndroid .cFrame-dl>dt {
    font-weight: 700
}

.cFrame-dl>dd .caption {
    font-size: .875rem;
    line-height: 1.625;
    margin-top: .625rem;
    display: block
}

.cFrame-heading {
    font-weight: 600
}

.bAndroid .cFrame-heading {
    font-weight: 700
}

.cFrameImage {
    overflow: hidden;
    position: relative;
    -webkit-clip-path: url(#clipPathFrameImage);
    clip-path: url(#clipPathFrameImage)
}

.cFrameImage:after {
    content: "";
    will-change: transform
}

.cFrameImage-image,
.cFrameImage:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.cFrameImage-image {
    margin: auto;
    width: 100%;
    height: auto
}

.cH2:before {
    content: "";
    display: block;
    opacity: .5;
    background-color: #fff;
    height: 1px
}

.cH2-en {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    letter-spacing: .05em;
    color: hsla(0, 0%, 100%, .5);
    display: block;
    line-height: 1
}

.cH2-delimiter {
    display: none
}

.cH2-jp {
    font-weight: 600;
    letter-spacing: .1em;
    display: block
}

.bAndroid .cH2-jp {
    font-weight: 700
}

.cHeader {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: end;
    color: #fff;
    pointer-events: none
}

.cHeader-logo {
    position: relative;
    display: block;
    opacity: 1;
    transition: opacity .4s cubic-bezier(.25, .46, .45, .94)
}

.cHeader-logoImage {
    pointer-events: auto;
    background-color: #fff;
    color: #000
}

.cHeader-logoSvg {
    left: 49.4%;
    font-family: "object-fit:contain";
    object-fit: contain;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.cHeader-logoSvg,
.cHeader-logoText {
    position: absolute;
    transform: translate(-50%, -50%)
}

.cHeader-logoText {
    left: 50%
}

.cHeader-nav {
    text-align: right;
    pointer-events: auto;
    /* display: flex; */
    /* justify-content: right; */
}

.cHeader-menu {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    position: relative;
    display: inline-block
}

.cHeader-menuInner {
    pointer-events: none
}

.cHeader-menuIcon {
    position: absolute;
    display: inline-block;
    right: 0
}

.cHeader-links {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700
}

.cHeader.-hide .cHeader-logo {
    opacity: 0;
    pointer-events: none
}

.cLead {
    text-align: center;
    font-weight: 600
}

.bAndroid .cLead {
    font-weight: 700
}

.cLead sup {
    font-size: .5em;
    vertical-align: super
}

.cMenu {
    color: #fff
}

.cMenu-inner {
    width: 100%;
    height: 100%
}

.cMenu-close {
    position: absolute;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700
}

.cMenu-closeInner {
    pointer-events: none
}

.cMenu-closeIconBottom,
.cMenu-closeIconTop {
    position: absolute
}

.cMenu-contents,
.cMenu-pages {
    overflow: hidden
}

.cMenu-pages {
    position: relative
}

.cMenu-pages .menu-webgl__wrapper {
    display: flex
}

.cMenu-pages .menu-webgl__box {
    cursor: pointer
}

[data-whatintent=mouse] .cMenu-pages .menu-webgl__box:not(.menu-webgl__box--current):hover .cButton {
    transform: scale(1)
}

.cMenu-pages .menu-webgl__box__card {
    position: relative
}

.cMenu-pages .menu-webgl__box__card .cButton {
    position: absolute;
    transform: scale(0);
    transition: 1s cubic-bezier(.19, 1, .22, 1)
}

.cMenu-pages .menu-webgl__box__title-en {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cMenu-pages .menu-webgl__box__title-jp {
    font-weight: 600;
    letter-spacing: .1em
}

.bAndroid .cMenu-pages .menu-webgl__box__title-jp {
    font-weight: 700
}

.cMenu-externalListLink {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .1em
}

.cMenu-listItem {
    position: relative
}

.cMenu-listLink {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    letter-spacing: .05em
}

.cMenu-topicsInner {
    display: flex;
    pointer-events: none
}

.cMenu-topicsDate,
.cMenu-topicsTitle {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    letter-spacing: .05em
}

.cMenu-topicsDate {
    position: relative;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff
}

.cMenu-topicsDesc {
    font-weight: 600;
    letter-spacing: .1em;
    position: relative
}

.bAndroid .cMenu-topicsDesc {
    font-weight: 700
}

.cModal {
    display: none;
    overflow: hidden;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100%
}

.cModal-inner {
    position: relative;
    z-index: 1;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.cModal-close {
    position: absolute;
    z-index: 2
}

.cModal-backdrop {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0
}

.cModal.-open {
    display: flex
}

.cMove {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1;
    color: #fefefe;
    white-space: nowrap;
    text-transform: uppercase;
    overflow: hidden;
    opacity: .08
}

.cMove-text {
    display: flex
}

.cMove-single {
    padding-right: .5em
}

.cNext-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    will-change: transform
}

.cNext-inner:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.cNext-title,
.cNext-titleEn {
    position: relative;
    z-index: 1;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cNext-titleEn {
    display: block;
    line-height: 1
}

.cNext-titleJp {
    position: relative;
    z-index: 1;
    font-weight: 600;
    letter-spacing: .2em;
    display: block
}

.bAndroid .cNext-titleJp {
    font-weight: 700
}

.cNext .cButtonBorder {
    position: absolute
}

.cNext-bg,
.cNext-img {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.cPageTop {
    display: block;
    position: relative
}

.cPageTop-text {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .06em;
    display: block
}

.cPageTop-text br {
    display: none
}

.cPageTop-line {
    display: block
}

.cPageTop-char {
    display: inline-block
}

.cPageTop-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    overflow: hidden
}

.cPageTop-iconImage,
.cPerson {
    display: block
}

.cPerson {
    position: relative
}

.-drag .cPerson {
    pointer-events: none
}

.cPerson-frame {
    overflow: hidden;
    position: relative;
    -webkit-clip-path: url(#clipPathFrameImageInterview);
    clip-path: url(#clipPathFrameImageInterview);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.cPerson-frame:after,
.cPerson-frame:before {
    display: block
}

.cPerson-frame:before {
    z-index: 3
}

.cPerson-frame:after,
.cPerson-frame:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.cPerson-frame:after {
    z-index: 4
}

.cPerson-frame.-no01:before {
    background: url(/saiyo/assets/img/our-dream/pc/b‑main_interview_inner_01.png);
    background-size: cover
}

.cPerson-frame.-no02:before {
    background: url(/saiyo/assets/img/our-dream/pc/b‑main_interview_inner_02.png);
    background-size: cover
}

.cPerson-frame.-no03:before {
    background: url(/saiyo/assets/img/our-dream/pc/b‑main_interview_inner_03.png);
    background-size: cover
}

.cPerson-frame.-no04:before {
    background: url(/saiyo/assets/img/our-dream/pc/b‑main_interview_inner_04.png);
    background-size: cover
}

.cPerson-frame.-no05:before {
    background: url(/saiyo/assets/img/our-dream/pc/b‑main_interview_inner_05.png);
    background-size: cover
}

.cPerson-image {
    z-index: 1
}

.cPerson-image,
.cPerson-imageHover {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: auto
}

.cPerson-imageHover {
    z-index: 2;
    overflow: hidden;
    will-change: transform
}

.cPerson-info {
    position: absolute;
    line-height: 1;
    z-index: 4
}

.cPerson-joined {
    font-weight: 600;
    letter-spacing: .05em
}

.bAndroid .cPerson-joined,
.cPerson-name {
    font-weight: 700
}

.cPerson-name {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif
}

.cPerson-job {
    font-weight: 600;
    letter-spacing: .05em
}

.bAndroid .cPerson-job {
    font-weight: 700
}

.cPerson-catch {
    font-weight: 600;
    position: relative;
    z-index: 4
}

.bAndroid .cPerson-catch {
    font-weight: 700
}

.bIe .cPerson-catch {
    margin-top: -1.5rem
}

.cProduct-photo {
    width: 100%;
    height: auto;
    overflow: hidden;
    pointer-events: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none
}

.cProduct-number {
    opacity: .5;
    letter-spacing: .05em;
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600
}

.cProduct-title {
    font-weight: 600
}

.cProduct-text {
    opacity: .6
}

.cScrollBar {
    position: relative;
    display: block
}

.cScrollBar:after {
    content: "";
    position: absolute
}

.cScrollBar-color {
    position: absolute;
    left: 50%;
    bottom: 50%;
    z-index: 2;
    overflow: hidden
}

.cScrollBar-color:after,
.cScrollBar-color:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0
}

.cScrollBar-color:before {
    background: hsla(0, 0%, 100%, .5)
}

.cScrollBar-color:after {
    background: #e60012;
    animation: scrollBar 3s cubic-bezier(.4, 0, .2, 1) infinite
}

.cScrollBar-color:hover {
    opacity: .5
}

.cScrollDown {
    display: block;
    position: relative
}

.cScrollDown-text {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .06em;
    display: block
}

.cScrollDown-text br {
    display: none
}

.cScrollDown-line {
    display: block
}

.cScrollDown-char {
    display: inline-block
}

.cScrollDown-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    overflow: hidden
}

.cScrollDown-iconImage {
    display: block
}

.cSpOrientalAlert {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000;
    display: none
}

.cSpOrientalAlert-inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.cSpOrientalAlert-content {
    position: relative
}

.cSpOrientalAlert-illust {
    width: 6.00875rem;
    height: 3.20562rem;
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.cSpOrientalAlert-illust img {
    width: 6.00875rem;
    height: 3.20562rem;
    position: relative;
    z-index: 1
}

.cSpOrientalAlert-text {
    font-size: .46rem;
    padding-top: 1.00625rem;
    line-height: 1.75;
    font-weight: 600;
    letter-spacing: .02em;
    text-align: center;
    color: #fff
}

.cSpOrientalAlert-sorry {
    position: absolute;
    bottom: -.50313rem;
    right: -7.90625rem;
    display: flex;
    align-items: center
}

.cSpOrientalAlert-sorry-text {
    font-family: Josefin Sans, YuGothic, 游ゴシック, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    font-size: .4025rem;
    margin-right: .79063rem
}

.cSpOrientalAlert-sorry-image,
.cSpOrientalAlert-sorry-image img {
    width: 1.61rem;
    height: 1.61rem
}

.cBase,
.cMain {
    position: relative
}

.lHole {
    pointer-events: none
}

#webgl-container {
    top: 0;
    right: 0;
    left: 0;
    bottom: 0
}

.bMobile #webgl-container {
    bottom: auto
}

@media screen and (min-width: 768px) {
    html {
        font-size: 1vw
    }

    body {
        font-size: 2rem;
        min-width: 1080px
    }

    ._sp {
        display: none !important
    }

    body>.dg.ac {
        z-index: 1401
    }

    .c-scrollbar {
        z-index: 700
    }

    .cButton {
        font-size: 1rem;
        height: 4.8125rem
    }

    .cButton-text {
        font-size: 1.25rem;
        margin-left: .9375rem;
        padding-top: .4375rem
    }

    .cButton-mark {
        width: 7rem;
        height: 4.8125rem
    }

    .cButton-icon {
        width: 1.25rem;
        height: 1rem
    }

    .cButton.-vertical {
        width: 6.3125rem
    }

    .cButton.-vertical .cButton-text {
        font-size: 1rem;
        margin-left: 0;
        margin-top: .625rem
    }

    .cButton.-vertical .cButton-mark {
        width: 6.3125rem;
        height: 4.3125rem
    }

    .cButtonBorder {
        width: 6.375rem;
        height: 4.3125rem
    }

    .cButtonBorder-icon {
        width: 1.25rem;
        height: 1rem
    }

    .cButtonBorder-icon.-min {
        width: 1.125rem;
        height: .9375rem
    }

    .cButtonBorderLinkIcon {
        width: 6.375rem;
        height: 4.3125rem
    }

    .cButtonMore {
        height: 4.8125rem
    }

    .cButtonMore-mark {
        width: 7rem;
        height: 4.8125rem
    }

    .cButtonMore-icon {
        width: 1.0625rem;
        height: 1.0625rem
    }

    .cContents {
        margin: 0 5rem
    }

    .cFirst {
        height: 100vh;
        min-height: 660px
    }

    .cFirst-titleEn {
        font-size: 8.75rem;
        line-height: .85714
    }

    .cFirst-titleJp {
        font-size: 1.5rem;
        line-height: 2.04167;
        margin-top: .25rem
    }

    .cFirst-catch {
        font-size: 2rem;
        line-height: 1.625;
        margin-top: 5.375rem
    }

    .cFirst-scrollDown {
        right: 4.375rem;
        bottom: -18.625rem
    }

    .cFirst-scrollBar {
        top: 39.25rem
    }

    .cFirst-hyphen {
        top: -1.125rem
    }

    .cFooter {
        z-index: 900;
        width: 95rem;
        height: 56.25rem;
        margin-right: auto;
        padding: 13.6875rem 10.375rem 10.1875rem;
        border-radius: 0 .625rem 0 0
    }

    .cFooter-inner {
        flex-direction: column
    }

    .cFooter-inner,
    .cFooter-top {
        display: flex;
        justify-content: space-between
    }

    .cFooter-top {
        width: 100%
    }

    .cFooter-logo {
        margin-top: .5rem;
        width: 13rem;
        height: 6.25rem
    }

    .cFooter-logoImage {
        width: 13rem
    }

    .cFooter-logoSvg {
        width: 14.875rem;
        height: 8.5rem
    }

    .cFooter-naviTop {
        width: 32.625rem;
        flex-shrink: 0
    }

    .cFooter-naviTopItem {
        font-size: 1rem;
        margin-bottom: 1rem
    }

    .cFooter-naviTopItem:before {
        padding-right: 1.625rem
    }

    .cFooter-naviTopItem:first-child:before {
        padding-right: 1.875rem
    }

    .cFooter-naviTopLink {
        font-size: 1.5rem;
        line-height: 1
    }

    .cFooter-slogan {
        font-size: .7375rem;
        line-height: 1.86441;
        margin-bottom: 1.5rem
    }

    .cFooter-copyright {
        font-size: .75rem;
        line-height: 1.83333;
        margin-bottom: .25rem
    }

    .cFooter-bottom {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        width: 100%
    }

    .cFooter-naviBottom {
        width: 32.625rem;
        flex-shrink: 0
    }

    .cFooter-naviBottomItem {
        font-size: 1rem;
        line-height: 1.875
    }

    .cFooter-naviBottomLink {
        line-height: 1.05
    }

    .cFooter-naviBottomIcon {
        width: .75rem;
        height: .75rem;
        margin-left: .3125rem
    }

    .cFooter-scrollTop {
        bottom: 2.25rem;
        right: 3.125rem
    }

    .cFrame {
        border-image: url(/saiyo/assets/img/common/c-frame/pc/b-body_bg.png) 172 172 242 152 fill;
        border-width: 10.75rem 10.75rem 15.125rem 9.5rem;
        border-image-width: 10.75rem 10.75rem 15.125rem 9.5rem;
        margin-right: -1.25rem
    }

    .cFrame-labels {
        top: -6.875rem;
        right: -5.625rem;
        font-size: .875rem
    }

    .cFrame-label+.cFrame-label {
        margin-left: 2.8125rem
    }

    .cFrame-content {
        margin: -1.75rem 0 -9.0625rem -.625rem
    }

    .cFrame-dl {
        display: flex;
        flex-wrap: wrap;
        letter-spacing: .05em
    }

    .cFrame-dl>dt {
        font-size: 1.25rem;
        width: 15.3125rem;
        min-width: 15.3125rem;
        line-height: 1.4
    }

    .cFrame-dl>dd {
        font-size: 1rem;
        width: calc(100% - 15.3125rem);
        line-height: 2.25;
        margin: -.5rem 0 2.875rem
    }

    .cFrame.-no2 .cFrame-dl>dd {
        margin-bottom: 4.125rem
    }

    .cFrame-caption {
        font-size: .875rem
    }

    .cFrameImage {
        width: 44.3125rem;
        height: 50.625rem;
        border-radius: 1.25rem
    }

    .cFrameImage:after {
        border-radius: 1.25rem;
        box-shadow: inset .575rem .7375rem 2.1875rem 0 rgba(10, 2, 4, .45)
    }

    .cH2:before {
        width: 1.875rem;
        margin-bottom: 1rem
    }

    .cH2-en {
        font-size: .875rem
    }

    .cH2-jp {
        font-size: 2.25rem;
        line-height: 1.66667;
        margin-top: 1.4375rem
    }

    .cHeader {
        z-index: 1000
    }

    .cHeader-logo {
        width: 14.375rem;
        height: 9.375rem;
        margin-left: 4.375rem
    }

    .cHeader-logoImage {
        width: 14.375rem;
        height: 9.375rem;
        border-radius: 0 0 1.25rem 1.25rem
    }

    .cHeader-logoSvg {
        top: 49%;
        width: 9.5625rem;
        height: 5.5625rem
    }

    .cHeader-logoText {
        top: 76%;
        width: 5.625rem;
        height: .875rem
    }

    .cHeader-nav {
        margin: 4rem 4.375rem 0 0
    }

    .cHeader-menu {
        font-size: 1.375rem;
        padding: .625rem;
        margin: -.625rem;
        line-height: 1.72727
    }

    .cHeader-menuInner {
        position: relative
    }

    .cHeader-menuIcon {
        top: .875rem;
        width: .1875rem;
        height: .1875rem;
        background-color: #ff000f
    }

    .cHeader-menuIcon:after,
    .cHeader-menuIcon:before {
        content: "";
        position: absolute;
        width: .1875rem;
        height: .1875rem;
        background-color: #fff
    }

    .cHeader-menuIcon:before {
        top: -.4375rem;
        right: 0
    }

    .cHeader-menuIcon:after {
        top: .4375rem;
        right: 0
    }

    .cHeader-links {
        font-size: 1.1875rem;
        letter-spacing: .07em;
        margin-top: 2.125rem
    }

    .cHeader-linksItem:not(:last-of-type) {
        margin-bottom: 1.25rem
    }

    .cHeader-linksLink {
        padding: .625rem;
        margin: -.625rem;
        position: relative;
        display: inline-block;
        line-height: 1.33333
    }

    .cLead {
        font-size: 1.5rem;
        letter-spacing: .06em;
        line-height: 2.5;
        margin-top: 16.6875rem
    }

    .cLead.-close {
        margin-top: 10.4375rem
    }

    .cMenu {
        z-index: 800
    }

    .cMenu .cModal-close {
        position: absolute;
        top: 4.3125rem;
        right: 3.8125rem;
        padding: .625rem;
        margin: -.625rem
    }

    .cMenu-close {
        font-size: 1.375rem
    }

    .cMenu-closeInner {
        position: relative;
        padding-right: 2.375rem
    }

    .cMenu-closeIconTop {
        top: 0;
        right: 0;
        width: 3px;
        height: 3px;
        background-color: #ff000f
    }

    .cMenu-closeIconTop:before {
        top: 0;
        right: 1.25rem
    }

    .cMenu-closeIconTop:after,
    .cMenu-closeIconTop:before {
        content: "";
        position: absolute;
        width: 3px;
        height: 3px;
        background-color: #ff000f
    }

    .cMenu-closeIconTop:after {
        top: .5rem;
        right: .625rem
    }

    .cMenu-closeIconBottom {
        bottom: .1875rem;
        right: 0;
        width: 3px;
        height: 3px;
        background-color: #ff000f
    }

    .cMenu-closeIconBottom:before {
        content: "";
        position: absolute;
        bottom: 0;
        right: 1.25rem;
        width: 3px;
        height: 3px;
        background-color: #ff000f
    }

    .cMenu-contents {
        padding-top: 14.1875rem
    }

    .cMenu-contents.-portrait {
        height: 100%;
        display: flex;
        align-items: center;
        padding-top: 0
    }

    .cMenu-pages {
        padding-left: 5.5625rem
    }

    .cMenu-pages .menu-webgl__wrapper {
        height: 32.0625rem
    }

    .cMenu-pages .menu-webgl__box__card .cButton {
        right: 1.25rem;
        bottom: 1.25rem
    }

    .cMenu-pages .menu-webgl__box__card .cButton-mark {
        width: 5.5rem;
        height: 3.75rem
    }

    .cMenu-pages .menu-webgl__box__card .cButton-icon {
        width: 1rem;
        height: .8125rem
    }

    .cMenu-pages .menu-webgl__box__title {
        margin-top: 1.125rem
    }

    .cMenu-pages .menu-webgl__box__title-en {
        font-size: 2.25rem
    }

    .cMenu-pages .menu-webgl__box__title-jp {
        font-size: .875rem;
        margin-top: .6875rem;
        padding-left: .1125rem
    }

    .cMenu-progress {
        display: none
    }

    .cMenu-externalList {
        position: absolute;
        top: 4.5625rem;
        right: 12.25rem;
        display: flex
    }

    .cMenu-externalListItem:first-of-type {
        margin-right: 1.5rem
    }

    .cMenu-externalListLink {
        position: relative;
        display: inline-block;
        font-size: 1.03125rem;
        padding: .625rem;
        margin: -.625rem
    }

    .cMenu-list {
        position: absolute;
        top: 10.375rem;
        right: 3.8125rem;
        display: flex
    }

    .cMenu-list :not(:first-child) {
        margin-left: 1.5rem;
        padding-left: 1.5rem
    }

    .cMenu-list :not(:first-child):before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: .8125rem;
        width: 2px;
        background-color: #fff
    }

    .cMenu-listLink {
        position: relative;
        display: inline-block;
        font-size: 1.04375rem
    }

    .cMenu-listLink,
    .cMenu-topics {
        padding: .625rem;
        margin: -.625rem
    }

    .cMenu-topics {
        position: absolute;
        bottom: 4.5rem;
        left: 11.125rem
    }

    .cMenu-topicsInner {
        position: relative
    }

    .cMenu-topicsTitle {
        font-size: 1.5rem
    }

    .cMenu-topicsDate {
        font-size: .875rem;
        height: 1.1875rem;
        margin: 0 1.25rem 0 1.4375rem;
        padding: .3125rem 1.3125rem 0
    }

    .cMenu-topicsDesc {
        font-size: .875rem;
        padding-top: .1875rem
    }

    .cModal {
        z-index: 1100
    }

    .cModal-close {
        top: 1.875rem;
        right: 2.5rem
    }

    .cMove {
        font-size: 18.75rem
    }

    .cNextWrap {
        display: flex;
        justify-content: space-between
    }

    .cNext,
    .cNextWrap {
        margin-bottom: 18.125rem
    }

    .cNext {
        margin-left: auto;
        margin-right: auto;
        width: 90rem
    }

    .cNextWrap .cNext {
        margin-bottom: 0;
        width: 44.25rem
    }

    .cNextWrap .cNext:nth-of-type(2n) {
        margin-top: 6.25rem
    }

    .cNext-inner {
        border-radius: 24px;
        height: 26.25rem;
        padding-left: 7.6875rem
    }

    .cNextWrap .cNext-inner {
        padding-left: 5.625rem
    }

    .cNext-inner:after {
        border-radius: 24px;
        box-shadow: inset 0 .9375rem 1.875rem 0 rgba(10, 3, 4, .45)
    }

    .cNext-title {
        margin-top: 1.875rem;
        margin-bottom: 1.5625rem;
        font-size: 1.25rem;
        letter-spacing: -.05em
    }

    .cNextWrap .cNext-title {
        margin-top: .9375rem
    }

    .cNext-titleEn {
        margin-left: -.4375rem;
        font-size: 6.25rem;
        letter-spacing: -.05em
    }

    .cNextWrap .cNext-titleEn {
        font-size: 3.75rem
    }

    .cNext-titleJp {
        font-size: 1.125rem;
        line-height: 2.72222
    }

    .cNext .cButtonBorder {
        right: 4.5rem;
        bottom: 4.375rem
    }

    .cPageTop {
        width: 7.5rem;
        height: 6.25rem
    }

    .cPageTop-text {
        font-size: .875rem;
        line-height: 1.42857;
        padding-top: .375rem
    }

    .cPageTop-iconImage {
        width: 1rem;
        height: 1.1875rem
    }

    .cPageTop .cButtonBorder-sticky svg {
        width: 7.5rem;
        height: 6.25rem
    }

    .cPerson-frame {
        width: 28.375rem;
        height: 41.5625rem;
        border-radius: 1.25rem
    }

    .cPerson-frame:after {
        border-radius: 1.25rem;
        box-shadow: inset .575rem .7375rem 2.1875rem 0 rgba(10, 2, 4, .5)
    }

    .cPerson-imageHover {
        border-radius: 1.25rem;
        box-shadow: 0 .875rem 2.375rem 0 rgba(4, 0, 0, .45)
    }

    .cPerson-info {
        top: 1.875rem;
        left: 2.5rem
    }

    .cPerson-joined {
        font-size: 1rem;
        margin-bottom: 1.125rem
    }

    .cPerson-name {
        font-size: 2.25rem
    }

    .cPerson-job {
        font-size: 1rem;
        margin-top: .5rem
    }

    .cPerson-catch {
        font-size: 2.1rem;
        letter-spacing: .05em;
        width: 28.375rem;
        line-height: 1.38889;
        margin-top: -1.8125rem;
        left: -.25rem
    }

    .cProduct-photo {
        margin-bottom: 1.5625rem;
        border-radius: 1.375rem
    }

    .cProduct-number {
        font-size: .875rem;
        margin-bottom: .5rem
    }

    .cProduct-title {
        line-height: 1.33333;
        font-size: 1.5rem;
        height: 4.375rem
    }

    .cProduct-text {
        line-height: 2.25;
        font-size: 1rem
    }

    .cScrollBar-color {
        height: 9.375rem;
        width: 2px
    }

    .cScrollBar-color:after,
    .cScrollBar-color:before {
        height: 9.5rem;
        width: 2px
    }

    .cScrollDown {
        width: 7.5625rem;
        height: 5.6875rem
    }

    .cScrollDown-text {
        font-size: .875rem;
        line-height: 1.42857;
        padding-top: .375rem
    }

    .cScrollDown-iconImage {
        width: 1rem;
        height: 1.1875rem
    }

    .cScrollDown .cButtonBorder-sticky svg {
        height: 7.5625rem;
        width: 5.6875rem
    }

    .cSpOrientalAlert {
        z-index: 1100
    }

    .cSpOrientalAlert-illust,
    .cSpOrientalAlert-illust img {
        width: 26.125rem;
        height: 13.9375rem
    }

    .cSpOrientalAlert-text {
        font-size: 2rem;
        padding-top: 4.375rem
    }

    .cSpOrientalAlert-sorry {
        bottom: -2.1875rem;
        right: -34.375rem
    }

    .cSpOrientalAlert-sorry-text {
        font-size: 1.75rem;
        margin-right: 3.4375rem
    }

    .cSpOrientalAlert-sorry-image,
    .cSpOrientalAlert-sorry-image img {
        width: 7rem;
        height: 7rem
    }

    .cBase {
        z-index: 200
    }

    .cMain {
        z-index: 300
    }
}

@media screen and (min-width: 768px) and (max-width:1080px) {
    html {
        font-size: 10.8px
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 4.26667vw
    }

    body {
        font-size: .8125rem
    }

    ._pc {
        display: none !important
    }

    body>.dg.ac {
        z-index: 1401
    }

    .c-scrollbar {
        z-index: 700
    }

    .cButton {
        font-size: .75rem;
        height: 2.8125rem
    }

    .cButton-text {
        font-size: .75rem;
        margin-left: .9375rem;
        padding-top: .28125rem
    }

    .cButton-mark {
        width: 3.8125rem;
        height: 2.5625rem
    }

    .cButton-icon {
        width: .75rem;
        height: .53125rem
    }

    .cButton.-vertical {
        width: 3.15625rem
    }

    .cButton.-vertical .cButton-text {
        font-size: .8125rem;
        margin-left: 0;
        margin-top: .3125rem
    }

    .cButton.-vertical .cButton-mark {
        width: 3.15625rem;
        height: 2.15625rem
    }

    .cButtonBorder-icon {
        right: 1.5625rem
    }

    .cButtonBorder-icon.-min {
        width: .5rem;
        height: .375rem
    }

    .cButtonBorderLinkIcon {
        width: 3.1875rem;
        height: 2.15625rem
    }

    .cButtonBorderLinkIcon .cButtonBorder-border {
        width: 2.15625rem;
        height: 3.1875rem
    }

    .cButtonMore {
        height: 2.40625rem
    }

    .cButtonMore-mark {
        width: 3.5rem;
        height: 2.40625rem
    }

    .cButtonMore-icon {
        width: .53125rem;
        height: .53125rem
    }

    .cContents {
        margin: 0 1.5625rem
    }

    .cFirst {
        min-height: 100vh;
        min-height: calc(var(--numViewHeight, 1vh)*100)
    }

    .cFirst-titleEn {
        font-size: 3.75rem;
        line-height: 1
    }

    .cFirst-titleJp {
        font-size: .875rem;
        line-height: 1.75;
        margin-top: .3125rem
    }

    .cFirst-catch {
        font-size: 1rem;
        line-height: 1.625;
        margin-top: 2.75rem
    }

    .cFirst-scrollDown {
        right: 1.5625rem;
        bottom: -9.84375rem
    }

    .cFirst-scrollBar {
        bottom: -12rem
    }

    .cFooter {
        z-index: 900;
        width: 100%;
        padding: 3.5rem 1.875rem 7.375rem
    }

    .cFooter-breadCrumb {
        display: none
    }

    .cFooter-logo,
    .cFooter-logoImage {
        width: 9.5rem
    }

    .cFooter-logoSvg {
        width: 7.4375rem;
        height: 4.25rem
    }

    .cFooter-naviTop {
        width: 100%;
        margin-top: 3.90625rem
    }

    .cFooter-naviTopItem {
        font-size: .75rem;
        margin-bottom: 1.25rem;
        padding-left: 1.875rem;
        text-indent: -1.875rem
    }

    .cFooter-naviTopItem:before {
        padding-right: .9375rem
    }

    .cFooter-naviTopItem:first-child:before {
        padding-right: 1.0625rem
    }

    .cFooter-naviTopLink {
        font-size: 1.5625rem;
        line-height: 1.2
    }

    .cFooter-slogan {
        font-size: .6875rem;
        line-height: 1.45455;
        margin-bottom: 1.25rem
    }

    .cFooter-copyright {
        font-size: .5625rem;
        line-height: 1.77778;
        margin-top: 1.25rem
    }

    .cFooter-bottom {
        display: flex;
        flex-direction: column-reverse;
        width: 100%;
        margin-top: 2.5rem
    }

    .cFooter-bottomInfo {
        margin-top: 3.125rem
    }

    .cFooter-naviBottomItem {
        font-size: .875rem;
        line-height: 2.14286
    }

    .cFooter-naviBottomIcon {
        width: .5625rem;
        height: .5625rem;
        margin-left: .15625rem
    }

    .cFooter-scrollTop {
        bottom: 3.6875rem;
        right: 1.875rem
    }

    .cFrame {
        border-image: url(/saiyo/assets/img/common/c-frame/sp/b-body_bg.png) 170 170 246 156 fill;
        border-width: 5.3125rem 5.3125rem 7.6875rem 4.875rem;
        border-image-width: 5.3125rem 5.3125rem 7.6875rem 4.875rem;
        margin-right: -.5625rem
    }

    .cFrame-labels {
        top: -4.0625rem;
        right: -3.4375rem;
        font-size: .5625rem
    }

    .cFrame-label+.cFrame-label {
        margin-left: 1.40625rem
    }

    .cFrame-content {
        margin: -1.25rem -1.5625rem -2.96875rem -1.875rem
    }

    .cFrame-dl>dt {
        font-size: .8125rem;
        line-height: 1.61538;
        padding-top: .1875rem;
        margin-bottom: .5rem
    }

    .cFrame-dl>dd {
        font-size: .75rem;
        line-height: 1.91667
    }

    .cFrame-dl>dd:not(:last-child) {
        margin-bottom: 1.5625rem
    }

    .cFrame-dl>dd .caption {
        font-size: .5625rem;
        margin-top: .3125rem
    }

    .cFrame-heading:not(:first-child) {
        margin-top: 1.5625rem
    }

    .cFrameImage {
        width: 20.5rem;
        height: 23.375rem;
        border-radius: .625rem
    }

    .cFrameImage:after {
        border-radius: .625rem;
        box-shadow: inset .23438rem .40625rem 1.09375rem 0 rgba(10, 2, 4, .45)
    }

    .cH2:before {
        width: .9375rem;
        margin-bottom: .625rem
    }

    .cH2-en {
        font-size: .6875rem
    }

    .cH2-jp {
        font-size: 1.1875rem;
        line-height: 1.57895;
        margin-top: .6875rem
    }

    .cHeader {
        z-index: 1000
    }

    .cHeader-logo {
        width: 7.1875rem;
        height: 4.6875rem;
        margin-left: .9375rem
    }

    .cHeader-logoImage {
        width: 7.1875rem;
        height: 4.6875rem;
        border-radius: 0 0 .625rem .625rem
    }

    .cHeader-logoSvg {
        top: 49%;
        width: 4.78125rem;
        height: 2.78125rem
    }

    .cHeader-logoText {
        top: 74.5%;
        width: 3.5625rem;
        height: .375rem
    }

    .cHeader-nav {
        margin: 1.1875rem 1.59375rem 0 0
    }

    .cHeader-menu {
        font-size: 1rem;
        line-height: 1.85469
    }

    .cHeader-menuInner {
        padding-right: .59375rem
    }

    .cHeader-menuIcon {
        top: .75rem;
        width: 2px;
        height: 2px;
        background-color: #ff000f
    }

    .cHeader-menuIcon:after,
    .cHeader-menuIcon:before {
        content: "";
        position: absolute;
        width: 2px;
        height: 2px;
        background-color: #fff
    }

    .cHeader-menuIcon:before {
        top: -.34375rem;
        right: 0
    }

    .cHeader-menuIcon:after {
        top: .34375rem;
        right: 0
    }

    .cHeader-links,
    .cHeader-linksItem {
        display: none
    }

    .cLead {
        font-size: .875rem;
        letter-spacing: .05em;
        line-height: 2;
        margin-top: 5.5rem
    }

    .cMenu {
        z-index: 800
    }

    .cMenu .cModal-close {
        top: 1.59375rem;
        right: 1.21875rem
    }

    .cMenu-close {
        letter-spacing: .1em;
        font-size: 1rem
    }

    .cMenu-closeInner {
        padding-right: 1.1875rem
    }

    .cMenu-closeIconTop {
        top: 0;
        right: 0;
        width: 2px;
        height: 2px;
        background-color: #ff000f
    }

    .cMenu-closeIconTop:before {
        top: 0;
        right: .625rem
    }

    .cMenu-closeIconTop:after,
    .cMenu-closeIconTop:before {
        content: "";
        position: absolute;
        width: 2px;
        height: 2px;
        background-color: #ff000f
    }

    .cMenu-closeIconTop:after {
        top: .3625rem;
        right: .3125rem
    }

    .cMenu-closeIconBottom {
        bottom: .15625rem;
        right: 0;
        width: 2px;
        height: 2px;
        background-color: #ff000f
    }

    .cMenu-closeIconBottom:before {
        content: "";
        position: absolute;
        bottom: 0;
        right: .625rem;
        width: 2px;
        height: 2px;
        background-color: #ff000f
    }

    .cMenu-contents {
        padding-top: 10.15625rem;
        padding-bottom: 6.125rem
    }

    .cMenu-pages {
        padding-left: 1.28125rem
    }

    .cMenu-pages .menu-webgl__wrapper {
        height: 19.625rem
    }

    .cMenu-pages .menu-webgl__box__card .cButton {
        display: none
    }

    .cMenu-pages .menu-webgl__box__title {
        margin-top: .9375rem
    }

    .cMenu-pages .menu-webgl__box__title-en {
        font-size: 1.4375rem
    }

    .cMenu-pages .menu-webgl__box__title-jp {
        font-size: .75rem;
        margin-top: .625rem
    }

    .cMenu-progress {
        overflow: hidden;
        position: relative;
        top: 0;
        left: 2.8125rem;
        width: calc(100% - 2.8125rem);
        height: 1px;
        margin-top: .75rem;
        background-color: hsla(0, 0%, 100%, .2)
    }

    .cMenu-progressBar {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: #ff000f;
        transform-origin: left
    }

    .cMenu-externalList {
        margin: 1.75rem 2.78125rem 0 2.8125rem;
        padding-bottom: 1.375rem;
        border-bottom: 2px solid hsla(0, 0%, 100%, .2)
    }

    .cMenu-externalListItem {
        width: 100%
    }

    .cMenu-externalListItem:first-of-type {
        margin-bottom: .34375rem
    }

    .cMenu-externalListLink {
        font-size: .89062rem;
        line-height: 2.5
    }

    .cMenu-list {
        margin: 2.5rem 2.78125rem 0 2.8125rem
    }

    .cMenu-listLink {
        font-size: .875rem;
        line-height: 2.5
    }

    .cMenu-topics {
        display: block;
        margin: 2.4375rem 0 0 2.8125rem
    }

    .cMenu-topics,
    .cMenu-topicsInner {
        flex-wrap: wrap
    }

    .cMenu-topicsTitle {
        font-size: 1rem
    }

    .cMenu-topicsDate {
        font-size: .75rem;
        height: .6875rem;
        padding: .0625rem 1rem 0;
        margin-left: .8125rem
    }

    .cMenu-topicsDesc {
        font-size: .75rem;
        width: 100%;
        margin-top: 1.125rem
    }

    .cModal {
        z-index: 1100
    }

    .cModal-close {
        top: .9375rem;
        right: 1.25rem
    }

    .cMove {
        font-size: 9.375rem
    }

    .cNext {
        margin-bottom: 4.375rem
    }

    .cNextWrap .cNext:first-of-type {
        margin-bottom: 1.5625rem
    }

    .cNextWrap .cNext:last-of-type {
        margin-bottom: 4.375rem
    }

    .cNext-inner {
        border-radius: 12px;
        height: 13.125rem;
        padding-left: 1.875rem
    }

    .cNext-inner:after {
        border-radius: 12px;
        box-shadow: inset 0 .46875rem .9375rem 0 rgba(10, 3, 4, .45)
    }

    .cNext-title {
        margin-top: .46875rem;
        margin-bottom: .46875rem;
        font-size: .625rem;
        letter-spacing: -.05em
    }

    .cNext-titleEn {
        margin-left: -.15625rem;
        margin-bottom: -.15625rem;
        letter-spacing: -.06em
    }

    .cNext-titleEn,
    .cNextWrap .cNext-titleEn {
        font-size: 2.5rem
    }

    .cNext-titleJp {
        line-height: 1.625
    }

    .cNext-titleJp,
    .cNextWrap .cNext-titleJp {
        font-size: .75rem
    }

    .cNext .cButtonBorder {
        width: 2.4375rem;
        height: 1.625rem;
        right: .9375rem;
        bottom: .9375rem
    }

    .cNext .cButtonBorder-border {
        width: 1.625rem;
        height: 2.4375rem
    }

    .cPageTop {
        width: 3.75rem;
        height: 3.125rem
    }

    .cPageTop-text {
        font-size: .58406rem;
        line-height: 1.42857;
        padding-top: .4375rem
    }

    .cPageTop-iconImage {
        width: .625rem;
        height: .6875rem
    }

    .cPageTop .cButtonBorder-sticky svg {
        width: 3.75rem;
        height: 3.125rem
    }

    .cPerson-frame {
        width: 20.375rem;
        height: 29.71875rem;
        border-radius: .625rem
    }

    .cPerson-frame:after {
        box-shadow: inset .23438rem .40625rem 1.09375rem 0 rgba(10, 2, 4, .5)
    }

    .cPerson-frame:after,
    .cPerson-imageHover {
        border-radius: .625rem
    }

    .cPerson-info {
        top: 1.53125rem;
        left: 1.53125rem
    }

    .cPerson-joined {
        font-size: .75rem;
        margin-bottom: .90625rem
    }

    .cPerson-name {
        font-size: 1.6875rem
    }

    .cPerson-job {
        font-size: .75rem;
        margin-top: .25rem
    }

    .cPerson-catch {
        font-size: 1.5875rem;
        letter-spacing: .1em;
        width: 20.75rem;
        line-height: 1.38878;
        margin-top: -1.25rem;
        left: -.125rem
    }

    .cProduct-photo {
        margin-bottom: 1.40625rem;
        border-radius: .8125rem
    }

    .cProduct-number {
        font-size: .625rem;
        margin-bottom: .46875rem
    }

    .cProduct-title {
        line-height: 1.5;
        font-size: .875rem;
        height: 2.9375rem
    }

    .cProduct-text {
        line-height: 1.91667;
        font-size: .75rem
    }

    .cScrollBar-color,
    .cScrollBar-color:after,
    .cScrollBar-color:before {
        height: 4.6875rem;
        width: 1px
    }

    .cScrollDown {
        width: 4.90625rem;
        height: 3.65625rem
    }

    .cScrollDown-text {
        font-size: .58406rem;
        line-height: 1.42857;
        padding-top: .4375rem
    }

    .cScrollDown-iconImage {
        width: .625rem;
        height: .6875rem
    }

    .cScrollDown .cButtonBorder-sticky svg {
        height: 4.90625rem;
        width: 3.65625rem
    }

    .cSpOrientalAlert {
        z-index: 1100
    }

    .cBase {
        z-index: 200
    }

    .cMain {
        z-index: 400
    }
}

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

    .cH2-en,
    .cMenu-pages .menu-webgl__box__title-jp,
    .cMenu-topicsDate,
    .cMenu-topicsDesc,
    .cPageTop-text,
    .cScrollDown-text,
    body {
        font-size: 10px
    }
}

@media screen and (min-width: 768px) and (orientation:portrait) {
    .cFirst.-autoHeight {
        height: 56.25rem
    }
}

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

    .cFooter-breadCrumbItem,
    .cFooter-breadCrumbLink {
        font-size: 10px
    }
}

@media screen and (min-width: 768px) and (max-width:1355.9322px) {
    .cFooter-slogan {
        font-size: 10px
    }
}

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

    .cFooter-slogan,
    .cH2-en {
        font-size: 10px
    }
}

@media screen and (min-width: 768px) and (max-width:1333.33333px) {
    .cFooter-copyright {
        font-size: 10px
    }
}

@media screen and (max-width: 767px) and (max-width:416.66667px) {
    .cFooter-copyright {
        font-size: 10px
    }
}

@media screen and (min-width: 768px) and (min-width:768px) {
    .cHeader-menuInner {
        padding-right: 1.0625rem
    }
}

@media screen and (max-width: 767px) and (max-width:375px) {
    .cNext-title {
        font-size: 10px
    }
}

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

    .cPageTop-text,
    .cScrollDown-text {
        font-size: 10px
    }
}

.file-button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 30px;
    display: flex;
    file- align-items: center;
    z-index: 3;
    font-family: shuye;
}

.file-button tt {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    transition: .3s opacity ease-in;
}

.file-button span {
    display: flex;
    width: 2.5rem;
    height: 2.5rem;
    position: relative;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    cursor: pointer;
    border-radius: 50%;
    border: 2px solid #fff;
}

.file-button tt {
    width: 18px;
    height: 2px;
    display: block;
    border-radius: 999px;
    background-color: #fff;
    transition: .3s transform ease-in;
    transform: scale(1) rotate(0);
}

.file-button span::before,
.file-button span::after {
    content: '';
    width: 10px;
    height: 2px;
    display: block;
    border-radius: 999px;
    background-color: #fff;
    transition: .3s transform ease-in;
}

.file-box {
    position: fixed;
    display: flex;
    right: 0;
    top: 0;
    background-color: transparent;
    overflow: hidden;
    z-index: 4;
}

.file-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 20px 0 0 20px;
    z-index: 1;
    transform: translateX(100%);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    transition: .3s transform ease-in;
    background-color: rgba(232, 235, 241, .06);
    background-image: linear-gradient(hsla(0, 0%, 97%, .16), hsla(0, 0%, 97%, .16)), url(../img/common/noise-filter.svg)
}

.file-open .file-bg {
    transform: translateX(0);
}

.file-div {
    position: relative;
    width: 410px;
    transform: translateX(100%);
    text-align: left;
    padding: 120px 0 40px;
    display: flex;
    overflow: hidden;
    transition: .2s width ease-in;
    display: flex;
    flex-direction: column;
    transition: .3s transform ease-in;
    z-index: 2;
    gap: 6%
}

.file-div::before {
    content: '';
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 50px;
    top: 90px;
    right: 0;
}

.file-con a {
    padding: 25px 0;
    display: flex;
    font-family: MacHei;
    text-decoration: none;
    color: #fff;
    justify-content: space-between;
    font-size: 20px;
    line-height: 1;
}

.file-con a svg {
    transform: translate(-15px, 15px);
    opacity: 0;
    transition: all .2s ease;
}

.file-con a:hover svg {
    transform: translate(0, 0);
    opacity: 1;
}

.file-content,
.file-input,
.copyright {
    padding: 0 80px;
}

.file-input {
    display: flex;
}

.file-input .input {
    margin-right: 10px;
}

.register {
    margin: 0 auto 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.registerTit {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    margin-left: 15px;
    margin-bottom: 10px;
}

.field {
    width: 275px;
    height: 50px;
    position: relative;
    background: rgba(255, 255, 255, .2);
    border-radius: 6px;
}

.field input {
    width: 200px;
    height: 50px;
    border: 0;
    padding: 0 0 0 16px;
    font-size: 0;
    color: #ffffff;
    outline: none;
}

.field input:focus {
    font-size: 18px;
}

.field input:focus::selection {
    background: rgba(188, 232, 255, 0.5);
}

.field input.active {
    font-size: 18px;
}

.field input,
.field button {
    position: absolute;
    height: 50px;
}

.field button {
    background: rgba(0, 0, 0, 0.2);
    right: 0;
    border: 0;
    cursor: pointer;
    width: 75px;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    z-index: 1;
    transition:
        width .3s ease,
        background .3s ease,
        opacity .3s ease;
    opacity: 0;
    color: #eee;
    text-transform: uppercae;
    pointer-events: none;


}

.field span {
    font-size: 18px;
}

.field button.active {
    color: #ffffff;
    opacity: 1;
    pointer-events: auto;
    background-color: #7cc447;

}

.qrCode {
    display: flex;
    flex-direction: column;
    padding: 0 80px;
}

.qrCode img {
    width: 120px
}

.qrCode span {
    color: #fff;
    font-size: 16px;
    margin-top: 10px;
    text-align: center;
    width: 120px;
}

.field button.active:hover {}

.field button.full {
    width: 100%;
    background-color: #7cc447;
}

.field input:focus+label {
    font-size: 12px;
    transform: translate(-70px, 2px) scale(0);
    color: rgba(255, 255, 255, 0.7);
}

.field label {
    position: absolute;
    color: rgba(255, 255, 255, 1);
    transform: translate(16px, 7px);
    transition:
        transform .3s ease,
        font-size .3s ease,
        color .3s .1s ease;
    font-size: 28px;
    cursor: text;
}

.field label.active {
    font-size: 14px;
    transform: translate(-60px, 7px) scale(0);
    color: rgba(255, 255, 255, 0.7);
}

.field input:focus+label+button {
    opacity: 1;
}

.file-input form {
    display: flex;
}

.file-open .file-button span::before {
    transform: translateY(5px) rotate(45deg);
}

.file-open .file-button span::after {
    transform: translateY(-5px) rotate(-45deg);
}

.file-open .file-button tt {
    transform: scale(0) rotate(180deg);
}

.file-open .file-div {
    transform: translateX(0);
}

.copyright {
    font-size: 1rem;
    color: #fff;
}

@media(max-width: 640px) {
    .file-open {
        left: 0;
    }

    .file-div {
        width: 100%;
        max-width: none;
        height: 0;
    }

    .qrCode {
        padding: 0 3rem;
    }

    .file-content,
    .file-input,
    .copyright {
        padding: 0 3rem;
    }

    .file-div {
        gap: 4%;
    }

    .file-button {
        padding: 1rem;
    }

    .file-con a {
        font-size: 1.25rem;
        padding: 15px 0;
    }

    .file-input input {
        width: 11rem
    }

    .file-input input,
    .file-input input::placeholder {
        font-size: 1rem;
    }

    .lSection-copy>.lSection-title1 {
        font-size: 1.7rem;
    }

    .lCatch-en {
        width: auto;
    }
}