a,body {
    color: #1e322f
}

.header a,a,a[href^="tel:"],ins {
    text-decoration: none
}

#sketch,.swiper {
    margin-left: auto;
    margin-right: auto
}

.swiper,li,nav ul {
    list-style: none
}

#menu,body,html {
    overscroll-behavior-y: none
}

.carousel-button,.gnav-item-anchor,.lineup-slide-label,.main-scroll,.menu-nav,.section-label {
    text-transform: uppercase
}

.footer-lead,.forfuture-heading,.lineup-slide-label,.menu-nav,.swiper-pagination,.swiper-slide {
    text-align: center
}

#sketch {
    position: absolute;
    left: 0;
    top: 246px;
    width: auto;
    opacity: .3;
    z-index: 100000;
    pointer-events: none
}

#sketch.sp {
    width: 100%;
    height: auto;
    top: 91px
}

#sketch.center,#sketch.fixed {
    position: fixed;
    top: 50%;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%)
}

#sketch.center {
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

#sketch.footfixed {
    position: fixed;
    top: auto;
    bottom: 0
}

.carousel-button,.main-scroll {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.-current .lineup-progress-item-active,.-loading #loading,.footer-pagetop,.footer-sns a,.header-logo a,article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section {
    display: block
}

body {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    font-family: "Noto Sans JP",noto-sans-cjk-jp,"Noto Sans CJK JP","游ゴシック体","游ゴシック","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",sans-serif;
    font-display: optional;
    line-height: 1;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

body,h1,h2,h3,h4 {
    font-weight: 500
}

.footer-lead,.forfuture-lead,.forfuture-lead2,.main-title-jp,.outline-body .outline-message,.section-title-jp,mark {
    font-weight: 700
}

.app-images-item4-lead,.app-item-title-number,.carousel-button,.contact-title,.footer-copyright,.footer-pagetop,.footer-privacypolicy,.forfuture-zoom,.gnav-item-anchor,.lineup-body-index,.lineup-slide-label,.main-scroll,.menu-anchor,.section-label,.section-title-en {
    font-family: Poppins,sans-serif;
    font-display: optional
}

.footer-copyright,.footer-pagetop {
    font-weight: 400
}

.app-images-item4-lead,.app-item-title-number,.carousel-button,.contact-title,.footer-privacypolicy,.forfuture-zoom,.gnav-item-anchor,.lineup-body-index,.lineup-slide-label,.main-scroll,.menu-anchor,.section-label,.section-title-en {
    font-weight: 600
}

.lineup-body a {
    border-bottom: 1px solid #1e322f;
    transition: color .6s cubic-bezier(.25, .46, .45, .94),border-color .6s cubic-bezier(.25, .46, .45, .94)
}

.lineup-body a .icon {
    transition: stroke .6s cubic-bezier(.25, .46, .45, .94)
}

.app-images-circle-item-actor,.gnav-point-circle,.lineup-carousel-centercircle .circle,.main-scroll-circle-actor {
    stroke-dasharray: 0 314;
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0
}

blockquote,q {
    quotes: none
}

blockquote:after,blockquote:before,q:after,q:before {
    content: none
}

a,hr {
    padding: 0
}

a {
    margin: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0
}

ins,mark {
    background-color: #ff9;
    color: #000
}

mark {
    font-style: italic
}

del {
    text-decoration: line-through
}

abbr[title],dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0
}

input,select {
    vertical-align: middle
}

:root {
    --client-height: 100vh;
    --swiper-theme-color: #007aff;
    --swiper-navigation-size: 44px
}

.m-sp,.svgsprite {
    display: none
}

.-loading #header,.-loading #wrapper,.main-shadow,.pin-spacer,.swiper-cube .swiper-slide .swiper-slide,.swiper-fade .swiper-slide .swiper-slide,.swiper-flip .swiper-slide .swiper-slide,a svg,a.disable {
    pointer-events: none
}

a[href^="tel:"] {
    color: inherit
}

.swiper-cards,.swiper-cube,.swiper-flip,img[src$=".svg"],svg,symbol {
    overflow: visible
}

img,img[src$=".svg"],svg {
    width: 100%;
    height: auto
}

.lazy,.lazyloading,.outline-body p.-backstage,.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.lazyloaded {
    opacity: 1;
    transition: opacity .8s cubic-bezier(.25, .46, .45, .94)
}

.lazypreload,.lineup-slide-label-item.-backstage,.swiper-slide.-backstage {
    transition: none
}

.swiper-slide,.swiper-wrapper {
    transition-property: transform
}

.swiper-fade.swiper-free-mode .swiper-slide,.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out
}

@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

.swiper,.swiper-wrapper {
    position: relative;
    z-index: 1
}

.swiper {
    padding: 0
}

.swiper-grid-column>.swiper-wrapper,.swiper-vertical>.swiper-wrapper {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-wrapper {
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-wrapper {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0)
}

.swiper-pointer-events {
    -ms-touch-action: pan-y;
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    -ms-touch-action: pan-x;
    touch-action: pan-x
}

.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,rgba(0,0,0,.5),transparent)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,rgba(0,0,0,.5),transparent)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,rgba(0,0,0,.5),transparent)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,rgba(0,0,0,.5),transparent)
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: '';
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-order: 9999;
    -ms-flex-order: 9999;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    -moz-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-horizontal>.swiper-wrapper: :before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-vertical>.swiper-wrapper: :before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/44*27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0 -(var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color))
}

#loading,.forfuture-zoom,.swiper-button-lock,.swiper-pagination-lock,.swiper-scrollbar-lock,.withus-zoom {
    display: none
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none!important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-pagination {
    position: absolute;
    transition: opacity .3s;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    z-index: 10
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(.33);
    -ms-transform: scale(.33);
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(.66);
    -ms-transform: scale(.66);
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(.33);
    -ms-transform: scale(.33);
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: 0;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none!important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0,-50%,0);
    transform: translate3d(0,-50%,0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: transform .2s,top .2s
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s,left .2s
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: transform .2s,right .2s
}

.swiper-pagination-progressbar {
    background: rgba(0,0,0,.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0,0,0,.1)
}

.swiper-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0,0,0,.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag,.swiper-slide-zoomed {
    cursor: move
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    -ms-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-animation: 1s linear infinite swiper-preloader-spin;
    animation: 1s linear infinite swiper-preloader-spin;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    margin: 0 auto
}

.swiper-grid-column>.swiper-wrapper,.swiper-grid>.swiper-wrapper {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-cube .swiper-slide-active .swiper-slide-active,.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active,.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube.swiper-rtl .swiper-slide {
    -webkit-transform-origin: 100% 0;
    -ms-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top,.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    -webkit-filter: blur(50px);
    filter: blur(50px)
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-cards .swiper-slide,.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

.swiper-creative .swiper-slide {
    transition-property: transform,opacity,height
}

.swiper-cards .swiper-slide {
    -webkit-transform-origin: center bottom;
    -ms-transform-origin: center bottom;
    transform-origin: center bottom
}

/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
@-webkit-keyframes swiper-preloader-spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes infinityRotate {
    0 {
        -ms-transform: rotate(0);
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -ms-transform: rotate(-360deg);
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

@-webkit-keyframes spinnerRotate {
    0 {
        -ms-transform: rotate(0);
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -ms-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.has-scroll-smooth body,html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    display: inline-block;
    height: 100vh;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    height: 100%;
    vertical-align: top;
    white-space: nowrap
}

.c-scrollbar {
    height: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform-origin: center right;
    -ms-transform-origin: center right;
    transform-origin: center right;
    transition: transform .3s,opacity .3s;
    width: 11px
}

.c-scrollbar:hover {
    -webkit-transform: scaleX(1.45);
    -ms-transform: scaleX(1.45);
    transform: scaleX(1.45);
    opacity: 1
}

.carousel-button.-show,.has-scroll-dragging .c-scrollbar,.has-scroll-scrolling .c-scrollbar,.lineup-slide-label-item.-current {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    bottom: 0;
    height: 10px;
    top: auto;
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    width: 100%
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    -webkit-transform: scaleY(1.3);
    -ms-transform: scaleY(1.3);
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    background-color: #000;
    border-radius: 10px;
    cursor: -webkit-grab;
    cursor: grab;
    margin: 2px;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    width: 7px
}

#menu-btn,.carousel-button,.header-contact-bg,.menu-container {
    background-color: #1e322f
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    bottom: 0;
    right: auto
}

.header {
    z-index: 1000
}

.-loading #wrapper {
    visibility: hidden;
    overflow: hidden;
    opacity: 0
}

.-modal-hide-motion {
    overflow-y: scroll
}

.has-scroll-smooth #scroll-container {
    position: fixed
}

.l-container {
    margin-left: auto;
    margin-right: auto
}

.contact-title,.l-container,.l-container-full,.lineup-carousel,.lineup-title,.section-title,section {
    position: relative
}

.section-label {
    letter-spacing: .1em
}

.section-title-en {
    line-height: 1;
    letter-spacing: -.02em
}

.app-body,.lineup-description,.outline-body .outline-message,.section-title-jp {
    line-height: 2;
    letter-spacing: .05em
}

.c-illust {
    position: absolute;
    z-index: -1
}

.icon-window {
    fill: none;
    stroke: #1e322f
}

#main,.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%
}

.header-logo {
    left: 0
}

.app-images-item,.app-images-item-img,.footer-pagetop,.footer-sns,.header-contact,.header-logo,.loading-spinner {
    position: absolute
}

.header-contact-mask {
    position: absolute;
    left: -4%;
    top: -4%;
    width: 108%;
    height: 108%;
    border-radius: 50%;
    overflow: hidden;
    transition: .8s cubic-bezier(.19, 1, .22, 1)
}

.header-contact-mail {
    transition: opacity .8s cubic-bezier(.19, 1, .22, 1)
}

.header-contact-mail,.header-contact-plane {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

.header-contact-bg,.header-contact-plane img {
    transition: transform .8s cubic-bezier(.19, 1, .22, 1)
}

.header-contact-bg {
    top: 0;
    border-radius: 50%;
    z-index: 0
}

.gnav,.header-contact-bg {
    position: absolute;
    left: 0
}

.gnav-item-anchor {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    transition: color .2s cubic-bezier(.25, .46, .45, .94)
}

.gnav-item-anchor.-active {
    color: #00be78
}

.app-images-circle-item-fill,.gnav-item-anchor.-active .gnav-point {
    fill: #00be78
}

.gnav-item-anchor.-active .gnav-point-circle {
    stroke-dasharray: 313px 296px;
    transition: stroke-dasharray .8s cubic-bezier(.19, 1, .22, 1)
}

.gnav-point {
    position: absolute;
    top: 50%;
    width: 5px;
    height: 5px;
    fill: #1e322f;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    transition: fill .3s cubic-bezier(.25, .46, .45, .94)
}

.gnav-point-circle {
    stroke-width: 6.66667;
    position: absolute;
    top: 50%;
    width: 15px;
    height: 15px;
    margin-left: -5px;
    fill: none;
    stroke: #00be78;
    transition: stroke-dasharray .4s cubic-bezier(.19, 1, .22, 1);
    -ms-transform: translate(0,-50%) rotate(-90deg);
    -webkit-transform: translate(0,-50%) rotate(-90deg);
    transform: translate(0,-50%) rotate(-90deg)
}

#menu,.footer-textcircle {
    top: 0;
    pointer-events: none
}

.contact-anchor,.footer-logo {
    margin-left: auto;
    margin-right: auto
}

#menu,.footer {
    position: relative;
    overflow: hidden
}

#loading,#menu {
    position: fixed;
    opacity: 0
}

.footer-lead {
    line-height: 1.81818;
    letter-spacing: .05em
}

.footer-logo {
    display: block
}

.footer-links {
    font-size: 0
}

.footer-links-item {
    display: inline-block;
    vertical-align: top
}

.footer-links-hc,.footer-links-os {
    display: block;
    fill: #a0aaa5
}

.footer-sns-item,.menu-sns-item {
    display: inline-block;
    font-size: 0
}

.footer-sns .icon {
    position: relative;
    fill: #a0aaa5
}

.footer-copyright,.footer-privacypolicy {
    letter-spacing: .05em;
    position: absolute;
    color: #a0aaa5
}

.footer-copyright {
    color: #dce1e6
}

.footer-textcircle {
    position: absolute;
    left: 50%;
    fill: #f4f6f6;
    z-index: -1;
    -webkit-animation: 70s linear infinite infinityRotate;
    animation: 70s linear infinite infinityRotate
}

#menu {
    z-index: 1010;
    box-sizing: border-box;
    left: 0;
    width: 100%;
    height: 100%
}

#menu-btn,.menu-app,.menu-btn-icon,.menu-sns,.menu-sns .icon {
    position: absolute
}

.-showmenu #menu {
    opacity: 1;
    pointer-events: all
}

.-showmenu #menu .menu-container {
    -ms-transform: translate(0,0);
    -webkit-transform: translate(0,0);
    transform: translate(0,0)
}

.-hide-motion #menu .menu-container {
    transition: transform .4s cubic-bezier(.19, 1, .22, 1)
}

.menu-btn-icon #menu-icon-bottom,.menu-btn-icon #menu-icon-top,.menu-container {
    transition: transform .6s cubic-bezier(.19, 1, .22, 1)
}

.-hide-motion #menu .menu-container,.menu-container {
    -ms-transform: translate(100%,0);
    -webkit-transform: translate(100%,0);
    transform: translate(100%,0)
}

#menu-btn,.menu-sns a {
    border-radius: 50%;
    width: 14.49275vw;
    height: 14.49275vw
}

#menu-btn {
    z-index: 1011;
    right: 4.83092vw;
    top: 4.83092vw
}

.menu-btn-icon {
    left: 50%;
    top: 50%;
    line-height: 0;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 3.62319vw;
    height: .24155vw
}

.menu-btn-icon svg {
    fill: #f5f7fa;
    vertical-align: top
}

.menu-btn-icon #menu-icon-bottom,.menu-btn-icon #menu-icon-top {
    -ms-transform-origin: center center;
    -webkit-transform-origin: center center;
    transform-origin: center center
}

.-hide-motion .menu-btn-icon #menu-icon-top,.menu-btn-icon #menu-icon-top {
    -ms-transform: translate(0,-5px);
    -webkit-transform: translate(0,-5px);
    transform: translate(0,-5px)
}

.-hide-motion .menu-btn-icon #menu-icon-bottom,.menu-btn-icon #menu-icon-bottom {
    -ms-transform: translate(0,5px);
    -webkit-transform: translate(0,5px);
    transform: translate(0,5px)
}

.-showmenu .menu-btn-icon #menu-icon-top {
    -ms-transform: translate(0,0) rotate(25deg);
    -webkit-transform: translate(0,0) rotate(25deg);
    transform: translate(0,0) rotate(25deg)
}

.-showmenu .menu-btn-icon #menu-icon-bottom {
    -ms-transform: translate(0,0) rotate(-25deg);
    -webkit-transform: translate(0,0) rotate(-25deg);
    transform: translate(0,0) rotate(-25deg)
}

.menu-container,.menu-nav {
    position: absolute;
    z-index: 10
}

.menu-container {
    right: 0;
    top: 0;
    height: 100%;
    overflow: hidden;
    width: 82.36715vw
}

.menu-nav {
    left: 50%;
    top: 50%;
    -ms-transform: translate3d(-50%,-50%,0);
    -webkit-transform: translate3d(-50%,-50%,0);
    transform: translate3d(-50%,-50%,0);
    margin-top: -21.73913vw
}

.menu-item+.menu-item {
    margin-top: 5.43478vw
}

.menu-anchor {
    display: block;
    color: #fff;
    white-space: nowrap;
    font-size: 5.43478vw;
    letter-spacing: .05em;
    padding: 3.62319vw
}

.menu-sns {
    left: 50%;
    bottom: 28.98551vw;
    white-space: nowrap;
    z-index: 10;
    -ms-transform: translate3d(-50%,0,0);
    -webkit-transform: translate3d(-50%,0,0);
    transform: translate3d(-50%,0,0)
}

.loading-phone-container,.menu-sns .icon {
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%)
}

.menu-sns-item+.menu-sns-item {
    margin-left: 5.7971vw
}

.menu-sns a {
    position: relative;
    display: inline-block;
    border: .24155vw solid #848e8c
}

.menu-sns .icon {
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    fill: #fff
}

.menu-sns-facebook .icon {
    width: 1.93237vw;
    height: 3.86473vw
}

.menu-sns-twitter .icon {
    width: 3.86473vw;
    height: 3.01932vw
}

.menu-sns-instagram .icon {
    width: 3.26087vw;
    height: 3.26087vw
}

.menu-app {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 63.28502vw;
    left: 50%;
    bottom: 9.66184vw;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    z-index: 10;
    -ms-transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0)
}

.menu-bg,.menu-textcircle {
    z-index: 0;
    position: absolute
}

.menu-app img {
    width: auto;
    height: 9.66184vw
}

.menu-textcircle {
    top: 50%;
    pointer-events: none;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
    width: 126.57005vw;
    height: 126.57005vw;
    left: 9.54106vw;
    margin-top: -1.81159vw
}

.menu-textcircle-svg {
    position: absolute;
    fill: #273633;
    -webkit-animation: 60s linear infinite infinityRotate;
    animation: 60s linear infinite infinityRotate
}

#loading,.menu-bg,.menu-textcircle-svg {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

#loading {
    z-index: 1100;
    background-color: #00be78
}

#loading.-show,.-loading #loading {
    opacity: 1;
    transition: opacity .3s cubic-bezier(.25, .46, .45, .94)
}

.-hide-loading #wrapper {
    opacity: 1;
    visibility: visible
}

.loading-phone-container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%)
}

.loading-carousel {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

.loading-carousel .swiper {
    -ms-transform: rotate(-15deg);
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg)
}

.loading-carousel .swiper-slide-active .swiper-slide-image,.loading-carousel .swiper-slide-duplicate-active .swiper-slide-image,.loading-carousel .swiper-slide-image {
    -ms-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg)
}

#main,.app-images,.main-shadow {
    height: var(--client-height)
}

.main-title {
    position: absolute;
    z-index: 1
}

.main-title-jp {
    line-height: 1.8
}

.main-title-en-l1,.main-title-en-l2,.main-title-jp-l1,.main-title-jp-l2 {
    -ms-transform-origin: right bottom;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom
}

.-appear-motion .main-title-en-l1,.-appear-motion .main-title-en-l2,.-appear-motion .main-title-jp-l1,.-appear-motion .main-title-jp-l2 {
    -ms-transform-origin: left bottom;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
}

.main-title-en svg {
    height: 100%
}

.main-kv,.main-kv img,.main-kv video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.main-kv {
    z-index: 0;
    -ms-transform-origin: right 15%;
    -webkit-transform-origin: right 15%;
    transform-origin: right 15%
}

.main-kv img,.main-kv video {
    object-fit: cover
}

.forfuture-illust-city,.main-kv video,.withus-illust-city {
    z-index: 1
}

.main-scroll {
    letter-spacing: .05em;
    position: absolute
}

.main-scroll-circle {
    stroke-width: .71429;
    fill: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.app-images-circle-item-base,.main-scroll-circle-base {
    stroke: #e6ebf0
}

.app-images-circle-item-actor,.main-scroll-circle-actor {
    stroke: #00be78
}

.outline-body {
    line-height: 2.22222;
    letter-spacing: .1em
}

.outline-body p {
    transition: opacity 1.5s cubic-bezier(.25, .46, .45, .94),transform 1.5s cubic-bezier(.23, 1, .32, 1)
}

.outline-illust-container {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.carousel-button {
    letter-spacing: .03em;
    box-sizing: border-box;
    position: absolute;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s cubic-bezier(.25, .46, .45, .94)
}

.carousel-button-clickable {
    position: absolute;
    cursor: pointer;
    -ms-transform: skewX(-22deg);
    -webkit-transform: skewX(-22deg);
    transform: skewX(-22deg)
}

.swiper {
    -ms-transform: rotate(-22deg);
    -webkit-transform: rotate(-22deg);
    transform: rotate(-22deg);
    -ms-transform-origin: center bottom;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    overflow: visible
}

.swiper-wrapper {
    -webkit-align-items: end;
    -ms-flex-align: end;
    align-items: end;
    transition-timing-function: cubic-bezier(.19,1,.22,1)
}

.swiper-slide,.swiper-slide-image {
    transition: transform 1s cubic-bezier(.19, 1, .22, 1)
}

.swiper-slide {
    width: auto;
    height: auto
}

.swiper-slide img {
    transition: opacity .8s cubic-bezier(.25, .46, .45, .94)
}

.swiper-slide-active .swiper-slide-image,.swiper-slide-duplicate-active .swiper-slide-image {
    -ms-transform: scale(1.6) rotate(22deg);
    -webkit-transform: scale(1.6) rotate(22deg);
    transform: scale(1.6) rotate(22deg)
}

.swiper-slide-active.lineup-slide-car .swiper-slide-image,.swiper-slide-duplicate-active.lineup-slide-car .swiper-slide-image {
    -ms-transform: scale(1.4) rotate(22deg);
    -webkit-transform: scale(1.4) rotate(22deg);
    transform: scale(1.4) rotate(22deg)
}

.swiper-slide-image {
    display: inline-block;
    position: relative;
    -ms-transform: rotate(22deg);
    -webkit-transform: rotate(22deg);
    transform: rotate(22deg);
    -ms-transform-origin: center bottom;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom
}

.swiper-slide-active .swiper-slide-image,.swiper-slide-duplicate-active .swiper-slide-image {
    -webkit-transition: -webkit-transform .8s cubic-bezier(.19, 1, .22, 1);
    -webkit-transition-delay: .6s;
    transition: transform .8s cubic-bezier(.19, 1, .22, 1) .6s
}

#contact,.lineup-body {
    z-index: 10
}

.lineup-body .icon {
    display: inline
}

.lineup-body-item {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.lineup-body-item.-current {
    position: relative;
    pointer-events: all
}

.lineup-body-index {
    letter-spacing: .05em;
    color: #c8cdd2
}

.lineup-body-index-current {
    color: #1e322f
}

.lineup-title-hc {
    position: absolute;
    right: 0;
    top: 50%;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%)
}

.lineup-progress {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

.lineup-progress-item {
    position: relative;
    cursor: pointer
}

.lineup-progress-item-active,.lineup-progress-item:before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #e6ebf0
}

.lineup-progress-item-active {
    display: none;
    background-color: #00be78;
    -ms-transform: scaleX(0);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transform-origin: left top;
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.lineup-progress-item-circle {
    position: absolute;
    left: 0;
    width: 5px;
    height: 5px;
    fill: #00be78;
    opacity: 0;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

.lineup-progress-item.-current {
    cursor: default;
    pointer-events: none
}

.lineup-progress-item.-current .lineup-progress-item-circle {
    opacity: 1;
    transition: opacity .4s cubic-bezier(.25, .46, .45, .94)
}

.lineup-carousel-slider {
    position: absolute;
    left: 0;
    width: 100%
}

.lineup-carousel-centercircle {
    position: absolute;
    left: 50%;
    bottom: 0;
    opacity: .5;
    -ms-transform: translate(-50%,0) scaleY(.2934);
    -webkit-transform: translate(-50%,0) scaleY(.2934);
    transform: translate(-50%,0) scaleY(.2934);
    -ms-transform-origin: center bottom;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom
}

.lineup-carousel-centercircle .circle {
    stroke-width: .5102;
    width: 100%;
    height: 100%;
    stroke: #00be78;
    fill: none
}

.lineup-slide-label {
    letter-spacing: .13em;
    position: absolute;
    left: 50%;
    bottom: 0;
    color: #e6ebf0;
    line-height: .7;
    white-space: nowrap
}

.lineup-slide-label-item {
    position: absolute;
    opacity: 0;
    transition: opacity 1s cubic-bezier(.25, .46, .45, .94),transform 1s cubic-bezier(.19, 1, .22, 1)
}

.lineup-slide-label-item.-hide-motion {
    opacity: 0;
    transition: opacity .2s cubic-bezier(.25, .46, .45, .94),transform 1s cubic-bezier(.19, 1, .22, 1)
}

.lineup-slide-label-item-inner {
    -ms-transform: skewX(54deg) translate(-50%,0);
    -webkit-transform: skewX(54deg) translate(-50%,0);
    transform: skewX(54deg) translate(-50%,0)
}

.lineup-illust-container {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: -1
}

.app-item-title-number {
    letter-spacing: .03em;
    display: inline-block;
    position: relative;
    color: #00be78;
    vertical-align: middle
}

.app-item-note {
    line-height: 1.61538;
    padding-left: 1em;
    text-indent: -1em;
    color: #a0aaa5
}

.app-item-links {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.app-item-links a {
    line-height: 0
}

.app-item-links-appstore .lazy,.app-item-links-appstore .lazyloading,.app-item-links-googleplay .lazy,.app-item-links-googleplay .lazyloading {
    height: 12.31884vw
}

.app-images,.app-images-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%
}

.app-images-wrapper {
    height: 100%;
    pointer-events: none
}

.app-images-contents {
    position: absolute;
    top: 50%;
    -ms-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%)
}

.app-images-item {
    width: 100%;
    height: 100%;
    z-index: 10
}

.app-images-item4-lead {
    line-height: 1.2;
    position: absolute
}

.app-images-circle,.app-images-circle-item {
    position: absolute;
    width: 100%;
    height: 100%
}

.app-images-circle-item {
    stroke-width: .2;
    fill: none
}

.app-illust-container {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

#forfuture {
    background-color: #eff2f3
}

.forfuture-body {
    line-height: 2.66667;
    letter-spacing: .05em;
    position: relative;
    z-index: 10
}

.forfuture-lead,.forfuture-lead2,.withus-lead,.withus-lead2 {
    line-height: 1.5;
    letter-spacing: .05em
}

.forfuture-lead2,.withus-lead2 {
    line-height: 2
}

.forfuture-illust-container,.withus-illust-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0
}

#withus {
    margin-top: 8.85vw
}

.withus-body {
    line-height: 2.66667;
    letter-spacing: .05em;
    position: relative;
    z-index: 10;
    background-color: #fff;
    padding: 4.95vw 7.29vw 7.8vw 9.38vw
}

.contact-anchor {
    position: relative;
    display: block;
    background-color: #e4e8e9;
    overflow: hidden
}

.contact-img {
    position: absolute;
    bottom: 0;
    line-height: 0
}

.contact-title .t {
    letter-spacing: -.07em
}

.contact-title .a,.contact-title .c {
    letter-spacing: -.03em
}

.contact-description {
    line-height: 1.66667;
    letter-spacing: .05em
}

.contact-arrow-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #00be78;
    border-radius: 50%;
    transition: transform .6s cubic-bezier(.19, 1, .22, 1),background .6s cubic-bezier(.19, 1, .22, 1)
}

.contact-arrow-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    fill: #00be78;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    transition: fill .6s cubic-bezier(.19, 1, .22, 1)
}

@media(min-width: 768px) {
    .alphaover,.app-item-links a {
        transition:opacity .3s cubic-bezier(.25, .46, .45, .94);
        cursor: pointer
    }

    .alphaover:hover,.app-item-links a:hover {
        transition: opacity .2s cubic-bezier(.25, .46, .45, .94);
        opacity: .6
    }
}

@media(min-width: 769px) {
    .footer-pagetop,.footer-privacypolicy {
        transition:color .8s cubic-bezier(.19, 1, .22, 1)
    }

    body {
        font-size: .9375vw;
        width: 100%
    }

    .lineup-body a:hover {
        color: #00be78;
        border-color: #00be78;
        transition: color .2s cubic-bezier(.25, .46, .45, .94),border-color .2s cubic-bezier(.25, .46, .45, .94)
    }

    .lineup-body a:hover .icon {
        stroke: #00be78;
        transition: stroke .2s cubic-bezier(.25, .46, .45, .94)
    }

    #loading,#scroll-container,html {
        width: 100%;
        overflow: hidden
    }

    .is-tablet #loading #scroll-container,.is-tablet body #scroll-container,.is-tablet html #scroll-container {
        position: relative;
        height: var(--client-height);
        overflow-y: scroll!important
    }

    .-showmenu,body {
        overflow: hidden
    }

    #scroll-container {
        overflow-y: hidden!important
    }

    .l-container {
        width: 75vw
    }

    .l-container-full {
        margin-left: 3.125vw;
        margin-right: 3.125vw
    }

    .section-label {
        font-size: .75vw;
        margin-bottom: 1.5625vw
    }

    .section-label-center {
        margin-bottom: .3125vw
    }

    .section-title-en {
        font-size: 5.625vw
    }

    .section-title-jp {
        font-size: 1.125vw;
        margin-top: .125vw
    }

    .c-section {
        padding-top: 6.25vw
    }

    .icon-window {
        width: .5vw;
        height: .5vw
    }

    .header-logo {
        top: 3.5vw
    }

    .header-logo svg {
        width: 7.25vw;
        height: 6.9375vw
    }

    .header-contact {
        width: 4.375vw;
        height: 4.375vw;
        right: 2.125vw;
        top: 4.5625vw
    }

    .header-contact-mail {
        width: 1.25vw;
        height: .8125vw
    }

    .header-contact-plane {
        width: 2.4375vw;
        margin-left: .0625vw;
        margin-top: .125vw
    }

    .header-contact-plane img {
        -ms-transform: translate(-4.0625vw,1.5625vw);
        -webkit-transform: translate(-4.0625vw,1.5625vw);
        transform: translate(-4.0625vw,1.5625vw)
    }

    .header-contact-bg {
        width: 4.375vw;
        height: 4.375vw
    }

    .header-contact:hover .header-contact-mask {
        transition: .4s cubic-bezier(.19, 1, .22, 1)
    }

    .header-contact:hover .header-contact-mail {
        opacity: 0;
        transition: opacity .4s cubic-bezier(.19, 1, .22, 1)
    }

    .header-contact:hover .header-contact-bg,.header-contact:hover .header-contact-plane img {
        transition: transform .4s cubic-bezier(.19, 1, .22, 1)
    }

    .header-contact:hover .header-contact-plane img {
        -ms-transform: translate(0,0);
        -webkit-transform: translate(0,0);
        transform: translate(0,0)
    }

    .header-contact:hover .header-contact-bg {
        -ms-transform: scale(1.286);
        -webkit-transform: scale(1.286);
        transform: scale(1.286)
    }

    .gnav {
        width: 9.375vw;
        top: 11.875vw
    }

    .gnav-item {
        padding-bottom: .25vw
    }

    .gnav-item-anchor {
        font-size: .75vw;
        padding: .5625vw;
        padding-left: calc(.25vw + 16px)
    }

    .gnav-item-anchor:hover {
        color: #00be78
    }

    .gnav-item-anchor:hover .gnav-point {
        fill: #00be78
    }

    .gnav-item-anchor:hover .gnav-point-circle {
        stroke-dasharray: 313px 296px
    }

    .gnav-point,.gnav-point-circle {
        left: .3125vw
    }

    .footer {
        margin-top: 7.25vw;
        padding-top: 16.125vw;
        padding-bottom: 19.875vw
    }

    .footer-lead {
        font-size: 1.375vw;
        margin-bottom: 1.8125vw
    }

    .footer-logo {
        width: 6.3125vw;
        height: 6.1875vw
    }

    .footer-links {
        left: 3.125vw;
        bottom: 2.1875vw;
        position: absolute
    }

    .footer-links a .icon,.footer-sns a .icon {
        transition: fill .8s cubic-bezier(.19, 1, .22, 1)
    }

    .footer-links a.-hover .icon,.footer-links a:hover .icon,.footer-sns a.-hover .icon,.footer-sns a:hover .icon {
        fill: #1e322f;
        transition: fill .3s cubic-bezier(.19, 1, .22, 1)
    }

    .footer-links-os {
        width: 8.8125vw;
        height: 1.6875vw
    }

    .footer-links-hc {
        width: 12vw;
        height: 1vw;
        margin-left: 2.1875vw;
        margin-top: .375vw
    }

    .footer-pagetop {
        width: 7.25vw;
        height: 6.875vw;
        letter-spacing: .05em;
        left: 50%;
        bottom: 0;
        color: #a0aaa5;
        text-align: center;
        -ms-transform: translate(-50%,0);
        -webkit-transform: translate(-50%,0);
        transform: translate(-50%,0)
    }

    .footer-pagetop:hover,.footer-privacypolicy:hover {
        color: #1e322f;
        transition: color .3s cubic-bezier(.19, 1, .22, 1)
    }

    .footer-pagetop-label {
        font-size: .8125vw
    }

    .footer-pagetop-line {
        height: 5vw;
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 1px;
        overflow: hidden
    }

    .footer-pagetop-line:before {
        height: 100%;
        background-color: #e6ebf0
    }

    .footer-pagetop-line:after,.footer-pagetop-line:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%
    }

    .footer-pagetop-line:after {
        height: 400%;
        background-color: #00be78;
        -ms-transform: translate(0,25%);
        -webkit-transform: translate(0,25%);
        transform: translate(0,25%)
    }

    .footer-pagetop.-play .footer-pagetop-line:after {
        -ms-transform: translate(0,-100%);
        -webkit-transform: translate(0,-100%);
        transform: translate(0,-100%);
        transition: transform 1s cubic-bezier(1, 0, 0, 1)
    }

    .footer-pagetop.-hover .footer-pagetop-line:after {
        -ms-transform: translate(0,-75%);
        -webkit-transform: translate(0,-75%);
        transform: translate(0,-75%);
        transition: transform .6s cubic-bezier(1, 0, 0, 1)
    }

    .footer-sns {
        right: 10.125vw;
        bottom: 2.8125vw
    }

    .footer-sns a {
        padding: .9375vw
    }

    .footer-sns-facebook .icon {
        width: .6875vw;
        height: 1.25vw
    }

    #app .section-title-en,.footer-sns-twitter {
        margin-left: -.3125vw
    }

    .footer-sns-twitter .icon {
        width: 1.375vw;
        height: 1.0625vw;
        top: -.0625vw
    }

    .footer-sns-instagram {
        margin-left: -.375vw
    }

    .footer-sns-instagram .icon {
        width: 1.1875vw;
        height: 1.1875vw
    }

    .footer-privacypolicy {
        font-size: .75vw;
        right: 2.1875vw;
        bottom: 2.9375vw;
        padding: .9375vw
    }

    .footer-copyright {
        font-size: .625vw;
        right: 3.125vw;
        bottom: 2.1875vw
    }

    .footer-textcircle {
        width: 124.875vw;
        height: 124.875vw;
        margin-left: -62.4375vw
    }

    #menu,#menu-btn,.app-item-image,.forfuture-illust-flag,.lineup-arrow {
        display: none
    }

    .loading-phone {
        width: 21.8125vw
    }

    .loading-spinner {
        left: 9.625vw;
        top: 28.5625vw;
        width: 2.625vw;
        height: 2.625vw
    }

    .loading-carousel {
        margin-top: -3.125vw
    }

    .loading-carousel.-backstage .swiper-wrapper {
        margin-left: -3.125vw
    }

    .loading-carousel .swiper-slide {
        margin-left: 5.625vw;
        margin-right: 5.625vw
    }

    .loading-slide-car .swiper-slide-image {
        width: 10.5625vw
    }

    .loading-slide-car img {
        width: 13.0625vw
    }

    .loading-slide-ebike .swiper-slide-image {
        width: 8.9375vw
    }

    .loading-slide-bicycle img,.loading-slide-ebike img,.loading-slide-scooter img {
        width: 11.25vw
    }

    .loading-slide-scooter .swiper-slide-image {
        width: 8.0625vw
    }

    .loading-slide-bicycle .swiper-slide-image {
        width: 8.5vw
    }

    .loading-slide-segway .swiper-slide-image {
        width: 7.6875vw;
        top: -.9375vw
    }

    .loading-slide-segway img {
        width: 9.75vw
    }

    .main-shadow {
        padding-bottom: 25vw
    }

    .main-title {
        left: 3.125vw;
        bottom: 3.125vw
    }

    .main-title-jp {
        font-size: 1.25vw
    }

    .app-item-links,.main-title-en {
        margin-top: 1.5625vw
    }

    .main-title-en-l1 {
        width: 52.125vw;
        height: 5.625vw
    }

    .main-title-en-l2 {
        width: 52vw;
        height: 4.75vw;
        margin-top: 1.0625vw
    }

    .main-scroll {
        font-size: .6875vw;
        width: 8.75vw;
        height: 8.75vw;
        right: 3.125vw;
        bottom: 1.75vw
    }

    #lineup,#outline {
        padding-bottom: 8.75vw;
        margin-bottom: 6.25vw
    }

    #outline .section-title {
        margin-left: 5vw
    }

    #lineup .section-title-en,#outline .section-title-en {
        margin-left: -.25vw
    }

    .outline-body {
        font-size: 1.125vw;
        width: 65vw;
        margin-top: 6.25vw;
        position: relative;
        margin-left: auto;
        margin-right: auto
    }

    .outline-body p.-backstage {
        -ms-transform: translate(0,7.5vw);
        -webkit-transform: translate(0,7.5vw);
        transform: translate(0,7.5vw)
    }

    .outline-body p+p {
        margin-top: 1.75vw
    }

    .outline-body .outline-message {
        font-size: 1.5vw;
        margin-top: 3.125vw
    }

    .outline-illust-station {
        width: 64.375vw;
        left: 39.5625vw;
        top: 25.3125vw
    }

    .outline-illust-cloud1 {
        width: 15.5625vw;
        left: 61.0625vw;
        top: -4.375vw
    }

    .outline-illust-cloud2 {
        width: 11vw;
        left: -14.875vw;
        top: 45.3125vw
    }

    #lineup {
        padding-bottom: 16.25vw
    }

    .carousel-button {
        font-size: .8125vw;
        width: 7.5vw;
        height: 7.5vw;
        left: -3.75vw;
        top: -4.375vw
    }

    .carousel-button-clickable {
        height: 37.5vw;
        bottom: -9.375vw
    }

    .carousel-button-clickable-prev {
        width: 44.375vw;
        left: -4.375vw
    }

    .carousel-button-clickable-next {
        width: 37.5vw;
        right: -3.75vw
    }

    .swiper-slide,.swiper-wrapper {
        pointer-events: none
    }

    .swiper-slide {
        margin-left: 1.875vw;
        margin-right: 1.875vw
    }

    .swiper-slide[data-position="-1"],.swiper-slide[data-position="-2"],.swiper-slide[data-position="-3"] {
        -ms-transform: translate(-8.75vw,0);
        -webkit-transform: translate(-8.75vw,0);
        transform: translate(-8.75vw,0)
    }

    .swiper-slide[data-position="1"],.swiper-slide[data-position="2"],.swiper-slide[data-position="3"] {
        -ms-transform: translate(5.9375vw,0);
        -webkit-transform: translate(5.9375vw,0);
        transform: translate(5.9375vw,0)
    }

    .lineup-body {
        width: 23.75vw;
        top: 25vw;
        position: absolute;
        left: 0
    }

    .lineup-body .icon {
        margin-left: .3125vw;
        margin-right: .3125vw
    }

    .lineup-body-index {
        font-size: .6875vw;
        margin-left: .125vw;
        margin-bottom: 1.375vw
    }

    .lineup-title {
        font-size: 1.5vw;
        margin-bottom: 1.375vw
    }

    .lineup-title-hc {
        width: 8.5vw;
        height: .6875vw;
        margin-top: .125vw
    }

    .forfuture-zoom,.lineup-description {
        font-size: .9375vw
    }

    .lineup-progress {
        margin-top: .75vw;
        margin-left: .1875vw
    }

    .lineup-progress-item {
        width: 5.625vw;
        height: 1.25vw
    }

    .lineup-progress-item-active,.lineup-progress-item-circle,.lineup-progress-item:before {
        top: .625vw
    }

    .lineup-carousel {
        height: 35.3125vw;
        left: 3.75vw
    }

    .lineup-carousel-slider {
        bottom: 2.5vw
    }

    .lineup-carousel-centercircle {
        width: 41.75vw;
        height: 41.75vw
    }

    .lineup-slide-car .swiper-slide-image {
        width: 22.0625vw;
        left: -.625vw;
        top: .3125vw
    }

    .lineup-slide-car img {
        width: 27.875vw
    }

    .lineup-slide-scooter .swiper-slide-image {
        width: 14.3125vw;
        left: -1.25vw;
        margin-left: 1.875vw
    }

    .lineup-slide-scooter img {
        width: 20vw
    }

    .lineup-slide-segway .swiper-slide-image {
        width: 14.25vw;
        left: -.625vw;
        top: -.625vw
    }

    .lineup-slide-segway img {
        width: 18.1875vw
    }

    .lineup-slide-bicycle .swiper-slide-image {
        width: 15.25vw;
        top: .9375vw
    }

    .lineup-slide-bicycle img {
        width: 19.96875vw
    }

    .lineup-slide-label {
        font-size: 4.375vw;
        -ms-transform: translate(17.5vw,-1.5625vw) rotate(-18deg);
        -webkit-transform: translate(17.5vw,-1.5625vw) rotate(-18deg);
        transform: translate(17.5vw,-1.5625vw) rotate(-18deg)
    }

    .lineup-slide-label-item.-backstage,.lineup-slide-label[data-direction=backward] .lineup-slide-label-item.-hide-motion {
        -ms-transform: translate(11.25vw,0);
        -webkit-transform: translate(11.25vw,0);
        transform: translate(11.25vw,0)
    }

    .lineup-slide-label-item.-hide-motion,.lineup-slide-label[data-direction=backward] .lineup-slide-label-item.-backstage {
        -ms-transform: translate(-11.25vw,0);
        -webkit-transform: translate(-11.25vw,0);
        transform: translate(-11.25vw,0)
    }

    .lineup-illust-building {
        width: 5.75vw;
        left: -5.5vw;
        top: 46.5625vw
    }

    .lineup-illust-cloud1 {
        width: 3.6875vw;
        left: 65.375vw;
        top: 5.375vw
    }

    .lineup-illust-cloud2 {
        width: 15.875vw;
        right: -12.5vw;
        top: 46.5625vw
    }

    #app {
        padding-bottom: 24.375vw
    }

    #app .section-label {
        margin-bottom: 1.25vw
    }

    .app-body {
        font-size: 1.125vw;
        margin-left: 44.6875vw
    }

    .app-lead {
        margin-top: 2.375vw;
        margin-bottom: 10.9375vw
    }

    .app-item+.app-item {
        margin-top: 17.5vw
    }

    .app-item-title {
        font-size: 1.5vw;
        margin-bottom: .3125vw
    }

    .app-item-title-number {
        font-size: .6875vw;
        top: -.125vw;
        padding-left: .375vw;
        margin-right: .3125vw
    }

    .app-item-body {
        padding-left: .25vw
    }

    .app-item-note {
        font-size: .8125vw;
        margin-top: 1.0625vw
    }

    .app-item-links-appstore {
        width: 12.0625vw
    }

    .app-item-links-googleplay {
        width: 13vw;
        margin-left: .9375vw
    }

    .app-images-contents {
        width: 31.25vw;
        height: 31.25vw;
        left: 17.5vw
    }

    .app-images-item0-img {
        width: 18vw;
        left: 6.3125vw;
        top: 7.125vw
    }

    .app-images-item1-img {
        width: 19.375vw;
        left: 6.625vw;
        top: 4.375vw
    }

    .app-images-item2-img {
        width: 28.25vw;
        left: 1.3125vw;
        top: .875vw
    }

    .app-images-item3-img {
        width: 36.75vw;
        left: 0;
        top: 5.125vw
    }

    .app-images-item4-img {
        width: 33.8125vw;
        left: 1.625vw;
        top: -3.625vw
    }

    .app-images-item4-lead {
        font-size: 3.125vw;
        left: -5vw;
        top: 12vw;
        width: 16.25vw
    }

    .app-illust-cloud {
        width: 8.625vw;
        left: 73.75vw;
        top: 28.375vw
    }

    #forfuture {
        padding-top: 28.4375vw;
        padding-bottom: 11.46vw
    }

    #forfuture .section-title-en {
        margin-top: .625vw
    }

    #forfuture .section-title-jp {
        margin-top: 1.8125vw
    }

    .forfuture-heading {
        margin-bottom: 10.625vw
    }

    .forfuture-body {
        font-size: .9375vw;
        margin-left: 17.5vw;
        margin-right: 17.5vw
    }

    .forfuture-body p+p {
        margin-top: .9375vw
    }

    .forfuture-body2 {
        margin-top: 65.625vw
    }

    .forfuture-lead {
        font-size: 1.5vw;
        margin-bottom: 2.375vw
    }

    .forfuture-lead2 {
        font-size: 1.375vw;
        margin-top: 3.4375vw
    }

    .forfuture-illust-city {
        width: 103vw;
        left: .625vw;
        top: 90.625vw
    }

    .forfuture-illust-cloud1 {
        width: 11.25vw;
        left: 0;
        top: 16.5vw
    }

    .forfuture-illust-cloud2 {
        width: 31.875vw;
        left: 61.75vw;
        top: 39.125vw
    }

    .forfuture-illust-cloud3 {
        width: 5.09375vw;
        left: -7.75vw;
        top: 69.75vw
    }

    #withus {
        padding-top: 0;
        padding-bottom: 12.24vw
    }

    #withus .section-title {
        display: flex;
        align-items: baseline
    }

    #withus .section-title-en {
        font-size: 4vw
    }

    #withus .section-title-jp {
        margin-top: 1.8125vw;
        margin-left: 2.6vw
    }

    .withus-heading {
        margin-bottom: 10.625vw;
        position: relative
    }

    .withus-heading::after {
        content: "";
        width: 4.69vw;
        height: .42vw;
        display: block;
        position: absolute;
        bottom: -1.56vw;
        left: 0;
        background: #1e322f
    }

    .withus-body {
        font-size: .9375vw;
        margin-left: 12.5vw;
        margin-right: 12.5vw
    }

    .withus-list {
        margin-top: 7.55vw;
        background: #fff;
        border-radius: 25px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6.21vw
    }

    .withus-list li a {
        display: flex;
        align-items: center;
        transition: .3s;
        cursor: pointer
    }

    @media(any-hover: hover) {
        .withus-list li a:hover {
            opacity:.7
        }
    }

    .withus-list .is-enefant {
        width: 11.46vw
    }

    .withus-list .is-eneos {
        width: 9.32vw;
        margin-left: 1.67vw
    }

    .withus-list .is-sunautus {
        width: 21.98vw
    }

    #contact {
        margin-top: -12.24vw
    }

    .contact-anchor {
        width: 75vw;
        height: 23.125vw;
        border-radius: 1vw
    }

    .contact-anchor:hover .contact-img {
        -ms-transform: scale(.923);
        -webkit-transform: scale(.923);
        transform: scale(.923)
    }

    .contact-anchor:hover .contact-arrow-bg {
        background-color: #00be78;
        -ms-transform: scale(.8);
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }

    .contact-anchor:hover .contact-arrow-icon {
        fill: #fff
    }

    .contact-img {
        width: 36.75vw;
        left: 3.5625vw;
        -ms-transform-origin: 49.6% bottom;
        -webkit-transform-origin: 49.6% bottom;
        transform-origin: 49.6% bottom;
        transition: transform .6s cubic-bezier(.19, 1, .22, 1)
    }

    .contact-title {
        font-size: 3.75vw;
        left: -.3125vw
    }

    .contact-description {
        font-size: .9375vw;
        margin-top: .4375vw
    }

    .contact-arrow {
        width: 6.25vw;
        height: 6.25vw;
        left: 20.5vw;
        top: .3125vw
    }

    .contact-arrow-icon {
        width: 1.0625vw;
        height: .8125vw
    }

    .contact-body {
        top: 50%;
        -ms-transform: translate(0,-50%);
        -webkit-transform: translate(0,-50%);
        transform: translate(0,-50%)
    }

    .contact-arrow,.contact-body {
        position: absolute
    }
}

@media(min-width: 769px) and (min-width:769px) {
    .contact-body {
        left:40.625vw
    }
}

@media(min-width: 769px) and (min-width:1921px) {
    .contact-body {
        left:780px
    }
}

@media(min-width: 1921px) {
    .forfuture-zoom,.lineup-description,body {
        font-size:18px
    }

    .l-container {
        width: 1440px
    }

    .l-container-full {
        margin-left: 60px;
        margin-right: 60px
    }

    .section-label {
        font-size: 14.4px;
        margin-bottom: 30px
    }

    .section-label-center {
        margin-bottom: 6px
    }

    .section-title-en {
        font-size: 108px
    }

    .section-title-jp {
        font-size: 21.6px;
        margin-top: 2.4px
    }

    .c-section {
        padding-top: 120px
    }

    .icon-window {
        width: 9.6px;
        height: 9.6px
    }

    .header-logo {
        top: 67.2px
    }

    .header-logo svg {
        width: 139.2px;
        height: 133.2px
    }

    .header-contact {
        width: 84px;
        height: 84px;
        right: 40.8px;
        top: 87.6px
    }

    .header-contact-mail {
        width: 24px;
        height: 15.6px
    }

    .header-contact-plane {
        width: 46.8px;
        margin-left: 1.2px;
        margin-top: 2.4px
    }

    .header-contact-plane img {
        -ms-transform: translate(-78px,30px);
        -webkit-transform: translate(-78px,30px);
        transform: translate(-78px,30px)
    }

    .header-contact-bg {
        width: 84px;
        height: 84px
    }

    .gnav {
        width: 180px;
        top: 247.2px
    }

    .gnav-item {
        padding-bottom: 4.8px
    }

    .gnav-item-anchor {
        font-size: 14.4px;
        padding: 10.8px;
        padding-left: calc(4.8px+16px)
    }

    .gnav-point,.gnav-point-circle {
        left: 6px
    }

    .footer {
        margin-top: 139.2px;
        padding-top: 309.6px;
        padding-bottom: 381.6px
    }

    .footer-lead {
        font-size: 26.4px;
        margin-bottom: 34.8px
    }

    .footer-logo {
        width: 121.2px;
        height: 118.8px
    }

    .footer-links {
        left: 60px;
        bottom: 42px
    }

    .footer-links-os {
        width: 169.2px;
        height: 32.4px
    }

    .footer-links-hc {
        width: 230.4px;
        height: 19.2px;
        margin-left: 42px;
        margin-top: 7.2px
    }

    .footer-pagetop {
        width: 139.2px;
        height: 132px
    }

    .footer-pagetop-label {
        font-size: 15.6px
    }

    .footer-pagetop-line {
        height: 96px
    }

    .footer-sns {
        right: 194.4px;
        bottom: 54px
    }

    .footer-sns a {
        padding: 18px
    }

    .footer-sns-facebook .icon {
        width: 13.2px;
        height: 24px
    }

    #app .section-title-en,.footer-sns-twitter {
        margin-left: -6px
    }

    .footer-sns-twitter .icon {
        width: 26.4px;
        height: 20.4px;
        top: -1.2px
    }

    .footer-sns-instagram {
        margin-left: -7.2px
    }

    .footer-sns-instagram .icon {
        width: 22.8px;
        height: 22.8px
    }

    .footer-privacypolicy {
        font-size: 14.4px;
        right: 42px;
        bottom: 56.4px;
        padding: 18px
    }

    .footer-copyright {
        font-size: 12px;
        right: 60px;
        bottom: 42px
    }

    .footer-textcircle {
        width: 2397.6px;
        height: 2397.6px;
        margin-left: -1198.8px
    }

    .loading-carousel.-backstage .swiper-wrapper {
        margin-left: -60px
    }

    .main-shadow {
        padding-bottom: 480px
    }

    .main-title {
        left: 60px;
        bottom: 60px
    }

    .main-title-jp {
        font-size: 24px
    }

    .app-item-links,.main-title-en {
        margin-top: 30px
    }

    .main-title-en-l1 {
        width: 1000.8px;
        height: 108px
    }

    .main-title-en-l2 {
        width: 998.4px;
        height: 91.2px;
        margin-top: 20.4px
    }

    .main-scroll {
        font-size: 13.2px;
        width: 168px;
        height: 168px;
        right: 60px;
        bottom: 33.6px
    }

    #lineup,#outline {
        padding-bottom: 168px;
        margin-bottom: 120px
    }

    #outline .section-title {
        margin-left: 96px
    }

    #lineup .section-title-en,#outline .section-title-en {
        margin-left: -4.8px
    }

    .outline-body {
        font-size: 21.6px;
        width: 1248px;
        margin-top: 120px
    }

    .outline-body p.-backstage {
        -ms-transform: translate(0,144px);
        -webkit-transform: translate(0,144px);
        transform: translate(0,144px)
    }

    .outline-body p+p {
        margin-top: 33.6px
    }

    .outline-body .outline-message {
        font-size: 28.8px;
        margin-top: 60px
    }

    .outline-illust-station {
        width: 1236px;
        left: 759.6px;
        top: 486px
    }

    .outline-illust-cloud1 {
        width: 298.8px;
        left: 1172.4px;
        top: -84px
    }

    .outline-illust-cloud2 {
        width: 211.2px;
        left: -285.6px;
        top: 870px
    }

    #lineup {
        padding-bottom: 312px
    }

    .carousel-button {
        font-size: 15.6px;
        width: 144px;
        height: 144px;
        left: -72px;
        top: -84px
    }

    .carousel-button-clickable {
        height: 720px;
        bottom: -180px
    }

    .swiper-slide[data-position="-1"],.swiper-slide[data-position="-2"],.swiper-slide[data-position="-3"] {
        -ms-transform: translate(-168px,0);
        -webkit-transform: translate(-168px,0);
        transform: translate(-168px,0)
    }

    .swiper-slide[data-position="1"],.swiper-slide[data-position="2"],.swiper-slide[data-position="3"] {
        -ms-transform: translate(114px,0);
        -webkit-transform: translate(114px,0);
        transform: translate(114px,0)
    }

    .lineup-body {
        width: 456px;
        top: 480px
    }

    .lineup-body .icon {
        margin-left: 6px;
        margin-right: 6px
    }

    .lineup-body-index {
        font-size: 13.2px;
        margin-left: 2.4px;
        margin-bottom: 26.4px
    }

    .lineup-title {
        font-size: 28.8px;
        margin-bottom: 26.4px
    }

    .lineup-title-hc {
        width: 163.2px;
        height: 13.2px;
        margin-top: 2.4px
    }

    .lineup-progress {
        margin-top: 14.4px;
        margin-left: 3.6px
    }

    .lineup-progress-item {
        width: 108px;
        height: 24px
    }

    .lineup-progress-item-active,.lineup-progress-item-circle,.lineup-progress-item:before {
        top: 12px
    }

    .lineup-slide-label {
        font-size: 84px
    }

    .lineup-slide-label-item.-backstage,.lineup-slide-label[data-direction=backward] .lineup-slide-label-item.-hide-motion {
        -ms-transform: translate(216px,0);
        -webkit-transform: translate(216px,0);
        transform: translate(216px,0)
    }

    .lineup-slide-label-item.-hide-motion,.lineup-slide-label[data-direction=backward] .lineup-slide-label-item.-backstage {
        -ms-transform: translate(-216px,0);
        -webkit-transform: translate(-216px,0);
        transform: translate(-216px,0)
    }

    .lineup-illust-building {
        width: 110.4px;
        left: -105.6px;
        top: 894px
    }

    .lineup-illust-cloud1 {
        width: 70.8px;
        left: 1255.2px;
        top: 103.2px
    }

    .lineup-illust-cloud2 {
        width: 304.8px;
        right: -240px;
        top: 894px
    }

    #app {
        padding-bottom: 468px
    }

    #app .section-label {
        margin-bottom: 24px
    }

    .app-body {
        font-size: 21.6px;
        margin-left: 858px
    }

    .app-lead {
        margin-top: 45.6px;
        margin-bottom: 210px
    }

    .app-item+.app-item {
        margin-top: 336px
    }

    .app-item-title {
        font-size: 28.8px;
        margin-bottom: 6px
    }

    .app-item-title-number {
        font-size: 13.2px;
        top: -2.4px;
        padding-left: 7.2px;
        margin-right: 6px
    }

    .app-item-body {
        padding-left: 4.8px
    }

    .app-item-note {
        font-size: 15.6px;
        margin-top: 20.4px
    }

    .app-item-links-appstore {
        width: 231.6px
    }

    .app-item-links-googleplay {
        width: 249.6px;
        margin-left: 18px
    }

    .app-images-contents {
        width: 600px;
        height: 600px;
        left: 336px
    }

    .app-images-item0-img {
        width: 345.6px;
        left: 121.2px;
        top: 136.8px
    }

    .app-images-item1-img {
        width: 372px;
        left: 127.2px;
        top: 84px
    }

    .app-images-item2-img {
        width: 542.4px;
        left: 25.2px;
        top: 16.8px
    }

    .app-images-item3-img {
        width: 705.6px;
        left: 0;
        top: 98.4px
    }

    .app-images-item4-img {
        width: 649.2px;
        left: 31.2px;
        top: -69.6px
    }

    .app-images-item4-lead {
        font-size: 60px;
        left: -96px;
        top: 230.4px;
        width: 312px
    }

    .app-illust-cloud {
        width: 165.6px;
        left: 1416px;
        top: 544.8px
    }

    #forfuture {
        padding-top: 546px;
        padding-bottom: 573.6px
    }

    #forfuture .section-title-en {
        margin-top: 12px
    }

    #forfuture .section-title-jp {
        margin-top: 34.8px
    }

    .forfuture-heading {
        margin-bottom: 204px
    }

    .forfuture-body {
        font-size: 18px;
        margin-left: 336px;
        margin-right: 336px
    }

    .forfuture-body p+p {
        margin-top: 18px
    }

    .forfuture-body2 {
        margin-top: 1260px
    }

    .forfuture-lead {
        font-size: 28.8px;
        margin-bottom: 45.6px
    }

    .forfuture-lead2 {
        font-size: 26.4px;
        margin-top: 66px
    }

    .forfuture-illust-city {
        width: 1977.6px;
        left: 12px;
        top: 1740px
    }

    .forfuture-illust-cloud1 {
        width: 216px;
        left: 0;
        top: 316.8px
    }

    .forfuture-illust-cloud2 {
        width: 612px;
        left: 1185.6px;
        top: 751.2px
    }

    .forfuture-illust-cloud3 {
        width: 97.8px;
        left: -148.8px;
        top: 1339.2px
    }

    #contact {
        margin-top: -232.8px
    }

    .contact-anchor {
        width: 1440px;
        height: 444px;
        border-radius: 19.2px
    }

    .contact-img {
        width: 705.6px;
        left: 68.4px
    }

    .contact-title {
        font-size: 72px;
        left: -6px
    }

    .contact-description {
        font-size: 18px;
        margin-top: 8.4px
    }

    .contact-arrow {
        width: 120px;
        height: 120px;
        left: 393.6px;
        top: 6px
    }

    .contact-arrow-icon {
        width: 20.4px;
        height: 15.6px
    }
}

@media(max-width: 768px) {
    body {
        font-size:3.62319vw
    }

    .carousel-button-clickable,.footer-pagetop-label,.footer-pagetop-line,.gnav,.header-contact,.lineup-illust-container,.loading-phone,.m-pc,.outline-illust-container {
        display: none
    }

    .m-sp {
        display: inline-block
    }

    br.m-sp {
        display: inline
    }

    body,html {
        width: 100%;
        overflow-x: hidden
    }

    .l-container {
        width: 90.33816vw
    }

    .l-container-full {
        margin-left: 4.83092vw;
        margin-right: 4.83092vw
    }

    .section-label {
        font-size: 2.41546vw;
        margin-bottom: 4.10628vw
    }

    .section-label-center {
        margin-bottom: 2.41546vw
    }

    .section-title-en {
        font-size: 9.66184vw;
        line-height: 1;
        letter-spacing: -.01em
    }

    .section-title-jp {
        font-size: 3.38164vw;
        line-height: 2.5;
        letter-spacing: .03em;
        margin-top: .60386vw
    }

    .c-section {
        padding-top: 12.07729vw
    }

    .icon-window {
        width: 1.93237vw;
        height: 1.69082vw
    }

    .header-logo {
        top: 4.83092vw;
        left: -.60386vw
    }

    .header-logo svg {
        width: 20.89372vw;
        height: 19.44444vw
    }

    .gnav-item-anchor {
        font-size: 1.44928vw
    }

    .footer {
        margin-top: 32.6087vw
    }

    .footer-lead {
        font-size: 4.34783vw;
        line-height: 1.80556;
        margin-top: 37.43961vw;
        margin-bottom: 5.43478vw
    }

    .footer-logo {
        width: 22.58454vw;
        height: 22.343vw
    }

    .footer-section-bottom {
        position: relative;
        height: 22.70531vw
    }

    .footer-links {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        border-top: .24155vw solid #e2e9ee;
        border-bottom: .24155vw solid #e2e9ee;
        padding: 5.7971vw 4.83092vw;
        margin-top: 42.27053vw
    }

    .app-images,.forfuture-illust-cloud3,.main-scroll {
        display: none
    }

    .footer-links-os {
        width: 34.78261vw;
        height: 6.76329vw
    }

    .footer-links-hc {
        width: 47.22222vw;
        height: 3.98551vw;
        margin-top: 1.3285vw
    }

    .footer-pagetop-label {
        font-size: 1.57005vw
    }

    .footer-pagetop {
        border-radius: 50%;
        background-color: #1e322f;
        width: 12.07729vw;
        height: 12.07729vw;
        right: 4.83092vw;
        bottom: 3.62319vw
    }

    .footer-pagetop-icon {
        position: absolute;
        left: 50%;
        top: 50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        width: 2.29469vw;
        height: 2.657vw
    }

    .footer-sns {
        left: 34.42029vw;
        top: 2.05314vw
    }

    .footer-sns a {
        padding: 3.62319vw
    }

    .footer-sns-facebook .icon {
        width: 2.89855vw;
        height: 5.67633vw
    }

    .footer-sns-twitter {
        margin-left: .60386vw
    }

    .footer-sns-twitter .icon {
        width: 6.40097vw;
        height: 4.95169vw;
        top: -.12077vw
    }

    .footer-sns-instagram .icon {
        width: 5.43478vw;
        height: 5.43478vw
    }

    .footer-privacypolicy {
        font-size: 2.89855vw;
        top: 3.74396vw;
        left: 1.20773vw;
        padding: 3.62319vw
    }

    .footer-copyright {
        font-size: 2.41546vw;
        left: 4.83092vw;
        bottom: 3.62319vw
    }

    .footer-textcircle {
        width: 195.89372vw;
        height: 195.89372vw;
        margin-left: -97.94686vw
    }

    .loading-phone-container {
        left: 43.59903vw;
        margin-top: 50.36232vw
    }

    .loading-spinner {
        width: 12.56039vw;
        height: 12.56039vw
    }

    .loading-carousel {
        margin-top: -10.86957vw
    }

    .loading-carousel .swiper-slide {
        margin-left: 5.43478vw;
        margin-right: 5.43478vw
    }

    .loading-slide-car .swiper-slide-image {
        width: 48.19176vw
    }

    .loading-slide-car img {
        width: 59.59809vw
    }

    .loading-slide-ebike .swiper-slide-image {
        width: 40.77764vw
    }

    .loading-slide-bicycle img,.loading-slide-ebike img,.loading-slide-scooter img {
        width: 51.3285vw
    }

    .loading-slide-scooter .swiper-slide-image {
        width: 36.78543vw
    }

    .loading-slide-bicycle .swiper-slide-image {
        width: 38.78154vw
    }

    .loading-slide-segway .swiper-slide-image {
        width: 35.07448vw;
        top: -3.62319vw
    }

    .loading-slide-segway img {
        width: 44.4847vw
    }

    .main-shadow {
        padding-bottom: 48.30918vw
    }

    .forfuture-lead,.forfuture-lead2,.main-title-jp {
        font-size: 4.34783vw;
        line-height: 1.5
    }

    .main-title {
        left: 4.83092vw;
        bottom: 8.33333vw
    }

    .main-title-en {
        margin-top: 6.03865vw
    }

    .main-title-en-l1 {
        width: 89.7343vw;
        height: 9.78261vw
    }

    .main-title-en-l2 {
        width: 89.61353vw;
        height: 8.21256vw;
        margin-top: 3.38164vw
    }

    .main-scroll {
        font-size: 1.3285vw
    }

    #lineup,#outline {
        margin-bottom: 24.15459vw
    }

    #outline {
        padding-bottom: 9.66184vw
    }

    #outline .section-title-en {
        margin-left: -.48309vw
    }

    .outline-body {
        font-size: 3.62319vw;
        line-height: 2.33333;
        margin-top: 12.43961vw;
        margin-right: -2.41546vw
    }

    .outline-body p.-backstage {
        -ms-transform: translate(0,18.11594vw);
        -webkit-transform: translate(0,18.11594vw);
        transform: translate(0,18.11594vw)
    }

    .outline-body p+p {
        margin-top: 7.00483vw
    }

    .outline-body .divide {
        margin-top: 102.657vw
    }

    .outline-body .outline-message {
        font-size: 4.34783vw;
        line-height: 1.80556;
        margin-top: 9.66184vw
    }

    .outline-illust-station {
        width: 90.57971vw;
        right: -4.83092vw;
        top: 126.20773vw
    }

    #lineup {
        height: 177.53623vw
    }

    #lineup .section-title-en {
        letter-spacing: .025em
    }

    #lineup .section-title-jp {
        margin-top: 1.81159vw
    }

    .carousel-button {
        font-size: 1.57005vw;
        display: none
    }

    .swiper {
        -ms-transform: rotate(-18deg);
        -webkit-transform: rotate(-18deg);
        transform: rotate(-18deg)
    }

    .swiper-slide {
        margin-left: 9.05797vw;
        margin-right: 9.05797vw
    }

    .swiper-slide-active .swiper-slide-image,.swiper-slide-duplicate-active .swiper-slide-image {
        -ms-transform: scale(1.6) rotate(18deg);
        -webkit-transform: scale(1.6) rotate(18deg);
        transform: scale(1.6) rotate(18deg)
    }

    .swiper-slide-active.lineup-slide-car .swiper-slide-image,.swiper-slide-duplicate-active.lineup-slide-car .swiper-slide-image {
        -ms-transform: scale(1.4) rotate(18deg);
        -webkit-transform: scale(1.4) rotate(18deg);
        transform: scale(1.4) rotate(18deg)
    }

    .swiper-slide-image {
        -ms-transform: rotate(18deg);
        -webkit-transform: rotate(18deg);
        transform: rotate(18deg)
    }

    .lineup-body {
        position: relative;
        margin-left: auto;
        margin-right: auto;
        width: 80.67633vw;
        margin-top: 89.97585vw
    }

    .lineup-body .icon {
        margin-left: .60386vw;
        margin-right: .60386vw
    }

    .lineup-body-index {
        font-size: 2.41546vw;
        position: absolute;
        right: 0;
        top: -6.03865vw
    }

    .lineup-title {
        font-size: 5.43478vw;
        margin-bottom: 2.657vw
    }

    .lineup-title-hc {
        width: 29.58937vw;
        height: 2.41546vw;
        margin-top: .24155vw
    }

    .lineup-description {
        font-size: 3.62319vw;
        line-height: 2
    }

    .lineup-progress {
        position: absolute;
        top: 35.62802vw
    }

    .lineup-progress-item {
        width: 19.32367vw;
        height: 9.66184vw
    }

    .lineup-progress-item-active,.lineup-progress-item:before {
        height: .24155vw;
        top: 4.71014vw
    }

    .lineup-progress-item-circle {
        width: .96618vw;
        height: .96618vw;
        top: 4.83092vw
    }

    .ios .lineup-progress-item-circle {
        top: 4.95169vw
    }

    .lineup-carousel {
        position: absolute;
        left: 0;
        width: 100%;
        height: 65.21739vw;
        top: 57.36715vw
    }

    .lineup-carousel-slider {
        bottom: 4.22705vw
    }

    .lineup-carousel-centercircle {
        width: 66.66667vw;
        height: 66.66667vw
    }

    .lineup-slide-car .swiper-slide-image {
        width: 42.63285vw;
        left: -1.20773vw;
        top: .60386vw
    }

    .lineup-slide-car img {
        width: 53.86473vw
    }

    .lineup-slide-scooter .swiper-slide-image {
        width: 27.657vw;
        left: -2.41546vw;
        margin-left: 3.62319vw
    }

    .lineup-slide-scooter img {
        width: 38.64734vw
    }

    .lineup-slide-segway .swiper-slide-image {
        width: 27.53623vw;
        left: -1.20773vw;
        top: -1.20773vw
    }

    .lineup-slide-segway img {
        width: 35.14493vw
    }

    .lineup-slide-bicycle .swiper-slide-image {
        width: 29.4686vw;
        top: 1.81159vw
    }

    .lineup-slide-bicycle img {
        width: 38.58696vw
    }

    .lineup-slide-label {
        font-size: 6.03865vw;
        letter-spacing: .06em;
        -ms-transform: translate(25.36232vw,-1.20773vw) rotate(-18deg);
        -webkit-transform: translate(25.36232vw,-1.20773vw) rotate(-18deg);
        transform: translate(25.36232vw,-1.20773vw) rotate(-18deg)
    }

    .lineup-arrow {
        position: absolute;
        z-index: 20;
        cursor: pointer;
        padding: 2.41546vw
    }

    .lineup-arrow svg {
        height: 100%
    }

    .lineup-arrow-prev {
        width: 12.07729vw;
        height: 4.58937vw;
        left: 3.62319vw;
        bottom: 19.2029vw
    }

    .lineup-arrow-next {
        width: 11.95652vw;
        height: 5.07246vw;
        left: 79.4686vw;
        bottom: 44.2029vw
    }

    #app {
        overflow: hidden;
        margin-bottom: 48.30918vw
    }

    #app .section-label {
        margin-bottom: 3.38164vw
    }

    #app .section-title-en {
        letter-spacing: .02em;
        margin-left: -.60386vw
    }

    #app .section-title-jp {
        margin-top: -.60386vw
    }

    .app-body {
        font-size: 3.62319vw;
        line-height: 1.8
    }

    .app-item-title {
        font-size: 5.43478vw
    }

    .app-item-title-number {
        font-size: 4.22705vw
    }

    .app-item-note {
        font-size: 3.1401vw;
        line-height: 1.80769
    }

    .app-lead {
        margin-top: 7.85024vw;
        margin-bottom: 16.30435vw
    }

    .app-item,.app-item-image {
        position: relative
    }

    .app-item:before {
        content: "";
        position: absolute;
        height: calc(100%+12.68116vw);
        background-color: #00be78;
        width: .24155vw;
        left: 2.41546vw;
        top: 33.81643vw
    }

    .app-item+.app-item {
        margin-top: 22.343vw
    }

    .app-item-image {
        width: 60.38647vw;
        height: 60.38647vw;
        margin-left: 19.92754vw;
        margin-bottom: 1.81159vw
    }

    .app-item-image:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        border: .24155vw solid #e2e8ed;
        border-radius: 50%
    }

    .app-item-image-img {
        position: absolute
    }

    .app-item-title {
        letter-spacing: .05em;
        margin-left: 10.86957vw;
        margin-bottom: .24155vw
    }

    .app-item-title-number {
        position: absolute;
        left: 0;
        letter-spacing: 0;
        top: 25.36232vw
    }

    .app-item-body {
        line-height: 2;
        margin-left: 10.86957vw
    }

    #forfuture .section-title-jp,.app-item-note {
        margin-top: 1.20773vw
    }

    .app-item-links {
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 5.43478vw
    }

    .app-item-links-appstore {
        width: 36.35266vw
    }

    .app-item-links-googleplay {
        width: 39.00966vw
    }

    .app-item1-image-img {
        width: 37.43961vw;
        left: 12.80193vw;
        top: 8.45411vw
    }

    .app-item2-image-img {
        width: 54.58937vw;
        left: 2.41546vw;
        top: 1.69082vw
    }

    .app-item3 {
        padding-bottom: 8.45411vw
    }

    .app-item3-image-img {
        width: 71.01449vw;
        left: -1.20773vw;
        top: 10.02415vw
    }

    .app-item4:befoer {
        display: none
    }

    .app-item4-image-img {
        width: 66.0628vw;
        left: -4.83092vw;
        top: -8.45411vw
    }

    .app-item4 .app-item-title {
        margin-top: 6.64251vw
    }

    .app-images-item4-lead {
        font-size: 6.03865vw
    }

    .app-illust-container {
        width: 100%
    }

    .app-illust-cloud {
        width: 22.70531vw;
        right: -4.83092vw;
        top: 39.61353vw
    }

    #forfuture {
        padding-top: 47.70531vw;
        padding-bottom: 48vw
    }

    .forfuture-body {
        font-size: 3.62319vw;
        line-height: 2.33333;
        letter-spacing: .1em;
        margin-left: 4.83092vw
    }

    .forfuture-heading {
        margin-bottom: 12.07729vw
    }

    .forfuture-body p+p {
        margin-top: 3.01932vw
    }

    .forfuture-body2 {
        margin-top: 107.48792vw
    }

    .forfuture-lead {
        margin-left: -.48309vw;
        margin-bottom: 10.2657vw;
        letter-spacing: .08em
    }

    .forfuture-lead2 {
        line-height: 1.80556;
        margin-top: 10.2657vw
    }

    .forfuture-zoom {
        font-size: 2.657vw;
        letter-spacing: .05em;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        position: absolute;
        background-color: #1e322f;
        color: #fff;
        width: 36.23188vw;
        height: 9.66184vw;
        border-radius: 4.83092vw;
        left: 4.83092vw;
        top: 60.99034vw
    }

    .forfuture-zoom .icon {
        width: 2.53623vw;
        height: 2.53623vw;
        margin-left: 1.44928vw
    }

    .forfuture-illust-city {
        width: 100%;
        left: 0;
        top: 264.00966vw
    }

    .forfuture-illust-flag {
        width: 95.16908vw;
        position: relative;
        right: 0;
        z-index: 1;
        margin-top: 15.70048vw;
        margin-left: 4.83092vw
    }

    .forfuture-illust-cloud1 {
        width: 19.80676vw;
        left: 6.52174vw;
        top: 16.66667vw
    }

    .forfuture-illust-cloud2 {
        width: 27.53623vw;
        right: -4.83092vw;
        top: 131.64251vw
    }

    #withus {
        padding-top: 0;
        padding-bottom: 104vw
    }

    .withus-body {
        font-size: .9375vw;
        margin-left: 9.6vw;
        margin-right: 9.6vw;
        padding: 14.67vw 10.67vw 29.33vw
    }

    #withus .section-title-en,.contact-title {
        font-size: 8.45411vw
    }

    #contact,.contact-arrow {
        margin-left: auto;
        margin-right: auto
    }

    #withus .section-title {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center
    }

    #withus .section-title-jp {
        margin-top: 1.8125vw
    }

    .withus-heading {
        margin-bottom: 10.625vw;
        position: relative
    }

    .withus-heading::after {
        content: "";
        width: 14.93vw;
        height: 1.32vw;
        bottom: -4vw;
        left: 50%;
        position: absolute;
        display: block;
        transform: translateX(-50%);
        background: #1e322f
    }

    .withus-list {
        margin-top: 16vw;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: space-between;
        gap: 16.8vw
    }

    #contact {
        margin-top: -57.97101vw
    }

    .contact-anchor {
        text-align: center;
        width: 80.67633vw;
        height: 115.94203vw;
        border-radius: 4.58937vw
    }

    .contact-title {
        position: relative;
        margin-top: 14.49275vw
    }

    .contact-description {
        font-size: 3.62319vw;
        line-height: 1.5;
        margin-top: 2.41546vw
    }

    .contact-img {
        width: 80.67633vw;
        left: 0
    }

    .contact-arrow {
        position: relative;
        width: 18.11594vw;
        height: 18.11594vw;
        margin-top: 5.31401vw
    }

    .contact-arrow-bg {
        border-width: .24155vw
    }

    .contact-arrow-icon {
        width: 2.89855vw;
        height: 2.29469vw
    }
}
