@charset "utf-8";
/*-----------------------------------------------
 * COMMON
 * FV
 * STAFF
-------------------------------------------------*/
/*-----------------------------------------------
 * COMMON
-------------------------------------------------*/
body:has(.contWrap)::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 3;
    background-color: rgba(255, 255, 255, 0.8);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.9s var(--easing-outquart), visibility 0s linear 0.9s;
}
body:has(.contWrap.is-cont--visible)::before {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.9s var(--easing-outquart), visibility 0s linear 0s;
}
body:has(.contWrap.is-cont--no-trans)::before {
    transition: none !important;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    body::after {
        content: "";
        width: calc(116 / var(--vw-min) * 100vw);
        height: calc(115 / var(--vw-min) * 100vw);
        display: block;
        position: fixed;
        top: 0;
        right: calc(68 / var(--vw-min) * 100vw);
        z-index: 4;
        background: url(../img/top/vs_back-ribbon5-s.png)no-repeat center/contain;
        pointer-events: none;
        opacity: 0;
        transform: scale(0.92);
        transform-origin: 50% 40%;
        transition:
            opacity var(--fv-logo-in-dur) var(--fv-in-ease),
            transform var(--fv-logo-in-dur) var(--fv-in-ease);
        transition-delay: var(--fv-logo-after-chara);
    }
    body:has(.vsAreaWrap.js-fani.is-ani)::after {
        opacity: 1;
        transform: scale(1);
    }
}
.cont-tit {
    font-size: min(calc(159 / var(--vw-min) * 100vw),159px);
    color: #fff;
    font-weight: 300;
    line-height: 0.9;
    text-align: center;
    pointer-events: none;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .cont-tit {
        font-size: calc(128 / var(--vw-min) * 100vw);
    }
}
/*-----------------------------------------------
 * 最上端＋上方向ホイール時：全面白＋中央ロゴ（PCのみ）
-------------------------------------------------*/
.topPullLogo {
    display: none;
}
@media (min-width: 769px) and (min-aspect-ratio: 1001/1000) {
    body#top {
        --topPull-layer-dur: 0.4s;
        --topPull-logo-delay: 0.16s;
        --topPull-ease: var(--easing-outquart, ease);
        --topPull-fv-h1-in-dur: 1.2s;
        --topPull-fv-h1-in-delay: 0.12s;
        --topPull-fv-h1-out-dur: 0.45s;
    }
    .topPullLogo {
        display: flex;
        position: fixed;
        inset: 0;
        z-index: 20000;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        background: none;
        align-items: center;
        justify-content: center;
        isolation: isolate;
        pointer-events: none;
        opacity: 1;
    }
    .topPullLogo.is-topPull-exitFade {
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.36s var(--topPull-ease, ease) !important;
    }
    .topPullLogo::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: #fff;
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--topPull-layer-dur) var(--topPull-ease, ease);
    }
    .topPullLogo.is-visible::before {
        opacity: 1;
    }
    .topPullLogo .fv__logo {
        position: relative;
        z-index: 1;
        top: auto;
        right: auto;
        left: auto;
        margin: 0;
        transform: translate3d(0, min(-12vh, -72px), 0);
        transform-origin: center center;
        opacity: 0;
        transition: opacity var(--topPull-layer-dur) var(--topPull-ease, ease),
            transform var(--topPull-layer-dur) var(--topPull-ease, ease);
    }
    .topPullLogo.is-visible:not(.is-topPull-exitRise) .fv__logo {
        transform: translate3d(0, 0, 0);
        opacity: 1;
        transition: opacity var(--topPull-layer-dur) var(--topPull-ease, ease) var(--topPull-logo-delay),
            transform var(--topPull-layer-dur) var(--topPull-ease, ease) var(--topPull-logo-delay);
    }
    .topPullLogo.is-visible.is-topPull-exitRise:not(.is-topPull-exitFade) .fv__logo {
        transform: translate3d(0, min(-32vh, -200px), 0);
        opacity: 1;
        transition: transform 0.32s var(--topPull-ease, ease) 0s,
            opacity 0.32s var(--topPull-ease, ease) 0s;
    }
    .topPullLogo.is-visible.is-topPull-exitRise.is-topPull-exitFade .fv__logo {
        transform: translate3d(0, min(-32vh, -200px), 0);
        opacity: 1;
        transition: none;
    }
    .fv .vsArea.--back > h1.fv__logo.pc {
        opacity: 1;
        transition: opacity var(--topPull-fv-h1-in-dur) var(--easing-outquart, ease)
                var(--topPull-fv-h1-in-delay),
            top var(--topPull-layer-dur) var(--topPull-ease, ease);
    }
    body#top:has(.topPullLogo.is-visible) .fv .vsArea.--back > h1.fv__logo.pc {
        opacity: 0;
        top: calc(
            min(
                    calc(17 / var(--vh-min) * 100vh),
                    calc(17 / var(--vw-min) * 100vw)
                )
                + min(24vh, 200px)
        );
        transition: opacity var(--topPull-fv-h1-out-dur) var(--easing-outquart, ease) 0s,
            top var(--topPull-layer-dur) var(--topPull-ease, ease);
    }
    body#top.is-topPull-fv-snap:has(.topPullLogo.is-visible) .fv .vsArea.--back > h1.fv__logo.pc {
        top: min(
            calc(17 / var(--vh-min) * 100vh),
            calc(17 / var(--vw-min) * 100vw)
        );
        transition: none !important;
    }
    body#top:has(.topPullLogo.is-visible) .fv.is-fv-fixed .vsArea.--back > h1.fv__logo.pc {
        transition: opacity var(--topPull-fv-h1-out-dur) var(--easing-outquart, ease) 0s,
            top var(--topPull-layer-dur) var(--topPull-ease, ease) !important;
    }
    body#top.is-topPull-fv-snap:has(.topPullLogo.is-visible) .fv.is-fv-fixed .vsArea.--back > h1.fv__logo.pc {
        transition: none !important;
    }
}
/*-----------------------------------------------
 * FV
-------------------------------------------------*/
.vsAreaWrap {
    position: relative;
}
.fv {
    width: 100%;
    position: relative;
    --fv-visual: min(calc(820 / var(--vh-min) * 100vh), calc(820 / var(--vw-min) * 100vw));
    min-height: var(--fv-visual);
}
.fvWrap {
    position: relative;
    min-height: var(--fv-visual);
    overflow: hidden;
}
@media screen and (min-width:769px) and (min-aspect-ratio:1001/1000){
    .fvIn {
        display: contents;
    }
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv {
        --fv-sp-total: calc(1200 / var(--vw-min) * 100vw);
        --fv-sp-ui-h: calc(268 / var(--vw-min) * 100vw);
        --fv-sp-back-design-h: max(1px, calc(var(--fv-sp-total) - var(--fv-sp-ui-h)));
        --fv-sp-vh: 100svh;
        --fv-sp-back-alloc: max(1px, calc(max(var(--fv-sp-total), var(--fv-sp-vh)) - var(--fv-sp-ui-h)));
        --fv-sp-back-scale: max(1, calc(var(--fv-sp-back-alloc) / var(--fv-sp-back-design-h)));
        height: 100svh;
        min-height: max(var(--fv-sp-total), 100svh);
        overflow-x: hidden;
    }
    .fvWrap {
        position: fixed;
        inset: 0;
        width: 100%;
        max-width: 100vw;
        height: 100%;
        min-height: 100%;
        padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
        transition: filter 0.4s ease;
    }
    body:has(.contWrap.is-cont--visible) .fv .fvWrap {
        filter: blur(5px);
    }
    .fvIn {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 4;
        display: flex;
        flex-direction: column-reverse;
        background-color: #fff;
    }
    .fvIn::before {
        content: "";
        width: 100%;
        left: 0;
        right: 0;
        height: calc(250 / var(--vw-min) * 100vw);
        position: absolute;
        bottom: calc(290 / var(--vw-min) * 100vw);
        background-image: linear-gradient(180deg, transparent, #fff);
    }
    .fv .vsArea.--back {
        flex: 1 1 auto;
        align-self: stretch;
        min-height: 0;
        width: 100%;
        position: relative;
        z-index: 1;
    }
    .vsArea__visualScale {
        display: contents;
    }
}
.fv__logo,
.staff__logo {
    width: min(calc(1040 / var(--vh-min) * 100vh),calc(1040 / var(--vw-min) * 100vw));
    height: min(calc(223 / var(--vh-min) * 100vh),calc(223 / var(--vw-min) * 100vw));
}
.staff__logo {
    background: url(../img/common/logo/logo.svg)no-repeat center/contain;
}
.fv__logo__mark {
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/common/logo/logo.svg)no-repeat center/contain;
    transform-origin: center center;
}
.fv__logo {
    position: absolute;
    top: min(calc(17 / var(--vh-min) * 100vh),calc(17 / var(--vw-min) * 100vw));
    right: 0;
    left: 0;
    z-index: 1;
    margin: auto;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__logo,
    .staff__logo {
        width: calc(710 / var(--vw-min) * 100vw);
        height: calc(196 / var(--vw-min) * 100vw);
    }
    .staff__logo {
        background-image: url(../img/common/logo/logo-s.png);
    }
    .fv__logo__mark {
        background-image: url(../img/common/logo/logo-s.png);
    }
    .fv__logo {
        top: unset;
        bottom: calc(314 / var(--vw-min) * 100vw);
        z-index: 10;
        transition: .3s ease;
    }
    .staff__logo {
        margin-top: calc(210 / var(--vw-min) * 100vw);
    }
    body:has(.contWrap.is-cont--visible) .fv__logo {
        opacity: 0;
    }
}
.fv__onair {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: min(calc(280 / var(--vh-min) * 100vh),calc(280 / var(--vw-min) * 100vw));
    left: min(calc(19 / var(--vh-min) * 100vh),calc(19 / var(--vw-min) * 100vw));
    z-index: 2;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__onair {
        text-align: center;
        width: 100%;
        position: relative;
        top: unset;
        left: unset;
        align-items: center;
        margin-bottom: calc(24 / var(--vw-min) * 100vw);
    }
}
.fv__streaming {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    position: absolute;
    top: min(calc(490 / var(--vh-min) * 100vh),calc(490 / var(--vw-min) * 100vw));
    right: min(calc(20 / var(--vh-min) * 100vh),calc(20 / var(--vw-min) * 100vw));
    z-index: 3;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__streaming {
        position: relative;
        top: unset;
        right: unset;
        align-items: center;
        margin-bottom: calc(24 / var(--vw-min) * 100vw);
    }
}
.fv__streaming-en {
    width: min(calc(323 / var(--vh-min) * 100vh),calc(323 / var(--vw-min) * 100vw));
    height: min(calc(102 / var(--vh-min) * 100vh),calc(102 / var(--vw-min) * 100vw));
    background: url(../img/top/fv_streaming.svg)no-repeat center/contain;
    margin-bottom: min(calc(24 / var(--vh-min) * 100vh),calc(24 / var(--vw-min) * 100vw));
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__streaming-en {
        width: calc(750 / var(--vw-min) * 100vw);
        height: calc(50 / var(--vw-min) * 100vw);
        background-image: url(../img/top/fv_streaming-s.svg);
        margin-bottom: 0;
    }
}
.fv__onair-en {
    width: min(calc(216 / var(--vh-min) * 100vh),calc(216 / var(--vw-min) * 100vw));
    height: min(calc(102 / var(--vh-min) * 100vh),calc(102 / var(--vw-min) * 100vw));
    background: url(../img/top/fv_onair.svg)no-repeat center/contain;
    margin-bottom: min(calc(24 / var(--vh-min) * 100vh),calc(24 / var(--vw-min) * 100vw));
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__onair-en {
        width: calc(410 / var(--vw-min) * 100vw);
        height: calc(50 / var(--vw-min) * 100vw);
        background-image: url(../img/top/fv_onair-s.svg);
        margin-bottom: 0;
    }
}
.fv__onair-ja,
.fv__streaming-ja {
    font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
    color: #fff;
    line-height: 1;
    letter-spacing: 0.01em;
    display: inline-block;
    position: relative;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: left bottom;
    background-image: linear-gradient(#000,#000);
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__onair-ja,
    .fv__streaming-ja {
        font-size: calc(24 / var(--vw-min) * 100vw);
        text-align: center;
    }
}
.fv__onair-ja span,
.fv__streaming-ja span {
    position: relative;
}
.fv__location {
    width: min(calc(324 / var(--vh-min) * 100vh),calc(324 / var(--vw-min) * 100vw));
    height: min(calc(42 / var(--vh-min) * 100vh),calc(42 / var(--vw-min) * 100vw));
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: min(calc(700 / var(--vh-min) * 100vh),calc(700 / var(--vw-min) * 100vw));
    left: 0;
    right: 0;
    z-index: 3;
    margin: auto;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__location {
        width: 100%;
        height: calc(48 / var(--vw-min) * 100vw);
        display: block;
        position: relative;
        inset: unset;
        margin-bottom: calc(48 / var(--vw-min) * 100vw);
    }
}
.fv__locationIn {
    position: absolute;
    inset: 0;
    margin: auto;
}
.fv__streamingIn,
.fv__onairIn {
    display: flex;
    flex-direction: column;
}
.fv__streamingIn {
    align-items: flex-end;
}
.fv__onairIn {
    align-items: flex-start;
}
@media screen and (max-width:768px),
    screen and (min-width:769px) and (max-aspect-ratio:1/1) {
    .fv__streamingIn,
    .fv__onairIn {
        align-items: center;
    }
}
.fv__locationIn > span {
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: left bottom;
    background-image: linear-gradient(var(--color-redD43),var(--color-redD43));
}
.fv__locationIn > span > span {
    width: min(calc(324 / var(--vh-min) * 100vh),calc(324 / var(--vw-min) * 100vw));
    height: min(calc(42 / var(--vh-min) * 100vh),calc(42 / var(--vw-min) * 100vw));
    display: block;
    background: url(../img/top/location.svg)no-repeat center/contain;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .fv__locationIn > span {
        width: 100%;
    }
    .fv__locationIn > span > span {
        width: calc(386 / var(--vw-min) * 100vw);
        height: calc(48 / var(--vw-min) * 100vw);
        margin: 0 auto;
    }
}
@media screen and (min-width:769px) and (min-aspect-ratio:1001/1000){
    .fv {
        --fv-pc-min-height: max(var(--fv-visual), 100svh);
        --fv-pc-visual-scale: min(1.45, max(1, calc(100svh / var(--fv-visual))));
        min-height: var(--fv-pc-min-height);
    }
    .fvWrap {
        min-height: var(--fv-pc-min-height);
    }
    .vsArea__visualScale {
        display: block;
        position: absolute;
        inset: 0;
        pointer-events: none;
        /* 後ろリボン（--below / --above）とも上基準で拡大 */
        transform-origin: 50% 0;
        transform: scale(var(--fv-pc-visual-scale));
    }
    .vsArea__visualScale--belowLogo {
        z-index: 1;
    }
    .vsArea__visualScale--aboveLogo {
        z-index: 3;
    }
    .fv__location {
        top: auto;
        bottom: min(calc(78 / var(--vh-min) * 100vh), calc(78 / var(--vw-min) * 100vw));
    }
    body#top:not(.is-fv-bootstrapped) #fv .fv__locationIn,
    body#top:not(.is-fv-bootstrapped) #fv .fv__streamingIn,
    body#top:not(.is-fv-bootstrapped) #fv .fv__onairIn,
    body#top:not(.is-fv-bootstrapped) #fv .fv__logo {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none;
    }
    .fv.is-fv-bottom-hold:not(.is-fv-fixed) .fvWrap,
    .fv.is-fv-fixed .fvWrap {
        position: fixed;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 2;
        min-height: var(--fv-pc-min-height);
    }
    .fv.is-fv-bottom-hold:not(.is-fv-fixed) .fvWrap {
        bottom: 0;
        top: auto;
    }
    .fv.is-fv-fixed .fvWrap {
        transition: top 1s var(--easing-outquart);
    }
    .fv.is-fv-fixed--instant .fvWrap {
        transition: none;
    }
    .fv .vsArea.--back {
        z-index: 1;
        min-height: var(--fv-pc-min-height);
        transition: filter 0.4s ease;
    }
    .fv.is-fv-fixed .vsArea.--back {
        filter: blur(5px);
        transition-delay: 1s;
    }
    .fv.is-fv-fixed--instant .vsArea.--back {
        transition: none;
    }
    .fv__locationIn,
    .fv__streamingIn,
    .fv__onairIn,
    .fv__logo {
        transition: opacity 0.9s var(--easing-outquart);
    }
    .fv.is-fv-fixed .fv__locationIn,
    .fv.is-fv-fixed .fv__streamingIn,
    .fv.is-fv-fixed .fv__onairIn,
    .fv.is-fv-fixed .fv__logo {
        transition: none;
    }
    .fv .vsArea.--back > .fv__logo {
        z-index: 2;
    }
    body:has(.contWrap.is-cont--visible) .fv__locationIn,
    body:has(.contWrap.is-cont--visible) .fv__streamingIn,
    body:has(.contWrap.is-cont--visible) .fv__onairIn,
    body:has(.contWrap.is-cont--visible) .fv__logo {
        opacity: 0;
        pointer-events: none;
    }
}
/**
* vsArea
**/
.vsArea {
    width: 100%;
    position: relative;
    pointer-events: none;
}
.vsArea.--front {
    height: 100svh;
    position: fixed;
    inset: 0;
    z-index: 3;
    margin: auto;
    overflow: hidden;
}
.vsArea__chara {
    width: min(calc(1200 / var(--vh-min) * 100vh),calc(1200 / var(--vw-min) * 100vw));
    position: relative;
    z-index: 2;
    margin: 0 auto;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .vsArea__chara {
        width: 100%;
        z-index: 1;
        transform-origin: top center;
        transform: scale(var(--fv-sp-back-scale));
    }
}
.vsArea__chara img {
    width: 100%;
    pointer-events: none;
}
@media screen and (min-width:769px) and (min-aspect-ratio:1001/1000){
/**
* back
**/
    .vsArea.--back .vsArea__chara {
        z-index: 3;
    }
    .vsArea__back-ribbon1 {
        width: min(calc(1171 / var(--vh-min) * 100vh),calc(1171 / var(--vw-min) * 100vw));
        height: min(calc(697 / var(--vh-min) * 100vh),calc(697 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(56 / var(--vh-min) * 100vh),calc(56 / var(--vw-min) * 100vw));
        left: calc(50% - min(calc(570 / var(--vh-min) * 100vh),calc(570 / var(--vw-min) * 100vw)));
        background: url(../img/top/vs_back-ribbon1.png)no-repeat center/cover;
    }
    .vsArea__back-ribbon2 {
        width: min(calc(1171 / var(--vh-min) * 100vh),calc(1171 / var(--vw-min) * 100vw));
        height: min(calc(697 / var(--vh-min) * 100vh),calc(697 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(56 / var(--vh-min) * 100vh),calc(56 / var(--vw-min) * 100vw));
        right: 0;
        background: url(../img/top/vs_back-ribbon2.png)no-repeat center/cover;
    }
    .vsArea__back-ribbon3 {
        width: min(calc(113 / var(--vh-min) * 100vh),calc(113 / var(--vw-min) * 100vw));
        height: min(calc(248 / var(--vh-min) * 100vh),calc(248 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(357 / var(--vh-min) * 100vh),calc(357 / var(--vw-min) * 100vw));
        left: calc(50% + min(calc(188 / var(--vh-min) * 100vh),calc(188 / var(--vw-min) * 100vw)));
        background: url(../img/top/vs_back-ribbon3.png)no-repeat center/cover;
    }
    .vsArea__back-ribbon4 {
        width: min(calc(858 / var(--vh-min) * 100vh),calc(858 / var(--vw-min) * 100vw));
        height: min(calc(541 / var(--vh-min) * 100vh),calc(541 / var(--vw-min) * 100vw));
        position: absolute;
        top: 0;
        left: calc(50% - min(calc(480 / var(--vh-min) * 100vh),calc(480 / var(--vw-min) * 100vw)));
        z-index: 1;
        background: url(../img/top/vs_back-ribbon4.png)no-repeat center/cover;
    }
    .vsArea__back-ribbon5 {
        width: min(calc(88 / var(--vh-min) * 100vh),calc(88 / var(--vw-min) * 100vw));
        height: min(calc(116 / var(--vh-min) * 100vh),calc(116 / var(--vw-min) * 100vw));
        position: absolute;
        top: 0;
        left: calc(50% + min(calc(92 / var(--vh-min) * 100vh),calc(92 / var(--vw-min) * 100vw)));
        z-index: 4;
        background: url(../img/top/vs_back-ribbon5.png)no-repeat center/contain;
    }
    .vsArea__back-ribbon6 {
        width: min(calc(1085 / var(--vh-min) * 100vh),calc(1085 / var(--vw-min) * 100vw));
        height: min(calc(764 / var(--vh-min) * 100vh),calc(764 / var(--vw-min) * 100vw));
        position: absolute;
        right: min(calc(116 / var(--vh-min) * 100vh),calc(116 / var(--vw-min) * 100vw));
        bottom: 0;
        z-index: 3;
        background: url(../img/top/vs_back-ribbon6.png)no-repeat center/contain;
    }
    .vsArea__back-ribbon7 {
        width: min(calc(51 / var(--vh-min) * 100vh),calc(51 / var(--vw-min) * 100vw));
        height: min(calc(75 / var(--vh-min) * 100vh),calc(75 / var(--vw-min) * 100vw));
        position: absolute;
        right: min(calc(58 / var(--vh-min) * 100vh),calc(58 / var(--vw-min) * 100vw));
        bottom: min(calc(72 / var(--vh-min) * 100vh),calc(72 / var(--vw-min) * 100vw));
        z-index: 3;
        background: url(../img/top/vs_back-ribbon7.png)no-repeat center/contain;
    }
/**
* front
**/
    .vsArea__front-ribbon1 {
        width: min(calc(765 / var(--vh-min) * 100vh),calc(765 / var(--vw-min) * 100vw));
        height: min(calc(215 / var(--vh-min) * 100vh),calc(215 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(327 / var(--vh-min) * 100vh),calc(327 / var(--vw-min) * 100vw));
        left: 0;
        background: url(../img/top/vs_front-ribbon1.png)no-repeat center/contain;
    }
    .vsArea__front-ribbon2 {
        width: min(calc(765 / var(--vh-min) * 100vh),calc(765 / var(--vw-min) * 100vw));
        height: min(calc(215 / var(--vh-min) * 100vh),calc(215 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(327 / var(--vh-min) * 100vh),calc(327 / var(--vw-min) * 100vw));
        right: calc(50% - min(calc(167 / var(--vh-min) * 100vh),calc(167 / var(--vw-min) * 100vw)));
        z-index: 3;
        background: url(../img/top/vs_front-ribbon2.png)no-repeat center/contain;
    }
    .vsArea__front-ribbon3 {
        width: min(calc(1085 / var(--vh-min) * 100vh),calc(1085 / var(--vw-min) * 100vw));
        height: min(calc(764 / var(--vh-min) * 100vh),calc(764 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(56 / var(--vh-min) * 100vh),calc(56 / var(--vw-min) * 100vw));
        left: 0;
        background: url(../img/top/vs_front-ribbon3.png)no-repeat center/contain;
    }
    .vsArea__front-ribbon4 {
        width: min(calc(56 / var(--vh-min) * 100vh),calc(56 / var(--vw-min) * 100vw));
        height: min(calc(36 / var(--vh-min) * 100vh),calc(36 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(166 / var(--vh-min) * 100vh),calc(166 / var(--vw-min) * 100vw));
        right: min(calc(13 / var(--vh-min) * 100vh),calc(13 / var(--vw-min) * 100vw));
        background: url(../img/top/vs_front-ribbon4.png)no-repeat center/contain;
    }
    .vsArea__front-ribbon5 {
        width: min(calc(128 / var(--vh-min) * 100vh),calc(128 / var(--vw-min) * 100vw));
        height: min(calc(156 / var(--vh-min) * 100vh),calc(156 / var(--vw-min) * 100vw));
        position: absolute;
        top: min(calc(190 / var(--vh-min) * 100vh),calc(190 / var(--vw-min) * 100vw));
        right: 0;
        z-index: 2;
        background: url(../img/top/vs_front-ribbon5.png)no-repeat center/contain;
    }
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .ribbon-sp1 {
        width: calc(160 / var(--vw-min) * 100vw);
        height: calc(120 / var(--vw-min) * 100vw);
        position: absolute;
        top: calc(415 / var(--vw-min) * 100vw);
        right: calc(78 / var(--vw-min) * 100vw);
        background: url(../img/top/vs_back-ribbon2-s.png)no-repeat center/contain;
    }
    .ribbon-sp2 {
        width: calc(227 / var(--vw-min) * 100vw);
        height: calc(269 / var(--vw-min) * 100vw);
        position: absolute;
        bottom: 0;
        left: 0;
        background: url(../img/top/vs_front-ribbon3-s.png)no-repeat center/contain;
    }
    .ribbon-sp3 {
        width: calc(173 / var(--vw-min) * 100vw);
        height: calc(118 / var(--vw-min) * 100vw);
        position: absolute;
        right: 0;
        bottom: 0;
        background: url(../img/top/vs_back-ribbon6-s.png)no-repeat center/contain;
    }
}
/*-----------------------------------------------
 * STAFF
-------------------------------------------------*/
.contWrap {
    width: 100%;
    min-height: 100svh;
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.15s var(--easing-outquart), visibility 0s linear 1.15s;
    pointer-events: none;
}
.contWrap.is-cont--visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 1.15s var(--easing-outquart), visibility 0s linear 0s;
    pointer-events: auto;
}
.contWrap.is-cont--no-trans {
    transition: none !important;
}
.contWrap .staff {
    width: 100%;
    transform: translateY(min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw)));
    transition: transform 1.32s var(--easing-outquart);
}
.contWrap.is-cont--visible .staff {
    transform: translateY(0);
}
.contWrap .footer {
    transform: translateY(min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw)));
    transition: transform 1.32s var(--easing-outquart);
}
.contWrap.is-cont--visible .footer {
    transform: translateY(0);
    transition: transform 1.32s var(--easing-outquart) 0.14s;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .contWrap .footer {
        transform: none;
        opacity: 0;
        transition: opacity 1.32s var(--easing-outquart);
    }
    .contWrap.is-cont--visible .footer {
        opacity: 1;
        transition: opacity 1.32s var(--easing-outquart) 0.14s;
    }
}
.contWrap.is-cont--no-trans .staff,
.contWrap.is-cont--no-trans .footer {
    transition: none !important;
}
.contWrap.is-cont--no-trans .staff {
    transform: translateY(0);
}
.contWrap.is-cont--no-trans .footer {
    transform: none;
    opacity: 1;
}
.staff {
    position: relative;
}
.staff .cont-tit {
   position: relative;
   right: 0;
   left: 0;
   margin: auto;
}
.staffWrap {
    width: min(calc(960 / var(--vh-min) * 100vh),calc(960 / var(--vw-min) * 100vw));
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding-left: min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw));
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staffWrap {
        width: 100%;
        padding: 0 calc(48 / var(--vw-min) * 100vw);
    }
}
.staff__lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(calc(18 / var(--vh-min) * 100vh),calc(18 / var(--vw-min) * 100vw));
    margin-top: min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw));
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staff__lists {
        flex-direction: column;
        gap: calc(40 / var(--vw-min) * 100vw);
    }
}
.staff__item {
    width: calc((100% - min(calc(28 / var(--vh-min) * 100vh),calc(28 / var(--vw-min) * 100vw))) / 2);
    display: flex;
    align-items: center;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staff__item {
        width: 100%;
    }
}
.staff__item-dt {
    font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
    color: var(--color-redD43);
    line-height: 1.3;
    margin-right: min(calc(18 / var(--vh-min) * 100vh),calc(18 / var(--vw-min) * 100vw));
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staff__item-dt {
        font-size: calc(24 / var(--vw-min) * 100vw);
        margin-right: calc(26 / var(--vw-min) * 100vw);
    }
}
.staff__item-dd {
    font-size: min(calc(20 / var(--vh-min) * 100vh),calc(20 / var(--vw-min) * 100vw));
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staff__item-dd {
        font-size: calc(28 / var(--vw-min) * 100vw);
    }
}
.staff__item-dd.--comment {
    margin-left: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
    transition: .3s var(--easing-outquart);
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staff__item-dd.--comment {
        margin-left: calc(24 / var(--vw-min) * 100vw);
    }
}
.staff__item-dd.--comment {
    width: min(calc(26 / var(--vh-min) * 100vh),calc(26 / var(--vw-min) * 100vw));
    height: min(calc(32 / var(--vh-min) * 100vh),calc(32 / var(--vw-min) * 100vw));
    display: block;
    background: url(../img/common/deco/deco_comment.svg)no-repeat center/contain;
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
    .staff__item-dd.--comment {
        width: calc(54 / var(--vw-min) * 100vw);
        height: calc(49 / var(--vw-min) * 100vw);
    }
}
.commentLink {
    width: 100%;
    height: 100%;
    display: block;
}
@media (hover: hover) and (pointer: fine){
    .staff__item-dd.--comment:hover {
        transform: scale(1.1);
    }
}
/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.footer {
	position: relative;
    margin-top: auto;
}
.staff__logo {
    margin: min(calc(50 / var(--vh-min) * 100vh),calc(50 / var(--vw-min) * 100vw)) auto 0;
}
.copyright {
	font-size: min(calc(12 / var(--vh-min) * 100vh),calc(12 / var(--vw-min) * 100vw));
	line-height: 1;
	text-align: center;
	padding: min(calc(54 / var(--vh-min) * 100vh),calc(54 / var(--vw-min) * 100vw)) 0 min(calc(20 / var(--vh-min) * 100vh),calc(20 / var(--vw-min) * 100vw));
}

/*-----------------------------------------------
 * Page loading + FV intro (.js-loading / .js-fani)
-------------------------------------------------*/
html:has(body.is-loading-scroll-lock),
html:has(body.is-loading-scroll-lock) body {
	overflow: hidden;
	overscroll-behavior: none;
}
html:has(body.is-cont-reveal-scroll-lock),
html:has(body.is-cont-reveal-scroll-lock) body {
	overflow: hidden;
	overscroll-behavior: none;
}
.pageLoading {
	--pageLoading-ease: cubic-bezier(0.22, 1, 0.32, 1);
	position: fixed;
	inset: 0;
	z-index: 100050;
	min-height: 100vh;
	min-height: 100dvh;
	background-color: var(--color-white);
	overflow: hidden;
}
.pageLoading__sprite {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.55s var(--pageLoading-ease);
}
.pageLoading__spriteFilm {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/top/loading/loading.png);
	background-image: url(../img/top/loading/loading.webp);
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: 400% 100%;
	animation: pageLoadingSpriteStrip 0.68s steps(3) infinite;
	animation-play-state: paused;
	will-change: background-position;
}
.js-loading.is-loading-filmPhase .pageLoading__spriteFilm {
	animation-play-state: running;
}
@media (prefers-reduced-motion: reduce){
	.pageLoading__spriteFilm {
		animation: none;
		background-position: 0 50%;
	}
}
@keyframes pageLoadingSpriteStrip {
	to {
		background-position: 100% 50%;
	}
}
.pageLoading__logoStage {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: min(calc(32 / var(--vh-min) * 100vh),calc(32 / var(--vw-min) * 100vw));
	pointer-events: none;
	transition: opacity 0.55s var(--pageLoading-ease);
}
.pageLoading__logoMotion {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pageLoading__logoArt {
	position: relative;
	width: min(1039px, calc(100vw - 64px));
	max-width: 1039px;
	aspect-ratio: 2078 / 444;
	--plogo-txt-delay: 0.08s;
	--plogo-txt-dur: 0.58s;
	--plogo-after-txt: 0.06s;
	--plogo-accent-dur-rapier: 0.58s;
	--plogo-accent-dur-bfly: 0.52s;
	--plogo-rapier2-delay-add: 0.06s;
	--plogo-accent-start: calc(
		var(--plogo-txt-delay) + var(--plogo-txt-dur) + var(--plogo-after-txt)
	);
}
@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
	.pageLoading__logoArt {
		width: min(600px, calc(100vw - 40px));
		max-width: 600px;
	}
}
.pageLoading__logoTxt {
	position: absolute;
	inset: 0;
	opacity: 0;
	animation: pageLoadingLogoTxtIn var(--plogo-txt-dur) var(--pageLoading-ease)
		var(--plogo-txt-delay) forwards;
}
.pageLoading__logoPic {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
.pageLoading__logoPic--jp {
	background-image: url(../img/top/loading/txt_jp.png);
}
.pageLoading__logoPic--en {
	background-image: url(../img/top/loading/txt_en.png);
}
.pageLoading__logoPic--rapier1 {
	background-image: url(../img/top/loading/rapier1.png);
	opacity: 0;
	animation: pageLoadingLogoRapierTRtoBL var(--plogo-accent-dur-rapier)
		var(--pageLoading-ease) var(--plogo-accent-start) forwards;
}
.pageLoading__logoPic--rapier2 {
	background-image: url(../img/top/loading/rapier2.png);
	opacity: 0;
	animation: pageLoadingLogoRapierTRtoTR var(--plogo-accent-dur-rapier)
		var(--pageLoading-ease)
		calc(var(--plogo-accent-start) + var(--plogo-rapier2-delay-add)) forwards;
}
.pageLoading__logoPic--butterfly {
	background-image: url(../img/top/loading/butterfly.png);
	opacity: 0;
	animation: pageLoadingLogoButterflyFade var(--plogo-accent-dur-bfly)
		var(--pageLoading-ease) var(--plogo-accent-start) forwards;
}
@keyframes pageLoadingLogoTxtIn {
	from {
		opacity: 0;
		transform: translate3d(0, 14px, 0) scale(0.985);
		filter: blur(5px);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
		filter: blur(0);
	}
}
@keyframes pageLoadingLogoRapierTRtoBL {
	from {
		opacity: 0;
		transform: translate3d(10%, -40%, 0);
		filter: blur(3px);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		filter: blur(0);
	}
}
@keyframes pageLoadingLogoRapierTRtoTR {
	from {
		opacity: 0;
		transform: translate3d(-10%, 40%, 0);
		filter: blur(3px);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		filter: blur(0);
	}
}
@keyframes pageLoadingLogoButterflyFade {
	from {
		opacity: 0;
		filter: blur(3px);
		transform: translate3d(-5%, -20%, 0);
	}
	to {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}
}
@media (prefers-reduced-motion: reduce){
	.pageLoading__logoTxt,
	.pageLoading__logoPic--rapier1,
	.pageLoading__logoPic--rapier2,
	.pageLoading__logoPic--butterfly {
		animation: none;
		opacity: 1;
		filter: none;
		transform: none;
	}
}
.js-loading.is-loading-filmPhase .pageLoading__logoStage {
	opacity: 0;
}
.js-loading.is-loading-filmPhase .pageLoading__sprite {
	opacity: 1;
}
@media screen and (min-width: 769px) and (min-aspect-ratio: 1001/1000) {
	.js-loading.is-loading-filmPhase .pageLoading__logoStage {
		opacity: 1;
	}
	.pageLoading__sprite {
		z-index: 2;
	}
	.pageLoading__logoStage {
		z-index: 1;
	}
	.js-loading.is-pc-logo-fly--active.pageLoading {
		background: transparent !important;
		pointer-events: none;
	}
	.js-loading.is-pc-logo-fly--active .pageLoading__sprite,
	.js-loading.is-pc-logo-fly--active .pageLoading__spriteFilm {
		opacity: 0 !important;
		visibility: hidden;
	}
	.js-loading.is-pc-fly--hosting.pageLoading {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}
.pageLoading__logoFly {
	pointer-events: none;
	contain: layout style paint;
	overflow: hidden;
	will-change: left, top, width, height, opacity;
	opacity: 1;
}
.pageLoading__logoFly.is-pc-fv-fly--out {
	opacity: 0;
	transition: opacity 0.52s cubic-bezier(0.2, 0.78, 0.22, 0.99);
}
.pageLoading__logoFly .pageLoading__logoArt {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	min-width: 0;
	min-height: 0;
	aspect-ratio: auto;
	box-sizing: border-box;
}
.pageLoading__logoFly .pageLoading__logoFly--settled,
.pageLoading__logoFly--settled {
	animation: none !important;
}
.pageLoading__logoFly--settled .pageLoading__logoTxt,
.pageLoading__logoFly--settled .pageLoading__logoPic {
	animation: none !important;
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
}
@media screen and (min-width: 769px) and (min-aspect-ratio: 1001/1000) {
	.vsAreaWrap.js-fani.is-ani.is-pc-fv-handoff h1.fv__logo.pc .fv__logo__mark {
		filter: none !important;
		transform: scale(1) !important;
		opacity: 0;
		transition: opacity 0.52s cubic-bezier(0.2, 0.78, 0.22, 0.99) !important;
		transition-delay: 0s !important;
	}
	.vsAreaWrap.js-fani.is-ani.is-pc-fv-handoff.is-pc-fv-handoff--in h1.fv__logo.pc .fv__logo__mark {
		opacity: 1;
	}
}

body:has(.vsAreaWrap.js-fani),
.vsAreaWrap.js-fani {
	--fv-in-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--fv-in-dur: 0.72s;
	--ribbon-soft-dur: 0.82s;
	--ribbon-soft-ease: cubic-bezier(0.4, 0.15, 0.2, 1);
	--fv-chara-opacity-dur: 0.56s;
	--fv-chara-filter-dur: 0.44s;
	--fv-fcopy-after-chara: max(var(--fv-chara-opacity-dur), var(--fv-chara-filter-dur));
	--fv-ribbon-last-delay: 0.35s;
	--fv-ribbon-wave-end: calc(var(--fv-ribbon-last-delay) + var(--ribbon-soft-dur));
	--fv-fcopy-en-dur: 0.62s;
	--fv-fcopy-ja-dur: 0.52s;
	--fv-fcopy-clip-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--fv-fcopy-shuwa-ease: cubic-bezier(0.22, 1, 0.32, 1);
	--fv-fcopy-delay-location: calc(var(--fv-fcopy-after-chara) + 0.2s);
	--fv-fcopy-delay-streaming: calc(var(--fv-fcopy-after-chara) + 0.3s);
	--fv-fcopy-delay-onair: calc(var(--fv-fcopy-after-chara) + 0.4s);
	--fv-fcopy-wave-start: var(--fv-fcopy-delay-location);
	--fv-fcopy-wave-end-time: calc(var(--fv-fcopy-after-chara) + 0.4s + var(--fv-fcopy-en-dur));
	--fv-logo-after-chara: var(--fv-fcopy-wave-start);
	--fv-logo-in-dur: calc(var(--fv-fcopy-wave-end-time) - var(--fv-fcopy-wave-start));
	--ribbon-drift-dur: 0s;
	--ribbon-drift-ease: cubic-bezier(0.22, 0.88, 0.32, 1);
	--ribbon-reveal-dur: var(--ribbon-soft-dur);
	--ribbon-reveal-ease: var(--ribbon-soft-ease);
}
.vsAreaWrap.js-fani:not(.is-ani) .vsArea__chara {
	opacity: 0;
	filter: blur(5px);
	transition: none;
}
.vsAreaWrap.js-fani:not(.is-ani) .vsArea [class*="__back-ribbon"],
.vsAreaWrap.js-fani:not(.is-ani) .vsArea [class*="__front-ribbon"] {
	opacity: 0;
	transition: none;
}
.vsAreaWrap.js-fani:not(.is-ani) .fv__logo__mark {
	opacity: 0;
	transform: scale(0.92);
	transition: none;
}
.vsAreaWrap.js-fani:not(.is-ani) .fv__streaming-en,
.vsAreaWrap.js-fani:not(.is-ani) .fv__onair-en {
	clip-path: inset(0 100% 0 0);
	filter: blur(5px);
	transition: none;
}
.vsAreaWrap.js-fani:not(.is-ani) .fv__location .fv__locationIn,
.vsAreaWrap.js-fani:not(.is-ani) .fv__streaming-ja,
.vsAreaWrap.js-fani:not(.is-ani) .fv__onair-ja {
	clip-path: inset(0 100% 0 0);
	filter: blur(5px);
	transition: none;
}
.vsAreaWrap.js-fani:not(.is-ani) .vsArea [class*="__back-ribbon"],
.vsAreaWrap.js-fani:not(.is-ani) .vsArea [class*="__front-ribbon"] {
	filter: blur(5px);
}
.vsAreaWrap.js-fani.is-ani .vsArea__chara {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--fv-chara-opacity-dur) cubic-bezier(0.25, 0.46, 0.35, 1),
		filter var(--fv-chara-filter-dur) cubic-bezier(0.33, 0.55, 0.25, 1);
	transition-delay: 0s;
}
.vsAreaWrap.js-fani.is-ani .fv__streaming-en,
.vsAreaWrap.js-fani.is-ani .fv__onair-en {
	clip-path: inset(0 0 0 0);
	filter: blur(0);
	transition:
		clip-path var(--fv-fcopy-en-dur) var(--fv-fcopy-clip-ease),
		filter 0.48s var(--fv-fcopy-shuwa-ease);
}
.vsAreaWrap.js-fani.is-ani .fv__streaming-en {
	transition-delay: var(--fv-fcopy-delay-streaming);
}
.vsAreaWrap.js-fani.is-ani .fv__onair-en {
	transition-delay: var(--fv-fcopy-delay-onair);
}
.vsAreaWrap.js-fani.is-ani .fv__location .fv__locationIn,
.vsAreaWrap.js-fani.is-ani .fv__streaming-ja,
.vsAreaWrap.js-fani.is-ani .fv__onair-ja {
	clip-path: inset(0 0 0 0);
	filter: blur(0);
	transition:
		clip-path var(--fv-fcopy-ja-dur) var(--fv-fcopy-clip-ease),
		filter 0.45s var(--fv-fcopy-shuwa-ease);
}
.vsAreaWrap.js-fani.is-ani .fv__location .fv__locationIn {
	transition-delay: var(--fv-fcopy-delay-location);
}
.vsAreaWrap.js-fani.is-ani .fv__streaming-ja {
	transition-delay: var(--fv-fcopy-delay-streaming);
}
.vsAreaWrap.js-fani.is-ani .fv__onair-ja {
	transition-delay: var(--fv-fcopy-delay-onair);
}
.vsAreaWrap.js-fani.is-ani .fv__logo__mark {
	opacity: 1;
	transform: scale(1);
	transition:
		opacity var(--fv-logo-in-dur) var(--fv-in-ease),
		transform var(--fv-logo-in-dur) var(--fv-in-ease);
	transition-delay: var(--fv-logo-after-chara);
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon1 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.07s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon2 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.13s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon3 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.19s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon4 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.25s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon5 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.23s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon6 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.29s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon7 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.35s;
}
.vsAreaWrap.js-fani.is-ani .vsArea__front-ribbon2 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.21s;
}
.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon1 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.17s;
}
.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon3 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.23s;
}
.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon4 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.29s;
}
.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon5 {
	opacity: 1;
	filter: blur(0);
	transition:
		opacity var(--ribbon-reveal-dur) var(--ribbon-reveal-ease),
		filter calc(var(--ribbon-reveal-dur) * 0.92) var(--ribbon-reveal-ease);
	transition-delay: 0.33s;
}
@media (prefers-reduced-motion: reduce){
	body:has(.vsAreaWrap.js-fani),
	.vsAreaWrap.js-fani {
		--ribbon-soft-dur: 0.36s;
		--fv-chara-opacity-dur: 0.34s;
		--fv-chara-filter-dur: 0.28s;
		--ribbon-drift-dur: 0s;
	}
	.vsAreaWrap.js-fani:not(.is-ani) .fv__location,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__streaming,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__onair {
		opacity: 0;
	}
	.vsAreaWrap.js-fani:not(.is-ani) .fv__location .fv__locationIn,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__streaming-en,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__streaming-ja,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__onair-en,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__onair-ja {
		clip-path: inset(0 0 0 0);
		filter: none;
		transition: none;
	}
	.vsAreaWrap.js-fani:not(.is-ani) .vsArea__chara,
	.vsAreaWrap.js-fani:not(.is-ani) .fv__logo__mark,
	.vsAreaWrap.js-fani:not(.is-ani) .vsArea [class*="__back-ribbon"],
	.vsAreaWrap.js-fani:not(.is-ani) .vsArea [class*="__front-ribbon"] {
		filter: none;
		transform: none;
		clip-path: none;
	}
	.vsAreaWrap.js-fani.is-ani .vsArea__chara {
		transition-duration: var(--fv-chara-opacity-dur), var(--fv-chara-filter-dur);
	}
	.vsAreaWrap.js-fani.is-ani .fv__location,
	.vsAreaWrap.js-fani.is-ani .fv__streaming,
	.vsAreaWrap.js-fani.is-ani .fv__onair {
		opacity: 1;
		transition: opacity 0.35s var(--fv-in-ease);
	}
	.vsAreaWrap.js-fani.is-ani .fv__location {
		transition-delay: var(--fv-fcopy-delay-location);
	}
	.vsAreaWrap.js-fani.is-ani .fv__streaming {
		transition-delay: var(--fv-fcopy-delay-streaming);
	}
	.vsAreaWrap.js-fani.is-ani .fv__onair {
		transition-delay: var(--fv-fcopy-delay-onair);
	}
	.vsAreaWrap.js-fani.is-ani .fv__logo__mark {
		transition-duration: 0.35s, 0.35s;
	}
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon1.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon2.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon3.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon4.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon5.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon6.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon7.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea__front-ribbon2.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon1.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon3.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon4.js-ribbonFall,
	.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon5.js-ribbonFall {
		animation: none;
	}
	@media screen and (max-width:768px), screen and (max-aspect-ratio:1/1){
		body::after {
			transition-duration: 0.35s, 0.35s;
		}
	}
}

@keyframes vsRibbonFallYPC {
	from {
		transform: translate3d(0, var(--ribbon-drift-from-y), 0);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}

@media screen and (min-width:769px) and (min-aspect-ratio:1001/1000){
	@media (prefers-reduced-motion: no-preference){
		.vsAreaWrap.js-fani {
			--ribbon-drift-from-y: -24vh;
			--ribbon-drift-dur: 2.75s;
			--ribbon-drift-ease: cubic-bezier(0.1, 0.62, 0.12, 1);
			--ribbon-reveal-dur: 2.45s;
			--ribbon-reveal-ease: cubic-bezier(0.22, 0.48, 0.22, 1);
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon1.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.07s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon2.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.13s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon3.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.19s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon4.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.25s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon5.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.23s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon6.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.29s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__back-ribbon7.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.35s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea__front-ribbon2.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.21s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon1.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.17s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon3.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.23s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon4.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.29s both;
		}
		.vsAreaWrap.js-fani.is-ani .vsArea.--front .vsArea__front-ribbon5.js-ribbonFall {
			animation: vsRibbonFallYPC var(--ribbon-drift-dur) var(--ribbon-drift-ease) 0.33s both;
		}
	}
}

/*-----------------------------------------------
 * Campaign modal
-------------------------------------------------*/
.campaignWrap {
	max-width: min(calc(880 / var(--vh-min) * 100vh),calc(880 / var(--vw-min) * 100vw));
	margin-inline: auto;
}
.campaign__img img {
	width: 100%;
    pointer-events: none;
}
.campaign__txtWrap {
	padding-bottom: min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw));
}
.campaign__tit {
	color: var(--color-redD43);
	font-weight: 700;
	font-size: min(calc(22 / var(--vh-min) * 100vh),calc(22 / var(--vw-min) * 100vw));
	line-height: 1.4;
	margin-top: min(calc(40 / var(--vh-min) * 100vh),calc(40 / var(--vw-min) * 100vw));
	margin-bottom: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
}
.campaign__tit:first-child {
	margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.campaign__dl {
	font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
	line-height: 1.65;
}
.campaign__dlItem {
	margin-bottom: min(calc(20 / var(--vh-min) * 100vh),calc(20 / var(--vw-min) * 100vw));
}
.campaign__dlItem:last-child {
	margin-bottom: 0;
}
.campaign__subTit {
	font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
	font-weight: 700;
	line-height: 1.5;
	margin-top: min(calc(28 / var(--vh-min) * 100vh),calc(28 / var(--vw-min) * 100vw));
	margin-bottom: min(calc(12 / var(--vh-min) * 100vh),calc(12 / var(--vw-min) * 100vw));
}
.campaign__tit + .campaign__dl .campaign__dlItem:first-child .campaign__subTit {
	margin-top: 0;
}
.campaign__dd {
	font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
	line-height: 1.65;
	margin: 0;
}
.campaign__txt {
	font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
	line-height: 1.65;
	margin-top: 0;
	margin-bottom: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
}
.campaign__cauLists,
.campaign__prohibitedLists {
	font-size: min(calc(16 / var(--vh-min) * 100vh),calc(16 / var(--vw-min) * 100vw));
	line-height: 1.65;
	margin: 0 0 min(calc(20 / var(--vh-min) * 100vh),calc(20 / var(--vw-min) * 100vw));
	padding: 0;
}
.campaign__cauItem {
	position: relative;
	padding-left: min(calc(22 / var(--vh-min) * 100vh),calc(22 / var(--vw-min) * 100vw));
	margin-bottom: min(calc(8 / var(--vh-min) * 100vh),calc(8 / var(--vw-min) * 100vw));
}
.campaign__cauItem::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
.campaign__prohibitedItem {
	position: relative;
	padding-left: 0;
	margin-bottom: min(calc(8 / var(--vh-min) * 100vh),calc(8 / var(--vw-min) * 100vw));
}
.campaign__cauItem:last-child,
.campaign__prohibitedItem:last-child {
	margin-bottom: 0;
}
.campaign__note {
	font-size: min(calc(14 / var(--vh-min) * 100vh),calc(14 / var(--vw-min) * 100vw));
	line-height: 1.6;
	display: inline-block;
}
.campaign__txtWrap a {
	color: var(--color-redD43);
	text-decoration: underline;
	text-underline-offset: min(calc(3 / var(--vh-min) * 100vh),calc(3 / var(--vw-min) * 100vw));
	word-break: break-all;
}
.campaign__txtWrap small {
	font-size: min(calc(14 / var(--vh-min) * 100vh),calc(14 / var(--vw-min) * 100vw));
	line-height: inherit;
}
@media screen and (max-width: 768px), screen and (max-aspect-ratio: 1/1) {
    .campaignWrap {
        max-width: 100%;
    }
	.campaign__txtWrap {
        padding: 0 calc(50 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
	}
    .campaign__img {
        padding: 0;
    }
	.campaign__tit {
		font-size: calc(32 / var(--vw-min) * 100vw);
		margin-top: calc(40 / var(--vw-min) * 100vw);
		margin-bottom: calc(16 / var(--vw-min) * 100vw);
	}
	.campaign__tit:first-child {
		margin-top: calc(24 / var(--vw-min) * 100vw);
	}
	.campaign__dl {
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.campaign__dlItem {
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
	}
	.campaign__subTit {
		font-size: calc(24 / var(--vw-min) * 100vw);
		margin-top: calc(28 / var(--vw-min) * 100vw);
		margin-bottom: calc(12 / var(--vw-min) * 100vw);
	}
	.campaign__tit + .campaign__dl .campaign__dlItem:first-child .campaign__subTit {
		margin-top: 0;
	}
	.campaign__dd {
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.campaign__txt {
		font-size: calc(24 / var(--vw-min) * 100vw);
		margin-bottom: calc(16 / var(--vw-min) * 100vw);
	}
	.campaign__cauLists,
	.campaign__prohibitedLists {
		font-size: calc(24 / var(--vw-min) * 100vw);
		margin-bottom: calc(20 / var(--vw-min) * 100vw);
	}
	.campaign__cauItem {
		padding-left: calc(28 / var(--vw-min) * 100vw);
		margin-bottom: calc(8 / var(--vw-min) * 100vw);
	}
	.campaign__prohibitedItem {
		padding-left: 0;
		margin-bottom: calc(8 / var(--vw-min) * 100vw);
	}
	.campaign__note {
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
	.campaign__txtWrap small {
		font-size: calc(20 / var(--vw-min) * 100vw);
	}
	.campaign__txtWrap a {
		text-underline-offset: calc(3 / var(--vw-min) * 100vw);
	}
}