address,article,aside,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

[hidden],command,datalist,menu[type=context],rp,source {
    display: none
}

* {
    box-sizing: border-box
}

html {
    font-size: 62.5%
}

body {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1;
    font-family: "Inter", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    text-align: left;
    margin: 0;
    padding: 0
}

h1,h2,h3,h4,h5 {
    font-weight: normal;
    margin: 0;
    padding: 0
}

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

dd {
    margin: 0
}

p {
    line-height: 2;
    margin: 0;
    padding: 0
}

em {
    font-style: normal
}

em.empty {
    width: 1em
}

table {
    border-spacing: 0;
    border-collapse: collapse;
    font-size: inherit
}

table>caption {
    text-align: left
}

table th {
    text-align: left;
    margin: 0;
    padding: 0
}

table td {
    margin: 0;
    padding: 0
}

form {
    margin: 0;
    padding: 0
}

input,select,textarea {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
    padding: 0
}

form {
    margin: 0;
    padding: 0
}

input[type=text],button,textarea,select {
    outline: none;
    appearance: none
}

input:focus,button:focus,textarea:focus,select:focus {
    outline: 0
}

button {
    background-color: transparent;
    border: none;
    outline: none;
    margin: 0;
    padding: 0;
    color: #fff;
    cursor: pointer;
    text-align: left
}

img,picture {
    border: none;
    display: block;
    vertical-align: bottom;
    width: 100%;
    height: auto;
    backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast
}

a {
    outline: none;
    text-decoration: none;
    color: #fff
}

pre {
    border: 1px solid #bfbfbf;
    padding: 5px
}

.inlineDesktop {
    display: none !important
}

@media only screen and (min-width: 901px) {
    .inlineDesktop {
        display:inline !important
    }
}

.inlineMobile {
    display: inline !important
}

@media only screen and (min-width: 901px) {
    .inlineMobile {
        display:none !important
    }
}

.inlineBlockDesktop {
    display: none !important
}

@media only screen and (min-width: 901px) {
    .inlineBlockDesktop {
        display:inline-block !important
    }
}

.inlineBlockMobile {
    display: inline-block !important
}

@media only screen and (min-width: 901px) {
    .inlineBlockMobile {
        display:none !important
    }
}

.blockDesktop {
    display: block !important
}

@media only screen and (max-width: 900px) {
    .blockDesktop {
        display:none !important
    }
}

.blockMobile {
    display: none !important
}

@media only screen and (max-width: 900px) {
    .blockMobile {
        display:block !important
    }
}

.flexDesktop {
    display: none !important
}

@media only screen and (min-width: 901px) {
    .flexDesktop {
        display:flex !important
    }
}

.flexMobile {
    display: flex !important
}

@media only screen and (min-width: 901px) {
    .flexMobile {
        display:none !important
    }
}

@font-face {
    font-family: "iconfont";
    src: url("../font/iconfont.eot?1738556152691");
    src: url("../font/iconfont.eot?1738556152691#iefix") format("eot"),url("../font/iconfont.woff2") format("woff2"),url("../font/iconfont.woff?1738556152691") format("woff"),url("../font/iconfont.ttf?1738556152691") format("truetype"),url("../font/iconfont.svg?1738556152691#iconfont") format("svg")
}

.newsList_icon i:after,.newsList_icon i:before,.newsCategoryPulldown_content:before,.archiveCard_icon i:after,.archiveCard_icon i:before,.locationCard_list dt p a:after,.locationCard_list dt>div a:after,.locationCard_list dd p a:after,.locationCard_list dd>div a:after,.specCarouselMain_zoom:before,.lineupMenuCard_icon i:after,.lineupMenuCard_icon i:before,.lineupHeroCursor_icon:before,.galleryMore_icon:after,.galleryMore_icon:before,.galleryFilterPulldown:before,.faqCardQuestion_trigger:after,.faqCardQuestion_trigger:before,.fieldSelect:before,.fieldCheckbox .wpcf7-list-item-label:after,.fieldRadio .wpcf7-list-item-label:after,.companyExternalCard_icon i:after,.companyExternalCard_icon i:before,[data-sns=x] .snsList_link:before,[data-sns=youtube] .snsList_link:before,[data-sns=instagram] .snsList_link:before,.modalClose:before,.fancybox__nav button.is-next:after,.fancybox__nav button.is-prev:after,.contactBannerButton_icon:after,.contactBannerButton_icon:before,.buttonBack_icon i:after,.buttonBack_icon i:before,.buttonMore_link:after,[data-icon=blank] .buttonFill_link:after,.anchorMenu_list li button:before,.footer_link li a[target=_blank]:after,.footer_sns li a[data-sns=x]:before,.footer_sns li a[data-sns=youtube]:before,.footer_sns li a[data-sns=instagrame]:before,.modal-video-close-btn:before {
    font-family: "iconfont";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-feature-settings: normal;
    font-variant: normal;
    font-weight: normal;
    text-decoration: none;
    text-transform: none
}

body {
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 500;
    -webkit-text-size-adjust: none
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

[data-duplicate] {
    overflow: hidden;
    position: relative
}

[data-duplicate] span {
    display: block;
    padding-top: 2px;
    padding-bottom: 2px
}

[data-duplicate] span:nth-child(2) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%
}

a[\:has\(\[data-duplicate\]\)] [data-duplicate] span:nth-child(1),button[\:has\(\[data-duplicate\]\)] [data-duplicate] span:nth-child(1) {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

a:has([data-duplicate]) [data-duplicate] span:nth-child(1),button:has([data-duplicate]) [data-duplicate] span:nth-child(1) {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

a[\:has\(\[data-duplicate\]\)] [data-duplicate] span:nth-child(2),button[\:has\(\[data-duplicate\]\)] [data-duplicate] span:nth-child(2) {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateY(calc(100% + 0px))
}

a:has([data-duplicate]) [data-duplicate] span:nth-child(2),button:has([data-duplicate]) [data-duplicate] span:nth-child(2) {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateY(calc(100% + 0px))
}

a[\:has\(\[data-duplicate\]\)]:hover [data-duplicate] span:nth-child(1),button[\:has\(\[data-duplicate\]\)]:hover [data-duplicate] span:nth-child(1) {
    transition: .3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
    transform: translateY(calc(-100% - 0px))
}

a:has([data-duplicate]):hover [data-duplicate] span:nth-child(1),button:has([data-duplicate]):hover [data-duplicate] span:nth-child(1) {
    transition: .3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
    transform: translateY(calc(-100% - 0px))
}

a[\:has\(\[data-duplicate\]\)]:hover [data-duplicate] span:nth-child(2),button[\:has\(\[data-duplicate\]\)]:hover [data-duplicate] span:nth-child(2) {
    transform: translateY(0);
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .2s
}

a:has([data-duplicate]):hover [data-duplicate] span:nth-child(2),button:has([data-duplicate]):hover [data-duplicate] span:nth-child(2) {
    transform: translateY(0);
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .2s
}

em.empty {
    width: .3em
}

.imageOverlay {
    position: relative;
    overflow: hidden
}

.imageOverlay::before,.imageOverlay::after {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block
}

.imageOverlay::before {
    z-index: 2;
    opacity: .8;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-image: url("/assets/img/global/overlay_fire.jpg");
    transition: 1.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transform: scale(1.3)
}

.inview .imageOverlay::before {
    transform: scale(1);
    opacity: 0
}

.imageOverlay::after {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    z-index: 1;
    transition: 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0s
}

.inview .imageOverlay::after {
    opacity: 0
}

[data-animtion=slide-up]>* {
    overflow: hidden;
    display: block
}

[data-animtion=slide-up]>*>* {
    display: block;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transform: translateY(calc(100% + 2px));
    will-change: transform;
    display: block
}

.inview [data-animtion=slide-up]>*>* {
    transform: none
}

[data-animtion=slide-up]>*:nth-child(2)>* {
    transition-delay: .2s
}

[data-animtion=slide-up]>*:nth-child(3)>* {
    transition-delay: .3s
}

[data-animtion=slide-up]>*:nth-child(4)>* {
    transition-delay: .4s
}

[data-animtion=slide-up]>*:nth-child(5)>* {
    transition-delay: .5s
}

[data-animtion=slide-up]>*:nth-child(6)>* {
    transition-delay: .6s
}

[data-animtion=slide-up].inview>*>* {
    transform: none
}

@keyframes splide-loading {
    0% {
        transform: rotateZ(0)
    }

    100% {
        transform: rotateZ(360deg)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0 !important
}

.splide__track--fade>.splide__list>.splide__slide {
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    margin: 0 !important;
    padding: 0 !important
}

.splide__list {
    backface-visibility: hidden;
    display: flex;
    height: 100%
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    list-style-type: none !important
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    margin: 0;
    position: relative
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    animation: splide-loading 1s infinite linear;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__play {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

:root {
    --f-spinner-width: 36px;
    --f-spinner-height: 36px;
    --f-spinner-stroke: 2.75
}

.f-zoomInUp {
    animation: 1.2s cubic-bezier(0.19, 1, 0.22, 1) .1s both f-zoomInUp
}

.f-zoomOutDown {
    animation: 1s cubic-bezier(0.19, 1, 0.22, 1) both f-zoomOutDown
}

@keyframes f-zoomInUp {
    from {
        transform: translate3d(0, 5%, 0);
        opacity: 0
    }

    to {
        transform: none;
        opacity: 1
    }
}

@keyframes f-zoomOutDown {
    to {
        transform: translate3d(0, 5%, 0);
        opacity: 0
    }
}

.f-fadeIn {
    animation: 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s both f-fadeIn;
    z-index: 2
}

.f-fadeOut {
    animation: .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s both f-fadeOut;
    opacity: 0;
    z-index: 1
}

@keyframes f-fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: none
    }
}

@keyframes f-fadeOut {
    100% {
        opacity: 0
    }
}

.f-classicIn.from-next {
    animation: 0.85s cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;
    animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;
    z-index: 2
}

.f-classicIn.from-prev {
    animation: 0.85s cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;
    animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;
    z-index: 2
}

.f-classicOut.to-next {
    animation: 0.85s cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;
    animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;
    z-index: 1
}

.f-classicOut.to-prev {
    animation: 0.85s cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;
    animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;
    z-index: 1
}

@keyframes f-classicInNext {
    0% {
        transform: translateX(-75px);
        opacity: 0
    }

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

@keyframes f-classicInPrev {
    0% {
        transform: translateX(75px);
        opacity: 0
    }

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

@keyframes f-classicOutNext {
    100% {
        transform: translateX(-75px);
        opacity: 0
    }
}

@keyframes f-classicOutPrev {
    100% {
        transform: translateX(75px);
        opacity: 0
    }
}

:root {
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: #374151;
    --f-button-bg: #f8f8f8;
    --f-button-hover-bg: #e0e0e0;
    --f-button-active-bg: #d0d0d0;
    --f-button-transition: all 0.15s ease;
    --f-button-transform: none;
    --f-button-svg-width: 20px;
    --f-button-svg-height: 20px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: none;
    --f-button-svg-disabled-opacity: 0.65
}

.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next {
    position: absolute;
    z-index: 1
}

.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled {
    pointer-events: none;
    opacity: 0
}

.f-button[disabled] {
    opacity: 0 !important
}

html.with-fancybox {
    width: auto;
    overflow: visible;
    scroll-behavior: auto
}

html.with-fancybox body {
    touch-action: none
}

html.with-fancybox body.hide-scrollbar {
    overflow: hidden !important
}

html.with-fancybox body.hide-scrollbar {
    width: auto;
    margin-right: calc(0px + 0px);
    margin-right: calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));
    overscroll-behavior-y: none
}

.fancybox__container {
    --fancybox-color: #dbdbdb;
    --fancybox-hover-color: #fff;
    --fancybox-bg: rgba(24, 24, 27, 0.98);
    --fancybox-slide-gap: 10px;
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-color-1: rgba(255, 255, 255, 0.1);
    --f-spinner-color-2: #bbb;
    --f-spinner-stroke: 3.65;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    direction: ltr;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    color: #f8f8f8;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    overflow: visible;
    z-index: 1050;
    z-index: var(--fancybox-zIndex, 1050);
    outline: none;
    transform-origin: top left;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overscroll-behavior-y: contain
}

.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after {
    box-sizing: inherit
}

.fancybox__container *:empty {
    display: block
}

.fancybox__container::-ms-backdrop {
    background-color: rgba(0,0,0,0)
}

.fancybox__container::backdrop {
    background-color: rgba(0,0,0,0)
}

.fancybox__backdrop {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
    background: var(--fancybox-bg);
    opacity: 1;
    opacity: var(--fancybox-opacity, 1);
    will-change: opacity
}

.fancybox__carousel {
    position: relative;
    box-sizing: border-box;
    flex: 1;
    min-height: 0;
    z-index: 10;
    overflow-y: visible;
    overflow-x: clip
}

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

.fancybox__track {
    display: flex;
    margin: 0 auto;
    height: 100%
}

.fancybox__slide {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0 var(--fancybox-slide-gap) 0 0;
    overflow: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
    padding-top: 40px
}

.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video {
    overflow: hidden
}

.fancybox__slide.has-image {
    overflow: hidden
}

.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected {
    overflow: visible
}

.fancybox__slide::before,.fancybox__slide::after {
    content: "";
    flex: 0 0 0;
    margin: auto
}

.modal--gallery .fancybox__content {
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (min-width: 901px) {
    .modal--gallery .fancybox__content {
        width:40.5555555556vw !important;
        height: 40.5555555556vw !important
    }
}

.modal--gallery .fancybox__content img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.modal--spec .fancybox__content img {
    overflow: hidden;
    background-color: #000
}

@media only screen and (min-width: 901px) {
    .modal--spec .fancybox__content img {
        width:55vw
    }
}

.is-loading .fancybox__content {
    opacity: 0
}

.fancybox__slide.has-image>.fancybox__content>picture>img {
    width: 100%;
    height: auto;
    max-height: 100%
}

.is-animating .fancybox__content,.is-dragging .fancybox__content {
    will-change: transform,width,height
}

.fancybox-image {
    margin: auto;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    filter: blur(0px)
}

@media only screen and (min-width: 901px) {
    .fancybox__caption {
        width:40.2777777778vw;
        margin: 1.3194444444vw auto 0
    }
}

@media only screen and (max-width: 900px) {
    .fancybox__caption {
        padding:4.8vw 5.3333333333vw
    }
}

.fancybox__caption p {
    font-size: .9722222222vw;
    color: #fff;
    line-height: 160%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .fancybox__caption p {
        font-size:3.7333333333vw
    }
}

.is-loading .fancybox__caption,.is-closing .fancybox__caption {
    opacity: 0;
    visibility: hidden
}

.fancybox__footer {
    padding: 0;
    margin: 0;
    position: relative
}

.fancybox__footer .fancybox__caption {
    width: 100%;
    padding: 24px;
    opacity: 1;
    opacity: var(--fancybox-opacity, 1);
    transition: all .25s ease
}

.is-compact .fancybox__footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    background: rgba(24,24,27,.5)
}

.is-compact .fancybox__footer .fancybox__caption {
    padding: 12px
}

.is-idle.is-compact .fancybox__footer {
    pointer-events: none;
    animation: .15s ease-out both f-fadeOut
}

.fancybox__slide>.f-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: calc(36px * -0.5) 0 0 calc(36px * -0.5);
    margin: var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));
    z-index: 30;
    cursor: pointer
}

.fancybox-protected {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox-ghost {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    z-index: 40;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox-focus-guard {
    outline: none;
    opacity: 0;
    position: fixed
}

.fancybox__container:not([aria-hidden]) {
    opacity: 0
}

.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop):not(.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content) {
    animation: 0.25s ease .1s backwards f-fadeIn;
    animation: var(--f-interface-enter-duration, 0.25s) ease .1s backwards f-fadeIn
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop {
    animation: 0.35s ease backwards f-fadeIn;
    animation: var(--f-backdrop-enter-duration, 0.35s) ease backwards f-fadeIn
}

.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop):not(.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content) {
    animation: 0.15s ease forwards f-fadeOut;
    animation: var(--f-interface-exit-duration, 0.15s) ease forwards f-fadeOut
}

.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop {
    animation: 0.35s ease forwards f-fadeOut;
    animation: var(--f-backdrop-exit-duration, 0.35s) ease forwards f-fadeOut
}

.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content {
    max-width: 100%;
    flex-shrink: 1;
    min-height: 1px;
    overflow: visible
}

.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content {
    width: calc(100% - 120px);
    height: 90%
}

.fancybox__container.is-compact .has-iframe .fancybox__content,.fancybox__container.is-compact .has-map .fancybox__content,.fancybox__container.is-compact .has-pdf .fancybox__content {
    width: 100%;
    height: 100%
}

.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content {
    width: 960px;
    height: 540px;
    max-width: 100%;
    max-height: 100%
}

.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content {
    padding: 0;
    background: rgba(24,24,27,.9);
    color: #fff
}

.has-map .fancybox__content {
    background: #e5e3df
}

.fancybox__html5video,.fancybox__iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
    background: rgba(0,0,0,0)
}

.fancybox-placeholder {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important
}

.f-carousel__thumbs {
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-outline: 0;
    --f-thumb-outline-color: #5eb0ef;
    --f-thumb-opacity: 1;
    --f-thumb-hover-opacity: 1;
    --f-thumb-selected-opacity: 1;
    --f-thumb-border-radius: 2px;
    --f-thumb-offset: 0px;
    --f-button-next-pos: 0;
    --f-button-prev-pos: 0
}

.f-carousel__thumbs.is-classic {
    --f-thumb-gap: 8px;
    --f-thumb-opacity: 0.5;
    --f-thumb-hover-opacity: 1;
    --f-thumb-selected-opacity: 1
}

.f-carousel__thumbs.is-modern {
    --f-thumb-gap: 4px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-clip-width: 46px
}

.f-thumbs {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    perspective: 1000px;
    transform: translateZ(0)
}

.f-thumbs .f-spinner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2px;
    background-image: linear-gradient(#ebeff2, #e2e8f0);
    z-index: -1
}

.f-thumbs .f-spinner svg {
    display: none
}

.f-thumbs.is-vertical {
    height: 100%
}

.f-thumbs__viewport {
    width: 100%;
    height: auto;
    overflow: hidden;
    transform: translate3d(0, 0, 0)
}

.f-thumbs__track {
    display: flex
}

.f-thumbs__slide {
    position: relative;
    flex: 0 0 auto;
    box-sizing: content-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    width: var(--f-thumb-width);
    height: var(--f-thumb-height);
    overflow: visible;
    cursor: pointer
}

.f-thumbs__slide.is-loading img {
    opacity: 0
}

.is-classic .f-thumbs__viewport {
    height: 100%
}

.is-modern .f-thumbs__track {
    width: max-content
}

.is-modern .f-thumbs__track::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc((0)*-0.5);
    left: calc((var(--f-thumb-clip-width, 0))*-0.5);
    width: calc(0*1px + 0);
    width: calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));
    cursor: pointer
}

.is-modern .f-thumbs__slide {
    width: var(--f-thumb-clip-width);
    transform: translate3d(calc(0 * -1px), 0, 0);
    transform: translate3d(calc(var(--shift, 0) * -1px), 0, 0);
    transition: none;
    pointer-events: none
}

.is-modern.is-resting .f-thumbs__slide {
    transition: transform .33s ease
}

.is-modern.is-resting .f-thumbs__slide__button {
    transition: clip-path .33s ease
}

.f-thumbs__slide__button {
    appearance: none;
    width: var(--f-thumb-width);
    height: 100%;
    margin: 0 -100% 0 -100%;
    padding: 0;
    border: 0;
    position: relative;
    border-radius: var(--f-thumb-border-radius);
    overflow: hidden;
    background: rgba(0,0,0,0);
    outline: none;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    opacity: var(--f-thumb-opacity);
    transition: opacity .2s ease
}

.f-thumbs__slide__button:hover {
    opacity: var(--f-thumb-hover-opacity)
}

.f-thumbs__slide__button:focus:not(.focus-visible) {
    outline: none
}

.f-thumbs__slide__button:focus:not(:focus-visible) {
    outline: none
}

.f-thumbs__slide__button.focus-visible {
    outline: none;
    opacity: var(--f-thumb-selected-opacity)
}

.f-thumbs__slide__button:focus-visible {
    outline: none;
    opacity: var(--f-thumb-selected-opacity)
}

.is-modern .f-thumbs__slide__button {
    --clip-path: inset(0 calc(((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * 0.5) round var(--f-thumb-border-radius, 0));
    clip-path: var(--clip-path)
}

.is-classic .is-nav-selected .f-thumbs__slide__button {
    opacity: var(--f-thumb-selected-opacity)
}

.is-classic .is-nav-selected .f-thumbs__slide__button::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: auto;
    bottom: 0;
    border: 0 solid transparent;
    border: var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);
    border-radius: var(--f-thumb-border-radius);
    animation: f-fadeIn .2s ease-out;
    z-index: 10
}

.f-thumbs__slide__img {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: var(--f-thumb-offset);
    box-sizing: border-box;
    pointer-events: none;
    object-fit: cover;
    border-radius: var(--f-thumb-border-radius)
}

.f-thumbs.is-horizontal .f-thumbs__track {
    padding: 8px 0 12px 0
}

.f-thumbs.is-horizontal .f-thumbs__slide {
    margin: 0 var(--f-thumb-gap) 0 0
}

.f-thumbs.is-vertical .f-thumbs__track {
    flex-wrap: wrap;
    padding: 0 8px
}

.f-thumbs.is-vertical .f-thumbs__slide {
    margin: 0 0 var(--f-thumb-gap) 0
}

.fancybox__thumbs {
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-border-radius: 2px;
    --f-thumb-outline: 2px;
    --f-thumb-outline-color: #ededed;
    position: relative;
    opacity: 1;
    opacity: var(--fancybox-opacity, 1);
    transition: max-height .35s cubic-bezier(0.23, 1, 0.32, 1)
}

.fancybox__thumbs.is-classic {
    --f-thumb-gap: 8px;
    --f-thumb-opacity: 0.5;
    --f-thumb-hover-opacity: 1
}

.fancybox__thumbs.is-classic .f-spinner {
    background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))
}

.fancybox__thumbs.is-modern {
    --f-thumb-gap: 4px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-clip-width: 46px;
    --f-thumb-opacity: 1;
    --f-thumb-hover-opacity: 1
}

.fancybox__thumbs.is-modern .f-spinner {
    background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))
}

.fancybox__thumbs.is-horizontal {
    padding: 0 var(--f-thumb-gap)
}

.fancybox__thumbs.is-vertical {
    padding: var(--f-thumb-gap) 0
}

.is-compact .fancybox__thumbs {
    --f-thumb-width: 64px;
    --f-thumb-clip-width: 32px;
    --f-thumb-height: 48px;
    --f-thumb-extra-gap: 10px
}

.fancybox__thumbs.is-masked {
    max-height: 0px !important
}

.is-closing .fancybox__thumbs {
    transition: none !important
}

.fancybox__toolbar {
    --f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));
    --f-button-width: 46px;
    --f-button-height: 46px;
    --f-button-color: var(--fancybox-color);
    --f-button-hover-color: var(--fancybox-hover-color);
    --f-button-bg: rgba(24, 24, 27, 0.65);
    --f-button-hover-bg: rgba(70, 70, 73, 0.65);
    --f-button-active-bg: rgba(90, 90, 93, 0.65);
    --f-button-border-radius: 0;
    --f-button-svg-width: 24px;
    --f-button-svg-height: 24px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-disabled-opacity: 0.65;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;
    color: currentColor;
    color: var(--fancybox-color, currentColor);
    opacity: 1;
    opacity: var(--fancybox-opacity, 1);
    pointer-events: none;
    z-index: 20
}

.fancybox__toolbar .focus-visible {
    z-index: 1
}

.fancybox__toolbar :focus-visible {
    z-index: 1
}

.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.is-idle .fancybox__toolbar {
    pointer-events: none;
    animation: .15s ease-out both f-fadeOut
}

.fancybox__toolbar__column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start
}

.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right {
    flex-grow: 1;
    flex-basis: 0
}

.fancybox__toolbar__column.is-right {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap
}

.fancybox__infobar {
    padding: 0 5px;
    line-height: 40px;
    line-height: var(--f-button-height);
    text-align: center;
    font-size: 17px;
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox__infobar span {
    padding: 0 5px
}

.fancybox__infobar:not(:first-child):not(:last-child) {
    background: #f8f8f8;
    background: var(--f-button-bg)
}

[data-fancybox-toggle-slideshow] {
    position: relative
}

[data-fancybox-toggle-slideshow] .f-progress {
    height: 100%;
    opacity: .3
}

[data-fancybox-toggle-slideshow] svg g:first-child {
    display: flex
}

[data-fancybox-toggle-slideshow] svg g:last-child {
    display: none
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child {
    display: none
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child {
    display: flex
}

[data-fancybox-toggle-fullscreen] svg g:first-child {
    display: flex
}

[data-fancybox-toggle-fullscreen] svg g:last-child {
    display: none
}

:-ms-fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child {
    display: none
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child {
    display: none
}

:-ms-fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child {
    display: flex
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child {
    display: flex
}

.f-progress {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    background: #0091ff;
    background: var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));
    z-index: 30;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none
}

html.lenis {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    -ms-scroll-chaining: none;
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

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

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

    to {
        opacity: 1
    }
}

.modal-video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(51,51,51,.95);
    z-index: 1000000;
    cursor: pointer;
    opacity: 1;
    outline: none;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    animation-duration: .9s;
    animation-name: modal-video;
    transition: opacity .9s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.modal-video-close {
    opacity: 0
}

.modal-video-close .modal-video-movie-wrap {
    opacity: 0
}

.modal-video-body {
    max-width: 840px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: table;
    outline: none;
    border: none
}

.modal-video-inner {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 100%
}

.modal-video-movie-wrap {
    width: 100%;
    height: 0;
    position: relative;
    padding-bottom: 56.25%
}

.modal-video-movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    animation: fadeIn ease-out 1s forwards
}

.modal-video-close-btn {
    position: absolute;
    z-index: 2;
    top: 0;
    right: -3.4722222222vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    width: 1.875vw;
    height: 1.875vw;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

.modal-video-close-btn:before {
    content: ""
}

@media only screen and (max-width: 900px) {
    .modal-video-close-btn {
        width:7.2vw;
        height: 7.2vw;
        right: 6.4vw;
        top: 6.4vw;
        position: fixed
    }
}

.modal-video-close-btn::before {
    font-size: 1.875vw;
    line-height: .5;
    color: #fff
}

@media only screen and (max-width: 900px) {
    .modal-video-close-btn::before {
        font-size:7.2vw
    }
}

@media only screen and (min-width: 901px) {
    .modal-video-close-btn:hover {
        opacity:.6
    }
}

.footer {
    background-color: #ffffff
}

.footer_wrap {
    padding: 11.1111111111vw 0 5.5555555556vw;
    max-width: 93.8888888889vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .footer_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_wrap {
        padding:32vw 0 16vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .footer_content {
        display:flex;
        justify-content: space-between
    }
}

.footer_title {
    font-size: .9027777778vw;
    color: #09156a;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .footer_title {
        font-size:3.4666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_button {
        display:flex;
        justify-content: space-between;
        margin-top: 4vw
    }
}

@media only screen and (min-width: 901px) {
    .footer_button .buttonFill+.buttonFill {
        margin-top:1.1111111111vw
    }
}

@media only screen and (min-width: 901px) {
    .footer_bottom {
        display:flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 5.1388888889vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_bottom {
        margin-top:16vw
    }
}

@media only screen and (min-width: 901px) {
    .footer_logo {
        width:53.6111111111vw;
        margin-bottom: -.7638888889vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_logo {
        width:89.6vw
    }
}

@media only screen and (min-width: 901px) {
    .footer_sub {
        width:36.1111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_sub {
        margin-top:8.5333333333vw
    }
}

.footer_sns {
    display: flex;
    align-items: center
}

@media only screen and (min-width: 901px) {
    .footer_sns {
        justify-content:flex-end
    }
}

@media only screen and (min-width: 901px) {
    .footer_sns li {
        margin-left:2.2222222222vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_sns li {
        margin-right:7.4666666667vw
    }
}

.footer_sns li a {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

.footer_sns li a[data-sns=instagrame]:before {
    content: ""
}

.footer_sns li a[data-sns=instagrame]::before {
    font-size: 1.8055555556vw
}

@media only screen and (max-width: 900px) {
    .footer_sns li a[data-sns=instagrame]::before {
        font-size:6.9333333333vw
    }
}

.footer_sns li a[data-sns=youtube]:before {
    content: ""
}

.footer_sns li a[data-sns=youtube]::before {
    font-size: 2.2222222222vw
}

@media only screen and (max-width: 900px) {
    .footer_sns li a[data-sns=youtube]::before {
        font-size:8.2666666667vw
    }
}

.footer_sns li a[data-sns=x]:before {
    content: ""
}

.footer_sns li a[data-sns=x]::before {
    font-size: 1.6666666667vw
}

@media only screen and (max-width: 900px) {
    .footer_sns li a[data-sns=x]::before {
        font-size:6.4vw
    }
}

@media only screen and (min-width: 901px) {
    .footer_sns li a:hover {
        opacity:.4
    }
}

@media only screen and (min-width: 901px) {
    .footer_subMenu {
        margin-top:1.3888888889vw;
        padding-bottom: .6944444444vw;
        display: flex;
        justify-content: flex-end
    }
}

@media only screen and (max-width: 900px) {
    .footer_subMenu {
        margin-top:5.3333333333vw
    }
}

.footer_link {
    display: flex;
    align-items: center
}

.footer_link li {
    display: flex;
    align-items: center;
    margin-right: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .footer_link li {
        margin-right:5.3333333333vw
    }
}

.footer_link li a {
    display: flex;
    align-items: center;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

.footer_link li a span {
    font-size: 1.0416666667vw;
    white-space: nowrap;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .footer_link li a span {
        font-size:4vw
    }
}

@media only screen and (min-width: 901px) {
    .footer_link li a:hover {
        opacity:.4
    }
}

.footer_link li a[target=_blank]:after {
    content: ""
}

.footer_link li a[target=_blank]::after {
    font-size: .6944444444vw;
    margin-left: .3472222222vw
}

@media only screen and (max-width: 900px) {
    .footer_link li a[target=_blank]::after {
        font-size:2.6666666667vw;
        margin-left: 1.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .footer_copyright {
        margin-top:4vw
    }
}

.footer_copyright p {
    font-size: .8333333333vw;
    white-space: nowrap;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .footer_copyright p {
        font-size:2.6666666667vw
    }
}

.footerMenu {
    display: flex
}

@media only screen and (max-width: 900px) {
    .footerMenu {
        margin-bottom:6.6666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .footerMenu_list:nth-child(1) {
        width:16.1111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .footerMenu_list:nth-child(1) {
        width:46.9333333333vw
    }
}

.footerMenu_list:nth-child(2) {
    margin-top: -.3472222222vw
}

@media only screen and (max-width: 900px) {
    .footerMenu_list:nth-child(2) {
        margin-top:-1.0666666667vw
    }
}

.footerMenu_list dt {
    margin-bottom: .9027777778vw
}

@media only screen and (max-width: 900px) {
    .footerMenu_list dt {
        margin-bottom:5.0666666667vw
    }
}

.footerMenu_list dd {
    margin-bottom: .3472222222vw
}

@media only screen and (max-width: 900px) {
    .footerMenu_list dd {
        margin-bottom:2.6666666667vw
    }
}

.footerMenu_list dd a {
    display: block;
    padding-top: .3472222222vw;
    padding-bottom: .3472222222vw;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (max-width: 900px) {
    .footerMenu_list dd a {
        padding-top:1.3333333333vw;
        padding-bottom: 1.3333333333vw
    }
}

.footerMenu_list dd a span {
    font-size: 1.0416666667vw;
    display: block;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500;
    color: #09156a
}

@media only screen and (max-width: 900px) {
    .footerMenu_list dd a span {
        font-size:4.2666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .footerMenu_list dd a:hover {
        opacity:.4
    }
}

.global {
    width: 100%;
    height: 100dvh;
    position: fixed;
    left: 0;
    top: 0
}

.global * {
    color: #09156a;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

.global_wrap {
    padding: 74px 0 0;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

@media only screen and (max-width: 900px) {
    .global_wrap {
        padding-top:65px
    }
}

.global_wrap:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: #ffffff
}

.global_content {
    position: relative;
    margin-top: 11.4666666667vw
}

.globalMenu {
    width: 89.3333333333%;
    margin-left: auto;
    margin-right: auto
}

.globalMenu_title {
    font-size: 3.7333333333vw;
    color: #737373
}

.globalMenu_main {
    margin-top: 4vw;
    border-bottom: 1px solid #4d4d4d
}

.globalMenu_main li {
    border-top: 1px solid #4d4d4d;
    padding: 6.2666666667vw 0
}

.globalMenu_main li a {
    display: flex;
    align-items: center
}

.globalMenu_main li a span {
    display: block
}

.globalMenu_main li a span.is-volume {
    font-size: 3.4666666667vw;
    padding: 0 4.8vw 0 2.1333333333vw;
    color: #e5511c
}

.globalMenu_main li a span.is-main {
    font-size: 5.3333333333vw
}

.globalMenu_sub {
    margin-top: 8.5333333333vw
}

.globalMenu_sub li {
    margin-bottom: 5.3333333333vw
}

.globalMenu_sub li a span {
    font-size: 4.8vw
}

.globalMenu_button .buttonFill {
    margin: 7.4666666667vw auto 0;
    width: 78.9333333333vw
}

.global {
    clip-path: inset(0 0 100% 0);
    transition: .7s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: clip-path;
    visibility: hidden
}

[data-show=global] .global {
    clip-path: inset(0)
}

[data-show=global] .global {
    visibility: visible
}

.global_content {
    transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform: translateY(40px);
    will-change: transform
}

[data-show=global] .global_content {
    transform: none
}

.globalMenu_item:nth-child(1) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.2s
}

.globalMenu_item:nth-child(2) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s
}

.globalMenu_item:nth-child(3) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.4s
}

.globalMenu_item:nth-child(4) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.5s
}

.globalMenu_item:nth-child(5) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.6s
}

.globalMenu_item:nth-child(6) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.7s
}

.globalMenu_item:nth-child(7) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.8s
}

.globalMenu_item:nth-child(8) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 0.9s
}

.globalMenu_item:nth-child(9) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 1s
}

.globalMenu_item:nth-child(10) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 1.1s
}

.globalMenu_item:nth-child(11) .globalMenu_title {
    transition: 1.6s cubic-bezier(0.075, 0.82, 0.165, 1) 1.2s
}

.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%
}

.header_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.2222222222vw 2.7777777778vw 0
}

@media only screen and (max-width: 900px) {
    .header_wrap {
        padding:7.2vw 5.3333333333vw 0
    }
}

.header_logo a {
    display: block;
    width: 11.0416666667vw;
    height: 2.7777777778vw;
    position: relative
}

.header_logo a::before,.header_logo a::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain
}

.header_logo a::before {
    background-image: url("../img/global/header_logo.png")
}

.header_logo a::after {
    background-image: url("../img/global/header_logo_black.png")
}

@media only screen and (max-width: 900px) {
    .header_logo a {
        width:29.6vw;
        height: 7.4666666667vw
    }
}

.header_logo a span {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute
}

.header_content {
    display: flex;
    align-items: center
}

.header_logo a::before,.header_logo a::after {
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.header_logo a::after {
    opacity: 0
}

[data-current-theme=light] .header_logo a::before {
    opacity: 0
}

[data-current-theme=light] .header_logo a::after {
    opacity: 1
}

.header_wrap {
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);
    will-change: transformj
}

[data-show-footer="1"] .header_wrap {
    transform: translateY(calc(-100% - 0px))
}

.headerMenu {
    display: flex;
    align-items: center
}

@media only screen and (max-width: 900px) {
    .headerMenu {
        display:none
    }
}

.headerMenu_item {
    position: relative
}

.headerMenu_item>a,.headerMenu_item>button {
    display: block;
    margin-right: 1.5972222222vw;
    padding: 1.0416666667vw 0 1.0416666667vw
}

.headerMenu_item>a>span,.headerMenu_item>button>span {
    font-size: 1.0416666667vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 700
}

.headerMenu_item>a>span,.headerMenu_item>button>span {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1)
}

[data-current-theme=light] .headerMenu_item>a>span,[data-current-theme=light] .headerMenu_item>button>span {
    color: #1e1e1e
}

@media only screen and (min-width: 901px) {
    .headerMenu_item>a:hover>span,.headerMenu_item>button:hover>span {
        opacity:.4
    }
}

.headeMenuChild {
    position: absolute;
    left: -.6944444444vw;
    top: 2.4305555556vw;
    padding: .6944444444vw
}

.headeMenuChild_wrap {
    background-color: rgba(0,0,0,.75);
    box-shadow: 0px 0px 12px 0px rgba(0,0,0,.34);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    padding: 1.6666666667vw
}

.headeMenuChild_list>li {
    margin-bottom: 1.1111111111vw
}

.headeMenuChild_list>li:last-child {
    margin-bottom: 0
}

.headeMenuChild_list>li>a {
    display: flex;
    align-items: center;
    white-space: nowrap;
    position: relative;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

.headeMenuChild_list>li>a>em {
    display: block;
    font-size: .7638888889vw;
    color: #999;
    margin-right: .6944444444vw;
    width: .9722222222vw;
    font-style: normal
}

.headeMenuChild_list>li>a>span {
    display: block;
    font-size: 1.0416666667vw
}

.headerMenu_item[data-header-child]:hover .headeMenuChild {
    clip-path: inset(0)
}

.headeMenuChild {
    clip-path: inset(0 0 100% 0);
    transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1)
}

[data-page=home] .header,[data-page=lineup] .header {
    transition: 1.7s cubic-bezier(0.19, 1, 0.22, 1) 5.2s
}

.is-skip [data-page=home] .header,.is-skip [data-page=lineup] .header {
    transition: 1.7s cubic-bezier(0.19, 1, 0.22, 1) 2.5s
}

[data-load="0"] [data-page=home] .header,[data-load="0"] [data-page=lineup] .header {
    transform: translateY(calc(-100% - 0vw))
}

.headeMenuChild_list li a {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .headeMenuChild_list li a:hover {
        opacity:.4
    }
}

.headerContact {
    margin-left: .8333333333vw
}

@media only screen and (max-width: 900px) {
    .headerContact {
        display:none
    }
}

.headerContact_link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5vw;
    border-radius: 1.25vw;
    padding-left: 1.3888888889vw;
    padding-right: 1.3888888889vw;
    border: 1px solid rgba(255, 255, 255,0.3);
    position: relative
}

.headerContact_link::before {
    content: "";
    display: block;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25vw
}

.headerContact_title {
    margin-top: .1388888889vw
}

.headerContact_title span {
    font-size: .9722222222vw;
    letter-spacing: .02em;
    display: block;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 700
}

.headerContact a::before {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0
}

@media only screen and (min-width: 901px) {
    .headerContact a:hover {
        border-color:rgba(255, 255, 255,0)
    }

    .headerContact a:hover::before {
        opacity: 1
    }

    .headerContact a:hover .headerContact_title span {
        color: #fff
    }
}

.headerContact_link {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

[data-current-theme=light] .headerContact_link {
    border-color: rgba(30, 30, 30,0.3)
}

.headerContact_link span {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

[data-current-theme=light] .headerContact_link span {
    color: #1e1e1e
}

body {
    background-color: #ffffff;
    color: #fff
}

body.is-lock {
    pointer-events: none
}

body.is-lock:before {
    pointer-events: auto;
    content: "";
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: block;
    left: 0;
    top: 0
}

body::after {
    left: 0;
    top: 0;
    position: fixed;
    width: 100%;
    height: 100%;
    display: block;
    background: #ffffff;
    transition: 1.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    pointer-events: none;
    content: ""
}

[data-load="1"] body::after {
    opacity: 0
}

.container {
    position: relative
}

.section[data-wrap="888"] {
    max-width: 61.6666666667vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .section[data-wrap="888"] {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .section[data-wrap="888"] {
        width:87.4666666667vw
    }
}

.trigger {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    width: 9.6vw;
    height: 9.6vw
}

@media only screen and (min-width: 901px) {
    .trigger {
        display:none
    }
}

.trigger_inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 2.4vw
}

.trigger_inner span {
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    background-color: #09156a
}

.trigger_inner span:nth-child(1) {
    top: 0;
    animation: closeTrigger1 cubic-bezier(0.445, 0.05, 0.55, 0.95) .6s forwards
}

.trigger_inner span:nth-child(2) {
    bottom: 0;
    animation: closeTrigger2 cubic-bezier(0.445, 0.05, 0.55, 0.95) .6s forwards
}

[data-show=global][data-current-theme=light] .trigger_inner span {
    background-color: #fff
}

[data-show=global] .trigger_inner span:nth-child(1) {
    animation: openTrigger1 cubic-bezier(0.445, 0.05, 0.55, 0.95) .6s forwards
}

[data-show=global] .trigger_inner span:nth-child(2) {
    animation: openTrigger2 cubic-bezier(0.445, 0.05, 0.55, 0.95) .6s forwards
}

@keyframes closeTrigger1 {
    0% {
        transform: translateY(6px) rotate(15deg)
    }

    50% {
        transform: translateY(10px) rotate(0)
    }

    100% {
        transform: translateY(0) rotate(0)
    }
}

@keyframes closeTrigger2 {
    0% {
        transform: translateY(-2px) rotate(-15deg)
    }

    50% {
        transform: translateY(-10px) rotate(0)
    }

    100% {
        transform: translateY(0) rotate(0)
    }
}

@keyframes openTrigger1 {
    0% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(10px) rotate(0)
    }

    100% {
        transform: translateY(6px) rotate(15deg)
    }
}

@keyframes openTrigger2 {
    0% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(-10px) rotate(0)
    }

    100% {
        transform: translateY(-2px) rotate(-15deg)
    }
}

@keyframes hover-bar {
    0% {
        transform: scaleX(1);
        transform-origin: right center
    }

    50% {
        transform: scaleX(0);
        transform-origin: right center
    }

    50.1% {
        transform: scaleX(0);
        transform-origin: left center
    }

    100% {
        transform: scaleX(1);
        transform-origin: left center
    }
}

[data-current-theme=light] .trigger_inner span {
    background-color: #ffffff
}

.trigger:before {
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .trigger:hover:before {
        opacity:1
    }
}

.trigger_inner {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .trigger:hover .trigger_inner {
        transform:scaleX(0.7)
    }

    [data-show=global] .trigger:hover .trigger_inner {
        transform: scaleX(1)
    }

    .trigger:hover .trigger_inner span {
        transition-delay: 0 !important
    }
}

body::after {
    z-index: 20
}

.header {
    z-index: 10
}

.global {
    z-index: 9
}

.contactBanner {
    z-index: 3
}

.container {
    z-index: 2
}

.opening {
    z-index: 1
}

.homeHero {
    z-index: 0
}

.homeAbout {
    z-index: 1
}

.homeFeature {
    z-index: 2
}

.homeLineup {
    z-index: 3
}

[data-accordion-state] [data-accordion-target] {
    overflow: hidden;
    height: 0;
    transition: .4s cubic-bezier(0.19, 1, 0.22, 1)
}

[data-accordion-state].is-defautoOpen [data-accordion-target] {
    height: auto
}

.anchorMenu {
    margin-top: 5.3472222222vw
}

@media only screen and (max-width: 900px) {
    .anchorMenu {
        margin-top:12.2666666667vw;
        padding-left: 1.8666666667vw;
        padding-right: 1.8666666667vw
    }
}

.anchorMenu_list {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

@media only screen and (max-width: 900px) {
    .anchorMenu_list[data-mobile-row="2"] li {
        width:50%
    }

    .anchorMenu_list[data-mobile-row="3"] li {
        width: 33.3%
    }
}

@media only screen and (min-width: 901px) {
    .anchorMenu_list li {
        width:25%;
        margin-bottom: 1.3888888889vw
    }
}

@media only screen and (max-width: 900px) {
    .anchorMenu_list li {
        margin-bottom:6.6666666667vw
    }
}

.anchorMenu_list li button {
    display: flex;
    align-items: center
}

.anchorMenu_list li button:before {
    content: ""
}

.anchorMenu_list li button::before {
    font-size: .7638888889vw;
    margin: .1388888889vw .625vw 0 0;
    color: #e5511c
}

@media only screen and (max-width: 900px) {
    .anchorMenu_list li button::before {
        font-size:2.6666666667vw;
        margin: .5333333333vw 2.6666666667vw 0 0
    }
}

.anchorMenu_list li button span {
    font-size: 1.1805555556vw;
    letter-spacing: .04em;
    font-family: "Inter", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .anchorMenu_list li button span {
        font-size:4vw
    }
}

@media only screen and (min-width: 901px) {
    .anchorMenu_list li button span {
        transition:1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
    }

    .anchorMenu_list li button:hover span {
        color: #e5511c
    }
}

.bottom {
    margin-top: 11.1111111111vw
}

@media only screen and (max-width: 900px) {
    .bottom {
        margin-top:20vw
    }
}

.buttonFill {
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.buttonFill[data-align=center] {
    display: flex;
    justify-content: center
}

.buttonFill_link {
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%);
    height: 2.7777777778vw;
    border-radius: 1.3888888889vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 1.25vw;
    padding-right: 1.25vw;
    width: fit-content;
    position: relative
}

@media only screen and (min-width: 901px) {
    .buttonFill_link::before {
        content:"";
        position: absolute;
        background: linear-gradient(180deg, #8C0000 0%, #A31C01 100%);
        height: 100%;
        width: 100%;
        border-radius: 1.3888888889vw;
        left: 0;
        top: 0;
        display: block;
        z-index: 0
    }

    [data-height="60"] .buttonFill_link::before {
        border-radius: 2.0833333333vw
    }

    [data-theme=frame] .buttonFill_link::before {
        background: rgba(255, 255, 255,0.05)
    }
}

@media only screen and (max-width: 900px) {
    .buttonFill_link {
        height:9.6vw;
        border-radius: 4.8vw;
        padding-left: 4vw;
        padding-right: 4vw
    }
}

[data-theme=frame] .buttonFill_link {
    background: transparent;
    border: 1px solid rgba(255, 255, 255,0.5)
}

@media only screen and (max-width: 900px) {
    [data-mobile-height="56"] .buttonFill_link {
        height:14.9333333333vw;
        border-radius: 7.4666666667vw;
        padding-left: 12vw;
        padding-right: 12vw;
        width: 100%
    }
}

@media only screen and (min-width: 901px) {
    [data-height="60"] .buttonFill_link {
        width:21.1111111111vw;
        height: 4.1666666667vw;
        border-radius: 2.0833333333vw
    }
}

@media only screen and (max-width: 900px) {
    [data-height="60"] .buttonFill_link {
        width:43.2vw;
        height: 14.9333333333vw;
        border-radius: 7.4666666667vw
    }

    .footer [data-height="60"] .buttonFill_link {
        height: 12.8vw;
        border-radius: 6.4vw
    }
}

[data-icon=blank] .buttonFill_link {
    margin-right: .4166666667vw
}

[data-icon=blank] .buttonFill_link:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    [data-icon=blank] .buttonFill_link {
        margin-right:1.6vw
    }
}

[data-icon=blank] .buttonFill_link::after {
    font-size: .7638888889vw;
    margin-left: .3472222222vw;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 900px) {
    [data-icon=blank] .buttonFill_link::after {
        font-size:2.9333333333vw;
        margin-left: 1.3333333333vw
    }
}

.buttonFill_title {
    color: #fff;
    font-size: 1.0416666667vw;
    margin-top: .0694444444vw;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
    font-family: "Inter", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .buttonFill_title {
        font-size:3.7333333333vw;
        margin-top: .5333333333vw
    }
}

[data-height="60"] .buttonFill_title {
    font-size: .9722222222vw
}

@media only screen and (max-width: 900px) {
    [data-height="60"] .buttonFill_title {
        font-size:3.7333333333vw
    }
}

.buttonFill input {
    position: absolute;
    cursor: pointer;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 0;
    top: 0;
    left: 0
}

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

.buttonFill.is-disable .buttonFill_link::after {
    opacity: 1
}

.buttonFill_link::before {
    opacity: 0;
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .buttonFill_link:hover::before {
        opacity:1
    }
}

@media only screen and (min-width: 901px) {
    a:has(.buttonFill):hover .buttonFill_link::before,
button:has(.buttonFill):hover .buttonFill_link::before {
    opacity: 1;
}

    a:has(.buttonFill):hover .buttonFill_link::before,button:has(.buttonFill):hover .buttonFill_link::before {
        opacity: 1
    }
}

.buttonMore_link {
    pointer-events: none;
    background-color: rgba(30, 30, 30,0.5);
    height: 2.7777777778vw;
    border-radius: 1.3888888889vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 1.3888888889vw;
    padding-right: 1.3888888889vw;
    border: 1px solid rgba(255, 255, 255,0.5);
    width: fit-content
}

.buttonMore_link:after {
    content: ""
}

.buttonMore_link::after {
    font-size: .8333333333vw;
    margin-left: .3472222222vw;
    color: #fff;
    display: block
}

.buttonMore_title {
    color: #fff;
    font-size: 1.0416666667vw;
    margin-top: .1388888889vw;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

.buttonBack {
    width: fit-content;
    margin-left: auto;
    margin-right: auto
}

.buttonBack_link {
    display: block;
    text-align: center;
    position: relative
}

@media only screen and (max-width: 900px) {
    .buttonBack_link {
        height:18.4vw
    }
}

.buttonBack_title {
    font-size: 1.3888888889vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .buttonBack_title {
        font-size:4.5333333333vw
    }
}

.buttonBack_icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background-color: #333;
    bottom: -3.6111111111vw;
    left: calc(50% - 1.7361111111vw)
}

.buttonBack_icon::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25vw;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

@media only screen and (max-width: 900px) {
    .buttonBack_icon::before {
        border-radius:3.7333333333vw
    }
}

.buttonBack_icon i {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    width: .9722222222vw;
    height: .8333333333vw;
    overflow: hidden;
    position: relative
}

.buttonBack_icon i:before {
    content: ""
}

.buttonBack_icon i:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .buttonBack_icon i {
        width:3.7333333333vw;
        height: 3.2vw
    }
}

.buttonBack_icon i::before,.buttonBack_icon i::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block
}

.buttonBack_icon i::after {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.buttonBack_icon i::before {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateX(calc(100% + 0.3472222222vw))
}

@media only screen and (min-width: 901px) {
    .buttonBack_icon i {
        width:.8333333333vw;
        height: .8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .buttonBack_icon i {
        width:3.2vw;
        height: 3.2vw
    }

    .lineupMenu .buttonBack_icon i {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
}

.buttonBack_icon i::before,.buttonBack_icon i::after {
    color: #fff
}

@media only screen and (min-width: 901px) {
    .buttonBack_icon i::before,.buttonBack_icon i::after {
        font-size:.8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .buttonBack_icon i::before,.buttonBack_icon i::after {
        font-size:2.6666666667vw
    }

    .lineupMenu .buttonBack_icon i::before,.lineupMenu .buttonBack_icon i::after {
        font-size: 3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .buttonBack_icon {
        width:3.3333333333vw;
        height: 2.5vw;
        border-radius: 1.25vw
    }
}

@media only screen and (max-width: 900px) {
    .buttonBack_icon {
        width:9.8666666667vw;
        height: 7.4666666667vw;
        border-radius: 3.7333333333vw
    }

    .buttonBack .buttonBack_icon,.companyExternalCard .buttonBack_icon {
        width: 12.8vw;
        height: 9.6vw;
        border-radius: 4.8vw
    }

    .lineupMenu .buttonBack_icon {
        width: 14.9333333333vw;
        height: 10.6666666667vw;
        border-radius: 5.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .buttonBack_icon {
        bottom:0;
        left: calc(50% - 6.6666666667vw)
    }
}

.buttonBack_icon::before {
    opacity: 0;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .buttonBack_link:hover .buttonBack_icon::before {
        opacity:1
    }

    .buttonBack_link:hover .buttonBack_icon i::after {
        transform: translateX(calc(-100% - 0.3472222222vw));
        color: #fff;
        transition: .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)
    }

    .buttonBack_link:hover .buttonBack_icon i::before {
        transform: translateX(0);
        color: #fff;
        transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .3s
    }
}

.buttonLine {
    width: fit-content
}

.buttonLine_link {
    background-color: #06c755;
    height: 4.1666666667vw;
    border-radius: 2.0833333333vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 6.5277777778vw;
    padding-right: 6.5277777778vw
}

@media only screen and (max-width: 900px) {
    .buttonLine_link {
        height:14.9333333333vw;
        border-radius: 7.4666666667vw;
        padding-left: 24.8vw;
        padding-right: 24.8vw
    }
}

.buttonLine_icon {
    width: 2.0138888889vw;
    height: 1.875vw;
    margin-right: .625vw;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    background-image: url("/assets/img/global/icon_line_balloon.svg")
}

@media only screen and (max-width: 900px) {
    .buttonLine_icon {
        width:5.8666666667vw;
        height: 5.8666666667vw;
        margin-right: 2.1333333333vw
    }
}

.buttonLine_title {
    font-size: 1.1111111111vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .buttonLine_title {
        font-size:4vw
    }
}

.contactBanner {
    width: 100%;
    background-color: rgba(0,0,0,.75);
    box-shadow: 0px 0px 12px 0px rgba(0,0,0,.34);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    position: fixed
}

@media only screen and (min-width: 901px) {
    .contactBanner {
        width:46.6666666667vw;
        height: 3.8888888889vw;
        bottom: 2.0833333333vw;
        left: 26.3888888889vw;
        padding-left: 1.9444444444vw;
        padding-right: 1.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .contactBanner {
        height:16vw;
        bottom: 0;
        left: 0
    }
}

.contactBanner_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

@media only screen and (max-width: 900px) {
    .contactBanner_wrap {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

.contactBanner_title {
    color: #fff;
    line-height: 140%
}

@media only screen and (min-width: 901px) {
    .contactBanner_title {
        font-size:1.0416666667vw;
        margin-top: -.1388888889vw
    }
}

@media only screen and (max-width: 900px) {
    .contactBanner_title {
        font-size:3.2vw
    }
}

@media only screen and (max-width: 900px) {
    .contactBannerButton {
        padding-right:1.6vw
    }
}

.contactBannerButton_link {
    display: flex;
    align-items: center
}

.contactBannerButton_link::before {
    content: "";
    display: block;
    background-color: #e5511c;
    border-radius: 50%
}

@media only screen and (min-width: 901px) {
    .contactBannerButton_link::before {
        width:.625vw;
        height: .625vw;
        margin: -.1388888889vw .3472222222vw 0 0
    }
}

@media only screen and (max-width: 900px) {
    .contactBannerButton_link::before {
        width:2.1333333333vw;
        height: 2.1333333333vw;
        margin: -.5333333333vw 1.3333333333vw 0 0
    }
}

.contactBannerButton_title {
    color: #fff;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (min-width: 901px) {
    .contactBannerButton_title {
        font-size:.9027777778vw;
        margin-right: .5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .contactBannerButton_title {
        font-size:3.7333333333vw;
        margin-right: 1.8666666667vw
    }
}

.contactBannerButton_icon {
    width: .9722222222vw;
    height: .8333333333vw;
    overflow: hidden;
    position: relative
}

.contactBannerButton_icon:before {
    content: ""
}

.contactBannerButton_icon:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .contactBannerButton_icon {
        width:3.7333333333vw;
        height: 3.2vw
    }
}

.contactBannerButton_icon::before,.contactBannerButton_icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block
}

.contactBannerButton_icon::after {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.contactBannerButton_icon::before {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateX(calc(-100% - 0.3472222222vw))
}

.contactBannerButton_icon::before,.contactBannerButton_icon::after {
    font-size: .6944444444vw;
    color: #fff;
    left: .1388888889vw;
    top: .0694444444vw
}

@media only screen and (max-width: 900px) {
    .contactBannerButton_icon::before,.contactBannerButton_icon::after {
        font-size:2.6666666667vw
    }
}

.contactBanner {
    transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1)
}

@media only screen and (min-width: 901px) {
    .contactBanner {
        transform:translateY(calc(100% + 2.0833333333vw))
    }
}

@media only screen and (max-width: 900px) {
    .contactBanner {
        transform:translateY(calc(100% + 0px))
    }
}

[data-load="0"] .contactBanner {
    visibility: hidden
}

html[data-load="1"] body:not([data-current-section=home-hero]):not([data-current-section=lineup-hero]) .contactBanner {
    transform: none
}

@media only screen and (min-width: 901px) {
    html[data-load="1"] body[data-show-footer="1"]:not([data-current-section=home-hero]):not([data-current-section=lineup-hero]) .contactBanner {
        transform:translateY(calc(100% + 2.0833333333vw))
    }
}

@media only screen and (max-width: 900px) {
    html[data-load="1"] body[data-show-footer="1"]:not([data-current-section=home-hero]):not([data-current-section=lineup-hero]) .contactBanner {
        transform:translateY(calc(100% + 0px))
    }
}

@media only screen and (min-width: 901px) {
    .contactBannerButton_link:hover .contactBannerButton_icon::after {
        transform:translateX(calc(100% + 0.3472222222vw));
        color: #fff;
        transition: .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)
    }

    .contactBannerButton_link:hover .contactBannerButton_icon::before {
        transform: translateX(0);
        color: #fff;
        transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .3s
    }
}

.generic {
    max-width: 61.6666666667vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .generic {
        max-width:89.6vw
    }
}

.generic_content+.generic_head {
    margin-top: 3.3333333333vw
}

@media only screen and (max-width: 900px) {
    .generic_content+.generic_head {
        margin-top:12.8vw
    }
}

.generic_main {
    margin-top: 5.5555555556vw
}

@media only screen and (max-width: 900px) {
    .generic_main {
        margin-top:16vw
    }
}

.generic_title {
    font-size: 1.8055555556vw;
    line-height: 140%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .generic_title {
        font-size:5.3333333333vw
    }
}

.generic_content {
    margin-top: .5555555556vw
}

@media only screen and (max-width: 900px) {
    .generic_content {
        margin-top:2.1333333333vw
    }
}

.generic_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300
}

@media only screen and (max-width: 900px) {
    .generic_body p {
        font-size:3.7333333333vw
    }
}

.generic_body p+p {
    margin-top: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .generic_body p+p {
        margin-top:4.2666666667vw
    }
}

.generic_notice {
    margin-top: 5.5555555556vw
}

@media only screen and (max-width: 900px) {
    .generic_notice {
        margin-top:21.3333333333vw
    }
}

.genericHead_body {
    margin-top: 4.1666666667vw
}

@media only screen and (max-width: 900px) {
    .genericHead_body {
        margin-top:-4.2666666667vw
    }
}

.genericHead_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300
}

@media only screen and (max-width: 900px) {
    .genericHead_body p {
        font-size:3.7333333333vw
    }
}

.headlineLv1 span {
    display: block
}

.headlineLv1 span.is-en em {
    font-size: 1.3888888889vw;
    font-style: normal;
    display: block;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .headlineLv1 span.is-en em {
        font-size:3.4666666667vw
    }
}

.headlineLv1 span.is-ja {
    margin-top: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .headlineLv1 span.is-ja {
        margin-top:11.4666666667vw
    }
}

.headlineLv1 span.is-ja>em>em {
    font-size: 2.2222222222vw;
    line-height: 150%;
    font-style: normal;
    display: inline-block
}

@media only screen and (max-width: 900px) {
    .headlineLv1 span.is-ja>em>em {
        font-size:6.4vw
    }
}

@media only screen and (min-width: 901px) {
    .headlineLv1[data-align=center] {
        text-align:center
    }
}

.headlineLv1[data-theme=dark] span.is-en {
    color: #09156a;
    font-weight: 700
}

.headlineLv1[data-theme=dark] span.is-ja {
    color: #09156a;
    font-weight: 700
}

.headlineLv1[data-theme=black] span.is-en {
    color: #1e1e1e
}

.headlineLv1[data-theme=black] span.is-ja {
    color: #1e1e1e
}

.headlineLv1 span.is-en {
    overflow: hidden
}

.headlineLv1 span.is-en em {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) .6s;
    transform: translateY(calc(100% + 0px));
    will-change: transform
}

.inview .headlineLv1 span.is-en em {
    transform: none
}

.headlineLv1 span.is-ja>em {
    perspective: 1000px;
    display: block
}

.headlineLv1 span.is-ja>em>em {
    transform: rotateX(90deg) translateY(30px);
    will-change: transform;
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0
}

.inview .headlineLv1 span.is-ja>em>em {
    transform: none;
    opacity: 1
}

.headlineLv1 span.is-ja>em>em:nth-child(1) {
    transition-delay: 0.1s
}

.headlineLv1 span.is-ja>em>em:nth-child(2) {
    transition-delay: 0.13s
}

.headlineLv1 span.is-ja>em>em:nth-child(3) {
    transition-delay: 0.16s
}

.headlineLv1 span.is-ja>em>em:nth-child(4) {
    transition-delay: 0.19s
}

.headlineLv1 span.is-ja>em>em:nth-child(5) {
    transition-delay: 0.22s
}

.headlineLv1 span.is-ja>em>em:nth-child(6) {
    transition-delay: 0.25s
}

.headlineLv1 span.is-ja>em>em:nth-child(7) {
    transition-delay: 0.28s
}

.headlineLv1 span.is-ja>em>em:nth-child(8) {
    transition-delay: 0.31s
}

.headlineLv1 span.is-ja>em>em:nth-child(9) {
    transition-delay: 0.34s
}

.headlineLv1 span.is-ja>em>em:nth-child(10) {
    transition-delay: 0.37s
}

.headlineLv1 span.is-ja>em>em:nth-child(11) {
    transition-delay: 0.4s
}

.headlineLv1 span.is-ja>em>em:nth-child(12) {
    transition-delay: 0.43s
}

.headlineLv1 span.is-ja>em>em:nth-child(13) {
    transition-delay: 0.46s
}

.headlineLv1 span.is-ja>em>em:nth-child(14) {
    transition-delay: 0.49s
}

.headlineLv1 span.is-ja>em>em:nth-child(15) {
    transition-delay: 0.52s
}

.headlineLv1 span.is-ja>em>em:nth-child(16) {
    transition-delay: 0.55s
}

.headlineLv1 span.is-ja>em>em:nth-child(17) {
    transition-delay: 0.58s
}

.headlineLv1 span.is-ja>em>em:nth-child(18) {
    transition-delay: 0.61s
}

.headlineLv1 span.is-ja>em>em:nth-child(19) {
    transition-delay: 0.64s
}

.headlineLv1 span.is-ja>em>em:nth-child(20) {
    transition-delay: 0.67s
}

.headlineLv1 span.is-ja>em>em:nth-child(21) {
    transition-delay: 0.7s
}

.headlineLv1 span.is-ja>em>em:nth-child(22) {
    transition-delay: 0.73s
}

.headlineLv1 span.is-ja>em>em:nth-child(23) {
    transition-delay: 0.76s
}

.headlineLv1 span.is-ja>em>em:nth-child(24) {
    transition-delay: 0.79s
}

.headlineLv1 span.is-ja>em>em:nth-child(25) {
    transition-delay: 0.82s
}

.headlineLv1 span.is-ja>em>em:nth-child(26) {
    transition-delay: 0.85s
}

.headlineLv1 span.is-ja>em>em:nth-child(27) {
    transition-delay: 0.88s
}

.headlineLv1 span.is-ja>em>em:nth-child(28) {
    transition-delay: 0.91s
}

.headlineLv1 span.is-ja>em>em:nth-child(29) {
    transition-delay: 0.94s
}

.headlineLv1 span.is-ja>em>em:nth-child(30) {
    transition-delay: 0.97s
}

.headlineLv1 span.is-ja>em>em:nth-child(31) {
    transition-delay: 1s
}

.headlineLv2 {
    margin: 13.6111111111vw 0 3.4722222222vw
}

@media only screen and (max-width: 900px) {
    .headlineLv2 {
        margin:37.3333333333vw 0 12.2666666667vw
    }
}

.headlineLv2_title {
    text-align: center;
    font-size: 5.5555555556vw;
    display: block;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .headlineLv2_title {
        font-size:10.6666666667vw
    }
}

.headlineLv2_title em {
    font-style: normal
}

.headlineLv2_title {
    perspective: 1000px
}

.headlineLv2_title>em {
    transform: rotateX(90deg) translateY(2.0833333333vw);
    will-change: transform;
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0;
    display: inline-block
}

[data-load="1"] .headlineLv2_title>em {
    transform: none;
    opacity: 1
}

[data-animation="0"] .headlineLv2_title>em {
    transform: none;
    opacity: 1
}

.headlineLv2_title>em:nth-child(1) {
    transition-delay: 0.4s
}

.headlineLv2_title>em:nth-child(2) {
    transition-delay: 0.43s
}

.headlineLv2_title>em:nth-child(3) {
    transition-delay: 0.46s
}

.headlineLv2_title>em:nth-child(4) {
    transition-delay: 0.49s
}

.headlineLv2_title>em:nth-child(5) {
    transition-delay: 0.52s
}

.headlineLv2_title>em:nth-child(6) {
    transition-delay: 0.55s
}

.headlineLv2_title>em:nth-child(7) {
    transition-delay: 0.58s
}

.headlineLv2_title>em:nth-child(8) {
    transition-delay: 0.61s
}

.headlineLv2_title>em:nth-child(9) {
    transition-delay: 0.64s
}

.headlineLv2_title>em:nth-child(10) {
    transition-delay: 0.67s
}

.headlineLv2_title>em:nth-child(11) {
    transition-delay: 0.7s
}

.headlineLv2_title>em:nth-child(12) {
    transition-delay: 0.73s
}

.headlineLv2_title>em:nth-child(13) {
    transition-delay: 0.76s
}

.headlineLv2_title>em:nth-child(14) {
    transition-delay: 0.79s
}

.headlineLv2_title>em:nth-child(15) {
    transition-delay: 0.82s
}

.headlineLv2_title>em:nth-child(16) {
    transition-delay: 0.85s
}

.headlineLv2_title>em:nth-child(17) {
    transition-delay: 0.88s
}

.headlineLv2_title>em:nth-child(18) {
    transition-delay: 0.91s
}

.headlineLv2_title>em:nth-child(19) {
    transition-delay: 0.94s
}

.headlineLv2_title>em:nth-child(20) {
    transition-delay: 0.97s
}

.headlineLv2_title>em:nth-child(21) {
    transition-delay: 1s
}

.headlineLv2_title>em:nth-child(22) {
    transition-delay: 1.03s
}

.headlineLv2_title>em:nth-child(23) {
    transition-delay: 1.06s
}

.headlineLv2_title>em:nth-child(24) {
    transition-delay: 1.09s
}

.headlineLv2_title>em:nth-child(25) {
    transition-delay: 1.12s
}

.headlineLv2_title>em:nth-child(26) {
    transition-delay: 1.15s
}

.headlineLv2_title>em:nth-child(27) {
    transition-delay: 1.18s
}

.headlineLv2_title>em:nth-child(28) {
    transition-delay: 1.21s
}

.headlineLv2_title>em:nth-child(29) {
    transition-delay: 1.24s
}

.headlineLv2_title>em:nth-child(30) {
    transition-delay: 1.27s
}

.headlineLv2_title>em:nth-child(31) {
    transition-delay: 1.3s
}

@keyframes fadeInModal {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.fancybox__container {
    --fancybox-bg: rgba(51, 51, 51, .95);
    --fancybox-content-bg: transparent
}

.fancybox__nav button {
    animation-delay: .2s !important
}

.fancybox__nav button {
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
    border: none;
    cursor: pointer;
    background-color: transparent;
    opacity: 0;
    animation: fadeInModal ease-out 1.5s forwards
}

@media only screen and (min-width: 901px) {
    .fancybox__nav button {
        width:2.5vw;
        height: 2.5vw
    }
}

@media only screen and (max-width: 900px) {
    .fancybox__nav button {
        width:13.3333333333vw;
        height: 13.3333333333vw
    }
}

.modal--gallery .fancybox__nav button {
    top: calc(50% - 1.25vw)
}

@media only screen and (max-width: 900px) {
    .modal--gallery .fancybox__nav button {
        top:calc(50% - 6.6666666667vw)
    }
}

@media only screen and (min-width: 901px) {
    .modal--spec .fancybox__nav button {
        top:calc(50% - .1388888889vw)
    }
}

@media only screen and (max-width: 900px) {
    .modal--spec .fancybox__nav button {
        top:calc(50% + 37.3333333333vw)
    }
}

.fancybox__nav button::after {
    font-size: 1.6666666667vw;
    color: #fff;
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (max-width: 900px) {
    .fancybox__nav button::after {
        font-size:6.1333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .fancybox__nav button:hover::after {
        opacity:.6
    }
}

.fancybox__nav button svg {
    display: none
}

.fancybox__nav button.is-prev:after {
    content: ""
}

.modal--gallery .fancybox__nav button.is-prev {
    left: calc(50% - 23.6111111111vw)
}

@media only screen and (max-width: 900px) {
    .modal--gallery .fancybox__nav button.is-prev {
        left:2.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .modal--gallery .fancybox__nav button.is-prev {
        left:-2.6666666667vw
    }
}

.modal--spec .fancybox__nav button.is-prev {
    left: calc(50% - 30.9027777778vw)
}

@media only screen and (max-width: 900px) {
    .modal--spec .fancybox__nav button.is-prev {
        left:2.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .modal--spec .fancybox__nav button.is-prev {
        left:-2.6666666667vw
    }
}

.fancybox__nav button.is-next:after {
    content: ""
}

.modal--gallery .fancybox__nav button.is-next {
    right: calc(50% - 23.6111111111vw)
}

@media only screen and (max-width: 900px) {
    .modal--gallery .fancybox__nav button.is-next {
        right:2.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .modal--gallery .fancybox__nav button.is-next {
        right:-2.6666666667vw
    }
}

.modal--spec .fancybox__nav button.is-next {
    right: calc(50% - 30.9027777778vw)
}

@media only screen and (max-width: 900px) {
    .modal--spec .fancybox__nav button.is-next {
        right:2.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .modal--spec .fancybox__nav button.is-next {
        right:-2.6666666667vw
    }
}

.modalClose {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    cursor: pointer;
    background-color: transparent;
    cursor: pointer;
    pointer-events: auto;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1)
}

.modalClose:before {
    content: ""
}

@media only screen and (min-width: 901px) {
    .modal--gallery .modalClose {
        left:calc(50% + 21.3194444444vw);
        top: calc(50% - 19.7916666667vw)
    }

    .modal--spec .modalClose {
        left: calc(50% + 28.4722222222vw);
        top: calc(50% - 16.6666666667vw)
    }
}

@media only screen and (max-width: 900px) {
    .modalClose {
        right:5.3333333333vw;
        top: 5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .modalClose:hover {
        opacity:.5
    }
}

.is-closing .modalClose {
    opacity: 0
}

.modalClose::before {
    color: #fff;
    font-size: 1.875vw
}

@media only screen and (max-width: 900px) {
    .modalClose::before {
        font-size:7.2vw
    }
}

.modalClose svg {
    display: none
}

.opening {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff
}

.opening_logo {
    position: relative;
    width: 24.3055555556vw;
    height: 28.5416666667vw
}

@media only screen and (max-width: 900px) {
    .opening_logo {
        width:45.3333333333vw;
        height: 53.3333333333vw
    }
}

.opening_logo div {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain
}

.opening_logo div.is-mono {
    z-index: 0;
    background-image: url("../img/home/opening_logo_mono.png")
}

.opening_logo div.is-color {
    z-index: 1;
    background-image: url("../img/home/opening_logo_color.png");
    opacity: 0;
    transition: 3s cubic-bezier(0.445, 0.05, 0.55, 0.95)
}

[data-load="1"] .opening_logo div.is-color {
    opacity: 1
}

.opening {
    visibility: hidden
}

.opening.inview {
    visibility: visible
}

.snsList {
    display: flex;
    align-items: center
}

.snsList_item {
    margin-right: 2.7777777778vw
}

@media only screen and (max-width: 900px) {
    .snsList_item {
        margin-right:4.5333333333vw
    }
}

.snsList_item:last-child {
    margin-right: 0
}

.snsList_link {
    border-radius: 50%;
    width: 5.2777777778vw;
    height: 5.2777777778vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%);
    position: relative
}

@media only screen and (min-width: 901px) {
    .snsList_link::after {
        content:"";
        position: absolute;
        background: linear-gradient(180deg, #8C0000 0%, #A31C01 100%);
        height: 100%;
        width: 100%;
        border-radius: 50%;
        left: 0;
        top: 0;
        display: block;
        z-index: 0
    }
}

@media only screen and (max-width: 900px) {
    .snsList_link {
        width:12.8vw;
        height: 12.8vw
    }
}

.snsList_link::before {
    position: relative;
    z-index: 1
}

[data-sns=instagram] .snsList_link:before {
    content: ""
}

[data-sns=instagram] .snsList_link::before {
    font-size: 2.2916666667vw;
    margin-top: .2777777778vw
}

@media only screen and (max-width: 900px) {
    [data-sns=instagram] .snsList_link::before {
        font-size:5.6vw;
        margin-top: .5333333333vw
    }
}

[data-sns=youtube] .snsList_link:before {
    content: ""
}

[data-sns=youtube] .snsList_link::before {
    font-size: 2.6388888889vw
}

@media only screen and (max-width: 900px) {
    [data-sns=youtube] .snsList_link::before {
        font-size:6.4vw
    }
}

[data-sns=x] .snsList_link:before {
    content: ""
}

[data-sns=x] .snsList_link::before {
    font-size: 2.0138888889vw;
    margin-top: .1388888889vw
}

@media only screen and (max-width: 900px) {
    [data-sns=x] .snsList_link::before {
        font-size:5.0666666667vw;
        margin-top: .5333333333vw
    }
}

.snsList_link::after {
    opacity: 0;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .snsList_link:hover::after {
        opacity:1
    }
}

.about {
    position: relative;
    z-index: 1
}

.aboutBlank {
    height: 17.3611111111vw
}

@media only screen and (max-width: 900px) {
    .aboutBlank {
        height:60.8vw
    }
}

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

.aboutIntro {
    position: relative
}

.aboutIntro_head {
    text-align: center;
    width: 100%;
    position: relative;
    z-index: 2
}

.aboutIntro_title {
    transform: translateY(-7.6388888889vw)
}

@media only screen and (max-width: 900px) {
    .aboutIntro_title {
        transform:translateY(-29.3333333333vw)
    }
}

.aboutIntro_title span {
    font-size: 11.1111111111vw;
    display: block;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .aboutIntro_title span {
        font-size:20.2666666667vw
    }
}

.aboutIntro_content {
    text-align: center;
    padding-bottom: 13.8888888889vw;
    margin-top: 100lvh
}

@media only screen and (max-width: 900px) {
    .aboutIntro_content {
        padding-bottom:53.3333333333vw
    }
}

.aboutIntro_copy p {
    font-size: 3.3333333333vw;
    letter-spacing: .04em;
    line-height: 160%
}

@media only screen and (max-width: 900px) {
    .aboutIntro_copy p {
        font-size:7.2vw
    }
}

.aboutIntro_body {
    margin-top: 8.3333333333vw
}

@media only screen and (max-width: 900px) {
    .aboutIntro_body {
        margin-top:16vw
    }
}

.aboutIntro_body p {
    font-size: 1.3888888889vw;
    line-height: 280%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .aboutIntro_body p {
        font-size:4.2666666667vw;
        line-height: 200%
    }
}

.aboutIntro_body p+p {
    margin-top: 3.3333333333vw
}

@media only screen and (max-width: 900px) {
    .aboutIntro_body p+p {
        margin-top:7.4666666667vw
    }
}

.aboutIntro_logo {
    width: 25.5555555556vw;
    margin: 5.5555555556vw auto 0
}

@media only screen and (max-width: 900px) {
    .aboutIntro_logo {
        width:57.6vw;
        margin-top: 12vw
    }
}

.aboutIntro_title span {
    perspective: 1000px
}

.aboutIntro_title span>em {
    transform: rotateX(90deg) translateY(4.1666666667vw);
    will-change: transform;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    display: inline-block
}

[data-load="1"] .aboutIntro_title span>em {
    transform: none;
    opacity: 1
}

.aboutIntro_title span>em:nth-child(1) {
    transition-delay: 0.4s
}

.aboutIntro_title span>em:nth-child(2) {
    transition-delay: 0.43s
}

.aboutIntro_title span>em:nth-child(3) {
    transition-delay: 0.46s
}

.aboutIntro_title span>em:nth-child(4) {
    transition-delay: 0.49s
}

.aboutIntro_title span>em:nth-child(5) {
    transition-delay: 0.52s
}

.aboutIntro_title span>em:nth-child(6) {
    transition-delay: 0.55s
}

.aboutIntro_title span>em:nth-child(7) {
    transition-delay: 0.58s
}

.aboutIntro_title span>em:nth-child(8) {
    transition-delay: 0.61s
}

.aboutIntro_title span>em:nth-child(9) {
    transition-delay: 0.64s
}

.aboutIntro_title span>em:nth-child(10) {
    transition-delay: 0.67s
}

.aboutIntro_title span>em:nth-child(11) {
    transition-delay: 0.7s
}

.aboutIntro_title span>em:nth-child(12) {
    transition-delay: 0.73s
}

.aboutIntro_title span>em:nth-child(13) {
    transition-delay: 0.76s
}

.aboutIntro_title span>em:nth-child(14) {
    transition-delay: 0.79s
}

.aboutIntro_title span>em:nth-child(15) {
    transition-delay: 0.82s
}

.aboutIntro_title span>em:nth-child(16) {
    transition-delay: 0.85s
}

.aboutIntro_title span>em:nth-child(17) {
    transition-delay: 0.88s
}

.aboutIntro_title span>em:nth-child(18) {
    transition-delay: 0.91s
}

.aboutIntro_title span>em:nth-child(19) {
    transition-delay: 0.94s
}

.aboutIntro_title span>em:nth-child(20) {
    transition-delay: 0.97s
}

.aboutIntro_title span>em:nth-child(21) {
    transition-delay: 1s
}

.aboutIntro_title span>em:nth-child(22) {
    transition-delay: 1.03s
}

.aboutIntro_title span>em:nth-child(23) {
    transition-delay: 1.06s
}

.aboutIntro_title span>em:nth-child(24) {
    transition-delay: 1.09s
}

.aboutIntro_title span>em:nth-child(25) {
    transition-delay: 1.12s
}

.aboutIntro_title span>em:nth-child(26) {
    transition-delay: 1.15s
}

.aboutIntro_title span>em:nth-child(27) {
    transition-delay: 1.18s
}

.aboutIntro_title span>em:nth-child(28) {
    transition-delay: 1.21s
}

.aboutIntro_title span>em:nth-child(29) {
    transition-delay: 1.24s
}

.aboutIntro_title span>em:nth-child(30) {
    transition-delay: 1.27s
}

.aboutIntro_title span>em:nth-child(31) {
    transition-delay: 1.3s
}

.aboutBackground {
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100lvh;
    position: absolute
}

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

.aboutBackground_image {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.aboutBackground_image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.aboutBackground {
    overflow: hidden
}

.aboutBackground_inner {
    transition: 2.2s cubic-bezier(0.19, 1, 0.22, 1) .1s;
    transform: none;
    will-change: transform
}

[data-load="0"] .aboutBackground_inner {
    transform: scale(1.05)
}

.company {
    background-color: #ffffff
}

.company_wrap {
    padding: 11.1111111111vw 0 .0694444444vw;
    max-width: 61.6666666667vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .company_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .company_wrap {
        padding:27.4666666667vw 0 .2666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .companyHead {
        text-align:center
    }
}

.companyHead_title span {
    display: block
}

.companyHead_title span.is-en {
    font-size: 1.3888888889vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .companyHead_title span.is-en {
        font-size:3.4666666667vw
    }
}

.companyHead_title span.is-ja {
    font-size: 2.2222222222vw;
    margin-top: 1.7361111111vw;
    left: .04em
}

@media only screen and (max-width: 900px) {
    .companyHead_title span.is-ja {
        font-size:6.4vw;
        margin-top: 6.1333333333vw
    }
}

.companyOutline {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #4d4d4d;
    border-bottom: 1px solid #4d4d4d;
    margin-top: 4.7916666667vw;
    padding-top: 1.3888888889vw;
    padding-bottom: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .companyOutline {
        margin-top:12vw;
        padding-top: 5.6vw;
        padding-bottom: 5.6vw
    }
}

.companyOutline dt,.companyOutline dd {
    font-size: 1.25vw;
    line-height: 200%;
    letter-spacing: .04em;
    padding-top: 1.5972222222vw;
    padding-bottom: 1.5972222222vw
}

@media only screen and (max-width: 900px) {
    .companyOutline dt,.companyOutline dd {
        font-size:3.7333333333vw;
        line-height: 150%;
        padding-top: 4.5333333333vw;
        padding-bottom: 4.5333333333vw
    }
}

.companyOutline dt {
    width: 15.1388888889vw;
    padding-left: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .companyOutline dt {
        width:25.3333333333vw
    }
}

.companyOutline dd {
    width: 44.8611111111vw
}

@media only screen and (max-width: 900px) {
    .companyOutline dd {
        width:61.0666666667vw
    }
}

.companyExternal {
    margin-top: 6.25vw
}

@media only screen and (max-width: 900px) {
    .companyExternal {
        margin-top:17.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .companyExternal_title {
        text-align:center
    }
}

.companyExternal_title span {
    font-size: 1.8055555556vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .companyExternal_title span {
        font-size:5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .companyExternalCards {
        display:flex;
        justify-content: space-between;
        margin-top: 3.4722222222vw;
        padding-left: .6944444444vw;
        padding-right: .6944444444vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCards {
        margin-top:8.5333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .companyExternalCard {
        width:28.6111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCard {
        margin-bottom:10.6666666667vw
    }
}

.companyExternalCard_link {
    display: block
}

.companyExternalCard_content {
    margin-top: 1.3888888889vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_content {
        margin-top:3.4666666667vw
    }
}

.companyExternalCard_label {
    font-size: 1.0416666667vw;
    color: #999
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_label {
        font-size:3.2vw
    }
}

.companyExternalCard_body {
    display: flex;
    align-items: center
}

@media only screen and (min-width: 901px) {
    .companyExternalCard_body {
        margin-top:.3472222222vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_body {
        margin-top:2.1333333333vw
    }
}

.companyExternalCard_title {
    font-size: 1.3888888889vw;
    letter-spacing: .04em;
    margin-right: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_title {
        font-size:4.2666666667vw
    }
}

.companyExternalCard_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background-color: #333;
    position: relative
}

.companyExternalCard_icon::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25vw;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_icon::before {
        border-radius:3.7333333333vw
    }
}

.companyExternalCard_icon i {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    width: .9722222222vw;
    height: .8333333333vw;
    overflow: hidden;
    position: relative
}

.companyExternalCard_icon i:before {
    content: ""
}

.companyExternalCard_icon i:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_icon i {
        width:3.7333333333vw;
        height: 3.2vw
    }
}

.companyExternalCard_icon i::before,.companyExternalCard_icon i::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block
}

.companyExternalCard_icon i::after {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.companyExternalCard_icon i::before {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateX(calc(-100% - 0.3472222222vw)) translateY(calc(100% + 0.3472222222vw))
}

@media only screen and (min-width: 901px) {
    .companyExternalCard_icon i {
        width:.8333333333vw;
        height: .8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_icon i {
        width:3.2vw;
        height: 3.2vw
    }

    .lineupMenu .companyExternalCard_icon i {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
}

.companyExternalCard_icon i::before,.companyExternalCard_icon i::after {
    color: #fff
}

@media only screen and (min-width: 901px) {
    .companyExternalCard_icon i::before,.companyExternalCard_icon i::after {
        font-size:.8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_icon i::before,.companyExternalCard_icon i::after {
        font-size:2.6666666667vw
    }

    .lineupMenu .companyExternalCard_icon i::before,.lineupMenu .companyExternalCard_icon i::after {
        font-size: 3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .companyExternalCard_icon {
        width:3.3333333333vw;
        height: 2.5vw;
        border-radius: 1.25vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_icon {
        width:9.8666666667vw;
        height: 7.4666666667vw;
        border-radius: 3.7333333333vw
    }

    .buttonBack .companyExternalCard_icon,.companyExternalCard .companyExternalCard_icon {
        width: 12.8vw;
        height: 9.6vw;
        border-radius: 4.8vw
    }

    .lineupMenu .companyExternalCard_icon {
        width: 14.9333333333vw;
        height: 10.6666666667vw;
        border-radius: 5.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .companyExternalCard_icon {
        position:absolute;
        right: 0;
        top: 0
    }
}

.companyExternalCard_icon::before {
    opacity: 0;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .companyExternalCard_link:hover .companyExternalCard_icon::before {
        opacity:1
    }

    .companyExternalCard_link:hover .companyExternalCard_icon i::after {
        transform: translateX(calc(100% + 0.3472222222vw)) translateY(calc(-100% - 0.3472222222vw));
        color: #fff;
        transition: .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)
    }

    .companyExternalCard_link:hover .companyExternalCard_icon i::before {
        transform: translateX(0) translateY(0);
        color: #fff;
        transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .3s
    }
}

.aboutLineup {
    background-color: #d9d9d9
}

.aboutLineup_wrap {
    padding: 11.25vw 0;
    max-width: 93.8888888889vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .aboutLineup_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .aboutLineup_wrap {
        padding:28vw 0 18.6666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .aboutLineup_headline {
        text-align:center
    }
}

.aboutLineup_headline span {
    display: block
}

.aboutLineup_headline span.is-en {
    font-size: 1.3888888889vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .aboutLineup_headline span.is-en {
        font-size:3.4666666667vw
    }
}

.aboutLineup_headline span.is-ja {
    margin-top: 1.7361111111vw;
    font-size: 2.2222222222vw;
    letter-spacing: .04em;
    color: #1e1e1e
}

@media only screen and (max-width: 900px) {
    .aboutLineup_headline span.is-ja {
        font-size:6.4vw;
        margin-top: 4.8vw;
        line-height: 150%
    }
}

@media only screen and (min-width: 901px) {
    .aboutLineupCards {
        margin-top:4.8611111111vw;
        display: flex;
        justify-content: space-between
    }
}

@media only screen and (max-width: 900px) {
    .aboutLineupCards {
        margin-top:10.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard {
        margin-bottom:7.4666666667vw
    }

    .aboutLineupCard:last-child {
        margin-bottom: 0
    }
}

.aboutLineupCard_link {
    position: relative;
    display: block
}

@media only screen and (min-width: 901px) {
    .aboutLineupCard_link {
        width:29.4444444444vw;
        height: 36.8055555556vw
    }
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard_link {
        height:71.7333333333vw
    }
}

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

.aboutLineupCard_image>picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.aboutLineupCard_image>picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.aboutLineupCard_inner {
    position: absolute;
    z-index: 1;
    left: 1.6666666667vw;
    bottom: 1.6666666667vw;
    width: 26.1111111111vw
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard_inner {
        width:81.0666666667vw;
        left: 4.2666666667vw;
        bottom: 4.2666666667vw
    }
}

.aboutLineupCard_title {
    font-size: 3.3333333333vw;
    letter-spacing: .02em;
    text-shadow: 0px 0px 10px rgba(0,0,0,.4);
    white-space: nowrap;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard_title {
        font-size:8.5333333333vw
    }
}

.aboutLineupCard_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: .4861111111vw
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard_wrap {
        margin-top:1.8666666667vw
    }
}

.aboutLineupCard_body {
    text-shadow: 0px 0px 10px rgba(0,0,0,.4)
}

.aboutLineupCard_body p {
    font-size: 1.25vw;
    letter-spacing: .04em;
    line-height: 150%
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard_body p {
        font-size:3.7333333333vw
    }
}

.aboutLineupCard .buttonFill {
    margin-top: .4166666667vw
}

@media only screen and (max-width: 900px) {
    .aboutLineupCard .buttonFill {
        margin-top:1.3333333333vw
    }
}

.aboutLineupCard_image {
    overflow: hidden
}

.aboutLineupCard_image>picture {
    transition: 1.7s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .aboutLineupCard_link:hover .aboutLineupCard_image>picture {
        transform:scale(1.06)
    }
}

.contact {
    max-width: 61.6666666667vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .contact {
        max-width:89.6vw
    }
}

.contact_section {
    margin-top: 5.9027777778vw
}

@media only screen and (max-width: 900px) {
    .contact_section {
        margin-top:19.2vw
    }
}

.contact_headline span {
    font-size: 2.0833333333vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .contact_headline span {
        font-size:5.8666666667vw
    }
}

.contact_body {
    margin-top: 1.5972222222vw
}

@media only screen and (max-width: 900px) {
    .contact_body {
        margin-top:4.2666666667vw
    }
}

.contact_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .contact_body p {
        font-size:3.7333333333vw
    }
}

.contact_line {
    margin-top: 1.9444444444vw
}

@media only screen and (max-width: 900px) {
    .contact_line {
        margin-top:5.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .contact_line .buttonLine {
        margin-left:auto;
        margin-right: auto
    }
}

.contact_agree {
    display: flex;
    justify-content: center;
    margin-top: 4.1666666667vw
}

@media only screen and (max-width: 900px) {
    .contact_agree {
        margin-top:8vw
    }
}

.contact_button {
    margin-top: 2.7777777778vw
}

@media only screen and (max-width: 900px) {
    .contact_button {
        margin-top:10.6666666667vw
    }
}

.contact_button[data-row="1"] {
    display: flex;
    justify-content: center
}

@media only screen and (min-width: 901px) {
    .contact_button[data-row="2"] {
        justify-content:space-between;
        display: flex;
        width: 45.5555555556vw;
        margin-top: 5.5555555556vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (max-width: 900px) {
    .contact_button[data-row="2"] {
        width:fit-content;
        margin-left: auto;
        margin-right: auto;
        display: flex;
        flex-direction: column-reverse
    }

    .contact_button[data-row="2"] .buttonFill:first-child {
        margin-top: 5.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .contact_button .buttonFill_link {
        width:78.9333333333vw
    }
}

.contact_copyright {
    padding: 13.5416666667vw 0 3.4722222222vw
}

@media only screen and (max-width: 900px) {
    .contact_copyright {
        padding:30.6666666667vw 0 6.6666666667vw
    }
}

.contact_copyright p {
    font-size: .8333333333vw;
    text-align: center;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .contact_copyright p {
        font-size:2.6666666667vw
    }
}

.contactHead_title {
    font-size: 1.6666666667vw;
    margin: 5.5555555556vw 0 2.0833333333vw
}

@media only screen and (max-width: 900px) {
    .contactHead_title {
        font-size:5.3333333333vw;
        margin: 0 0 9.3333333333vw
    }
}

.contactHead_body {
    margin-top: -.6944444444vw
}

@media only screen and (max-width: 900px) {
    .contactHead_body {
        margin-top:-4vw
    }
}

.contactHead_body[data-align=center] {
    text-align: center
}

.contactHead_body p {
    font-size: 1.1111111111vw;
    line-height: 200%
}

@media only screen and (max-width: 900px) {
    .contactHead_body p {
        font-size:3.7333333333vw
    }
}

.contactHead_body p.is-attention {
    font-size: .9027777778vw;
    margin-top: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .contactHead_body p.is-attention {
        font-size:3.2vw;
        margin-top: 4vw;
        padding-left: 4.8vw;
        text-indent: -4.8vw;
        line-height: 175%
    }
}

.contactHead_body p a {
    text-decoration: underline
}

@media only screen and (min-width: 901px) {
    .contactHead_body p a:hover {
        text-decoration:none
    }
}

.contactHead .buttonFill {
    margin-top: 3.8194444444vw
}

@media only screen and (max-width: 900px) {
    .contactHead .buttonFill {
        margin-top:10.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .contactHead .buttonFill_link {
        width:78.9333333333vw
    }
}

input[type=text],input[type=email],input[type=password],input[type=tel],input[type=email],input[type=search],select,textarea {
    color: #ebebeb;
    border-radius: 0
}

input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=email]:focus,input[type=search]:focus,select:focus,textarea:focus {
    outline: 0
}

input[type=text].wpcf7-not-valid,input[type=email].wpcf7-not-valid,input[type=password].wpcf7-not-valid,input[type=tel].wpcf7-not-valid,input[type=email].wpcf7-not-valid,input[type=search].wpcf7-not-valid,select.wpcf7-not-valid,textarea.wpcf7-not-valid {
    border: 1px solid #e5511c
}

:-ms-input-placeholder {
    color: #737373
}

::placeholder {
    color: #737373
}

.wpcf7-not-valid-tip {
    color: #e5511c;
    font-weight: bold;
    font-size: .9027777778vw;
    margin-top: 1.0416666667vw;
    display: block
}

@media only screen and (max-width: 900px) {
    .wpcf7-not-valid-tip {
        font-size:3.4666666667vw;
        margin-top: 4vw
    }
}

.wpcf7-response-output {
    display: none
}

.wpcf7-spinner {
    display: none !important;
    visibility: hidden !important
}

.ajax-loader {
    display: none
}

.field {
    margin-top: 2.9166666667vw
}

@media only screen and (max-width: 900px) {
    .field {
        margin-top:9.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .field_item {
        display:flex;
        justify-content: space-between;
        margin-bottom: 2.7777777778vw
    }
}

@media only screen and (max-width: 900px) {
    .field_item {
        margin-bottom:7.2vw
    }
}

@media only screen and (min-width: 901px) {
    [data-section=contact-confirm] .field_item {
        margin-bottom:2.9166666667vw
    }
}

@media only screen and (max-width: 900px) {
    [data-section=contact-confirm] .field_item {
        margin-bottom:13.3333333333vw
    }
}

.field_item[align-center] {
    align-items: center
}

@media only screen and (min-width: 901px) {
    .field_head {
        width:13.3333333333vw
    }
}

.field_dot,[data-required] .field_title span:first-child::before,[data-required] .field_title::before {
    content: "";
    display: block;
    position: absolute;
    border-radius: 50%;
    background-color: #e5511c
}

@media only screen and (min-width: 901px) {
    .field_dot,[data-required] .field_title span:first-child::before,[data-required] .field_title::before {
        right:-.9027777778vw;
        top: .3472222222vw;
        width: .4166666667vw;
        height: .4166666667vw
    }
}

@media only screen and (max-width: 900px) {
    .field_dot,[data-required] .field_title span:first-child::before,[data-required] .field_title::before {
        right:-3.2vw;
        top: 1.3333333333vw;
        width: 1.6vw;
        height: 1.6vw
    }
}

.field_title {
    margin-top: .2083333333vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .field_title {
        margin-top:.8vw;
        width: fit-content
    }
}

@media only screen and (min-width: 901px) {
    [data-required] .field_title::before {
        display:none
    }
}

.field_title span {
    line-height: 150%;
    position: relative;
    width: fit-content
}

@media only screen and (min-width: 901px) {
    .field_title span {
        font-size:1.1111111111vw;
        display: block
    }
}

@media only screen and (max-width: 900px) {
    [data-required] .field_title span:first-child::before {
        display:none
    }
}

@media only screen and (max-width: 900px) {
    .field_title span {
        font-size:4vw
    }
}

@media only screen and (min-width: 901px) {
    .field_input {
        width:45.5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .field_input {
        margin-top:3.2vw
    }
}

.field_result {
    font-size: 1.1111111111vw;
    line-height: 200%;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300
}

@media only screen and (max-width: 900px) {
    .field_result {
        font-size:3.7333333333vw;
        margin-top: -1.3333333333vw
    }
}

.fieldText input {
    font-size: 1.1111111111vw;
    padding: .9027777778vw 1.3888888889vw;
    width: 100%;
    border: none;
    background: #4d4d4d
}

@media only screen and (max-width: 900px) {
    .fieldText input {
        font-size:4vw;
        padding: 4.8vw 4.8vw
    }
}

.fieldTexarea textarea {
    font-size: 1.1111111111vw;
    padding: 1.1805555556vw 1.3888888889vw;
    height: 15.1388888889vw;
    width: 100%;
    border: none;
    background: #4d4d4d
}

@media only screen and (max-width: 900px) {
    .fieldTexarea textarea {
        font-size:3.7333333333vw;
        padding: 4.2666666667vw 5.3333333333vw;
        height: 59.7333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .fieldRadio {
        margin-top:6.4vw;
        margin-bottom: 10.1333333333vw
    }
}

.fieldRadio .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    margin: -.4861111111vw 0 0 0
}

@media only screen and (max-width: 900px) {
    .fieldRadio .wpcf7-form-control {
        display:block;
        margin: -1.8666666667vw 0 0 0
    }
}

@media only screen and (min-width: 901px) {
    .fieldRadio .wpcf7-list-item {
        margin-right:1.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .fieldRadio .wpcf7-list-item {
        margin-bottom:4.5333333333vw
    }
}

.fieldRadio .wpcf7-list-item-label {
    cursor: pointer;
    display: flex;
    position: relative;
    line-height: 1.6;
    padding: .4861111111vw 0 0 2.9166666667vw
}

.fieldRadio .wpcf7-list-item-label:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .fieldRadio .wpcf7-list-item-label {
        padding:1.8666666667vw 0 0 11.2vw
    }
}

.fieldRadio input[type=radio] {
    opacity: 0;
    position: absolute
}

.fieldRadio .wpcf7-list-item-label::before {
    background-color: #4d4d4d;
    border-radius: 50%;
    content: "";
    width: 2.2222222222vw;
    height: 2.2222222222vw;
    margin-bottom: auto;
    margin-top: auto;
    transition: background-color .5s;
    position: absolute;
    left: 0;
    top: .2083333333vw;
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (max-width: 900px) {
    .fieldRadio .wpcf7-list-item-label::before {
        width:8.5333333333vw;
        height: 8.5333333333vw;
        top: .8vw
    }
}

.fieldRadio .wpcf7-list-item-label::after {
    position: absolute;
    left: .5555555556vw;
    top: .625vw;
    font-size: .9722222222vw;
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0
}

@media only screen and (max-width: 900px) {
    .fieldRadio .wpcf7-list-item-label::after {
        left:2.4vw;
        top: 2.4vw;
        font-size: 3.7333333333vw
    }
}

.fieldRadio input[type=radio]:checked+.wpcf7-list-item-label::before {
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

.fieldRadio input[type=radio]:checked+.wpcf7-list-item-label::after {
    opacity: 1
}

.fieldRadio>span {
    display: block
}

.fieldRadio>span>span {
    display: flex;
    flex-wrap: wrap
}

.fieldRadio>span>span>span {
    display: flex;
    align-items: center;
    margin: .4166666667vw 0
}

@media only screen and (max-width: 900px) {
    .fieldRadio>span>span>span {
        margin:0 0 1.1111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .fieldRadio>span>span>span:last-child {
        margin-bottom:0
    }
}

.fieldRadio>span>span>span>label span {
    display: flex;
    align-items: center;
    font-size: 1.1111111111vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .fieldRadio>span>span>span>label span {
        font-size:4vw
    }
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox {
        margin:5.3333333333vw 0 9.3333333333vw
    }
}

.fieldCheckbox .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap
}

@media only screen and (min-width: 901px) {
    .fieldCheckbox .wpcf7-form-control {
        margin-top:-.6944444444vw
    }
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox .wpcf7-form-control {
        display:block
    }
}

.fieldCheckbox .wpcf7-list-item {
    display: block;
    margin: 1.3888888889vw 1.9444444444vw 0 0;
    position: relative
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox .wpcf7-list-item {
        margin:4.5333333333vw 0 0 0
    }
}

.fieldCheckbox .wpcf7-list-item label {
    display: flex
}

.fieldCheckbox .wpcf7-list-item label span {
    font-size: 1.1111111111vw;
    margin: .1388888889vw 0 0 0;
    display: block
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox .wpcf7-list-item label span {
        font-size:4.2666666667vw;
        margin: .5333333333vw 0 0 0
    }
}

.fieldCheckbox .wpcf7-list-item label span a {
    text-decoration: underline
}

.fieldCheckbox .wpcf7-list-item label span a:hover {
    text-decoration: none
}

.fieldCheckbox .wpcf7-list-item-label {
    cursor: pointer;
    position: relative
}

.fieldCheckbox .wpcf7-list-item-label:after {
    content: ""
}

.fieldCheckbox input[type=checkbox] {
    opacity: 0;
    position: absolute
}

.fieldCheckbox .wpcf7-list-item-label::before {
    content: "";
    display: inline-block;
    position: relative;
    vertical-align: middle;
    width: 2.2222222222vw;
    height: 2.2222222222vw;
    margin: -.2083333333vw .6944444444vw 0 0;
    background-color: #4d4d4d;
    border-radius: 50%
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox .wpcf7-list-item-label::before {
        width:8.5333333333vw;
        height: 8.5333333333vw;
        margin: -0.8vw 2.6666666667vw 0 0
    }
}

.fieldCheckbox input[type=checkbox]+.wpcf7-list-item-label::after {
    position: absolute;
    left: .625vw;
    top: .5555555556vw;
    font-size: .9722222222vw;
    transition: .4s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox input[type=checkbox]+.wpcf7-list-item-label::after {
        left:2.4vw;
        top: 1.8666666667vw;
        font-size: 3.7333333333vw
    }
}

.fieldCheckbox input[type=checkbox]:checked+.wpcf7-list-item-label::before {
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

.fieldCheckbox input[type=checkbox]:checked+.wpcf7-list-item-label::after {
    opacity: 1
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox--agree {
        margin:9.3333333333vw 0 0
    }
}

.fieldCheckbox--agree .wpcf7-list-item {
    width: 100%;
    position: relative;
    margin-right: 0
}

.fieldCheckbox--agree .wpcf7-list-item::before {
    content: "";
    display: block;
    position: absolute;
    right: -.6944444444vw;
    top: 0vw;
    width: .4166666667vw;
    height: .4166666667vw;
    border-radius: 50%;
    background-color: #e5511c
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox--agree .wpcf7-list-item::before {
        right:-2.6666666667vw;
        top: 0vw;
        width: 1.6vw;
        height: 1.6vw
    }
}

.fieldCheckbox--agree .wpcf7-list-item-label::before {
    margin-right: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .fieldCheckbox--agree .wpcf7-list-item-label::before {
        margin-right:2.6666666667vw
    }
}

.fieldSelect {
    position: relative;
    display: block;
    width: 100%
}

.fieldSelect:before {
    content: ""
}

.fieldSelect::before {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    right: 1.0416666667vw;
    top: 1.3888888889vw;
    font-size: .7638888889vw
}

@media only screen and (max-width: 900px) {
    .fieldSelect::before {
        right:4.5333333333vw;
        top: 5.8666666667vw;
        font-size: 2.9333333333vw
    }
}

.fieldSelect select {
    cursor: pointer;
    position: relative;
    width: 100%;
    background: #4d4d4d;
    border-top-left-radius: none;
    font-size: 1.1111111111vw;
    padding: .9027777778vw 1.3888888889vw;
    border: none;
    color: #ebebeb
}

@media only screen and (max-width: 900px) {
    .fieldSelect select {
        padding:4.8vw 5.3333333333vw;
        font-size: 4vw
    }
}

.fieldSelect label {
    position: relative
}

.faqContact {
    padding: 8.3333333333vw 0;
    background-color: #d9d9d9
}

@media only screen and (max-width: 900px) {
    .faqContact {
        padding:21.3333333333vw 0 17.3333333333vw;
        margin-top: 26.6666666667vw
    }
}

.faqContact * {
    color: #1e1e1e
}

.faqContact_wrap {
    max-width: 93.8888888889vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .faqContact_wrap {
        max-width:89.6vw
    }
}

.faqContact_headline {
    text-align: center
}

.faqContact_headline span {
    font-size: 3.3333333333vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .faqContact_headline span {
        font-size:7.4666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .faqContact_body {
        text-align:center;
        margin-top: 1.3888888889vw
    }
}

@media only screen and (max-width: 900px) {
    .faqContact_body {
        margin-top:4vw
    }
}

.faqContact_body p {
    font-size: 1.1111111111vw;
    line-height: 200%
}

@media only screen and (max-width: 900px) {
    .faqContact_body p {
        font-size:3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .faqContact_button {
        margin-top:2.7777777778vw;
        display: flex;
        justify-content: space-between
    }
}

@media only screen and (max-width: 900px) {
    .faqContact_button {
        margin-top:8vw
    }
}

.faqContactButton {
    border: 1px solid #999
}

@media only screen and (min-width: 901px) {
    .faqContactButton {
        width:48.5207100592%
    }
}

@media only screen and (max-width: 900px) {
    .faqContactButton {
        margin-bottom:4.2666666667vw
    }
}

.faqContactButton_link {
    height: 11.3888888889vw;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width: 900px) {
    .faqContactButton_link {
        height:26.6666666667vw
    }
}

.faqContactButton_icon {
    width: 3.3333333333vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .faqContactButton_icon {
        width:10.6666666667vw
    }
}

.faqContactButton_icon img {
    width: 100%;
    height: auto
}

.faqContactButton_title {
    font-size: 1.1111111111vw;
    margin-top: .8333333333vw
}

@media only screen and (max-width: 900px) {
    .faqContactButton_title {
        font-size:3.7333333333vw;
        margin-top: 2.1333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .faqContactButton_link {
        transition:1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
    }
}

@media only screen and (min-width: 901px) {
    .faqContactButton_link:hover {
        background-color:rgba(255, 255, 255,0.4)
    }
}

@media only screen and (min-width: 901px) {
    .faq {
        margin-top:4.0277777778vw;
        padding-bottom: 11.1111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .faq {
        margin-top:10.9333333333vw
    }
}

.faq_section {
    margin-bottom: 5.5555555556vw
}

@media only screen and (max-width: 900px) {
    .faq_section {
        margin-bottom:18.1333333333vw
    }
}

.faq_section:last-child {
    margin-bottom: 0
}

.faq_headline span {
    letter-spacing: .04em;
    line-height: 140%;
    font-size: 2.0833333333vw;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .faq_headline span {
        font-size:5.8666666667vw
    }
}

.faqCards {
    border-top: 1px solid #4d4d4d
}

.faq .faqCards {
    margin-top: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .faq .faqCards {
        margin-top:6.4vw
    }
}

.faqCard {
    border-bottom: 1px solid #4d4d4d
}

.faqCardQuestion {
    padding: 2.4305555556vw 2.7777777778vw 2.0833333333vw 0;
    position: relative;
    width: 100%
}

@media only screen and (max-width: 900px) {
    .faqCardQuestion {
        padding:5.8666666667vw 10.6666666667vw 5.3333333333vw 0
    }
}

.faqCardQuestion_title {
    font-size: 1.1111111111vw;
    line-height: 150%;
    letter-spacing: .04em;
    padding-left: 2.5694444444vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .faqCardQuestion_title {
        font-size:4vw;
        padding-left: 8vw
    }
}

.faqCardQuestion_title::before {
    content: "Q";
    font-size: 1.6666666667vw;
    position: absolute;
    left: .2083333333vw;
    top: 0vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .faqCardQuestion_title::before {
        font-size:5.3333333333vw;
        left: 1.3333333333vw;
        top: 0vw
    }
}

.faqCardQuestion_trigger {
    width: 1.3888888889vw;
    height: 1.3888888889vw;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: .5555555556vw;
    top: 2.4305555556vw
}

.faqCardQuestion_trigger:before {
    content: ""
}

.faqCardQuestion_trigger:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .faqCardQuestion_trigger {
        width:5.3333333333vw;
        height: 5.3333333333vw;
        right: .8vw;
        top: calc(50% - 2.9333333333vw)
    }
}

.faqCardQuestion_trigger::before,.faqCardQuestion_trigger::after {
    font-size: 1.1111111111vw;
    position: absolute;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (max-width: 900px) {
    .faqCardQuestion_trigger::before,.faqCardQuestion_trigger::after {
        font-size:4vw
    }
}

[data-accordion-state=open] .faqCardQuestion_trigger::before {
    opacity: 0;
    transform: rotate(90deg)
}

.faqCardQuestion_trigger::after {
    transform: rotate(-90deg)
}

[data-accordion-state=open] .faqCardQuestion_trigger::after {
    opacity: 1;
    transform: rotate(0)
}

.faqCardAnswer_body {
    position: relative
}

@media only screen and (min-width: 901px) {
    .faqCardAnswer_body {
        margin-left:5.0694444444vw;
        padding-bottom: 2.2222222222vw
    }
}

@media only screen and (max-width: 900px) {
    .faqCardAnswer_body {
        padding-bottom:8.5333333333vw
    }
}

.faqCardAnswer_body::before {
    content: "A";
    color: #e5511c;
    font-size: 1.6666666667vw;
    position: absolute;
    left: -1.8055555556vw;
    top: .2777777778vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .faqCardAnswer_body::before {
        font-size:5.3333333333vw;
        left: 1.3333333333vw;
        top: 1.3333333333vw
    }
}

.faqCardAnswer_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300
}

@media only screen and (max-width: 900px) {
    .faqCardAnswer_body p {
        font-size:3.7333333333vw;
        padding-left: 8vw
    }
}

.faqCardAnswer_body p a {
    color: #e5511c;
    text-decoration: underline
}

@media only screen and (min-width: 901px) {
    .faqCardAnswer_body p a:hover {
        text-decoration:none
    }
}

.faqCardQuestion_title {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .faqCardQuestion:hover .faqCardQuestion_title {
        color:#e5511c
    }
}

@media only screen and (min-width: 901px) {
    .homeAbout {
        text-align:center;
        padding: 7.1527777778vw 1.3888888889vw;
        color: #09156a
    }
}

@media only screen and (max-width: 900px) {
    .homeAbout {
        padding:16vw 0 18.6666666667vw;
        color: #09156a
    }
}

@media only screen and (max-width: 900px) {
    .homeAbout_wrap {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

.homeAbout_title {
    font-size: 1.6666666667vw;
    line-height: 150%;
    letter-spacing: .04em;
    font-weight: 700
}

@media only screen and (max-width: 900px) {
    .homeAbout_title {
        font-size:5.8666666667vw
    }
}

.homeAbout_title em {
    font-style: normal
}

.homeAbout_body {
    margin-top: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .homeAbout_body {
        margin-top:2.4vw
    }
}

.homeAbout_body p {
    font-size: 1.25vw;
    line-height: 200%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .homeAbout_body p {
        font-size:4.2666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .homeAbout_button {
        display:flex;
        justify-content: center;
        margin-top: 2.7777777778vw
    }
}

@media only screen and (max-width: 900px) {
    .homeAbout_button {
        margin-top:7.4666666667vw
    }
}

.homeAbout_title span {
    display: block;
    overflow: hidden
}

.homeAbout_title span em {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transform: translateY(calc(100% + 0px));
    will-change: transform;
    display: block
}

.inview .homeAbout_title span em {
    transform: none
}

.homeAbout_body p {
    overflow: hidden
}

.homeAbout_body p span {
    display: block;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) .2s;
    transform: translateY(calc(100% + 0px));
    will-change: transform
}

.inview .homeAbout_body p span {
    transform: none
}

.homeAbout_button {
    opacity: 0;
    transition: 1s cubic-bezier(0.39, 0.575, 0.565, 1) .4s
}

.inview .homeAbout_button {
    opacity: 1
}

.homeFeature {
    overflow: hidden;
    position: relative
}

.homeFeature_section {
    position: relative;
    height: 100lvh;
    margin-bottom: 100lvh
}

.homeFeature_section:nth-child(1) {
    z-index: 1
}

.homeFeature_section:nth-child(2) {
    z-index: 2
}

.homeFeature_section:nth-child(3) {
    z-index: 3
}

.homeFeature_blur {
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0
}

.homeFeature_overlay {
    background-color: rgba(0,0,0,.4);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

@media only screen and (min-width: 901px) {
    .homeFeature_overlay {
        display:none
    }
}

.homeFeature_image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.homeFeature_image div picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.homeFeature_image div picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.homeFeature_image div picture img {
    width: 104%;
    height: 104%
}

.homeFeature_content {
    position: absolute;
    z-index: 3;
    padding-top: 100lvh
}

@media only screen and (min-width: 901px) {
    .homeFeature_content {
        left:5.3%;
        top: 0;
        width: 100%;
        height: 100%
    }
}

@media only screen and (max-width: 900px) {
    .homeFeature_content {
        left:5%;
        top: 0
    }
}

.homeFeatureCard {
    width: 27.0833333333vw
}

@media only screen and (max-width: 900px) {
    .homeFeatureCard {
        width:89.6vw
    }
}

.homeFeatureCard_title {
    font-size: 1.3888888889vw;
    text-shadow: 0px 0px 4px rgba(0,0,0,.2);
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .homeFeatureCard_title {
        font-size:3.2vw
    }
}

.homeFeatureCard_copy {
    font-size: 1.9444444444vw;
    margin-top: 3.3333333333vw;
    line-height: 150%;
    letter-spacing: .04em;
    text-shadow: 0px 0px 4px rgba(0,0,0,.2)
}

@media only screen and (max-width: 900px) {
    .homeFeatureCard_copy {
        font-size:6.4vw;
        margin-top: 10.6666666667vw
    }
}

.homeFeatureCard_body {
    margin-top: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .homeFeatureCard_body {
        margin-top:2.6666666667vw
    }
}

.homeFeatureCard_body p {
    font-size: 1.0416666667vw;
    line-height: 200%;
    text-shadow: 0px 0px 4px rgba(0,0,0,.2)
}

@media only screen and (max-width: 900px) {
    .homeFeatureCard_body p {
        font-size:3.4666666667vw
    }
}

.homeFeatureCard .buttonMore {
    margin-top: 1.9444444444vw
}

@media only screen and (max-width: 900px) {
    .homeFeatureCard .buttonMore {
        display:none
    }
}

.homeHero {
    position: relative;
    overflow: hidden
}

.homeHeroHeadline {
    z-index: 2;
    left: 2.7777777778vw;
    bottom: 3.2638888889vw;
    position: absolute
}

@media only screen and (max-width: 900px) {
    .homeHeroHeadline {
        left:7.4666666667vw;
        bottom: 10.6666666667vw
    }
}

.homeHeroHeadline_title h2 span,.homeHeroHeadline_title div span {
    font-size: 3.3333333333vw
}

@media only screen and (max-width: 900px) {
    .homeHeroHeadline_title h2 span,.homeHeroHeadline_title div span {
        font-size:8.5333333333vw;
        display: block
    }

    .homeHeroHeadline_title h2 span:nth-child(2),.homeHeroHeadline_title div span:nth-child(2) {
        margin-top: 2.6666666667vw
    }
}

.homeHeroHeadline_title h2 span em,.homeHeroHeadline_title div span em {
    font-style: normal
}

.homeHeroHeadline_brand {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute
}

.homeHeroHeadline_title span {
    perspective: 1000px;
    display: block
}

.homeHeroHeadline_title span em {
    transform: rotateX(90deg) translateY(2.0833333333vw);
    will-change: transform,opacity;
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0;
    display: inline-block
}

.inview .homeHeroHeadline_title span em {
    transform: none;
    opacity: 1
}

.homeHeroHeadline_title span em:nth-child(1) {
    transition-delay: 0.8s
}

.is-skip .homeHeroHeadline_title span em:nth-child(1) {
    transition-delay: 2s
}

.homeHeroHeadline_title span em:nth-child(2) {
    transition-delay: 0.83s
}

.is-skip .homeHeroHeadline_title span em:nth-child(2) {
    transition-delay: 2.03s
}

.homeHeroHeadline_title span em:nth-child(3) {
    transition-delay: 0.86s
}

.is-skip .homeHeroHeadline_title span em:nth-child(3) {
    transition-delay: 2.06s
}

.homeHeroHeadline_title span em:nth-child(4) {
    transition-delay: 0.89s
}

.is-skip .homeHeroHeadline_title span em:nth-child(4) {
    transition-delay: 2.09s
}

.homeHeroHeadline_title span em:nth-child(5) {
    transition-delay: 0.92s
}

.is-skip .homeHeroHeadline_title span em:nth-child(5) {
    transition-delay: 2.12s
}

.homeHeroHeadline_title span em:nth-child(6) {
    transition-delay: 0.95s
}

.is-skip .homeHeroHeadline_title span em:nth-child(6) {
    transition-delay: 2.15s
}

.homeHeroHeadline_title span em:nth-child(7) {
    transition-delay: 0.98s
}

.is-skip .homeHeroHeadline_title span em:nth-child(7) {
    transition-delay: 2.18s
}

.homeHeroHeadline_title span em:nth-child(8) {
    transition-delay: 1.01s
}

.is-skip .homeHeroHeadline_title span em:nth-child(8) {
    transition-delay: 2.21s
}

.homeHeroHeadline_title span em:nth-child(9) {
    transition-delay: 1.04s
}

.is-skip .homeHeroHeadline_title span em:nth-child(9) {
    transition-delay: 2.24s
}

.homeHeroHeadline_title span em:nth-child(10) {
    transition-delay: 1.07s
}

.is-skip .homeHeroHeadline_title span em:nth-child(10) {
    transition-delay: 2.27s
}

.homeHeroHeadline_title span em:nth-child(11) {
    transition-delay: 1.1s
}

.is-skip .homeHeroHeadline_title span em:nth-child(11) {
    transition-delay: 2.3s
}

.homeHeroHeadline_title span em:nth-child(12) {
    transition-delay: 1.13s
}

.is-skip .homeHeroHeadline_title span em:nth-child(12) {
    transition-delay: 2.33s
}

.homeHeroHeadline_title span em:nth-child(13) {
    transition-delay: 1.16s
}

.is-skip .homeHeroHeadline_title span em:nth-child(13) {
    transition-delay: 2.36s
}

.homeHeroHeadline_title span em:nth-child(14) {
    transition-delay: 1.19s
}

.is-skip .homeHeroHeadline_title span em:nth-child(14) {
    transition-delay: 2.39s
}

.homeHeroHeadline_title span em:nth-child(15) {
    transition-delay: 1.22s
}

.is-skip .homeHeroHeadline_title span em:nth-child(15) {
    transition-delay: 2.42s
}

.homeHeroHeadline_title span em:nth-child(16) {
    transition-delay: 1.25s
}

.is-skip .homeHeroHeadline_title span em:nth-child(16) {
    transition-delay: 2.45s
}

.homeHeroHeadline_title span em:nth-child(17) {
    transition-delay: 1.28s
}

.is-skip .homeHeroHeadline_title span em:nth-child(17) {
    transition-delay: 2.48s
}

.homeHeroHeadline_title span em:nth-child(18) {
    transition-delay: 1.31s
}

.is-skip .homeHeroHeadline_title span em:nth-child(18) {
    transition-delay: 2.51s
}

.homeHeroHeadline_title span em:nth-child(19) {
    transition-delay: 1.34s
}

.is-skip .homeHeroHeadline_title span em:nth-child(19) {
    transition-delay: 2.54s
}

.homeHeroHeadline_title span em:nth-child(20) {
    transition-delay: 1.37s
}

.is-skip .homeHeroHeadline_title span em:nth-child(20) {
    transition-delay: 2.57s
}

.homeHeroHeadline_title span em:nth-child(21) {
    transition-delay: 1.4s
}

.is-skip .homeHeroHeadline_title span em:nth-child(21) {
    transition-delay: 2.6s
}

.homeHeroHeadline_title span em:nth-child(22) {
    transition-delay: 1.43s
}

.is-skip .homeHeroHeadline_title span em:nth-child(22) {
    transition-delay: 2.63s
}

.homeHeroHeadline_title span em:nth-child(23) {
    transition-delay: 1.46s
}

.is-skip .homeHeroHeadline_title span em:nth-child(23) {
    transition-delay: 2.66s
}

.homeHeroHeadline_title span em:nth-child(24) {
    transition-delay: 1.49s
}

.is-skip .homeHeroHeadline_title span em:nth-child(24) {
    transition-delay: 2.69s
}

.homeHeroHeadline_title span em:nth-child(25) {
    transition-delay: 1.52s
}

.is-skip .homeHeroHeadline_title span em:nth-child(25) {
    transition-delay: 2.72s
}

.homeHeroHeadline_title span em:nth-child(26) {
    transition-delay: 1.55s
}

.is-skip .homeHeroHeadline_title span em:nth-child(26) {
    transition-delay: 2.75s
}

.homeHeroHeadline_title span em:nth-child(27) {
    transition-delay: 1.58s
}

.is-skip .homeHeroHeadline_title span em:nth-child(27) {
    transition-delay: 2.78s
}

.homeHeroHeadline_title span em:nth-child(28) {
    transition-delay: 1.61s
}

.is-skip .homeHeroHeadline_title span em:nth-child(28) {
    transition-delay: 2.81s
}

.homeHeroHeadline_title span em:nth-child(29) {
    transition-delay: 1.64s
}

.is-skip .homeHeroHeadline_title span em:nth-child(29) {
    transition-delay: 2.84s
}

.homeHeroHeadline_title span em:nth-child(30) {
    transition-delay: 1.67s
}

.is-skip .homeHeroHeadline_title span em:nth-child(30) {
    transition-delay: 2.87s
}

.homeHeroHeadline_title span em:nth-child(31) {
    transition-delay: 1.7s
}

.is-skip .homeHeroHeadline_title span em:nth-child(31) {
    transition-delay: 2.9s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(1) {
    transition-delay: 1s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(1) {
    transition-delay: 2.2s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(2) {
    transition-delay: 1.03s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(2) {
    transition-delay: 2.23s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(3) {
    transition-delay: 1.06s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(3) {
    transition-delay: 2.26s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(4) {
    transition-delay: 1.09s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(4) {
    transition-delay: 2.29s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(5) {
    transition-delay: 1.12s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(5) {
    transition-delay: 2.32s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(6) {
    transition-delay: 1.15s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(6) {
    transition-delay: 2.35s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(7) {
    transition-delay: 1.18s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(7) {
    transition-delay: 2.38s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(8) {
    transition-delay: 1.21s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(8) {
    transition-delay: 2.41s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(9) {
    transition-delay: 1.24s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(9) {
    transition-delay: 2.44s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(10) {
    transition-delay: 1.27s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(10) {
    transition-delay: 2.47s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(11) {
    transition-delay: 1.3s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(11) {
    transition-delay: 2.5s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(12) {
    transition-delay: 1.33s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(12) {
    transition-delay: 2.53s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(13) {
    transition-delay: 1.36s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(13) {
    transition-delay: 2.56s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(14) {
    transition-delay: 1.39s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(14) {
    transition-delay: 2.59s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(15) {
    transition-delay: 1.42s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(15) {
    transition-delay: 2.62s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(16) {
    transition-delay: 1.45s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(16) {
    transition-delay: 2.65s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(17) {
    transition-delay: 1.48s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(17) {
    transition-delay: 2.68s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(18) {
    transition-delay: 1.51s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(18) {
    transition-delay: 2.71s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(19) {
    transition-delay: 1.54s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(19) {
    transition-delay: 2.74s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(20) {
    transition-delay: 1.57s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(20) {
    transition-delay: 2.77s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(21) {
    transition-delay: 1.6s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(21) {
    transition-delay: 2.8s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(22) {
    transition-delay: 1.63s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(22) {
    transition-delay: 2.83s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(23) {
    transition-delay: 1.66s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(23) {
    transition-delay: 2.86s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(24) {
    transition-delay: 1.69s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(24) {
    transition-delay: 2.89s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(25) {
    transition-delay: 1.72s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(25) {
    transition-delay: 2.92s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(26) {
    transition-delay: 1.75s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(26) {
    transition-delay: 2.95s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(27) {
    transition-delay: 1.78s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(27) {
    transition-delay: 2.98s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(28) {
    transition-delay: 1.81s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(28) {
    transition-delay: 3.01s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(29) {
    transition-delay: 1.84s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(29) {
    transition-delay: 3.04s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(30) {
    transition-delay: 1.87s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(30) {
    transition-delay: 3.07s
}

.homeHeroHeadline_title span:nth-child(2) em:nth-child(31) {
    transition-delay: 1.9s
}

.is-skip .homeHeroHeadline_title span:nth-child(2) em:nth-child(31) {
    transition-delay: 3.1s
}

.homeHeroSlider_wrap {
    position: relative
}

.homeHeroSlider .splide {
    height: 100svh
}

.homeHeroSlider .splide__track {
    height: 100%
}

.homeHeroSlider .splide__slide picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.homeHeroSlider .splide__slide picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.inview .homeHero_headline>div>span {
    transform: none
}

.homeHero_headline>div {
    overflow: hidden
}

.homeHero_headline>div>span {
    transform: translateY(calc(100% + 0.4166666667vw));
    display: block;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1) 1.1s
}

@media only screen and (max-width: 900px) {
    .homeHero_headline>div>span {
        transform:translateY(calc(100% + 1.6vw))
    }
}

.homeHeroSlider .splide__slide img {
    transform: scale(1);
    transition: 6s ease-out;
    display: block
}

.homeHeroSlider .splide__slide.is-active img {
    transform: scale(1.07);
    transition-delay: 0s
}

.homeHero {
    transition: 2.2s cubic-bezier(0.075, 0.82, 0.165, 1) 2.5s;
    clip-path: inset(0)
}

.is-skip .homeHero {
    transition-delay: 0s
}

[data-load="0"] .homeHero {
    clip-path: inset(100%)
}

.homeLineup {
    background-color: #ffffff;
    position: relative;
    padding-top: 11.1111111111vw;
    padding-bottom: 11.1111111111vw
}

@media only screen and (max-width: 900px) {
    .homeLineup {
        padding-top:33.3333333333vw;
        padding-bottom: 33.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineup .headlineLv1 {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .homeLineup_wrap {
        margin-top:7.2916666667vw;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .homeLineup_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineup_wrap {
        margin-top:16vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .homeLineup_section {
        margin-top:5.5555555556vw;
        display: flex;
        justify-content: space-between
    }
}

@media only screen and (max-width: 900px) {
    .homeLineup_section {
        margin-top:13.3333333333vw
    }
}

.homeLineup_section:first-child {
    margin-top: 0
}

.homeLineup_head {
    position: relative
}

@media only screen and (min-width: 901px) {
    .homeLineup_head {
        width:16.1111111111vw
    }
}

.homeLineup_head::before {
    content: "";
    display: block;
    height: 2px;
    background-color: #737373;
    position: absolute
}

@media only screen and (min-width: 901px) {
    .homeLineup_head::before {
        width:1.3888888889vw;
        left: 0;
        top: .625vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineup_head::before {
        width:4.2666666667vw;
        top: 2.1333333333vw
    }
}

.homeLineup_volume {
    color: #737373;
    letter-spacing: .04em;
    text-align: right;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (min-width: 901px) {
    .homeLineup_volume {
        padding:.1388888889vw 2.7777777778vw 0 0;
        font-size: 1.4583333333vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineup_volume {
        font-size:5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .homeLineupCard {
        width:77.7777777778vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineupCard {
        margin-top:5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .homeLineupCard[data-height="560"] {
        height:38.8888888889vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineupCard[data-height="560"] {
        height:119.4666666667vw
    }
}

.homeLineupCard[data-height="360"] {
    height: 25vw
}

@media only screen and (max-width: 900px) {
    .homeLineupCard[data-height="360"] {
        height:72vw
    }
}

.homeLineupCard_link {
    position: relative;
    display: flex;
    height: 100%
}

@media only screen and (min-width: 901px) {
    .homeLineupCard_link {
        align-items:center
    }
}

@media only screen and (max-width: 900px) {
    .homeLineupCard_link {
        align-items:flex-end
    }
}

.homeLineupCard_image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.homeLineupCard_image>div picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.homeLineupCard_image>div picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

@media only screen and (min-width: 901px) {
    .homeLineupCard_inner {
        padding-left:5.5555555556vw;
        position: relative;
        z-index: 1
    }
}

@media only screen and (max-width: 900px) {
    .homeLineupCard_inner {
        padding-left:4.2666666667vw;
        padding-bottom: 4vw
    }
}

.homeLineupCard_title {
    font-size: 3.8888888889vw;
    letter-spacing: .02em;
    text-shadow: 0px 0px 10px rgba(0,0,0,.4);
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .homeLineupCard_title {
        font-size:10.6666666667vw;
        position: relative;
        z-index: 1
    }
}

[data-height="360"] .homeLineupCard_title {
    font-size: 2.7777777778vw
}

@media only screen and (max-width: 900px) {
    [data-height="360"] .homeLineupCard_title {
        font-size:8.5333333333vw
    }
}

.homeLineupCard_body {
    margin-top: .8333333333vw
}

@media only screen and (max-width: 900px) {
    .homeLineupCard_body {
        margin-top:2.1333333333vw;
        position: relative;
        z-index: 1
    }
}

.homeLineupCard_body p {
    font-size: 1.25vw;
    line-height: 200%;
    text-shadow: 0px 0px 10px rgba(0,0,0,.4)
}

@media only screen and (max-width: 900px) {
    .homeLineupCard_body p {
        font-size:3.7333333333vw;
        line-height: 150%
    }
}

[data-height="360"] .homeLineupCard_body p {
    font-size: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    [data-height="360"] .homeLineupCard_body p {
        font-size:3.7333333333vw;
        line-height: 140%
    }
}

@media only screen and (min-width: 901px) {
    .homeLineupCard .buttonFill {
        margin-top:1.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLineupCard .buttonFill {
        position:absolute;
        right: 4.2666666667vw;
        bottom: 4.2666666667vw
    }
}

.homeLineupCard_image {
    overflow: hidden
}

.homeLineupCard_image>div>picture {
    transition: 1.9s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .homeLineupCard_link:hover .homeLineupCard_image>div>picture {
        transform:scale(1.04)
    }
}

.homeLocation {
    padding-top: 11.1111111111vw;
    padding-bottom: 11.1111111111vw
}

@media only screen and (max-width: 900px) {
    .homeLocation {
        padding-top:26.6666666667vw;
        padding-bottom: 26.6666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .homeLocation_wrap {
        display:flex;
        justify-content: space-between;
        align-items: center;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .homeLocation_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLocation_wrap {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .homeLocation_content {
        width:36.1111111111vw
    }
}

.homeLocation_headline {
    font-size: .9027777778vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .homeLocation_headline {
        font-size:3.2vw
    }
}

.homeLocation_copy {
    font-size: 1.8055555556vw;
    letter-spacing: .04em;
    margin-top: 5.1388888889vw;
    color: #09156a;
    font-weight: 700
}

@media only screen and (max-width: 900px) {
    .homeLocation_copy {
        font-size:6.4vw;
        margin-top: 12vw
    }
}

.homeLocation_copy[data-language=en] {
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

.homeLocation_body {
    margin-top: 1.7361111111vw
}

@media only screen and (max-width: 900px) {
    .homeLocation_body {
        margin-top:4.8vw
    }
}

.homeLocation_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em;
    color: #09156a;
    font-weight: 700
}

@media only screen and (max-width: 900px) {
    .homeLocation_body p {
        font-size:3.7333333333vw
    }
}

.homeLocation .buttonFill {
    margin-top: 2.7777777778vw
}

@media only screen and (max-width: 900px) {
    .homeLocation .buttonFill {
        margin-top:5.3333333333vw
    }
}

.homeLocation_image {
    position: relative
}

@media only screen and (min-width: 901px) {
    .homeLocation_image {
        width:53.6111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .homeLocation_image {
        margin-top:10.6666666667vw
    }
}

.media {
    position: relative;
    overflow: hidden
}

.bottom .media {
    background-color: #d9d9d9
}

.media_wrap {
    position: relative;
    z-index: 1
}

[data-section=home-media] .media_wrap {
    padding: 41.6666666667vw 0 8.3333333333vw
}

@media only screen and (max-width: 900px) {
    [data-section=home-media] .media_wrap {
        padding:122.6666666667vw 0 26.6666666667vw
    }
}

.media_main {
    position: relative;
    z-index: 1
}

@media only screen and (min-width: 901px) {
    [data-section=home-media] .media_main {
        max-width:93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    [data-section=home-media] .media_main {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    [data-section=home-media] .media_main {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

.media_image {
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.media_image picture {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.media_image picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.mediaCard {
    position: relative
}

[data-section=home-media] .mediaCard {
    background-color: #d9d9d9
}

.bottom .mediaCard:first-child {
    border-bottom: 1px solid #999
}

@media only screen and (max-width: 900px) {
    .bottom .mediaCard:first-child {
        padding-top:21.3333333333vw;
        padding-bottom: 12.5333333333vw
    }
}

.mediaCard:last-child {
    margin-bottom: 0
}

@media only screen and (min-width: 901px) {
    .bottom .mediaCard:last-child {
        padding-top:3.4722222222vw;
        padding-bottom: 5.5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .bottom .mediaCard:last-child {
        padding-bottom:21.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .mediaCard {
        display:flex;
        justify-content: space-between
    }

    [data-section=home-media] .mediaCard {
        padding: 5.2777777778vw 8.0555555556vw;
        margin-bottom: 2.7777777778vw
    }

    .bottom .mediaCard {
        margin-left: 10.7638888889vw;
        margin-right: 10.7638888889vw;
        padding: 5.2777777778vw 0 3.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    [data-section=home-media] .mediaCard {
        padding:6.4vw 5.3333333333vw;
        margin-bottom: 7.4666666667vw
    }

    .bottom .mediaCard {
        padding: 4.8vw 0;
        margin-bottom: 7.4666666667vw;
        margin-left: 5.3333333333vw;
        margin-right: 5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .mediaCard_head {
        width:31.9444444444vw
    }
}

.mediaCard_headline span {
    display: block
}

.mediaCard_headline span.is-sub {
    font-size: 1.1111111111vw;
    color: #999
}

@media only screen and (max-width: 900px) {
    .mediaCard_headline span.is-sub {
        font-size:3.2vw
    }
}

.mediaCard_headline span.is-main {
    font-size: 2.2222222222vw;
    margin-top: 1.6666666667vw;
    color: #1e1e1e;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .mediaCard_headline span.is-main {
        font-size:6.9333333333vw;
        margin-top: 8.8vw
    }
}

@media only screen and (min-width: 901px) {
    .mediaCard_content {
        width:45.5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .mediaCard_content {
        margin-top:2.1333333333vw
    }
}

/*.mediaCard_content[\:has\(.snsList\)] {
    position: relative;
    padding-top: 1.0416666667vw
}*/
.mediaCard_content:has(.snsList) {
    position: relative;
    padding-top: 1.0416666667vw;
}

.mediaCard_content:has(.snsList) {
    position: relative;
    padding-top: 1.0416666667vw
}

/*@media only screen and (max-width: 900px) {
    .mediaCard_content[\:has\(.snsList\)] {
        padding-top:2.6666666667vw
    }*/
    
@media only screen and (max-width: 900px) {
    .mediaCard_content:has(.snsList) {
        padding-top: 2.6666666667vw;
    }

    .mediaCard_content:has(.snsList) {
        padding-top: 2.6666666667vw
    }
}

.mediaCard_body {
    margin-top: .8333333333vw
}

@media only screen and (max-width: 900px) {
    .mediaCard_body {
        margin-top:2.6666666667vw
    }
}

.mediaCard_body p {
    font-size: 1.1111111111vw;
    color: #1e1e1e
}

@media only screen and (max-width: 900px) {
    .mediaCard_body p {
        font-size:3.4666666667vw
    }
}

.mediaCard .buttonFill {
    margin-top: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .mediaCard .buttonFill {
        position:absolute;
        left: 5.3333333333vw;
        bottom: 6.4vw
    }

    .bottom .mediaCard .buttonFill {
        bottom: 12.2666666667vw;
        left: 0
    }
}

@media only screen and (max-width: 900px) {
    .magazine {
        padding-bottom:14.6666666667vw
    }
}

.magazine_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    color: #1e1e1e;
    letter-spacing: .01em
}

@media only screen and (max-width: 900px) {
    .magazine_body p {
        font-size:3.4666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .magazine_article {
        margin-top:1.3333333333vw
    }
}

.magazineCard {
    margin-top: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .magazineCard {
        margin-top:5.3333333333vw
    }
}

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

@media only screen and (min-width: 901px) {
    .magazineCard_link {
        background-color:#ebebeb;
        align-items: center;
        padding: .6944444444vw
    }
}

.magazineCard_image {
    width: 13.1944444444vw
}

@media only screen and (max-width: 900px) {
    .magazineCard_image {
        width:26.6666666667vw
    }
}

.magazineCard_content {
    width: 29.5138888889vw
}

@media only screen and (max-width: 900px) {
    .magazineCard_content {
        width:49.0666666667vw;
        padding-top: 1.3333333333vw
    }

    .bottom .magazineCard_content {
        width: 59.7333333333vw
    }
}

.magazineCard_label {
    color: #e5511c;
    position: relative;
    display: flex;
    align-items: center
}

.magazineCard_label::before {
    content: "";
    display: block;
    background-color: #e5511c;
    border-radius: 50%;
    width: .5555555556vw;
    height: .5555555556vw;
    margin: -.1388888889vw .6944444444vw 0 0
}

@media only screen and (max-width: 900px) {
    .magazineCard_label::before {
        width:2.1333333333vw;
        height: 2.1333333333vw;
        margin: -.5333333333vw 1.3333333333vw 0 0
    }
}

.magazineCard_label span {
    display: block;
    font-size: .8333333333vw;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .magazineCard_label span {
        font-size:3.2vw
    }
}

.magazineCard_title {
    margin-top: .6944444444vw;
    font-size: 1.0416666667vw;
    line-height: 160%;
    text-decoration: underline;
    color: #1e1e1e
}

@media only screen and (max-width: 900px) {
    .magazineCard_title {
        margin-top:1.3333333333vw;
        font-size: 3.2vw;
        line-height: 200%;
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical
    }
}

.magazineCard_image {
    overflow: hidden
}

.magazineCard_image>div {
    transition: 1.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: transform
}

.magazineCard_title {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    will-change: color
}

@media only screen and (min-width: 901px) {
    .magazineCard_link:hover .magazineCard_image>div {
        transform:scale(1.08)
    }

    .magazineCard_link:hover .magazineCard_title {
        color: #e5511c
    }
}

.homeNews {
    background-color: #d9d9d9;
    padding: 8.3333333333vw 0
}

@media only screen and (max-width: 900px) {
    .homeNews {
        padding:22.6666666667vw 0
    }
}

@media only screen and (min-width: 901px) {
    .homeNews_wrap {
        display:flex;
        justify-content: space-between;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .homeNews_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .homeNews_wrap {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .homeNews_head {
        width:21.3888888889vw
    }
}

@media only screen and (max-width: 900px) {
    .homeNews_head {
        display:flex;
        justify-content: space-between;
        align-items: center
    }
}

@media only screen and (min-width: 901px) {
    .homeNews_head .buttonFill {
        margin-top:1.3888888889vw
    }
}

.homeNews_headline span {
    font-size: 2.7777777778vw;
    color: #1e1e1e;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .homeNews_headline span {
        font-size:6.9333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .homeNews_content {
        width:69.7222222222vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupFaq_wrap {
        padding:11.1111111111vw 0 8.1944444444vw;
        display: flex;
        justify-content: space-between;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .lineupFaq_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupFaq_wrap {
        padding:26.6666666667vw 0 26.6666666667vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .lineupFaq_side {
        width:21.3888888889vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupFaq_side {
        display:flex;
        justify-content: space-between;
        align-items: center
    }
}

@media only screen and (max-width: 900px) {
    .lineupFaq_title {
        margin-top:1.0666666667vw
    }
}

.lineupFaq_title span {
    font-size: 2.7777777778vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .lineupFaq_title span {
        font-size:6.9333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupFaq_button {
        margin-top:1.3888888889vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupFaq_content {
        width:69.7222222222vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupFaq_content {
        margin-top:6.4vw
    }
}

@media only screen and (min-width: 901px) {
    .feature {
        padding:11.25vw 0 16.6666666667vw;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .feature {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .feature {
        padding:21.3333333333vw 0 32vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

.featureHead {
    text-align: center;
    position: relative
}

.featureHead::before {
    content: "";
    display: block;
    width: 1px;
    height: 2.7777777778vw;
    background-color: #4d4d4d;
    left: 50%;
    bottom: -6.1111111111vw;
    position: absolute
}

@media only screen and (max-width: 900px) {
    .featureHead::before {
        height:8.5333333333vw;
        bottom: -17.3333333333vw
    }
}

.featureHead_label {
    color: #737373;
    font-size: 1.1111111111vw;
    letter-spacing: .02em;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .featureHead_label {
        font-size:3.4666666667vw
    }
}

.featureHead_title {
    margin-top: 3.4027777778vw;
    font-size: 3.3333333333vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .featureHead_title {
        margin-top:7.4666666667vw;
        font-size: 6.4vw;
        line-height: 170%
    }
}

.featureHead_body {
    margin-top: 2.6388888889vw
}

@media only screen and (max-width: 900px) {
    .featureHead_body {
        margin-top:3.4666666667vw
    }
}

.featureHead_body p {
    font-size: 1.25vw;
    line-height: 200%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .featureHead_body p {
        font-size:3.7333333333vw
    }
}

.featureHead::before {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1) .9s;
    transform: scaleY(0);
    transform-origin: center top;
    will-change: transform
}

.featureHead.inview::before {
    transform: none
}

.featureHead_label {
    overflow: hidden
}

.featureHead_label span {
    display: block;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
    transform: translateY(calc(100% + 0px));
    will-change: transform;
    display: block
}

.inview .featureHead_label span {
    transform: none
}

.featureHead_title span {
    display: block;
    overflow: hidden
}

.featureHead_title span em {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) .1s;
    transform: translateY(calc(100% + 0px));
    will-change: transform;
    display: block
}

.inview .featureHead_title span em {
    transform: none
}

.featureHead_body p span {
    display: block;
    overflow: hidden
}

.featureHead_body p span:nth-child(1) em {
    transition-delay: 0.3s
}

.featureHead_body p span:nth-child(2) em {
    transition-delay: 0.37s
}

.featureHead_body p span:nth-child(3) em {
    transition-delay: 0.44s
}

.featureHead_body p span:nth-child(4) em {
    transition-delay: 0.51s
}

.featureHead_body p span:nth-child(5) em {
    transition-delay: 0.58s
}

.featureHead_body p span:nth-child(6) em {
    transition-delay: 0.65s
}

.featureHead_body p span:nth-child(7) em {
    transition-delay: 0.72s
}

.featureHead_body p span:nth-child(8) em {
    transition-delay: 0.79s
}

.featureHead_body p span:nth-child(9) em {
    transition-delay: 0.86s
}

.featureHead_body p span:nth-child(10) em {
    transition-delay: 0.93s
}

.featureHead_body p span:nth-child(11) em {
    transition-delay: 1s
}

.featureHead_body p span em {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) .3s;
    transform: translateY(calc(100% + 0px));
    will-change: transform;
    display: block
}

.inview .featureHead_body p span em {
    transform: none
}

.featureCards {
    margin-top: 17.3611111111vw
}

@media only screen and (max-width: 900px) {
    .featureCards {
        margin-top:60vw
    }
}

@media only screen and (min-width: 901px) {
    .featureCard {
        display:flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-top: 11.1111111111vw
    }

    .featureCard:nth-child(even) {
        flex-direction: row-reverse
    }
}

@media only screen and (max-width: 900px) {
    .featureCard {
        margin-top:46.6666666667vw;
        position: relative
    }
}

@media only screen and (min-width: 901px) {
    .featureCard_image {
        width:61.6666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .featureCard_content {
        width:28.8888888889vw
    }
}

@media only screen and (max-width: 900px) {
    .featureCard_title {
        position:absolute;
        left: 0;
        top: -16vw;
        width: 100%
    }

    .featureCard_title[data-row="2"] {
        top: -25.3333333333vw
    }
}

.featureCard_title span {
    font-size: 2.3611111111vw;
    letter-spacing: .04em;
    line-height: 140%
}

@media only screen and (max-width: 900px) {
    .featureCard_title span {
        font-size:6.9333333333vw;
        position: absolute
    }
}

.featureCard_body {
    margin-top: 2.2222222222vw;
    padding-left: 3.0555555556vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .featureCard_body {
        margin-top:6.4vw;
        padding-left: 16.8vw
    }
}

.featureCard_body::before {
    content: "";
    display: block;
    background-color: #e5511c;
    border-radius: 50%;
    position: absolute;
    width: .8333333333vw;
    height: .8333333333vw;
    left: 0vw;
    top: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .featureCard_body::before {
        width:3.2vw;
        height: 3.2vw;
        left: 0vw;
        top: 2.1333333333vw
    }
}

.featureCard_body p {
    font-size: 1.0416666667vw;
    letter-spacing: .04em;
    line-height: 200%
}

@media only screen and (max-width: 900px) {
    .featureCard_body p {
        font-size:3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .featureCard_content {
        perspective:1000px
    }
}

@media only screen and (min-width: 901px) {
    .featureCard_inner {
        opacity:0;
        transform: rotateX(15deg) translateY(2.0833333333vw);
        will-change: transform,opacity;
        transition: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) .5s
    }

    .inview .featureCard_inner {
        transform: none;
        opacity: 1
    }
}

.featureWide {
    margin-top: 29.1666666667vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .featureWide {
        margin-top:64vw
    }
}

.featureWide::before {
    content: "";
    display: block;
    width: 1px;
    height: 4.1666666667vw;
    background-color: #4d4d4d;
    left: 50%;
    top: -15.2777777778vw;
    position: absolute
}

@media only screen and (max-width: 900px) {
    .featureWide::before {
        height:16vw;
        top: -37.3333333333vw
    }
}

.featureWide_head {
    text-align: center
}

.featureWide_title {
    font-size: 2.5vw;
    line-height: 140%;
    letter-spacing: .03em
}

@media only screen and (max-width: 900px) {
    .featureWide_title {
        font-size:6.9333333333vw;
        letter-spacing: .04em
    }
}

.featureWide_body {
    margin-top: 1.9444444444vw
}

@media only screen and (max-width: 900px) {
    .featureWide_body {
        margin-top:5.3333333333vw
    }
}

.featureWide_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .featureWide_body p {
        font-size:3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .featureWide_image {
        width:77.7777777778vw;
        margin: 4.1666666667vw auto 0
    }
}

@media only screen and (max-width: 900px) {
    .featureWide_image {
        margin-top:10.6666666667vw
    }
}

.featureWide::before {
    transition: 2s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform: scaleY(0);
    transform-origin: center top;
    will-change: transform
}

.featureWide.inview::before {
    transform: none
}

.featureWide_title span {
    perspective: 1000px;
    display: block
}

.featureWide_title span>em {
    transform: rotateX(90deg) translateY(30px);
    will-change: transform;
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0;
    display: inline-block
}

.inview .featureWide_title span>em {
    transform: none;
    opacity: 1
}

.featureWide_title span:nth-child(1)>em:nth-child(1) {
    transition-delay: 0.1s
}

.featureWide_title span:nth-child(1)>em:nth-child(2) {
    transition-delay: 0.14s
}

.featureWide_title span:nth-child(1)>em:nth-child(3) {
    transition-delay: 0.18s
}

.featureWide_title span:nth-child(1)>em:nth-child(4) {
    transition-delay: 0.22s
}

.featureWide_title span:nth-child(1)>em:nth-child(5) {
    transition-delay: 0.26s
}

.featureWide_title span:nth-child(1)>em:nth-child(6) {
    transition-delay: 0.3s
}

.featureWide_title span:nth-child(1)>em:nth-child(7) {
    transition-delay: 0.34s
}

.featureWide_title span:nth-child(1)>em:nth-child(8) {
    transition-delay: 0.38s
}

.featureWide_title span:nth-child(1)>em:nth-child(9) {
    transition-delay: 0.42s
}

.featureWide_title span:nth-child(1)>em:nth-child(10) {
    transition-delay: 0.46s
}

.featureWide_title span:nth-child(1)>em:nth-child(11) {
    transition-delay: 0.5s
}

.featureWide_title span:nth-child(1)>em:nth-child(12) {
    transition-delay: 0.54s
}

.featureWide_title span:nth-child(1)>em:nth-child(13) {
    transition-delay: 0.58s
}

.featureWide_title span:nth-child(1)>em:nth-child(14) {
    transition-delay: 0.62s
}

.featureWide_title span:nth-child(1)>em:nth-child(15) {
    transition-delay: 0.66s
}

.featureWide_title span:nth-child(1)>em:nth-child(16) {
    transition-delay: 0.7s
}

.featureWide_title span:nth-child(1)>em:nth-child(17) {
    transition-delay: 0.74s
}

.featureWide_title span:nth-child(1)>em:nth-child(18) {
    transition-delay: 0.78s
}

.featureWide_title span:nth-child(1)>em:nth-child(19) {
    transition-delay: 0.82s
}

.featureWide_title span:nth-child(1)>em:nth-child(20) {
    transition-delay: 0.86s
}

.featureWide_title span:nth-child(1)>em:nth-child(21) {
    transition-delay: 0.9s
}

.featureWide_title span:nth-child(1)>em:nth-child(22) {
    transition-delay: 0.94s
}

.featureWide_title span:nth-child(1)>em:nth-child(23) {
    transition-delay: 0.98s
}

.featureWide_title span:nth-child(1)>em:nth-child(24) {
    transition-delay: 1.02s
}

.featureWide_title span:nth-child(1)>em:nth-child(25) {
    transition-delay: 1.06s
}

.featureWide_title span:nth-child(1)>em:nth-child(26) {
    transition-delay: 1.1s
}

.featureWide_title span:nth-child(1)>em:nth-child(27) {
    transition-delay: 1.14s
}

.featureWide_title span:nth-child(1)>em:nth-child(28) {
    transition-delay: 1.18s
}

.featureWide_title span:nth-child(1)>em:nth-child(29) {
    transition-delay: 1.22s
}

.featureWide_title span:nth-child(1)>em:nth-child(30) {
    transition-delay: 1.26s
}

.featureWide_title span:nth-child(1)>em:nth-child(31) {
    transition-delay: 1.3s
}

.featureWide_title span:nth-child(2)>em:nth-child(1) {
    transition-delay: 0.3s
}

.featureWide_title span:nth-child(2)>em:nth-child(2) {
    transition-delay: 0.34s
}

.featureWide_title span:nth-child(2)>em:nth-child(3) {
    transition-delay: 0.38s
}

.featureWide_title span:nth-child(2)>em:nth-child(4) {
    transition-delay: 0.42s
}

.featureWide_title span:nth-child(2)>em:nth-child(5) {
    transition-delay: 0.46s
}

.featureWide_title span:nth-child(2)>em:nth-child(6) {
    transition-delay: 0.5s
}

.featureWide_title span:nth-child(2)>em:nth-child(7) {
    transition-delay: 0.54s
}

.featureWide_title span:nth-child(2)>em:nth-child(8) {
    transition-delay: 0.58s
}

.featureWide_title span:nth-child(2)>em:nth-child(9) {
    transition-delay: 0.62s
}

.featureWide_title span:nth-child(2)>em:nth-child(10) {
    transition-delay: 0.66s
}

.featureWide_title span:nth-child(2)>em:nth-child(11) {
    transition-delay: 0.7s
}

.featureWide_title span:nth-child(2)>em:nth-child(12) {
    transition-delay: 0.74s
}

.featureWide_title span:nth-child(2)>em:nth-child(13) {
    transition-delay: 0.78s
}

.featureWide_title span:nth-child(2)>em:nth-child(14) {
    transition-delay: 0.82s
}

.featureWide_title span:nth-child(2)>em:nth-child(15) {
    transition-delay: 0.86s
}

.featureWide_title span:nth-child(2)>em:nth-child(16) {
    transition-delay: 0.9s
}

.featureWide_title span:nth-child(2)>em:nth-child(17) {
    transition-delay: 0.94s
}

.featureWide_title span:nth-child(2)>em:nth-child(18) {
    transition-delay: 0.98s
}

.featureWide_title span:nth-child(2)>em:nth-child(19) {
    transition-delay: 1.02s
}

.featureWide_title span:nth-child(2)>em:nth-child(20) {
    transition-delay: 1.06s
}

.featureWide_title span:nth-child(2)>em:nth-child(21) {
    transition-delay: 1.1s
}

.featureWide_title span:nth-child(2)>em:nth-child(22) {
    transition-delay: 1.14s
}

.featureWide_title span:nth-child(2)>em:nth-child(23) {
    transition-delay: 1.18s
}

.featureWide_title span:nth-child(2)>em:nth-child(24) {
    transition-delay: 1.22s
}

.featureWide_title span:nth-child(2)>em:nth-child(25) {
    transition-delay: 1.26s
}

.featureWide_title span:nth-child(2)>em:nth-child(26) {
    transition-delay: 1.3s
}

.featureWide_title span:nth-child(2)>em:nth-child(27) {
    transition-delay: 1.34s
}

.featureWide_title span:nth-child(2)>em:nth-child(28) {
    transition-delay: 1.38s
}

.featureWide_title span:nth-child(2)>em:nth-child(29) {
    transition-delay: 1.42s
}

.featureWide_title span:nth-child(2)>em:nth-child(30) {
    transition-delay: 1.46s
}

.featureWide_title span:nth-child(2)>em:nth-child(31) {
    transition-delay: 1.5s
}

.featureWide_body {
    perspective: 1200px
}

.featureWide_body p {
    opacity: 0;
    transform: rotateX(-15deg) translateY(2.0833333333vw);
    will-change: transform,opacity;
    transition: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) .5s
}

.inview .featureWide_body p {
    transform: none;
    opacity: 1
}

.featureWide_image>div {
    overflow: hidden;
    transition: 1.8s cubic-bezier(0.075, 0.82, 0.165, 1);
    clip-path: inset(50%)
}

.featureWide_image>div>picture {
    transition: 2.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(1.2);
    will-change: transform
}

.featureWide_image.inview>div {
    clip-path: inset(0)
}

.featureWide_image.inview>div>picture {
    transform: none
}

.gallery {
    background-color: #e6e6e6
}

@media only screen and (min-width: 901px) {
    .gallery_wrap {
        padding:11.1111111111vw 0 11.6666666667vw;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .gallery_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .gallery_wrap {
        padding:21.3333333333vw 0 21.3333333333vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

.gallery_headline {
    overflow: hidden
}

.gallery_headline span {
    font-size: 2.7777777778vw;
    color: #1e1e1e;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .gallery_headline span {
        font-size:7.4666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .gallery_content {
        display:flex;
        justify-content: space-between;
        margin-top: 6.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .gallery_content {
        margin-top:7.2vw
    }
}

@media only screen and (min-width: 901px) {
    .gallery_side {
        width:13.3333333333vw;
        height: 100%;
        position: sticky;
        left: 0;
        top: 8.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .gallery_main {
        width:77.7777777778vw
    }

    [data-gallery-more="1"] .gallery_main {
        min-height: 100lvh
    }
}

@media only screen and (max-width: 900px) {
    .gallery_main {
        margin-top:5.3333333333vw
    }
}

.gallery_accordion {
    overflow: hidden
}

@media only screen and (min-width: 901px) {
    [data-gallery-more="1"] .gallery_accordion {
        height:60.9027777778vw
    }
}

@media only screen and (max-width: 900px) {
    [data-gallery-more="1"] .gallery_accordion {
        height:208vw
    }
}

@media only screen and (max-width: 900px) {
    .galleryFilter {
        display:flex;
        justify-content: space-between;
        align-items: center
    }
}

.galleryFilter_label {
    color: #999;
    position: relative;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (min-width: 901px) {
    .galleryFilter_label {
        font-size:.9027777778vw
    }

    .galleryFilter_label::before {
        content: "";
        display: block;
        width: 2.7777777778vw;
        height: 1px;
        background-color: #999;
        position: absolute;
        right: 0vw;
        top: .3472222222vw;
        opacity: .9
    }
}

@media only screen and (max-width: 900px) {
    .galleryFilter_label {
        font-size:3.4666666667vw;
        color: #e5511c
    }
}

.galleryFilterMenu_button {
    transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .galleryFilterMenu_button:hover {
        opacity:.6
    }
}

.galleryFilterMenu {
    margin-top: 3.3333333333vw
}

.galleryFilterMenu_button {
    font-size: 1.0416666667vw;
    margin-bottom: 1.0416666667vw;
    color: #1e1e1e;
    display: block;
    font-family: "Inter", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 500
}

.galleryFilterMenu_button.is-current {
    color: #e5511c;
    pointer-events: none
}

.galleryFilterPulldown {
    border: 1px solid #999;
    position: relative;
    border-radius: 4.8vw;
    height: 9.6vw
}

.galleryFilterPulldown:before {
    content: ""
}

@media only screen and (min-width: 901px) {
    .galleryFilterPulldown {
        display:none
    }
}

.galleryFilterPulldown:before {
    position: absolute;
    top: calc(50% - 1.0666666667vw);
    right: 5.3333333333vw;
    display: block;
    z-index: 1;
    pointer-events: none;
    font-size: 2.4vw;
    color: #1e1e1e;
    font-weight: bold
}

.galleryFilterPulldown select {
    padding-left: 5.3333333333vw;
    padding-right: 10.6666666667vw;
    position: relative;
    background-color: transparent;
    width: 100%;
    cursor: pointer;
    color: #1e1e1e;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    appearance: none;
    font-size: 3.4666666667vw;
    min-width: 43.2vw;
    height: 100%;
    display: block;
    font-family: "Inter", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 500
}

.galleryList {
    column-gap: 0;
    column-count: 4;
    line-height: 0;
    width: 100%
}

@media only screen and (min-width: 901px) {
    .galleryList {
        margin-top:-.4166666667vw
    }
}

@media only screen and (max-width: 900px) {
    .galleryList {
        column-count:2;
        width: 92.8vw;
        margin-left: -1.6vw
    }

    .galleryList[data-card-length="1"] {
        display: flex;
        width: 50%
    }
}

.galleryList_item {
    padding: .4166666667vw
}

@media only screen and (max-width: 900px) {
    .galleryList_item {
        padding:3.2vw 1.6vw 0vw
    }
}

.galleryList_item.is-hidden {
    display: none
}

.galleryList_button {
    overflow: hidden
}

.galleryList_button>div {
    transition: 1.4s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .galleryList_button:hover>div {
        transform:scale(1.08)
    }
}

.galleryList {
    display: none
}

.galleryList.is-show {
    display: block;
    animation: fadeIn ease-out 1.2s forwards
}

.galleryMore {
    margin-top: 2.7777777778vw;
    display: none
}

@media only screen and (max-width: 900px) {
    .galleryMore {
        margin-top:5.3333333333vw
    }
}

.galleryMore_button {
    height: 5.5555555556vw;
    border: 1px solid #bfbfbf;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ebebeb;
    width: 100%
}

@media only screen and (max-width: 900px) {
    .galleryMore_button {
        height:12.8vw
    }
}

.galleryMore_title {
    margin-right: .6944444444vw;
    color: #e5511c
}

@media only screen and (max-width: 900px) {
    .galleryMore_title {
        margin-right:2.1333333333vw
    }
}

.galleryMore_title span {
    font-size: 1.3888888889vw;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .galleryMore_title span {
        font-size:4.2666666667vw
    }
}

[data-accordion-state="1"] .galleryMore_title span.is-close {
    display: none
}

[data-accordion-state="0"] .galleryMore_title span.is-open {
    display: none
}

.galleryMore_icon {
    margin-top: .1388888889vw
}

.galleryMore_icon:before {
    content: ""
}

.galleryMore_icon:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .galleryMore_icon {
        margin-top:.2666666667vw
    }
}

.galleryMore_icon::before,.galleryMore_icon::after {
    color: #e5511c;
    height: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .galleryMore_icon::before,.galleryMore_icon::after {
        height:3.4666666667vw
    }
}

[data-accordion-state="1"] .galleryMore_icon::before {
    display: none
}

[data-accordion-state="0"] .galleryMore_icon::after {
    display: none
}

.galleryMore_button {
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .galleryMore_button:hover {
        background-color:#f5f5f5
    }
}

.lineupHero {
    padding-top: 13.8888888889vw;
    position: relative;
    background-color: #ffffff
}

@media only screen and (max-width: 900px) {
    .lineupHero {
        padding-top:60.8vw
    }
}

.lineupHero_headline {
    text-align: center;
    position: absolute;
    z-index: 1;
    width: 100%;
    left: 0;
    top: 9.4444444444vw;
    pointer-events: none
}

@media only screen and (max-width: 900px) {
    .lineupHero_headline {
        top:32vw
    }
}

.lineupHero_headline span {
    display: block
}

.lineupHero_headline span em {
    font-size: 11.1111111111vw;
    color: #fff;
    font-style: normal;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .lineupHero_headline span em {
        font-size:20.2666666667vw
    }
}

.lineupHero_blank {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 56.25vw;
    z-index: 2
}

@media only screen and (max-width: 900px) {
    .lineupHero_blank {
        height:125.3333333333vw
    }
}

.lineupHero {
    transition: 2.2s cubic-bezier(0.075, 0.82, 0.165, 1) 2.5s;
    clip-path: inset(0)
}

.is-skip .lineupHero {
    transition-delay: 0s
}

[data-load="0"] .lineupHero {
    clip-path: inset(100%)
}

.lineupHeroVideo {
    width: 100%;
    height: 56.25vw;
    position: relative;
    overflow: hidden;
    z-index: 0
}

@media only screen and (max-width: 900px) {
    .lineupHeroVideo {
        height:125.3333333333vw
    }
}

.lineupHeroVideo_media {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.lineupHeroVideo_media video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    z-index: -1
}

.lineupHeroImage {
    height: 56.25vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .lineupHeroImage {
        height:125.3333333333vw
    }
}

.lineupHeroImage_media picture {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.lineupHeroImage_media picture img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.lineupHeroImage_media>picture {
    transition: 2.2s cubic-bezier(0.165, 0.84, 0.44, 1) 2.5s;
    transform: none;
    will-change: transform
}

.is-skip .lineupHeroImage_media>picture {
    transition-delay: 0s
}

[data-load="0"] .lineupHeroImage_media>picture {
    transform: scale(1.3)
}

.lineupHeroCursor {
    position: absolute;
    z-index: 2;
    pointer-events: none
}

@media only screen and (min-width: 901px) {
    .lineupHeroCursor {
        left:0;
        top: 0;
        width: 10.2777777778vw;
        height: 10.2777777778vw;
        margin: -5.1388888889vw 0 0 -5.1388888889vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupHeroCursor {
        width:32vw;
        height: 32vw;
        right: 5.3333333333vw;
        bottom: 5.3333333333vw
    }
}

.lineupHeroCursor_content {
    overflow: hidden;
    border-radius: 50%;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.lineupHeroCursor_content::before {
    background: linear-gradient(180deg, #E53600 0%, #F26100 100%);
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    opacity: .6
}

.lineupHeroCursor_inner {
    text-align: center;
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 900px) {
    .lineupHeroCursor_inner {
        margin:1.3333333333vw 0 0 1.3333333333vw
    }
}

.lineupHeroCursor_icon:before {
    content: ""
}

.lineupHeroCursor_icon::before {
    font-size: 1.6666666667vw;
    color: #fff
}

@media only screen and (max-width: 900px) {
    .lineupHeroCursor_icon::before {
        font-size:5.6vw
    }
}

.lineupHeroCursor_title {
    font-size: .6944444444vw;
    letter-spacing: .02em;
    color: #fff;
    margin-top: .9027777778vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .lineupHeroCursor_title {
        font-size:2.6666666667vw;
        margin-top: 1.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupHeroCursor {
        transition:.8s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .lineupHeroCursor_content {
        transform: scale(0);
        transition: .5s cubic-bezier(0.075, 0.82, 0.165, 1);
        visibility: hidden
    }

    .is-show .lineupHeroCursor_content {
        transform: scale(1);
        visibility: visible
    }
}

@media only screen and (max-width: 900px) {
    .lineupHeroCursor {
        transform:none !important
    }
}

.lineupHero_headline span {
    perspective: 1200px;
    display: block
}

.lineupHero_headline span em {
    transform: rotateX(90deg) translateY(6.9444444444vw);
    will-change: transform;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    display: inline-block
}

.inview .lineupHero_headline span em {
    transform: none;
    opacity: 1
}

.lineupHero_headline span em:nth-child(1) {
    transition-delay: 1.1s
}

.is-skip .lineupHero_headline span em:nth-child(1) {
    transition-delay: 0.7s
}

.lineupHero_headline span em:nth-child(2) {
    transition-delay: 1.15s
}

.is-skip .lineupHero_headline span em:nth-child(2) {
    transition-delay: 0.75s
}

.lineupHero_headline span em:nth-child(3) {
    transition-delay: 1.2s
}

.is-skip .lineupHero_headline span em:nth-child(3) {
    transition-delay: 0.8s
}

.lineupHero_headline span em:nth-child(4) {
    transition-delay: 1.25s
}

.is-skip .lineupHero_headline span em:nth-child(4) {
    transition-delay: 0.85s
}

.lineupHero_headline span em:nth-child(5) {
    transition-delay: 1.3s
}

.is-skip .lineupHero_headline span em:nth-child(5) {
    transition-delay: 0.9s
}

.lineupHero_headline span em:nth-child(6) {
    transition-delay: 1.35s
}

.is-skip .lineupHero_headline span em:nth-child(6) {
    transition-delay: 0.95s
}

.lineupHero_headline span em:nth-child(7) {
    transition-delay: 1.4s
}

.is-skip .lineupHero_headline span em:nth-child(7) {
    transition-delay: 1s
}

.lineupHero_headline span em:nth-child(8) {
    transition-delay: 1.45s
}

.is-skip .lineupHero_headline span em:nth-child(8) {
    transition-delay: 1.05s
}

.lineupHero_headline span em:nth-child(9) {
    transition-delay: 1.5s
}

.is-skip .lineupHero_headline span em:nth-child(9) {
    transition-delay: 1.1s
}

.lineupHero_headline span em:nth-child(10) {
    transition-delay: 1.55s
}

.is-skip .lineupHero_headline span em:nth-child(10) {
    transition-delay: 1.15s
}

.lineupHero_headline span em:nth-child(11) {
    transition-delay: 1.6s
}

.is-skip .lineupHero_headline span em:nth-child(11) {
    transition-delay: 1.2s
}

.lineupHero_headline span em:nth-child(12) {
    transition-delay: 1.65s
}

.is-skip .lineupHero_headline span em:nth-child(12) {
    transition-delay: 1.25s
}

.lineupHero_headline span em:nth-child(13) {
    transition-delay: 1.7s
}

.is-skip .lineupHero_headline span em:nth-child(13) {
    transition-delay: 1.3s
}

.lineupHero_headline span em:nth-child(14) {
    transition-delay: 1.75s
}

.is-skip .lineupHero_headline span em:nth-child(14) {
    transition-delay: 1.35s
}

.lineupHero_headline span em:nth-child(15) {
    transition-delay: 1.8s
}

.is-skip .lineupHero_headline span em:nth-child(15) {
    transition-delay: 1.4s
}

.lineupHero_headline span em:nth-child(16) {
    transition-delay: 1.85s
}

.is-skip .lineupHero_headline span em:nth-child(16) {
    transition-delay: 1.45s
}

.lineupHero_headline span em:nth-child(17) {
    transition-delay: 1.9s
}

.is-skip .lineupHero_headline span em:nth-child(17) {
    transition-delay: 1.5s
}

.lineupHero_headline span em:nth-child(18) {
    transition-delay: 1.95s
}

.is-skip .lineupHero_headline span em:nth-child(18) {
    transition-delay: 1.55s
}

.lineupHero_headline span em:nth-child(19) {
    transition-delay: 2s
}

.is-skip .lineupHero_headline span em:nth-child(19) {
    transition-delay: 1.6s
}

.lineupHero_headline span em:nth-child(20) {
    transition-delay: 2.05s
}

.is-skip .lineupHero_headline span em:nth-child(20) {
    transition-delay: 1.65s
}

.lineupHero_headline span em:nth-child(21) {
    transition-delay: 2.1s
}

.is-skip .lineupHero_headline span em:nth-child(21) {
    transition-delay: 1.7s
}

.lineupHero_headline span em:nth-child(22) {
    transition-delay: 2.15s
}

.is-skip .lineupHero_headline span em:nth-child(22) {
    transition-delay: 1.75s
}

.lineupHero_headline span em:nth-child(23) {
    transition-delay: 2.2s
}

.is-skip .lineupHero_headline span em:nth-child(23) {
    transition-delay: 1.8s
}

.lineupHero_headline span em:nth-child(24) {
    transition-delay: 2.25s
}

.is-skip .lineupHero_headline span em:nth-child(24) {
    transition-delay: 1.85s
}

.lineupHero_headline span em:nth-child(25) {
    transition-delay: 2.3s
}

.is-skip .lineupHero_headline span em:nth-child(25) {
    transition-delay: 1.9s
}

.lineupHero_headline span em:nth-child(26) {
    transition-delay: 2.35s
}

.is-skip .lineupHero_headline span em:nth-child(26) {
    transition-delay: 1.95s
}

.lineupHero_headline span em:nth-child(27) {
    transition-delay: 2.4s
}

.is-skip .lineupHero_headline span em:nth-child(27) {
    transition-delay: 2s
}

.lineupHero_headline span em:nth-child(28) {
    transition-delay: 2.45s
}

.is-skip .lineupHero_headline span em:nth-child(28) {
    transition-delay: 2.05s
}

.lineupHero_headline span em:nth-child(29) {
    transition-delay: 2.5s
}

.is-skip .lineupHero_headline span em:nth-child(29) {
    transition-delay: 2.1s
}

.lineupHero_headline span em:nth-child(30) {
    transition-delay: 2.55s
}

.is-skip .lineupHero_headline span em:nth-child(30) {
    transition-delay: 2.15s
}

.lineupHero_headline span em:nth-child(31) {
    transition-delay: 2.6s
}

.is-skip .lineupHero_headline span em:nth-child(31) {
    transition-delay: 2.2s
}

.lineupHero_headline span:nth-child(2) em:nth-child(1) {
    transition-delay: 1.3s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(1) {
    transition-delay: 0.9s
}

.lineupHero_headline span:nth-child(2) em:nth-child(2) {
    transition-delay: 1.35s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(2) {
    transition-delay: 0.95s
}

.lineupHero_headline span:nth-child(2) em:nth-child(3) {
    transition-delay: 1.4s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(3) {
    transition-delay: 1s
}

.lineupHero_headline span:nth-child(2) em:nth-child(4) {
    transition-delay: 1.45s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(4) {
    transition-delay: 1.05s
}

.lineupHero_headline span:nth-child(2) em:nth-child(5) {
    transition-delay: 1.5s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(5) {
    transition-delay: 1.1s
}

.lineupHero_headline span:nth-child(2) em:nth-child(6) {
    transition-delay: 1.55s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(6) {
    transition-delay: 1.15s
}

.lineupHero_headline span:nth-child(2) em:nth-child(7) {
    transition-delay: 1.6s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(7) {
    transition-delay: 1.2s
}

.lineupHero_headline span:nth-child(2) em:nth-child(8) {
    transition-delay: 1.65s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(8) {
    transition-delay: 1.25s
}

.lineupHero_headline span:nth-child(2) em:nth-child(9) {
    transition-delay: 1.7s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(9) {
    transition-delay: 1.3s
}

.lineupHero_headline span:nth-child(2) em:nth-child(10) {
    transition-delay: 1.75s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(10) {
    transition-delay: 1.35s
}

.lineupHero_headline span:nth-child(2) em:nth-child(11) {
    transition-delay: 1.8s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(11) {
    transition-delay: 1.4s
}

.lineupHero_headline span:nth-child(2) em:nth-child(12) {
    transition-delay: 1.85s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(12) {
    transition-delay: 1.45s
}

.lineupHero_headline span:nth-child(2) em:nth-child(13) {
    transition-delay: 1.9s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(13) {
    transition-delay: 1.5s
}

.lineupHero_headline span:nth-child(2) em:nth-child(14) {
    transition-delay: 1.95s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(14) {
    transition-delay: 1.55s
}

.lineupHero_headline span:nth-child(2) em:nth-child(15) {
    transition-delay: 2s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(15) {
    transition-delay: 1.6s
}

.lineupHero_headline span:nth-child(2) em:nth-child(16) {
    transition-delay: 2.05s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(16) {
    transition-delay: 1.65s
}

.lineupHero_headline span:nth-child(2) em:nth-child(17) {
    transition-delay: 2.1s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(17) {
    transition-delay: 1.7s
}

.lineupHero_headline span:nth-child(2) em:nth-child(18) {
    transition-delay: 2.15s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(18) {
    transition-delay: 1.75s
}

.lineupHero_headline span:nth-child(2) em:nth-child(19) {
    transition-delay: 2.2s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(19) {
    transition-delay: 1.8s
}

.lineupHero_headline span:nth-child(2) em:nth-child(20) {
    transition-delay: 2.25s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(20) {
    transition-delay: 1.85s
}

.lineupHero_headline span:nth-child(2) em:nth-child(21) {
    transition-delay: 2.3s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(21) {
    transition-delay: 1.9s
}

.lineupHero_headline span:nth-child(2) em:nth-child(22) {
    transition-delay: 2.35s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(22) {
    transition-delay: 1.95s
}

.lineupHero_headline span:nth-child(2) em:nth-child(23) {
    transition-delay: 2.4s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(23) {
    transition-delay: 2s
}

.lineupHero_headline span:nth-child(2) em:nth-child(24) {
    transition-delay: 2.45s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(24) {
    transition-delay: 2.05s
}

.lineupHero_headline span:nth-child(2) em:nth-child(25) {
    transition-delay: 2.5s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(25) {
    transition-delay: 2.1s
}

.lineupHero_headline span:nth-child(2) em:nth-child(26) {
    transition-delay: 2.55s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(26) {
    transition-delay: 2.15s
}

.lineupHero_headline span:nth-child(2) em:nth-child(27) {
    transition-delay: 2.6s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(27) {
    transition-delay: 2.2s
}

.lineupHero_headline span:nth-child(2) em:nth-child(28) {
    transition-delay: 2.65s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(28) {
    transition-delay: 2.25s
}

.lineupHero_headline span:nth-child(2) em:nth-child(29) {
    transition-delay: 2.7s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(29) {
    transition-delay: 2.3s
}

.lineupHero_headline span:nth-child(2) em:nth-child(30) {
    transition-delay: 2.75s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(30) {
    transition-delay: 2.35s
}

.lineupHero_headline span:nth-child(2) em:nth-child(31) {
    transition-delay: 2.8s
}

.is-skip .lineupHero_headline span:nth-child(2) em:nth-child(31) {
    transition-delay: 2.4s
}

.lineupLocation {
    height: 64.0277777778vw;
    position: relative;
    overflow: hidden
}

@media only screen and (max-width: 900px) {
    .lineupLocation {
        height:100lvh
    }
}

.lineupLocation_background>div {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.lineupLocation_background>div img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.lineupLocationCard {
    background: rgba(0,0,0,.8);
    position: absolute;
    z-index: 2
}

@media only screen and (min-width: 901px) {
    .lineupLocationCard {
        -webkit-backdrop-filter:blur(6px);
        backdrop-filter: blur(6px);
        padding: 3.3333333333vw 3.3333333333vw;
        right: 5.5555555556vw;
        bottom: 5.5555555556vw;
        width: 37.5vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupLocationCard {
        padding:6.9333333333vw 7.2vw;
        right: 0;
        bottom: 9.8666666667vw;
        width: 94.9333333333vw
    }
}

.lineupLocationCard_title {
    font-size: 2.0833333333vw;
    letter-spacing: .04em;
    line-height: 140%;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .lineupLocationCard_title {
        font-size:6.4vw
    }
}

.lineupLocationCard_body {
    margin-top: .2777777778vw
}

@media only screen and (max-width: 900px) {
    .lineupLocationCard_body {
        margin-top:.5333333333vw
    }
}

.lineupLocationCard_body p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .lineupLocationCard_body p {
        font-size:3.7333333333vw;
        line-height: 180%
    }
}

.lineupLocationCard_button {
    margin-top: 1.3888888889vw
}

@media only screen and (max-width: 900px) {
    .lineupLocationCard_button {
        margin-top:5.3333333333vw
    }
}

.lineupMenu {
    padding-top: 11.1111111111vw;
    margin-top: 11.1111111111vw;
    border-top: 1px solid #4d4d4d
}

@media only screen and (max-width: 900px) {
    .lineupMenu {
        padding-top:17.3333333333vw;
        margin-top: 16vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupMenu_headline {
        text-align:center
    }
}

.lineupMenu_headline span {
    display: block
}

.lineupMenu_headline span.is-en {
    font-size: 1.3888888889vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .lineupMenu_headline span.is-en {
        font-size:3.4666666667vw
    }
}

.lineupMenu_headline span.is-ja {
    font-size: 2.3611111111vw;
    margin-top: 1.7361111111vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .lineupMenu_headline span.is-ja {
        font-size:6.4vw;
        margin-top: 5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupMenu_wrap {
        display:flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-top: 3.125vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupMenu_wrap {
        margin-top:12vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupMenuCard {
        width:29.4444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard {
        margin-bottom:10.6666666667vw
    }

    .lineupMenuCard:last-child {
        margin-bottom: 15px
    }
}

.lineupMenuCard_content {
    margin-top: 2.2222222222vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_content {
        margin-top:4.8vw
    }
}

.lineupMenuCard_icon {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

.lineupMenuCard_icon::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25vw;
    background: linear-gradient(180deg, #8C0000 0%, #A31C01 100%)
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_icon::before {
        border-radius:3.7333333333vw
    }
}

.lineupMenuCard_icon i {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    width: .9722222222vw;
    height: .8333333333vw;
    overflow: hidden;
    position: relative
}

.lineupMenuCard_icon i:before {
    content: ""
}

.lineupMenuCard_icon i:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_icon i {
        width:3.7333333333vw;
        height: 3.2vw
    }
}

.lineupMenuCard_icon i::before,.lineupMenuCard_icon i::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block
}

.lineupMenuCard_icon i::after {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.lineupMenuCard_icon i::before {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateY(calc(-100% - 0.3472222222vw))
}

@media only screen and (min-width: 901px) {
    .lineupMenuCard_icon i {
        width:.8333333333vw;
        height: .8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_icon i {
        width:3.2vw;
        height: 3.2vw
    }

    .lineupMenu .lineupMenuCard_icon i {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
}

.lineupMenuCard_icon i::before,.lineupMenuCard_icon i::after {
    color: #fff
}

@media only screen and (min-width: 901px) {
    .lineupMenuCard_icon i::before,.lineupMenuCard_icon i::after {
        font-size:.8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_icon i::before,.lineupMenuCard_icon i::after {
        font-size:2.6666666667vw
    }

    .lineupMenu .lineupMenuCard_icon i::before,.lineupMenu .lineupMenuCard_icon i::after {
        font-size: 3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .lineupMenuCard_icon {
        width:3.3333333333vw;
        height: 2.5vw;
        border-radius: 1.25vw
    }
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_icon {
        width:9.8666666667vw;
        height: 7.4666666667vw;
        border-radius: 3.7333333333vw
    }

    .buttonBack .lineupMenuCard_icon,.companyExternalCard .lineupMenuCard_icon {
        width: 12.8vw;
        height: 9.6vw;
        border-radius: 4.8vw
    }

    .lineupMenu .lineupMenuCard_icon {
        width: 14.9333333333vw;
        height: 10.6666666667vw;
        border-radius: 5.3333333333vw
    }
}

.lineupMenuCard_title span {
    display: block
}

.lineupMenuCard_title span.is-en {
    font-size: 1.875vw;
    letter-spacing: .02em;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_title span.is-en {
        font-size:5.3333333333vw
    }
}

.lineupMenuCard_title span.is-ja {
    font-size: .9027777778vw;
    color: #999;
    letter-spacing: .02em;
    margin-top: .4861111111vw
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_title span.is-ja {
        font-size:3.2vw;
        margin-top: .5333333333vw
    }
}

.lineupMenuCard_body {
    margin-top: .7638888889vw
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_body {
        margin-top:2.9333333333vw;
        padding-right: 18.6666666667vw
    }
}

.lineupMenuCard_body p {
    font-size: 1.1111111111vw;
    letter-spacing: .02em;
    line-height: 160%
}

@media only screen and (max-width: 900px) {
    .lineupMenuCard_body p {
        font-size:3.7333333333vw;
        letter-spacing: .04em;
        line-height: 159%
    }
}

.lineupMenuCard_icon::before {
    opacity: 0;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.lineupMenuCard_image {
    overflow: hidden
}

.lineupMenuCard_image>div {
    transition: 1.9s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .lineupMenuCard:hover .lineupMenuCard_image>div {
        transform:scale(1.1)
    }

    .lineupMenuCard:hover .lineupMenuCard_icon::before {
        opacity: 1
    }

    .lineupMenuCard:hover .lineupMenuCard_icon i::after {
        transform: translateY(calc(100% + 0.3472222222vw));
        color: #fff;
        transition: .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)
    }

    .lineupMenuCard:hover .lineupMenuCard_icon i::before {
        transform: translateY(0);
        color: #fff;
        transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .3s
    }
}

@media only screen and (min-width: 901px) {
    .other_wrap {
        padding:11.1111111111vw 0 .0694444444vw;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .other_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .other_wrap {
        padding:22.4vw 0 .2666666667vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .other_headline {
        text-align:center
    }
}

.other_headline span {
    display: block
}

.other_headline span.is-en {
    color: #737373;
    font-size: 1.3888888889vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .other_headline span.is-en {
        font-size:3.4666666667vw
    }
}

.other_headline span.is-ja {
    font-size: 2.2222222222vw;
    letter-spacing: .04em;
    margin-top: 1.8055555556vw
}

@media only screen and (max-width: 900px) {
    .other_headline span.is-ja {
        font-size:6.4vw;
        margin-top: 5.8666666667vw
    }
}

.other_button {
    margin-top: 5.5555555556vw;
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 900px) {
    .other_button {
        display:none
    }
}

@media only screen and (min-width: 901px) {
    .otherCards {
        display:flex;
        justify-content: space-between;
        margin-top: 6.25vw
    }
}

@media only screen and (max-width: 900px) {
    .otherCards {
        margin-top:12vw
    }
}

.otherCard {
    position: relative
}

@media only screen and (min-width: 901px) {
    .otherCard {
        width:45.5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .otherCard {
        margin-bottom:7.4666666667vw
    }
}

.otherCard_link {
    display: block;
    position: relative
}

.otherCard_image {
    position: relative;
    z-index: 0
}

.otherCard_inner {
    position: absolute;
    z-index: 2;
    left: 1.9444444444vw;
    bottom: 1.9444444444vw;
    width: 41.6666666667vw
}

@media only screen and (max-width: 900px) {
    .otherCard_inner {
        left:4.2666666667vw;
        bottom: 4.2666666667vw;
        width: 81.0666666667vw
    }
}

.otherCard_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: .2777777778vw
}

@media only screen and (max-width: 900px) {
    .otherCard_wrap {
        margin-top:2.1333333333vw
    }
}

.otherCard_title {
    font-size: 3.3333333333vw;
    letter-spacing: .02em;
    text-shadow: 0px 0px 10px rgba(0,0,0,.4);
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .otherCard_title {
        font-size:8.5333333333vw
    }
}

.otherCard_body {
    text-shadow: 0px 0px 10px rgba(0,0,0,.4)
}

.otherCard_body p {
    font-size: 1.25vw;
    letter-spacing: .04em;
    line-height: 200%
}

@media only screen and (max-width: 900px) {
    .otherCard_body p {
        font-size:3.7333333333vw;
        line-height: 140%
    }
}

.otherCard_image {
    overflow: hidden
}

.otherCard_image>div>picture {
    transition: 1.7s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .otherCard_link:hover .otherCard_image>div>picture {
        transform:scale(1.06)
    }
}

.gallery+.spec {
    margin-top: 0
}

@media only screen and (max-width: 900px) {
    .gallery+.spec {
        margin-top:0
    }
}

@media only screen and (min-width: 901px) {
    .spec {
        margin-top:-80px
    }
}

@media only screen and (max-width: 900px) {
    .spec {
        margin-top:-60px;
        overflow: hidden
    }
}

.spec_container {
    border-top: 1px solid #4d4d4d
}

@media only screen and (min-width: 901px) {
    .spec_container {
        padding:11.1111111111vw 0;
        max-width: 93.8888888889vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .spec_container {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .spec_container {
        padding:21.3333333333vw 0 26.6666666667vw;
        width: 89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .spec_head {
        text-align:center
    }
}

.spec_head span {
    display: block
}

.spec_head span.is-sub {
    font-size: 1.3888888889vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .spec_head span.is-sub {
        font-size:3.4666666667vw
    }
}

.spec_head span.is-main {
    margin-top: 5.5555555556vw;
    font-size: 2.7777777778vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .spec_head span.is-main {
        margin-top:13.3333333333vw;
        font-size: 7.4666666667vw;
        line-height: 120%
    }
}

.spec_head span.is-main+.is-main {
    margin-top: .1388888889vw
}

.spec_head span.is-ja {
    font-size: .9027777778vw;
    letter-spacing: .04em;
    color: #737373;
    margin-top: 1.1805555556vw
}

@media only screen and (max-width: 900px) {
    .spec_head span.is-ja {
        font-size:3.2vw;
        margin-top: 1.3333333333vw
    }
}

.spec_head span.is-lead {
    font-size: 1.1111111111vw;
    letter-spacing: .04em;
    padding-top: 2.6388888889vw
}

@media only screen and (max-width: 900px) {
    .spec_head span.is-lead {
        font-size:3.7333333333vw;
        margin-top: 1.6vw;
        line-height: 160%
    }
}

.spec_section {
    margin-bottom: 11.1111111111vw
}

@media only screen and (max-width: 900px) {
    .spec_section {
        margin-bottom:21.3333333333vw
    }
}

.spec_section:last-child {
    margin-bottom: 0
}

@media only screen and (min-width: 901px) {
    .spec_wrap {
        display:flex;
        justify-content: space-between;
        margin-top: 4.1666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .spec_image {
        width:45.5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .spec_image {
        margin-top:5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .spec_outline {
        width:44.1666666667vw;
        height: 100%;
        left: 0;
        top: 8.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .specOutilne {
        box-shadow:0px 0px 20px 0px rgba(0,0,0,.4);
        padding: 3.8888888889vw 4.1666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .specOutilne {
        margin-top:10.6666666667vw
    }
}

.specOutilne_list {
    border-top: 1px solid #4d4d4d
}

.specOutilne_item {
    border-bottom: 1px solid #4d4d4d
}

@media only screen and (min-width: 901px) {
    .specOutilne_item {
        display:flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.1111111111vw .3472222222vw
    }
}

@media only screen and (max-width: 900px) {
    .specOutilne_item {
        padding:4.8vw 1.0666666667vw 4.2666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .specOutilne_label {
        width:11.3888888889vw
    }
}

.specOutilne_label p {
    font-size: .9027777778vw;
    letter-spacing: .04em;
    line-height: 150%;
    color: #e5511c
}

@media only screen and (max-width: 900px) {
    .specOutilne_label p {
        font-size:3.4666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .specOutilne_body {
        width:23.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .specOutilne_body {
        margin-top:.8vw
    }
}

.specOutilne_body p {
    font-size: .9722222222vw;
    line-height: 150%
}

@media only screen and (max-width: 900px) {
    .specOutilne_body p {
        font-size:3.7333333333vw
    }
}

.specOutilne_body p span {
    font-size: .7638888889vw
}

@media only screen and (max-width: 900px) {
    .specOutilne_body p span {
        font-size:2.9333333333vw
    }
}

.specCarouselMain_zoom {
    position: absolute;
    z-index: 2;
    right: .8333333333vw;
    bottom: .8333333333vw;
    width: 3.3333333333vw;
    height: 3.3333333333vw;
    background-color: rgba(51,51,51,.74);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none
}

.specCarouselMain_zoom:before {
    content: ""
}

.specCarouselMain_zoom::before {
    font-size: 2.0833333333vw;
    color: #fff
}

@media only screen and (max-width: 900px) {
    .specCarouselMain_zoom::before {
        font-size:6.6666666667vw
    }
}

@media only screen and (max-width: 900px) {
    .specCarouselMain_zoom {
        width:10.6666666667vw;
        height: 10.6666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .specCarouselThumbnail {
        margin-top:.2777777778vw
    }
}

@media only screen and (max-width: 900px) {
    .specCarouselThumbnail {
        margin-left:calc(50% - 50vi);
        margin-right: calc(50% - 50vi);
        margin-top: 1.6vw
    }
}

@media only screen and (max-width: 900px) {
    .specCarouselThumbnail_slider {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (max-width: 900px) {
    .specCarouselThumbnail .splide__track {
        overflow:visible
    }
}

.specCarouselThumbnail .splide__list {
    margin-left: 10.6666666667vw
}

.specCarouselThumbnail .splide__slide {
    width: 5.4166666667vw;
    height: 5.4166666667vw;
    position: relative;
    cursor: pointer;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1)
}

@media only screen and (min-width: 901px) {
    .specCarouselThumbnail .splide__slide:hover {
        opacity:.6
    }
}

@media only screen and (max-width: 900px) {
    .specCarouselThumbnail .splide__slide {
        width:21.3333333333vw;
        height: 21.3333333333vw
    }
}

.specCarouselThumbnail .splide__slide::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(115,115,115,.7);
    opacity: 0;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1)
}

.specCarouselThumbnail .splide__slide.is-active {
    pointer-events: none
}

.specCarouselThumbnail .splide__slide.is-active::before {
    opacity: 1
}

.specCarouselThumbnail .splide__slide>button {
    cursor: pointer;
    position: relative;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

.specCarouselThumbnail .splide__slide>button img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.specColor {
    margin-top: 5.5555555556vw
}

@media only screen and (max-width: 900px) {
    .specColor {
        margin-top:16vw
    }
}

.specColor_headline {
    display: flex;
    align-items: flex-end
}

.specColor_headline span {
    display: block
}

.specColor_headline span.is-en {
    font-size: 2.0833333333vw;
    margin-right: 1.1111111111vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .specColor_headline span.is-en {
        font-size:5.8666666667vw;
        margin-right: 4.2666666667vw
    }
}

.specColor_headline span.is-ja {
    font-size: .9722222222vw;
    color: #737373
}

@media only screen and (max-width: 900px) {
    .specColor_headline span.is-ja {
        font-size:3.7333333333vw;
        transform: translateY(-1.0666666667vw)
    }
}

.specColor_slider {
    margin-top: 1.6666666667vw
}

@media only screen and (max-width: 900px) {
    .specColor_slider {
        margin-top:4vw
    }
}

.specColor .splide__pagination {
    margin-top: 1.9444444444vw;
    justify-content: flex-start
}

@media only screen and (max-width: 900px) {
    .specColor .splide__pagination {
        margin-top:5.8666666667vw
    }
}

.specColor .splide__pagination li {
    display: block;
    position: relative
}

@media only screen and (min-width: 901px) {
    .specColor .splide__pagination li:first-child {
        margin-left:.5555555556vw
    }
}

@media only screen and (max-width: 900px) {
    .specColor .splide__pagination li:first-child {
        margin-left:1.8666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .specColor .splide__pagination li {
        width:.4166666667vw;
        height: .4166666667vw;
        margin-left: 1.3194444444vw;
        margin-right: 1.3194444444vw
    }
}

@media only screen and (max-width: 900px) {
    .specColor .splide__pagination li {
        margin:0 4.5333333333vw;
        width: 1.3333333333vw;
        height: 1.3333333333vw
    }
}

.specColor .splide__pagination li::before {
    content: "";
    display: block;
    border: 1px solid var(--color);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%
}

.specColor .splide__pagination li button {
    display: block;
    border: none;
    appearance: none;
    cursor: pointer;
    position: relative;
    border-radius: 50%
}

@media only screen and (min-width: 901px) {
    .specColor .splide__pagination li button {
        width:1.1111111111vw;
        height: 1.1111111111vw
    }
}

@media only screen and (max-width: 900px) {
    .specColor .splide__pagination li button {
        width:3.2vw;
        height: 3.2vw
    }
}

.specColor .splide__pagination li button.is-active i {
    opacity: 1
}

.specColor .splide__pagination li button i {
    display: block;
    position: absolute;
    left: -.5555555556vw;
    top: -.5555555556vw;
    width: 2.2222222222vw;
    height: 2.2222222222vw;
    border: 1px solid #999;
    border-radius: 50%;
    transition: .8s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0
}

@media only screen and (max-width: 900px) {
    .specColor .splide__pagination li button i {
        left:-1.6vw;
        top: -1.6vw;
        width: 6.4vw;
        height: 6.4vw
    }
}

.step {
    background-color: #d9d9d9;
    padding: 11.25vw 0 11.1111111111vw
}

@media only screen and (max-width: 900px) {
    .step {
        padding:28vw 0 26.6666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .step_wrap {
        max-width:70.4166666667vw;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px)and (max-width: 900px) {
    .step_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .step_wrap {
        width:89.3333333333%;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (min-width: 901px) {
    .step_headline {
        text-align:center
    }
}

.step_headline span {
    display: block;
    color: #1e1e1e
}

.step_headline span.is-en {
    font-size: 1.3888888889vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .step_headline span.is-en {
        font-size:3.4666666667vw
    }
}

.step_headline span.is-ja {
    font-size: 2.2222222222vw;
    margin-top: 1.8055555556vw
}

@media only screen and (max-width: 900px) {
    .step_headline span.is-ja {
        font-size:6.4vw;
        margin-top: 5.8666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .step_content {
        display:flex;
        justify-content: space-between;
        margin-top: 6.25vw
    }
}

@media only screen and (max-width: 900px) {
    .step_content {
        margin-top:12.2666666667vw
    }
}

.stepCard {
    position: relative
}

@media only screen and (min-width: 901px) {
    .stepCard {
        width:21.25vw
    }
}

@media only screen and (max-width: 900px) {
    .stepCard {
        padding-left:16vw
    }
}

.stepCard:nth-child(1)::before,.stepCard:nth-child(2)::before {
    content: "";
    display: block;
    position: absolute;
    background-color: #999
}

@media only screen and (min-width: 901px) {
    .stepCard:nth-child(1)::before,.stepCard:nth-child(2)::before {
        width:18.6111111111vw;
        height: 1px;
        right: -10.9722222222vw;
        top: 2.0138888889vw
    }
}

@media only screen and (max-width: 900px) {
    .stepCard:nth-child(1)::before,.stepCard:nth-child(2)::before {
        width:1px;
        height: 21.3333333333vw;
        left: 6.1333333333vw;
        top: 10.9333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .stepCard:nth-child(1) {
        margin-bottom:23.7333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .stepCard:nth-child(2) {
        margin-bottom:10.6666666667vw
    }
}

.stepCard_value {
    width: 4.3055555556vw;
    height: 4.3055555556vw;
    border-radius: 50%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

@media only screen and (max-width: 900px) {
    .stepCard_value {
        width:12.8vw;
        height: 12.8vw;
        position: absolute;
        left: 0;
        top: -4.2666666667vw
    }
}

.stepCard_value span {
    font-size: 1.5277777778vw;
    letter-spacing: .02em;
    color: #fff;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .stepCard_value span {
        font-size:4.2666666667vw
    }
}

@media only screen and (min-width: 901px) {
    .stepCard_content {
        width:fit-content;
        margin-left: auto;
        margin-right: auto
    }
}

.stepCard_title {
    color: #1e1e1e
}

@media only screen and (min-width: 901px) {
    .stepCard_title {
        text-align:center;
        font-size: 1.3888888889vw;
        margin-top: 2.6388888889vw
    }
}

@media only screen and (max-width: 900px) {
    .stepCard_title {
        font-size:4.8vw
    }
}

.stepCard_body {
    margin-top: 1.25vw
}

@media only screen and (min-width: 901px) {
    .stepCard_body {
        text-align:center
    }
}

@media only screen and (max-width: 900px) {
    .stepCard_body {
        margin-top:3.7333333333vw
    }
}

.stepCard_body p {
    font-size: .9722222222vw;
    line-height: 190%;
    color: #1e1e1e
}

@media only screen and (max-width: 900px) {
    .stepCard_body p {
        font-size:3.4666666667vw
    }
}

.stepCard {
    perspective: 800px
}

.stepCard::before {
    transition: 1.7s cubic-bezier(0.075, 0.82, 0.165, 1);
    will-change: transform;
    transform: scaleX(0);
    transform-origin: left center
}

.inview .stepCard::before {
    transform: none
}

.stepCard_value {
    clip-path: circle(0%);
    transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    will-change: clip-path
}

.inview .stepCard_value {
    clip-path: circle(50%)
}

.stepCard_value span {
    display: block;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) .2s;
    transform: translateY(-0.3472222222vw);
    will-change: transform
}

.inview .stepCard_value span {
    transform: none
}

.stepCard_content {
    transform: rotateX(20deg) translateY(-1.3888888889vw);
    will-change: transform,opacity;
    transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0
}

.inview .stepCard_content {
    opacity: 1;
    transform: none
}

.stepCard:nth-child(1)::before {
    transition-delay: 0s
}

.stepCard:nth-child(1) .stepCard_value {
    transition-delay: 0.1s
}

.stepCard:nth-child(1) .stepCard_value span {
    transition-delay: 0.2s
}

.stepCard:nth-child(1) .stepCard_content {
    transition-delay: 0.3s
}

.stepCard:nth-child(2)::before {
    transition-delay: 0.6s
}

.stepCard:nth-child(2) .stepCard_value {
    transition-delay: 0.7s
}

.stepCard:nth-child(2) .stepCard_value span {
    transition-delay: 0.8s
}

.stepCard:nth-child(2) .stepCard_content {
    transition-delay: 0.9s
}

.stepCard:nth-child(3)::before {
    transition-delay: 1.2s
}

.stepCard:nth-child(3) .stepCard_value {
    transition-delay: 1.3s
}

.stepCard:nth-child(3) .stepCard_value span {
    transition-delay: 1.4s
}

.stepCard:nth-child(3) .stepCard_content {
    transition-delay: 1.5s
}

.stepCard:nth-child(4)::before {
    transition-delay: 1.8s
}

.stepCard:nth-child(4) .stepCard_value {
    transition-delay: 1.9s
}

.stepCard:nth-child(4) .stepCard_value span {
    transition-delay: 2s
}

.stepCard:nth-child(4) .stepCard_content {
    transition-delay: 2.1s
}

.location_section {
    margin-top: 6.25vw
}

@media only screen and (max-width: 900px) {
    .location_section {
        margin-top:20vw
    }
}

.location_section:first-child {
    margin-top: 4.8611111111vw
}

@media only screen and (max-width: 900px) {
    .location_section:first-child {
        margin-top:12vw
    }
}

.location_title {
    padding-bottom: 2.3611111111vw;
    margin-bottom: 2.0833333333vw;
    border-bottom: 1px solid #4d4d4d
}

@media only screen and (max-width: 900px) {
    .location_title {
        padding-bottom:6.4vw;
        margin-bottom: 8.5333333333vw
    }
}

.location_title span {
    font-size: 2.0833333333vw;
    letter-spacing: .04em
}

@media only screen and (max-width: 900px) {
    .location_title span {
        font-size:5.8666666667vw
    }
}

.locationCard {
    border-bottom: 1px solid #4d4d4d
}

@media only screen and (min-width: 901px) {
    .locationCard {
        padding:0 .4861111111vw 1.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .locationCard {
        padding:0 0 6.6666666667vw
    }
}

.locationCard+.locationCard {
    margin-top: 2.0833333333vw
}

.locationCard_wrap {
    display: flex
}

@media only screen and (min-width: 901px) {
    .locationCard_wrap {
        flex-wrap:wrap;
        justify-content: space-between
    }
}

@media only screen and (max-width: 900px) {
    .locationCard_wrap {
        flex-direction:column
    }
}

.locationCard_title {
    letter-spacing: .04em;
    width: 100%;
    line-height: 140%
}

@media only screen and (min-width: 901px) {
    .locationCard_title {
        font-size:1.3888888889vw;
        margin-bottom: 1.3194444444vw
    }
}

@media only screen and (max-width: 900px) {
    .locationCard_title {
        font-size:5.0666666667vw;
        margin-top: 4.5333333333vw;
        order: 1
    }
}

@media only screen and (min-width: 901px) {
    .locationCard_image {
        width:20.8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .locationCard_image {
        order:0
    }
}

@media only screen and (min-width: 901px) {
    .locationCard_content {
        width:36.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .locationCard_content {
        order:2;
        margin-top: 4vw
    }
}

.locationCard_list {
    display: flex;
    flex-wrap: wrap
}

.locationCard_list dt,.locationCard_list dd {
    padding-bottom: .5555555556vw
}

@media only screen and (max-width: 900px) {
    .locationCard_list dt,.locationCard_list dd {
        padding-bottom:1.8666666667vw
    }
}

.locationCard_list dt p,.locationCard_list dt>div,.locationCard_list dd p,.locationCard_list dd>div {
    font-size: .9722222222vw;
    line-height: 150%;
    letter-spacing: .04em;
    word-break: break-all;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300
}

@media only screen and (max-width: 900px) {
    .locationCard_list dt p,.locationCard_list dt>div,.locationCard_list dd p,.locationCard_list dd>div {
        font-size:3.7333333333vw
    }
}

.locationCard_list dt p a,.locationCard_list dt>div a,.locationCard_list dd p a,.locationCard_list dd>div a {
    text-decoration: underline;
    color: #e5511c;
    letter-spacing: 0
}

.locationCard_list dt p a:after,.locationCard_list dt>div a:after,.locationCard_list dd p a:after,.locationCard_list dd>div a:after {
    content: ""
}

.locationCard_list dt p a::after,.locationCard_list dt>div a::after,.locationCard_list dd p a::after,.locationCard_list dd>div a::after {
    font-size: .7638888889vw;
    margin-left: .3472222222vw;
    display: inline-block;
    transform: translateY(0.0694444444vw)
}

@media only screen and (max-width: 900px) {
    .locationCard_list dt p a::after,.locationCard_list dt>div a::after,.locationCard_list dd p a::after,.locationCard_list dd>div a::after {
        font-size:2.6666666667vw;
        margin-left: 1.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .locationCard_list dt p a:hover,.locationCard_list dt>div a:hover,.locationCard_list dd p a:hover,.locationCard_list dd>div a:hover {
        text-decoration:none
    }
}

.locationCard_list dt {
    width: 6.6666666667vw
}

@media only screen and (max-width: 900px) {
    .locationCard_list dt {
        width:22.9333333333vw
    }
}

.locationCard_list dd {
    width: 29.4444444444vw
}

@media only screen and (max-width: 900px) {
    .locationCard_list dd {
        width:64.5333333333vw
    }
}

.archive {
    margin-top: 3.4722222222vw;
    border-top: 1px solid #4d4d4d
}

@media only screen and (max-width: 900px) {
    .archive {
        margin-top:7.4666666667vw
    }
}

.archiveCard {
    border-bottom: 1px solid #4d4d4d
}

.archiveCard_link {
    display: block;
    padding: 2.7777777778vw 0 2.2222222222vw .5555555556vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .archiveCard_link {
        padding:7.4666666667vw 0 5.3333333333vw 1.3333333333vw
    }
}

.archiveCard_head {
    width: 54.4444444444vw
}

@media only screen and (max-width: 900px) {
    .archiveCard_head {
        width:76vw
    }
}

.archiveCard_title span {
    font-size: 1.25vw;
    letter-spacing: .04em;
    line-height: 150%;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .archiveCard_title span {
        font-size:4vw
    }
}

.archiveCard_description {
    display: flex
}

@media only screen and (min-width: 901px) {
    .archiveCard_description {
        align-items:center;
        margin-top: .3472222222vw
    }
}

@media only screen and (max-width: 900px) {
    .archiveCard_description {
        margin-top:-.2666666667vw
    }
}

.archiveCard_date {
    color: #999;
    font-size: .9722222222vw;
    position: relative;
    padding-right: 1.7361111111vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .archiveCard_date {
        font-size:3.7333333333vw;
        padding-right: 5.3333333333vw
    }
}

.archiveCard_date::after {
    content: "";
    display: block;
    width: 1px;
    background-color: #737373;
    position: absolute;
    height: .6944444444vw;
    right: .8333333333vw;
    top: .625vw
}

@media only screen and (max-width: 900px) {
    .archiveCard_date::after {
        height:2.6666666667vw;
        right: 2.1333333333vw;
        top: 2.4vw
    }
}

.archiveCard_category {
    color: #999;
    letter-spacing: .04em;
    margin-top: -.1388888889vw;
    font-size: .9027777778vw
}

@media only screen and (max-width: 900px) {
    .archiveCard_category {
        margin-top:0vw;
        font-size: 3.4666666667vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: block
    }
}

.archiveCard_icon {
    right: .4166666667vw;
    top: 3.2638888889vw;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background-color: #333
}

.archiveCard_icon::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25vw;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

@media only screen and (max-width: 900px) {
    .archiveCard_icon::before {
        border-radius:3.7333333333vw
    }
}

.archiveCard_icon i {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    width: .9722222222vw;
    height: .8333333333vw;
    overflow: hidden;
    position: relative
}

.archiveCard_icon i:before {
    content: ""
}

.archiveCard_icon i:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .archiveCard_icon i {
        width:3.7333333333vw;
        height: 3.2vw
    }
}

.archiveCard_icon i::before,.archiveCard_icon i::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block
}

.archiveCard_icon i::after {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.archiveCard_icon i::before {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateX(calc(-100% - 0.3472222222vw))
}

@media only screen and (min-width: 901px) {
    .archiveCard_icon i {
        width:.8333333333vw;
        height: .8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .archiveCard_icon i {
        width:3.2vw;
        height: 3.2vw
    }

    .lineupMenu .archiveCard_icon i {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
}

.archiveCard_icon i::before,.archiveCard_icon i::after {
    color: #fff
}

@media only screen and (min-width: 901px) {
    .archiveCard_icon i::before,.archiveCard_icon i::after {
        font-size:.8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .archiveCard_icon i::before,.archiveCard_icon i::after {
        font-size:2.6666666667vw
    }

    .lineupMenu .archiveCard_icon i::before,.lineupMenu .archiveCard_icon i::after {
        font-size: 3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .archiveCard_icon {
        width:3.3333333333vw;
        height: 2.5vw;
        border-radius: 1.25vw
    }
}

@media only screen and (max-width: 900px) {
    .archiveCard_icon {
        width:9.8666666667vw;
        height: 7.4666666667vw;
        border-radius: 3.7333333333vw
    }

    .buttonBack .archiveCard_icon,.companyExternalCard .archiveCard_icon {
        width: 12.8vw;
        height: 9.6vw;
        border-radius: 4.8vw
    }

    .lineupMenu .archiveCard_icon {
        width: 14.9333333333vw;
        height: 10.6666666667vw;
        border-radius: 5.3333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .archiveCard_icon {
        right:1.0666666667vw;
        top: calc(50% - 3.4666666667vw)
    }
}

.archiveCard_icon::before {
    opacity: 0;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .archiveCard_link:hover .archiveCard_icon::before {
        opacity:1
    }

    .archiveCard_link:hover .archiveCard_icon i::after {
        transform: translateX(calc(100% + 0.3472222222vw));
        color: #fff;
        transition: .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)
    }

    .archiveCard_link:hover .archiveCard_icon i::before {
        transform: translateX(0);
        color: #fff;
        transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .3s
    }
}

.article {
    max-width: 61.6666666667vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .article {
        max-width:89.6vw
    }
}

@media only screen and (min-width: 901px) {
    .article {
        padding-bottom:3.6805555556vw
    }
}

.article_main>* {
    margin-top: 3.3333333333vw
}

@media only screen and (max-width: 900px) {
    .article_main>* {
        margin-top:12.8vw
    }
}

.article_bottom {
    margin-top: 5.2083333333vw;
    padding-top: 4.1666666667vw;
    border-top: 1px solid #737373
}

@media only screen and (max-width: 900px) {
    .article_bottom {
        margin-top:16vw;
        padding-top: 12.5333333333vw
    }
}

.articleImage+.articleBody,.articleVideo+.articleBody {
    margin-top: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .articleImage+.articleBody,.articleVideo+.articleBody {
        margin-top:4.2666666667vw
    }
}

.articleBody p {
    font-size: 1.1111111111vw;
    line-height: 200%;
    letter-spacing: .04em;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
    font-style: normal;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased;
    font-weight: 300
}

@media only screen and (max-width: 900px) {
    .articleBody p {
        font-size:3.7333333333vw;
        line-height: 175%
    }
}

.articleBody p a {
    color: #e5511c;
    text-decoration: underline
}

.articleBody p a:hover {
    text-decoration: none
}

.articleImage+.articleHeadlineLv1 {
    margin-top: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .articleImage+.articleHeadlineLv1 {
        margin-top:4.2666666667vw
    }
}

.articleHeadlineLv1 span {
    font-size: 1.8055555556vw;
    letter-spacing: .04em;
    line-height: 140%
}

@media only screen and (max-width: 900px) {
    .articleHeadlineLv1 span {
        font-size:4.8vw
    }
}

.articleHeadlineLv1+.articleImage,.articleBody+.articleImage {
    margin-top: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .articleHeadlineLv1+.articleImage,.articleBody+.articleImage {
        margin-top:4.2666666667vw
    }
}

.articleHeadlineLv1+.articleVideo,.articleBody+.articleVideo {
    margin-top: 1.1111111111vw
}

@media only screen and (max-width: 900px) {
    .articleHeadlineLv1+.articleVideo,.articleBody+.articleVideo {
        margin-top:4.2666666667vw
    }
}

.articleVideo>div {
    width: 100%;
    position: relative;
    padding-bottom: 56.25%
}

.articleVideo>div iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.articleHead {
    position: relative;
    max-width: 93.8888888889vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .articleHead {
        max-width:89.6vw
    }
}

@media only screen and (min-width: 901px) {
    .articleHead {
        margin:13.75vw auto 3.6805555556vw
    }
}

@media only screen and (max-width: 900px) {
    .articleHead {
        margin-top:37.3333333333vw
    }
}

.articleHead_label {
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (min-width: 901px) {
    .articleHead_label {
        font-size:.9722222222vw;
        position: absolute;
        left: 0vw;
        top: .6944444444vw
    }
}

@media only screen and (max-width: 900px) {
    .articleHead_label {
        font-size:3.7333333333vw
    }
}

.articleHead_wrap {
    max-width: 61.6666666667vw;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 900px) {
    .articleHead_wrap {
        max-width:89.6vw
    }
}

@media only screen and (max-width: 900px) {
    .articleHead_title {
        margin-top:12.2666666667vw
    }
}

.articleHead_title span {
    font-size: 2.2222222222vw;
    letter-spacing: .04em;
    line-height: 150%
}

@media only screen and (max-width: 900px) {
    .articleHead_title span {
        font-size:6.4vw
    }
}

.articleHead_description {
    display: flex;
    align-items: center;
    margin-top: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .articleHead_description {
        margin-top:1.6vw
    }
}

.articleHead_date {
    color: #999;
    font-size: 1.1111111111vw;
    position: relative;
    padding-right: 2.5694444444vw;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .articleHead_date {
        font-size:3.7333333333vw;
        padding-right: 6.4vw
    }
}

.articleHead_date::after {
    content: "";
    display: block;
    width: 1px;
    background-color: #737373;
    height: .8333333333vw;
    position: absolute;
    right: 1.1805555556vw;
    top: .6944444444vw
}

@media only screen and (max-width: 900px) {
    .articleHead_date::after {
        height:2.6666666667vw;
        right: 2.6666666667vw;
        top: 2.1333333333vw
    }
}

.articleHead_category {
    color: #999;
    letter-spacing: .04em;
    font-size: 1.0416666667vw
}

@media only screen and (max-width: 900px) {
    .articleHead_category {
        font-size:3.4666666667vw;
        margin-top: -.5333333333vw
    }
}

.newsCategoryMenu {
    display: flex;
    justify-content: center;
    margin-top: 5.2083333333vw
}

.newsCategoryMenu_item {
    position: relative
}

.newsCategoryMenu_item::before {
    content: "";
    display: block;
    width: .4166666667vw;
    height: .4166666667vw;
    background-color: #e5511c;
    position: absolute;
    left: calc(50% - .2083333333vw);
    bottom: -.6944444444vw;
    border-radius: 50%;
    visibility: hidden
}

.newsCategoryMenu_item a {
    padding: .3472222222vw 1.3888888889vw;
    display: block
}

.newsCategoryMenu_item a span {
    font-size: 1.0416666667vw;
    color: #fff
}

@media only screen and (min-width: 901px) {
    .newsCategoryMenu_item a span {
        transition:1s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .newsCategoryMenu_item a:hover span {
        color: #e5511c
    }
}

.newsCategoryMenu_item.is-current::before {
    visibility: visible
}

.newsCategoryMenu_item.is-current a {
    pointer-events: none
}

.newsCategoryMenu_item.is-current a span {
    color: #e5511c
}

.newsCategoryPulldown {
    align-items: center;
    justify-content: space-between
}

.newsCategoryPulldown_title {
    font-size: 3.4666666667vw;
    text-transform: uppercase;
    color: #e5511c;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

.newsCategoryPulldown_content {
    position: relative
}

.newsCategoryPulldown_content:before {
    content: ""
}

@media only screen and (min-width: 901px) {
    .newsCategoryPulldown_content {
        display:none
    }
}

.newsCategoryPulldown_content:before {
    position: absolute;
    top: calc(50% - 1.3333333333vw);
    right: 5.6vw;
    display: block;
    color: #fff;
    font-size: 2.4vw;
    box-sizing: border-box;
    z-index: 1;
    pointer-events: none
}

.newsCategoryPulldown_content select {
    padding: 1.8666666667vw 0 2.9333333333vw 4.8vw;
    position: relative;
    background-color: transparent;
    width: 100%;
    cursor: pointer;
    display: block;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    appearance: none;
    border: 1px solid rgba(255, 255, 255,0.5);
    color: #fff;
    font-size: 3.4666666667vw;
    border-radius: 4.8vw;
    height: 9.6vw;
    min-width: 32vw
}

@media only screen and (max-width: 900px) {
    .newsLists {
        margin-top:5.8666666667vw
    }
}

.newsList {
    border-top: 1px solid #999
}

.newsList * {
    color: #1e1e1e
}

.newsList:last-child {
    border-bottom: 1px solid #999
}

.newsList_link {
    position: relative
}

@media only screen and (min-width: 901px) {
    .newsList_link {
        display:flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 2.6388888889vw;
        padding-bottom: 2.6388888889vw
    }
}

@media only screen and (max-width: 900px) {
    .newsList_link {
        padding-top:6.1333333333vw;
        padding-bottom: 6.1333333333vw;
        display: block
    }
}

.newsList_date {
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (min-width: 901px) {
    .newsList_date {
        font-size:1.3888888889vw;
        width: 11.1111111111vw;
        padding-left: 2.0833333333vw;
        margin-top: .4166666667vw
    }
}

@media only screen and (max-width: 900px) {
    .newsList_date {
        font-size:3.2vw
    }
}

@media only screen and (min-width: 901px) {
    .newsList_body {
        width:60.625vw;
        padding-right: 6.9444444444vw
    }
}

@media only screen and (max-width: 900px) {
    .newsList_body {
        margin-top:1.3333333333vw;
        padding-right: 13.3333333333vw
    }
}

.newsList_body p {
    font-size: 1.25vw
}

@media only screen and (max-width: 900px) {
    .newsList_body p {
        font-size:3.7333333333vw;
        line-height: 150%
    }
}

.newsList_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    background-color: #ebebeb
}

.newsList_icon::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.25vw;
    background: linear-gradient(180deg, #B21E00 0%, #C44100 100%)
}

@media only screen and (max-width: 900px) {
    .newsList_icon::before {
        border-radius:3.7333333333vw
    }
}

.newsList_icon i {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    width: .9722222222vw;
    height: .8333333333vw;
    overflow: hidden;
    position: relative
}

.newsList_icon i:before {
    content: ""
}

.newsList_icon i:after {
    content: ""
}

@media only screen and (max-width: 900px) {
    .newsList_icon i {
        width:3.7333333333vw;
        height: 3.2vw
    }
}

.newsList_icon i::before,.newsList_icon i::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block
}

.newsList_icon i::after {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.newsList_icon i::before {
    transition: .6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateX(calc(-100% - 0.3472222222vw))
}

@media only screen and (min-width: 901px) {
    .newsList_icon i {
        width:.8333333333vw;
        height: .8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .newsList_icon i {
        width:3.2vw;
        height: 3.2vw
    }

    .lineupMenu .newsList_icon i {
        width: 4.2666666667vw;
        height: 4.2666666667vw
    }
}

.newsList_icon i::before,.newsList_icon i::after {
    color: #1e1e1e
}

@media only screen and (min-width: 901px) {
    .newsList_icon i::before,.newsList_icon i::after {
        font-size:.8333333333vw
    }
}

@media only screen and (max-width: 900px) {
    .newsList_icon i::before,.newsList_icon i::after {
        font-size:2.6666666667vw
    }

    .lineupMenu .newsList_icon i::before,.lineupMenu .newsList_icon i::after {
        font-size: 3.7333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .newsList_icon {
        width:3.3333333333vw;
        height: 2.5vw;
        border-radius: 1.25vw
    }
}

@media only screen and (max-width: 900px) {
    .newsList_icon {
        width:9.8666666667vw;
        height: 7.4666666667vw;
        border-radius: 3.7333333333vw
    }

    .buttonBack .newsList_icon,.companyExternalCard .newsList_icon {
        width: 12.8vw;
        height: 9.6vw;
        border-radius: 4.8vw
    }

    .lineupMenu .newsList_icon {
        width: 14.9333333333vw;
        height: 10.6666666667vw;
        border-radius: 5.3333333333vw
    }
}

@media only screen and (min-width: 901px) {
    .newsList_icon {
        right:2.4305555556vw;
        top: calc(50% - 1.25vw)
    }
}

@media only screen and (max-width: 900px) {
    .newsList_icon {
        right:0;
        top: calc(50% - 3.7333333333vw)
    }
}

.newsList_icon::before {
    opacity: 0;
    transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
}

@media only screen and (min-width: 901px) {
    .newsList_link:hover .newsList_icon::before {
        opacity:1
    }

    .newsList_link:hover .newsList_icon i::after {
        transform: translateX(calc(100% + 0.3472222222vw));
        color: #fff;
        transition: .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)
    }

    .newsList_link:hover .newsList_icon i::before {
        transform: translateX(0);
        color: #fff;
        transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1) .3s
    }
}

.paging {
    margin-top: 2.9166666667vw;
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media only screen and (max-width: 900px) {
    .paging {
        margin-top:8vw
    }
}

.paging_arrow.is-hidden {
    pointer-events: none
}

.paging_arrow.is-hidden span {
    color: #4d4d4d
}

.paging_arrow span {
    font-size: 4.7222222222vw;
    text-transform: uppercase;
    display: block;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .paging_arrow span {
        font-size:9.6vw
    }
}

@media only screen and (min-width: 901px) {
    .paging_arrow span {
        transition:1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
    }

    .paging_arrow:hover span {
        color: #e5511c
    }
}

.paging_number span {
    font-size: 1.6666666667vw;
    color: #737373;
    font-family: "Inter", sans-serif;
    -webkit-font-smoothing: antialiased;
    font-weight: 500
}

@media only screen and (max-width: 900px) {
    .paging_number span {
        font-size:5.3333333333vw
    }
}

.paging_number span.is-min {
    margin-right: 3.1944444444vw;
    position: relative
}

@media only screen and (max-width: 900px) {
    .paging_number span.is-min {
        margin-right:8.5333333333vw
    }
}

.paging_number span.is-min::before {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    background-color: #737373;
    width: 1.1111111111vw;
    right: -2.2222222222vw;
    top: .9027777778vw
}

@media only screen and (max-width: 900px) {
    .paging_number span.is-min::before {
        width:3.2vw;
        right: -6.4vw;
        top: 2.9333333333vw
    }
}

/* ===== ABOUT PAGE STYLES ===== */

/* Page Hero */
.pageHero {
    padding: 10vw 0 5vw;
    background-color: #ffffff
}

@media only screen and (max-width: 900px) {
    .pageHero {
        padding: 30vw 0 15vw
    }
}

.pageHero_wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5vw
}

.pageHero_headline {
    text-align: center
}

/* About Message */
.aboutMessage {
    padding: 5vw 0;
    background-color: #ffffff
}

@media only screen and (max-width: 900px) {
    .aboutMessage {
        padding: 15vw 0
    }
}

.aboutMessage_wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 5vw;
    text-align: center
}

.aboutMessage_headline {
    margin-bottom: 3vw
}

.aboutMessage_headline h2 span,
.aboutMessage_headline div span {
    display: block;
    font-size: 2.5vw;
    font-weight: 700;
    color: #09156a;
    line-height: 1.6;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .aboutMessage_headline h2 span,
    .aboutMessage_headline div span {
        font-size: 6vw
    }
    .aboutMessage_headline {
        margin-bottom: 8vw
    }
}

.aboutMessage_body {
    color: #09156a;
    font-size: 1.1vw;
    line-height: 2.2;
    text-align: left;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.aboutMessage_body p {
    margin-bottom: 1.5em
}

@media only screen and (max-width: 900px) {
    .aboutMessage_body {
        font-size: 3.8vw;
        line-height: 2
    }
}

/* Company Profile */
.companyProfile {
    padding: 5vw 0 8vw;
    background-color: #ffffff
}

@media only screen and (max-width: 900px) {
    .companyProfile {
        padding: 15vw 0 20vw
    }
}

.companyProfile_wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 5vw
}

.companyProfile_headline {
    text-align: center;
    margin-bottom: 4vw
}

@media only screen and (max-width: 900px) {
    .companyProfile_headline {
        margin-bottom: 10vw
    }
}

.companyProfile_content {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 3vw
}

@media only screen and (max-width: 900px) {
    .companyProfile_content {
        padding: 8vw 6vw
    }
}

.companyProfile_list {
    display: flex;
    flex-direction: column
}

.companyProfile_item {
    display: flex;
    padding: 1.5vw 0;
    border-bottom: 1px solid #e0e0e0
}

.companyProfile_item:last-child {
    border-bottom: none
}

@media only screen and (max-width: 900px) {
    .companyProfile_item {
        flex-direction: column;
        padding: 5vw 0
    }
}

.companyProfile_item dt {
    width: 150px;
    flex-shrink: 0;
    font-size: 1vw;
    font-weight: 700;
    color: #09156a;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .companyProfile_item dt {
        width: 100%;
        font-size: 3.5vw;
        margin-bottom: 2vw
    }
}

.companyProfile_item dd {
    flex: 1;
    font-size: 1vw;
    color: #333;
    line-height: 1.8;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .companyProfile_item dd {
        font-size: 3.5vw
    }
}

/* =====================================================================
   Renewal Subpages (lineup detail / privacy) — added 2026
   Brand navy #09156a, matching the existing lower-page tone
   ===================================================================== */
.pageHero_sub {
    margin-top: 1.5vw;
    font-size: 1.1vw;
    font-weight: 700;
    letter-spacing: .1em;
    color: #09156a;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .pageHero_sub {
        margin-top: 5vw;
        font-size: 4vw
    }
}

/* Lineup detail — lead */
.lineupLead {
    padding: 5vw 0;
    background-color: #ffffff
}

.lineupLead_wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 5vw;
    text-align: center
}

.lineupLead_title {
    font-size: 2vw;
    font-weight: 700;
    line-height: 1.6;
    color: #09156a;
    margin-bottom: 2vw;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.lineupLead_body {
    font-size: 1.05vw;
    line-height: 2.2;
    color: #333;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .lineupLead { padding: 15vw 0 }
    .lineupLead_title { font-size: 5.5vw; margin-bottom: 6vw }
    .lineupLead_body { font-size: 3.8vw; line-height: 2; text-align: left }
}

/* Lineup detail — feature rows */
.lineupFeatures {
    padding: 5vw 0;
    background-color: #f5f5f5
}

.lineupFeatures_wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5vw;
    display: flex;
    flex-direction: column;
    gap: 5vw
}

.lineupFeature {
    display: flex;
    align-items: center;
    gap: 4vw
}

.lineupFeature:nth-child(even) {
    flex-direction: row-reverse
}

.lineupFeature_image {
    flex: 1;
    border-radius: 8px;
    overflow: hidden
}

.lineupFeature_image img {
    display: block;
    width: 100%;
    height: 24vw;
    object-fit: cover
}

.lineupFeature_content {
    flex: 1
}

.lineupFeature_num {
    font-size: .9vw;
    font-weight: 500;
    letter-spacing: .1em;
    color: #999;
    margin-bottom: 1vw;
    font-family: "Inter", sans-serif
}

.lineupFeature_title {
    font-size: 1.6vw;
    font-weight: 700;
    line-height: 1.5;
    color: #09156a;
    margin-bottom: 1.5vw;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.lineupFeature_body {
    font-size: 1vw;
    line-height: 2;
    color: #555;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .lineupFeatures { padding: 15vw 0 }
    .lineupFeatures_wrap { gap: 12vw }
    .lineupFeature,
    .lineupFeature:nth-child(even) { flex-direction: column; gap: 6vw }
    .lineupFeature_image img { height: 55vw }
    .lineupFeature_num { font-size: 3vw; margin-bottom: 3vw }
    .lineupFeature_title { font-size: 5vw; margin-bottom: 4vw }
    .lineupFeature_body { font-size: 3.8vw }
}

/* Lineup detail — flow */
.lineupFlow {
    padding: 5vw 0 8vw;
    background-color: #ffffff
}

.lineupFlow_wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 5vw
}

.lineupFlow_headline {
    text-align: center;
    margin-bottom: 4vw
}

.lineupFlowList {
    display: flex;
    flex-direction: column;
    gap: 2vw
}

.lineupFlowItem {
    display: flex;
    align-items: flex-start;
    gap: 2vw;
    padding: 2vw;
    background: #f9f9f9;
    border-radius: 8px
}

.lineupFlowItem_num {
    flex-shrink: 0;
    width: 3vw;
    height: 3vw;
    border-radius: 50%;
    background: #09156a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1vw;
    font-weight: 600;
    font-family: "Inter", sans-serif
}

.lineupFlowItem_title {
    font-size: 1.2vw;
    font-weight: 700;
    color: #09156a;
    margin-bottom: .5vw;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.lineupFlowItem_body {
    font-size: .95vw;
    line-height: 1.9;
    color: #555;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .lineupFlow { padding: 15vw 0 20vw }
    .lineupFlow_headline { margin-bottom: 10vw }
    .lineupFlowList { gap: 5vw }
    .lineupFlowItem { gap: 4vw; padding: 6vw }
    .lineupFlowItem_num { width: 9vw; height: 9vw; font-size: 4vw }
    .lineupFlowItem_title { font-size: 4.2vw; margin-bottom: 2vw }
    .lineupFlowItem_body { font-size: 3.5vw }
}

/* Shared — back button area */
.pageBack {
    display: flex;
    justify-content: center;
    padding: 5vw 0 8vw;
    background-color: #f5f5f5
}

@media only screen and (max-width: 900px) {
    .pageBack { padding: 15vw 0 20vw }
}

/* Privacy / legal */
.legal {
    padding: 5vw 0 8vw;
    background-color: #ffffff
}

.legal_wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 5vw
}

.legal_lead {
    font-size: 1vw;
    line-height: 2.2;
    color: #333;
    margin-bottom: 4vw;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.legalSection {
    margin-bottom: 3vw
}

.legalSection_title {
    font-size: 1.3vw;
    font-weight: 700;
    color: #09156a;
    line-height: 1.5;
    padding-left: 1vw;
    border-left: 4px solid #09156a;
    margin-bottom: 1.5vw;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.legalSection_body {
    font-size: 1vw;
    line-height: 2.2;
    color: #444;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

.legalSection_body p { margin-bottom: 1em }
.legalSection_body ul { padding-left: 1.5em; list-style: disc }
.legalSection_body li { margin-bottom: .5em }

.legal_date {
    margin-top: 4vw;
    text-align: right;
    font-size: .95vw;
    color: #888;
    font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif
}

@media only screen and (max-width: 900px) {
    .legal { padding: 15vw 0 20vw }
    .legal_lead { font-size: 3.8vw; line-height: 2; margin-bottom: 10vw }
    .legalSection { margin-bottom: 10vw }
    .legalSection_title { font-size: 4.5vw; padding-left: 3vw; margin-bottom: 4vw }
    .legalSection_body { font-size: 3.8vw; line-height: 2 }
    .legal_date { font-size: 3.2vw; margin-top: 10vw }
}

/* =====================================================================
   ABOUT page — テキストをホームと同じブランドネイビー(#09156a)に統一
   ボタン(.buttonFill_title は明示的に #fff)はそのまま維持される
   ===================================================================== */
[data-page="about"] .about {
    color: #09156a;
}
[data-page="about"] .aboutLineup_headline .is-en em,
[data-page="about"] .aboutLineup_headline .is-ja em,
[data-page="about"] .companyHead_title .is-en em,
[data-page="about"] .companyHead_title .is-ja em {
    color: #09156a;
}


/* =====================================================================
   LOCATION page — 拠点一覧(Googleマップ埋め込み)
   NEWS page — 一覧・詳細のテキスト色(bodyの白文字継承を上書き)
   ===================================================================== */
[data-page="location"] .location,
[data-page="news"] .article,
[data-page="news"] .articleHead_title span {
    color: #09156a;
}

/* =====================================================================
   FAQ page — よくあるご質問(bodyの白文字継承を上書き)
   ===================================================================== */
[data-page="faq"] .faq,
[data-page="faq"] .articleHead_title span {
    color: #09156a;
}

[data-page="faq"] .faqContact_button {
    display: flex;
    justify-content: center;
}

[data-page="faq"] .faqContact .buttonFill_title,
[data-page="faq"] .faqContact .buttonFill_title span {
    color: #fff;
}

/* =====================================================================
   スマホのスクロール改善 — 固定バナーの backdrop-filter はスクロール中に
   毎フレーム再描画されるため実機でカクつく(.homeFeature_blur と同じ対処)
   ===================================================================== */
@media only screen and (max-width: 900px) {
    .contactBanner {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background-color: rgba(0, 0, 0, .85);
    }
}

/* =====================================================================
   ホームのメディアセクション — 背景画像を非表示にしたため、
   背景表示用だった巨大な上パディングがSPで白い空白になるのを解消
   ===================================================================== */
@media only screen and (max-width: 900px) {
    [data-section=home-media] .media_wrap {
        padding-top: 26.6666666667vw;
    }
}

/* =====================================================================
   CONTACT page — お問い合わせフォーム(bodyの白文字継承を上書き)
   ===================================================================== */
[data-page="contact"] .contact,
[data-page="contact"] .articleHead_title span {
    color: #09156a;
}

[data-page="contact"] .contact {
    padding-bottom: 8.3333333333vw;
}

[data-page="contact"] .fieldText input,
[data-page="contact"] .fieldTexarea textarea {
    color: #fff;
    border-radius: .5555555556vw;
}

[data-page="contact"] .contact_button .buttonFill {
    position: relative;
}

[data-page="contact"] .contact_button .buttonFill input[type="submit"] {
    position: absolute;
    cursor: pointer;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 0;
    top: 0;
    left: 0;
    border: none;
}

.is-hidden-field {
    display: none !important;
}

[data-page="contact"] .fieldCheckbox .wpcf7-list-item-label,
[data-page="contact"] .fieldCheckbox .wpcf7-list-item-label a,
[data-page="contact"] .fieldRadio .wpcf7-list-item-label {
    color: #09156a;
}

[data-page="contact"] .fieldCheckbox .wpcf7-list-item-label a {
    color: #e5511c;
    text-decoration: underline;
}

@media only screen and (max-width: 900px) {
    [data-page="contact"] .contact {
        padding-bottom: 21.3333333333vw;
    }

    [data-page="contact"] .fieldText input,
    [data-page="contact"] .fieldTexarea textarea {
        border-radius: 2.1333333333vw;
    }
}

.locationMap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background-color: #ebebeb;
    border-radius: .5555555556vw;
}

.locationMap iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.locationMap.is-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

.locationMap.is-placeholder p {
    color: #999;
    font-size: .9722222222vw;
    letter-spacing: .1em;
    font-family: "Inter", sans-serif;
    font-weight: 500;
}

@media only screen and (max-width: 900px) {
    .locationMap {
        border-radius: 2.1333333333vw;
    }

    .locationMap.is-placeholder p {
        font-size: 3.4666666667vw;
    }
}
/* media_background 画像を非表示にした箇所の無地背景 */
.media_image,
.aboutBackground_inner {
    background-color: #ffffff;
}

/* モバイルのスクロール負荷軽減: 全画面backdrop-filterを軽量なオーバーレイに置換 */
@media only screen and (max-width: 900px) {
    .homeFeature_blur {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background-color: rgba(0, 0, 0, .25);
    }
}
